首页 > 解决方案 > “检测器”一词在 ANTLR4 中未被识别为标记

问题描述

我定义了一个语法规则

variable : ID ;

其中 ID 在词法分析器语法中定义为

ID : VALID_ID_START VALID_ID_CHAR* ;
fragment VALID_ID_START : ('a' .. 'z') | ('A' .. 'Z') | '_' ;
fragment VALID_ID_CHAR : VALID_ID_START | ('0' .. '9') ;

但是在我的测试中,字面意思“检测器”不被识别为变量的标记。一旦我从单词中删除任何字符,它就会按预期工作。“检测器”是 ANTLR4 中的保留字吗?如果是,我该如何解决这个问题,因为这个词是我工作中的一个常见变量。

标签: antlr4

解决方案


我找到了问题的原因。在我的词法分析器规则中,“检测器”一词用于定义不同的标记。感谢@sepp2k 的评论,这些评论引导我找到解决问题的正确方向。


推荐阅读