3
mini Scheme
インタプリタの作成
インタプリタとは
プログラムファイルの構成・コンパイル方法
mini Scheme
1
インタプリタ --- プリミティブ演算と環境を使った変数参照
syntax.ml
: 抽象構文のためのデータ型
parser.mly
,
lexer.mll
: 字句解析と構文解析
core.ml
: 解釈部
main.ml
mini Scheme
2
--- 条件分岐の導入
プリミティブの追加
if
式の追加
mini Scheme
3
--- 局所定義の導入
変数宣言と有効範囲
let
式の導入
mini Scheme
4
--- 関数の導入
関数式と適用式
値の定義の拡張
関数閉包と適用式の評価
mini Scheme
5
--- 再帰的関数定義の導入
リスト
mini Scheme
6
--- 変数への代入の導入
リストの更新
いろいろな引数渡しの方式 --- 値呼び・参照呼び・名前呼び・必要呼び
参照呼出し
遅延評価と call-by-need, call-by-name