意义
问题描述:
我有一个规则为意义
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
那是问题。
+0
很酷,很高兴听到你解决它。 –
是的,这就是我认为错误的含义。在语法中,我没有#标签 – MeBigFatGuy
@MeBigFatGuy如果您在语法上做了CTRL + F,那么没有奇怪的'nls'用法?你不是用标签导入语法?如果没有,那么你可能发现了一个错误。你可以在这里报告:https://github.com/antlr/antlr4/issues –