【发布时间】:2010-11-22 16:56:14
【问题描述】:
我最近开始学习 Antlr 并下载了 AntlrWorks 1.4,据说它包含 Antlr 3.2。现在,3.2 应该支持重写规则语法,如“->”,但我什至无法根据 Lexer 或 Parser 规则构建最简单的情况:
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 应该生成一棵树,其中只捕获 a 节点。你不就是这样吗?我不能让它与生根('^')或忽略('!')一起工作。我很困惑。
【问题讨论】:
标签: antlr antlr3 antlrworks