next up previous
Next: 1 Lisp処理系: Xlisp Up: Software IV Top

ソフトウェア特論 講義資料
C言語によるLisp処理系

稲葉 雅幸

ここでは,LispのインタプリタをC言語で記述すること を紹介します.Lispの処理系は,read-eval-printを 繰り返すものですが,C言語でread, eval, print のそれぞれがどのようになるかを見ます. そして,Lispの処理系においては,データをreadした時, データを評価して計算中に新たにデータを生成したり, 新しいデータを結果として返したりします. 通常の計算機内で直線状に並んだメモリデータで, データの配列や長さが自由になるリストデータをどのように 表現するかが重要になります.そして,いらなくなった データがあった場合に,どのようにそのメモリデータを 再利用するのかについての仕組みを決める必要があります. C言語でLispを記述ということは,それらの機構をすべて 解決する必要があるわけです.以下では,比較的コンパクトな Lispインタプリタのソースを抜書きしながら全体の概要を 説明してゆきます.



generated through LaTeX2HTML. M.Inaba 平成18年5月6日