java - Antlr4的LABEL_CONFLICTS_WITH_RULE的含义

标签 java label antlr4

我有一个规则

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/

相关文章:

java - 如何安排任务运行一次?

java - gson解析来自google矩阵api的嵌套json对象

java - 如何从图库中选择视频并裁剪/调整它的大小,就像在 android 中裁剪图像一样

java - 无法在 Eclipse 中关闭小程序

c# - 如何对齐标签中的文本

swift - watch 套件 : connect 2 sliders to 1 label

c# - 错误时显示标签 (HTML CSS)

java - 如何知道在访问期间ANTLR解析器当前处于哪个替代规则

lexer - 如何定义可以在ANTLR4中以多种词法模式出现的标记?

java - antlr4 类似的标记定义