2005年06月02日

MinCaml

MinCamlコンパイラを読み終えた。

このコンパイラはOCamlで書かれたMinCamlというML系のサブセットの言語のコンパイラで、SPARCアセンブリを生成する。 「速攻MinCamlコンパイラ概説」というパート毎にソースコードと短い解説が合わせて読めるwebページが作られており、これを案内として読んでいった。

MinCamlコンパイラはコンパイルという仕事を変換の連続と定義している。コンパイラの構成はパートごとに綺麗に分かれていて、それぞれのパートも小さい。 MinCamlの言語としての仕様は教育目的に非常に割り切った仕様であり、これはコンパイラのソースコードを簡潔で理解しやすい大きさに保つ為と思われる。同時に、読む側から見ると色々と手を出してみたくなる点が多いのが心憎い(表面的な仕様拡充以外にも手を出せる余地は最適化やレジスタ割り付けなど色々ある)。OSにおけるMinixのような位置付けのコンパイラ版と言えるかも知れない。

読んでみると、各パートが小さいので十分わかりやすい。しかし後のパートにいくと多少ややこしいものもあったように思う。特にレジスタ割り当ては私には厄介だった。


この記事へのトラックバック
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。