コンパイラを内蔵した - Scheme VM を書く
VM on Gauche でコンパイルしたコンパイラを C++ 上の Object の配列にして VM on C++ に内蔵した。(compiler.cpp は 387KB)
簡単なコードならば Gauche の力を借りずにコンパイル → 実行 が出来るようになった。
この時点で VM on Gauche → VM on C++ 移植時のバグがあればつぶしておきたいので、多くのコードをコンパイルして結果を比較するという作業をはじめた。
昨日の仕組み作りが功を奏したのか作業効率がよろしい。
ちなみにコード変換やソース生成は Gauche のお世話になっており
-rwxr-xr-x 1 taro taro 530 2008-03-29 15:25 gen-compiler.scm -rwxr-xr-x 1 taro taro 1.5K 2008-03-30 00:04 gen-cproc.scm -rwxr-xr-x 1 taro taro 235 2008-03-29 14:47 gen-free-vars-decl.scm -rwxr-xr-x 1 taro taro 821 2008-03-30 00:47 gen-insn.scm -rwxr-xr-x 1 taro taro 2.4K 2008-03-30 14:19 gen-pre-compiled-cpp.scm -rwxr-xr-x 1 taro taro 1.5K 2008-03-30 00:21 gen-test.scm -rwxr-xr-x 1 taro taro 2.2K 2008-03-30 15:27 test-compiler.scm