MinCaml読解ノートが一通り完了したので、目次として各記事へのリンクを列挙する。
MinCaml読解ノートは、MinCamlコンパイラを筆者が読んだ結果を元に理解の参考のために動作やソースコードに対する解説を加えたものであって、住井氏自身による「速攻MinCamlコンパイラ概説」による解説を補い、詳しい補足や場合によりソースコードに即した説明により読者の理解の一助となることを意図している。
MinCamlの記述言語であるObjective Camlについての知識は「超特急: 一時間でわかるML超入門」の内容のみを前提とし、その範囲を超えた機能が使われ理解を妨げそうなときには説明を付した。筆者自身も当初Objective Camlについては「超入門」を読んだだけの内容しか知らなかったので、同じようにObjective Camlの知識に乏しい方でもさほど支障は生じないと思われる。
またMinCamlがターゲットとするSPARCについてもMinCamlの理解に必要と思われる範囲で簡単に説明する記事を挿入した。
- ビルドと全体の流れ
- 字句解析
- 構文解析
- 型推論
- K正規化
- α変換
- β簡約
- ネストしたletの簡約
- インライン展開
- 定数畳み込み
- 不要定義削除
- クロージャ変換
- SPARC概要
- 仮想マシンコード生成
- 13bit即値最適化
- レジスタ割り当て
- アセンブリ出力