Antlr4 给出隐式定义警告的ANTLR字符串标记

Antlr4 给出隐式定义警告的ANTLR字符串标记,antlr4,Antlr4,因此,我得到了“解析器规则中令牌'x'的隐式定义”。使用此格式的解析器规则中的警告:规则:'x'子规则即使我使用的所有'x'值都包含在lexer规则中。例如,'+','-','*'等被定义为运算符标记。在lexer规则中定义它们而没有其他选择(例如:Add:'+';)似乎可以解决这个问题。有人能解释一下发生了什么,以及是否有更简单的解决方案吗?显然,您的解析器规则中仍然有文本。在lexer规则中只定义lexer标记是一种很好的做法。遵循这个规则,这些警告就会消失

因此,我得到了“解析器规则中令牌
'x'
的隐式定义”。使用此格式的解析器规则中的警告:
规则:'x'子规则即使我使用的所有
'x'
值都包含在lexer规则中。例如,
'+'
'-'
'*'
等被定义为
运算符
标记。在lexer规则中定义它们而没有其他选择(例如:
Add:'+';
)似乎可以解决这个问题。有人能解释一下发生了什么,以及是否有更简单的解决方案吗?

显然,您的解析器规则中仍然有文本。在lexer规则中只定义lexer标记是一种很好的做法。遵循这个规则,这些警告就会消失