2009-07-27から1日間の記事一覧
ここからが本題。CompilerとInterpreterは一緒に読んだ方がよさげ。Biwa Schemeの中間言語は[命令,値(複数),次の命令]という形になっていて再帰的な構造をしているようだ。 命令一覧 halt 終わり。 constant 値 レジスタに値を入れる。 argument レジスタの…
まずはパーサーを読む。2段階に分けてある様子。 トークンに分ける(tokenize) 一気にS式に変換するのではなく、文字列をトークンに分解している。 S式に変換(getObject) 型付けをしながらS式に変換。 正規表現があると楽チンらしい。 感想など ここまでは今…
stackbase.jsを読み進める。データ構造を理解していこう。 環境系 TopEnv トップクラスの環境。いわゆるグローバル変数とか、グローバル関数だとか。 CoreEnv 今のところ謎。 Symbols シンボルテーブル。Symbolクラスが入ってる。 データ構造 eof なんだろ。…
仮想マシン クロージャやら末尾再帰の最適化やら継続やらをなんとか理解できるようになってきた。しかし、中間コードを生成し, 仮想マシンで・・・と言われると何のことやらちんぷんかんぷんだ。 こんな感じ? 僕のイメージとしては、パーサーを通してS式に…