我有一条规则
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
我的理解是,标签是您为生产的其他分支指定的#名称。我没有这样的标签。
那么,这个错误是什么意思呢?
最佳答案
感谢@BartKiers,我查看了每一个nls的使用,发现我有一个错误的=符号,其中我删除了规则中的变量assign,但是错过了=,例如
expression nls AND nls =expression
这就是问题所在。