このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

JavaCCとSableCC

ちょっとした理由で、Javaのパーザー生成系を調べてみました。

一番ポピュラーそうなJavaCChttps://javacc.dev.java.net/)をいじってみたのですが、BNF(構文記述)とJavaコード(アクション)が混じる記述にウンザリ(yaccでも同じです)。JJTreeというツールと一緒に使うと、さほどアクションを書かずに構文木を作ってくるようではありますが。

いずれにしても、JavaCCの構文記述は汚い感じがします。しょうがない、がまんすればいいハナシか、と思っていたら、SableCC(http://sablecc.org/)というのを見つました。SableCCでは、アクションを書き込まないので、構文記述がスッキリと美しい。パーザー全体を作る手法がyaccなどの伝統的なものとは違うのでとまどいます(ワタシャとまどっている)が、このスッキリ感はすばらしい。