コンパイラをコンパイルする仕組み作りなど - Scheme VM を書く
VM on Gauche でコンパイラが動くようになった。
次は VM on C++ でコンパイラが動くようにする作業になるが一回落ち着いて環境作りをする。
登場人物が
- コンパイラ
- VM on Gauche(とそのテストセット)
- VM on C++ (とそのテストセット)
- free variables の表
- コンパイラ on Gauche (一番正しく動くコンパイラ)
- コンパイラ on VM on Gauche
- コンパイラ on VM on C++ (これから動かそうとするもの)
- コンパイラが吐くコードが3者で一致することをチェックするテスト
- コンパイラをコンパイルするコンパイラ
- コンパイラを動かすための専用ライブラリ(R6RSライブラリに依存しない)
とたくさんいるのできちんと整理し最小セットで効率よく開発できるような体制を整える。
ここで手を抜かずやっておけば結果的には時間の節約になると思う。