我有一个规则
nls
: NL*
;
带有词法分析器标记
// Inside (...) and [...] but not {...}, ignore newlines.
NL : '\r'? '\n' { this.ignoreTokenInsideParens(); }
;
编译时,我得到
antlr:
[java] error(69): Pel.g4:19:86: label nls conflicts with rule with same name
我的理解是,标签是您为产品的替代分支提供的#names。我没有这样的标签。
那么,这个错误意味着什么?
最佳答案
感谢@BartKiers,我查看了每个 nls 使用,发现我有一个错误的 = 符号,其中我删除了规则中的变量分配,但错过了 =,例如
expression nls AND nls =expression
这就是问题所在。
关于java - Antlr4的LABEL_CONFLICTS_WITH_RULE的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44506392/