2007-01-01から1年間の記事一覧
JavadocをJDTのASTで表現するのがめんどい。タグの引数をちゃんと認識してて、SimpleNameとかMethodRefとかを作らなきゃならんらしい。しかも、パーサの実装はinternalばっかり。馬鹿らしいけどパーサ書くかな…
基本ブロック SSA変換とデータの属性マーキング 制御フロー制約 入力補完系めも
めも。
コンパイラの単体テストってなんかいい方法ないでしょうか。 正直、テストの方が時間かかってます。
-連続Irenkaセミナー - まさたか日記 行きます。細部の技術に興味のある方もぜひ。
まさか…
もう四捨五入とか言ってる歳じゃなくなりました。 26年目は一生で一番コンパイラにかかわる年になりそう。 よろしくお願いいたします。
これは… - 設計と実装の狭間で。 orz
使ってみた。実際に動きます。
Javaにはびっくりする文法が結構あります。 備忘も兼ねて。
ついでに。 public class N { public class A { private int a; } public void f() { int x = new A().a; new A().a = 1; } } これは、次のようにプログラム変換される模様 (javac)。
Irenkaでそういや可視性について放置していたので、まじめに調べてみた。 これでメソッドfはOKでメソッドgがNGなのはなんで? public class N{ class A{ private int a; } class B extends A{ void f(A ar){ System.out.println(ar.a);//OK } void g(){ Syst…
意外と面白い。特に、「頻出単語一覧」がよい。 abstract add address algorithm analysis argument array block cache call case chapter class code collection compiler data definition different does edge else end error example exp expression fiel…
gUnit is an unit testing framework for ANTLR grammars. It provides a simple way to write and run automated tests for grammars in a manner similar to what jUnit does for unit testing. http://www.antlr.org/wiki/display/ANTLR3/gUnit+-+Grammar…
下のプログラム、ちょっとしたバグがあります。 public void read(String name, String enc) throws IOException { Reader r = new InputStreamReader(new FileInputStream(name), enc); try { ... } finally { r.close(); } }
めも。 データフロー制約を表記する言語が見つからないので、人にやさしい言語を少し考えてみる。 expr1 must expr2 expr1の評価は常にexpr2と同値 expr1 !must expr2 expr1の評価はexpr2と同値でない場合がある expr1 may expr2 expr1の評価はexpr2と同値で…
昨日は休みをいただいて免許更新+母校訪問をしていました。訪問の趣旨は、世話になった教授の方々に修了後一度も挨拶していないためあいさつ回りという感じで。いろいろ話していると、コンパイラを教えてくれた恩師が下のテキストを使って授業をしたらしい…
http://www.junitfactory.com/ こういうのを見るとクローンを作りたくなります。 I like the JUnit Factory tests because they give me an independent perspective on my code. Page Not Found | Agitar Technologies: Putting Java to the Test 確かに。
http://en.wikipedia.org/wiki/Parsing_Expression_Grammar Parsing Expression Grammarなんてのがあった。Regular Expressionじゃなくてpagexで検索ってのもあるらしい。小規模なテキスト探索するには便利だと思うけど、大規模になると普通にコンパイラコン…
Irenka 0.2ではちょっとクエリを強化の予定。
public class Hoge<T> { void bar() { class Foo { T t; } } } 型変数もlambda-liftingしろってことですか。でも匿名クラスでは使えない不思議。</t>
下記は内部クラスというか匿名クラスを使うプログラムで、匿名クラスの中では自由変数(free-variable)を使っています。このようなプログラムはバイトコードに変換される際に少し変わった動きをします。
ラムダリフティングされているものをどう解析するか とりあえずいいアイデアが出ない感じなので帰ってからやる。
ちょっと高いな…。年明けくらいまで様子を見ようかな。Parsing Techniques (Monographs in Computer Science)作者: Dick Grune,Ceriel J.H. Jacobs出版社/メーカー: Springer発売日: 2006/02/01メディア: ハードカバー クリック: 16回この商品を含むブログ (…
怒涛のような2週間も終わりました。その締めが今日?のカンファレンス。ブルーオーシャンなはずなのに血の海ができるところでした。
http://irenka.ashikunep.org/ betaリリースです。id:masataka_kの人に先を越されたorzIrenka StudioはEclipseの上でIrenkaを動かすためのプラグインで、0.1.0の時点で軽くIrenkaを体験できます。
おじいさんがくれた飴の味、といわれていまいち分からなかった。 元ねたは「神の雫」らしい。今度調べてみるかな。飲み口が物足りないけどこれはこれで。外気に触れると滑らかになりすぎてびっくり。
ドキュメントも一段落しました。来週からはコーディングに戻ります。
ドキュメント書いてます。 テクニカルライターとかって発狂しないのかなと思いました。
めも。あまりにinternalすぎて卒倒しそうになる。