コンパイラを内蔵した - Scheme VM を書く

VM on GaucheコンパイルしたコンパイラC++ 上の Object の配列にして VM on C++ に内蔵した。(compiler.cpp は 387KB)
簡単なコードならば Gauche の力を借りずにコンパイル → 実行 が出来るようになった。


この時点で VM on GaucheVM 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

現時点で Gauche で書かれたスクリプトがこんなにある。