Biwa Schemeを読む(3) - コンパイラ〜インタプリタ
ここからが本題。CompilerとInterpreterは一緒に読んだ方がよさげ。
Biwa Schemeの中間言語は[命令,値(複数),次の命令]という形になっていて再帰的な構造をしているようだ。
命令一覧
- halt
- 終わり。
- constant 値
- レジスタに値を入れる。
- argument
- レジスタの値をスタックに積む。
- refer-global 名前,-local 名前, refer-free 名前
- 環境を参照する,assignで書く。
- apply 引数の数
- 命令の実行。
- frame 命令・・・
- ローカル環境っぽい。
まだ読み中。
突っ込み
0.5の時点では積み方が逆。
(define (p x) (display x) (newline) x) (+ (p 1) (p 2)) 2 1 3
破壊的でなければ何の問題も無い。