2
我最近開始學習Antlr並下載AntlrWorks 1.4,其中應該包含Antlr 3.2。現在,3.2應該支持重寫規則語法像「 - >」,但我還沒有能夠得到即使最簡單的情況下,我可以構建或者基於詞法或語法規則的工作:Antlr 3.2重寫規則
grammar TestRewrite;
ab : a b -> a;
a : A;
b : B;
A : 'a';
B : 'b';
當我試圖編譯這個,我得到的錯誤:
[11:26:29] error(100): TestRewrite.g:3:13: syntax error: antlr: TestRewrite.g:3:13: unexpected token: a
這是爲什麼。構造看起來很簡單:ab應該生成一棵只有一個節點被捕獲的樹。這不是你怎麼做的嗎?我無法讓它與rooting('^')或忽略('!')一起工作。我很困惑。
@TimeHorse的`選項{輸出= AST;};``說法應該是你的`語法TestRewrite後直接放置。 – 2010-11-22 19:46:21