2007-01-01から1年間の記事一覧

Javadoc Parser

JavadocをJDTのASTで表現するのがめんどい。タグの引数をちゃんと認識してて、SimpleNameとかMethodRefとかを作らなきゃならんらしい。しかも、パーサの実装はinternalばっかり。馬鹿らしいけどパーサ書くかな…

あとでかく

基本ブロック SSA変換とデータの属性マーキング 制御フロー制約 入力補完系めも

data flow constraints雑記

めも。

単体テスト

コンパイラの単体テストってなんかいい方法ないでしょうか。 正直、テストの方が時間かかってます。

セミナー

-連続Irenkaセミナー - まさたか日記 行きます。細部の技術に興味のある方もぜひ。

誕生日が同じだったサービス

まさか…

26

もう四捨五入とか言ってる歳じゃなくなりました。 26年目は一生で一番コンパイラにかかわる年になりそう。 よろしくお願いいたします。

かぶった

これは… - 設計と実装の狭間で。 orz

レア文法を使ってみた

使ってみた。実際に動きます。

レア文法

Javaにはびっくりする文法が結構あります。 備忘も兼ねて。

synthetic accessor

ついでに。 public class N { public class A { private int a; } public void f() { int x = new A().a; new A().a = 1; } } これは、次のようにプログラム変換される模様 (javac)。

accessibility

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…

Amazonのなか見!検索

意外と面白い。特に、「頻出単語一覧」がよい。 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

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…

Control Flow Constraint

下のプログラム、ちょっとしたバグがあります。 public void read(String name, String enc) throws IOException { Reader r = new InputStreamReader(new FileInputStream(name), enc); try { ... } finally { r.close(); } }

Data Flow Constraint

めも。 データフロー制約を表記する言語が見つからないので、人にやさしい言語を少し考えてみる。 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 確かに。

PEG

http://en.wikipedia.org/wiki/Parsing_Expression_Grammar Parsing Expression Grammarなんてのがあった。Regular Expressionじゃなくてpagexで検索ってのもあるらしい。小規模なテキスト探索するには便利だと思うけど、大規模になると普通にコンパイラコン…

0.2の予定

Irenka 0.2ではちょっとクエリを強化の予定。

自由変数

public class Hoge<T> { void bar() { class Foo { T t; } } } 型変数もlambda-liftingしろってことですか。でも匿名クラスでは使えない不思議。</t>

内部クラスのコンストラクタ

下記は内部クラスというか匿名クラスを使うプログラムで、匿名クラスの中では自由変数(free-variable)を使っています。このようなプログラムはバイトコードに変換される際に少し変わった動きをします。

内部クラスのコンストラクタ

ラムダリフティングされているものをどう解析するか とりあえずいいアイデアが出ない感じなので帰ってからやる。

Parsing Techniques 2nd

ちょっと高いな…。年明けくらいまで様子を見ようかな。Parsing Techniques (Monographs in Computer Science)作者: Dick Grune,Ceriel J.H. Jacobs出版社/メーカー: Springer発売日: 2006/02/01メディア: ハードカバー クリック: 16回この商品を含むブログ (…

カンファレンス

怒涛のような2週間も終わりました。その締めが今日?のカンファレンス。ブルーオーシャンなはずなのに血の海ができるところでした。

beta!

http://irenka.ashikunep.org/ betaリリースです。id:masataka_kの人に先を越されたorzIrenka StudioはEclipseの上でIrenkaを動かすためのプラグインで、0.1.0の時点で軽くIrenkaを体験できます。

シャトー ヌフ・デュ・パフ

おじいさんがくれた飴の味、といわれていまいち分からなかった。 元ねたは「神の雫」らしい。今度調べてみるかな。飲み口が物足りないけどこれはこれで。外気に触れると滑らかになりすぎてびっくり。

一段落

ドキュメントも一段落しました。来週からはコーディングに戻ります。

ドキュメントの中の人

ドキュメント書いてます。 テクニカルライターとかって発狂しないのかなと思いました。

プラグイン(13) jar packaging

めも。あまりにinternalすぎて卒倒しそうになる。