日本人だなあ俺も

大学の図書館で Bjarne Stroustrup 先生の

C++ Programming Language, The

C++ Programming Language, The

を借りてきた。まず思ったのが、表紙にある著者名が超でけえ。本のタイトルよりも著者名の方が大きい。「The Creator of C++」なんて肩書まで表紙に書いちゃってる。これが欧米人のノリなんだろか。

あと全然関係無いけど、電通大で情報系な授業受けたりしてて思うんだけど、意外と *UNIX なソフトとか、あんま好きじゃない人多いね。 Emacs 使ってて C-[PNFB] とかも使ってなかったりするんだから。それでもプログラム書いたりして、補完機能など使わず律儀にファイル名全部打ち込んで cc 、./a.out して課題のプログラミングをこなしていったりする。きっと GNU screen とか vim なんて、ずっと使わんのだろうなあ。
まあいつも vim でプログラム書いてる俺だって、Visual Studio とか Eclipse とか好きな人とかからすると変ちくりんに見えたりするのだろうけれど。

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