COINS

結局どうなったか

COINSとは全く無関係(に、なるようにわざわざモジュール化して作った部分)だけで完結してしまい、HIRへの変換やらLIRへの変換やらをやらずにいきなりC言語に直す羽目に。 おや? なぜかクラスファイルを食わせるとARMのアセンブラソースをはき出す謎のJavaコ…

どこまでJavaの機能使っていいんだろう?

ジェネリックコレクションは使っちゃまずそうだなぁ。ってことは拡張for文もだめかなぁ。 enumもまずいよなぁ、やっぱり。 ま、いいや。作ってから考えよう<おい コミットできないようだったらそのとき作り直せばいいや。まずは生産性を優先。

お、UTF8版のcoins.utilなんてのがある

alternateの中にUTF8で書かれたcoins.utilがある。差し替えちゃおう。どうせこれコミットしないし。 誰だったかが「コメントのソースは英語で書きましょう」と言ってましたが(Linusだったかなぁ?)「英語で読めない」までも、「英語エンコードだとエラーにな…

coins.drivergenを使って作られたクラスだと、何故かうまくいかない

どうも考えるにcompileメソッドで"makeHirFromSource"をinvokeするよう指定しているのに、coins.driver.Driverクラスで知らない言語ははじかれちゃってるような気がする。メインクラスに作成したクラスを指定してるのにDriverクラスのmakeHirFromSourceが呼…

suffixesに気をつけろ

jarを単体で取り出しても動く、でも、IDE上では正常な動作をしない。追いかけようにもブレイクポイントにも引っかからない。半日悩みましたが、こういうコトでした。 COINSコンパイラ・ドライバ利用の手引き(http://www.coins-project.org/driver-man.txt) …

コンパイラの基盤技術と実践-コンパイラ・インフラストラクチャCOINSを用いて-(ISBN:9784254121735)

よんだ。なるほど、だいたいわかった。しかし、COINS自体はプロジェクトとして非常に有用でも、コンパイラの教科書としては問題ないか、これ? スタックフレームと局所変数の話や、data領域、text領域に対する説明がHIRレベルで全くないような・・。その辺は…

Java用フロントエンドはスライド(p10)にはあるけどソースにはない

ついでに教科書にも書いてない。研究した人はいる(http://www.coins-project.org/contributions/CoinsJava/index.html)。ないのかな? ffrontとcftontは見つけたんだけど。 ちなみにCフロントエンドはC90準拠でした。おお、ローカル変数がブロックの最初にし…