 
 
 
 
 
   
 Next: 10.1 変数・関数定義
Up: ソフトウェア特論 講義資料 Scheme コンパイラ処理系
 Previous: 9.2 コード・インタプリタ
 
次に,プログラムを読み込んで,コンパイルして,実行するという
一連の処理を実現することを考えます.
 
(defun scheme ()
  (init-scheme-compiler)
  (catch
      :scheme-exit
    (scheme-machine
     (scheme-compile
      '(begin
        (define (scheme)
            (newline)
          (display "=> ")
          (write ((compile (read))))
          (scheme))
        (scheme))))
    ))
(defun scheme-exit (v)
  (throw :scheme-exit v))
というように,プロンプト表示,読み込み(read),
コンパイル(compile)し,コンパイルしたものを
評価し((compile)),結果を表示(write)するした
後schemeを再帰的に呼び出すことを行うコードを
定義し,それを呼び出すというbegin文を
コンパイルしてできる関数データを,
scheme-machineに与えることでそれを実行する形にします.
以下に,この(scheme)関数で利用できる
Schemeの実行例をみてゆきます.
 
 
generated through LaTeX2HTML. M.Inaba 平成18年5月6日