トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2005-11-14の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!Sablecc
いったい何度パーザを書けば気が済むんだといわれそうだけど,
Sableccでパーザ書いてみたり.
文法定義と,実装が完全に別れていたり,
できたコードを動作させるのに特別なランタイムが必要なかったり,と
いい感じ.
基本的な使い方は,DepthFirstAdapterを継承した解析クラスつくって
 outXXX
で処理を書いていく.
で,例えば変数への値の代入とか,パーズ結果を深さ優先でたどってうまくいかないときは
DepthFirstAdapterで定義してある,パーズ結果の深さ優先が嫌なときは,
 caseXXX
で順番を変える.
なかなか気持ちよく書けるなぁ.