トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

Diary/2005-11-14

Sablecc

いったい何度パーザを書けば気が済むんだといわれそうだけど,
Sableccでパーザ書いてみたり.
文法定義と,実装が完全に別れていたり,
できたコードを動作させるのに特別なランタイムが必要なかったり,と
いい感じ.
基本的な使い方は,DepthFirstAdapterを継承した解析クラスつくって

outXXX

で処理を書いていく.
DepthFirstAdapterで定義してある,パーズ結果の深さ優先が嫌なときは,

caseXXX

で順番を変える.
なかなか気持ちよく書けるなぁ.