CarveScheme
書いておかないと時間が経って後でどうしようもなくなることが分かったので、断片でも書くようにする。
目標
中間言語
S-式で中間言語を導入する。 X86_64 の命令セットに近い、低レベル/無限個レジスタの表現とする。
COINS LIR を一時検討したが、複雑であることと型付きで抽象化されておりい今回のボトムアップのアプローチと合わないと判断して不採用。
単なるシンボルのリストにしていたが、CLOSのオブジェクトのリストにする途中。オブジェクトにしておくと表示を制御できるのと、エラー処理しやすいと期待。
コード生成
レジスタ割り付けを行う。まだじゃっかん怪しく、バグが入っている可能性あり。
現時点ではあらかじめCで作った簡単なドライバがあり、makeコマンドで実行ファイルを生成。