这在 ANTLR 4 中无法编译:
Number options { backtrack=true; }
: (IntegerLiteral Range)=> IntegerLiteral { $type = IntegerLiteral; }
| (FloatLiteral)=> FloatLiteral { $type = FloatLiteral; }
| IntegerLiteral { $type = IntegerLiteral; }
;
Run Code Online (Sandbox Code Playgroud)
因为backtrace=true...发生了什么?
除了它之外,我应该在 ANTLR 4 中使用什么?
目前,ANTLR v4 中没有规则级选项。请注意,backtrack=true
不再需要,因为新的解析算法不需要回溯。另请注意,在 ANTLR v3 中,backtrack=true
在词法分析器规则中无效,仅在解析器规则中有效。