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日