下面是一个示例。ANTLR4无法识别此($type)。
Number //options { backtrack=true; }
: IntegerLiteral { $type = IntegerLiteral; }
| FloatLiteral { $type = FloatLiteral; }
| IntegerLiteral { $type = IntegerLiteral; }
;这可以用什么来代替呢?
谢谢。
发布于 2012-12-02 04:44:03
在ANTLR v4中,执行以下操作:
Number
: IntegerLiteral {setType(IntegerLiteral);}
| ...发布于 2012-12-04 21:35:07
在ANTLR 4中,这是新的语法:
Foo
: Bar -> type(SomeType)
| ...
;但是,对于上面的规则,您应该删除Number规则,并确保FloatLiteral和IntegerLiteral规则不是片段规则。
https://stackoverflow.com/questions/13663525
复制相似问题