Next: 1.1 シンボルとアトムの処理
Up: ソフトウェア特論 講義資料 Scheme言語とインタプリタ
Previous: ソフトウェア特論 講義資料 Scheme言語とインタプリタ
Lispのインタプリタを作るのにもっとも適した言語は
Lispといわれます.LispでSchemeインタプリタを記述する
ことで,Lispの処理系をどのように作るかを説明します.
まず,最初に簡単なしくみがわかるように考えたインタプリタの本体は以下の
ようになります.
(defun scheme-interpreter ()
(init-scheme-interpreter)
(loop
(format t "~&==> ")
(print (interp (read) nil))))
(defun interp (x &optional env)
(cond
((symbolp x) (get-var x env))
((atom x) x)
((member (car x) '(quote begin set! if lambda))
(interp-specialform (car x) (cdr x) env))
(t
(interp-procedure (car x) (cdr x) env))))
interpがlispのevalに相当します.
generated through LaTeX2HTML. M.Inaba 平成18年5月6日