ANTLR
Irenkaのクエリーパーサーでleft recursionに対応するのに、backtrack=trueオプションが使えるようなのでかなり楽になったんだけど、ANTLRworksの、interpreterがノードツリーのグラフを表示しなくなってしまった。 ノードツリーのグラフ出力は、backtrack=t…
Lexer/Parserは作成できてたのに、Treeだけは中々できなかったところ、はじめて出力できた(変換ができた…というだけで実際に動くかどうか分からないけど)。 なぜできなかったか理由を列挙しておく。 まずLexerの定義*1は全て消す。Lexerのコメント宣言(@l…
普通のgrammer(visitorパターンじゃない普通のASTツリー)でも、いろんなパターンをやってみたところまだ問題があった。配列要素を評価しようとしたのだが、NoViableAltExceptionが。原因は、IntegerLiteralにつけていたfragmentを外しただけ。そりゃそうだ…
grammerのCheckでエラー(cannot find tokens file)が出る。おかしいなぁと思っていたら、ANTLRWorksを再起動したら今度はエラーが発生しない。 tokens fileは、そもそも grammerのgenerate時に一緒に吐き出しているんだから読もうとするってのはおかしい。…