コンパイラインストラクチャ作成ロードマップ
ダイヤモンド言語作りのロードマップを書いて置きます。
これを数年〜10年くらいで行う予定です。
1.Scalaでネイティブな命令型言語のコンパイラの美しい作法を探す。
C言語風言語の関数型言語であるScalaで記述することで美しいインフラストラクチャを目指します。
1.1.MinCamlをScalaに移植する。
1.2.Tiger bookを読む&tigerのscala実装を作成する。
1.3.cフラットをscalaに移植する。
1.4.その他
2.C言語風言語をX86上で動作させる。
1.で見つけた作法でC言語風の言語を作り実際に動作させます。
3.式言語仕様に置き換える。
2.ではまだ、命令型言語を関数型言語で記述しただけなので、フロントエンドの差し替えを行います。
4.自己記述する。
この段階で、Scalaから新しい言語に移植を行います。
5.ライブラリを作成する。
6.ゲームを作る。
7.他のCPUの検討を行う。