いつの間にか世界は進んでた
私がコンパイラを作り始めたのは1980年代の後半で、そのあといろいろと知識を蓄えてきたつもり(gccのソースを最後に読んだのいつだろう?)だったのですが、今はこんな便利なものがあるんですね。
一瞬「対ゲリラ戦闘?」とか思っちゃいました(それはCOIN機)。まぁ、いつまでも低レベル中間言語でもないか。
一通り調べてみましょう。
(追記)
よもやjarファイルの形でソースが配布されてるとは思わなかった(^^;)。sourceforgeの隅から隅まで探しちゃったよ。ant用のbuild.xmlもあるのでプロジェクトを取り込むのは何とかなりそう。あとは、HIRでのクラスの表現がどうなってるかを調べないと。
ちなみに、公式サイトのcontoributeにはなぜか英語版しかないのでsourceforgeのミラーから落とすのが吉です。
それにしても、パッケージ名が気持ち悪いなぁ。開発当時fqdnのドメイン無かったのかな?
(追記その2)
おもしろいパッケージ構造だなぁ。SmalltalkのHIR変換フロントエンドなんか作ると、Smalltalkでコンシューマゲーム機の開発ができるな。Javaでソースがくまれて、当のJavaのフロントエンドがあるのも好印象。パフォーマンスはgccより少し劣るようだけど、なんならCに直すところまでやって、あとはネイティブコンパイラに任せてもいいわけだし。
「当面会費は無料」とのことなので、せっかくだから法人で協会員になろうとしたら、そのページは404・・。プロジェクト自体は止まっちゃってるのかな?
(追記その3)
文字コードはEUC-JP、改行コードはLF、基本的にAPIはJava5でdeprecatedワーニングがたくさん出る。なるほど、そういう環境で作ったのか。
プロジェクト開始が2000年、IPAに採択されたのが2005-2007年だったら今ほどIDEが発達してなかったかな? 2005年だと、Eclipseは3になり、NetBeansが4か。Eclipseはともかく、NetBeansはこの頃評判悪かったな(周りで)。Metal L&Fがいやがられて、Swing自体も微妙にパフォーマンス悪かったような。2000年に至ってはまだEclipseがVisual Ageほげほげで、SunはNetBeansじゃなくてForteが公式環境だった頃か。そりゃIDE使わんわな。
Apache-ANTでビルドできるのは好印象。
とりあえず、NetBeans6.7.1に取り込んでビルドしてみました。NetBeansの自動生成したbuild.xmlでもきちんとコンパイルできます。
「こいつ、動くぞ!(こら、国家プロジェクトに失礼だぞ)」「ぶ、武器はないのか?武器は?(たくさんついてるってば)」
やっぱりおもしろいですね。コンパイラは。
しかし、IPA関連のプロジェクトはなるべく追いかけるようにしてたんですが、全くアンテナに引っかかってなかったです。失敗。
(参考図書)
- コンパイラの基盤技術と実践-コンパイラ・インフラストラクチャCOINSを用いて-(ISBN:9784254121735)
- ソフトウェア実践講座(2) コンパイラ入門-C#で学ぶ理論と実践-(ISBN:4797331690)
大学の教科書かぁ。Amazonで買うしかないかなー。