Coins めも(1)

大学の実験で Coins いじってるんでめも。コンパイラの作り方は
http://www.coins-project.org/advanceduse/index.html
あたりに軽く書いてある。
あと情報処理学会誌でやってた連載「21世紀のコンパイラの道しるべ」の連載第一回(Vol.47 No.4 2006年4月号)と第二回(Vol.47 No.5 2006年5月号)では C言語のサブセットの C0 言語というもののコンパイラの作り方を解説している。第三回以降では SSA 最適化とかの話が書かれてました。
Coins はコンパイルの過程にて、まずソース言語から高水準内部表現(HIR)に変換、それから低水準内部表現(LIR)に変換、ほんでもって実際のマシンのアセンブラコードに変換して、アセンブルします。なんで、新たにコンパイラを作るにはソース言語から HIR への変換をすればいいわけです。
ほんだば HIR ってどんなんさっつーのを調べよう。
http://www.coins-project.org/
あたりから色々たどって、この辺とか
http://www.coins-project.org/COINSdoc/hir/hir-frame.html
http://www.coins-project.org/international/COINSdoc.en/infra/infra-frame.html
あとなにより Coins に含まれてる src/coins/ir/hir/HIR.java とかあたり読むべしとのこと。もしくは javadoc-ja/coins/ir/hir/HIR.html とか。
さてと。読も。

とりあえず

やっぱソース読むのが一番早いかなたぶん。
coins/ir/hir/*.java
とか。

いややっぱり

ソース読んでコンパイラ書いてあれこれ「ん? よくわかんねーぞ?」な部分が出てから
http://www.coins-project.org/advanceduse/index.html
とか読むとありがたさ倍増。

test