antlr4 - “检测器”一词在 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 中的保留字吗?如果是,我该如何解决这个问题,因为这个词是我工作中的一个常见变量。
解决方案
我找到了问题的原因。在我的词法分析器规则中,“检测器”一词用于定义不同的标记。感谢@sepp2k 的评论,这些评论引导我找到解决问题的正确方向。
推荐阅读
- javascript - 有没有一种安全的方法来为 mongodb 脚本安装 js 库?
- node.js - NodeJs XSLT 转换
- vim - 如何更改连接线之间插入的字符?
- visual-studio-code - 有没有办法通过 CodeAction 请求执行自定义操作?
- postgresql - 我想得到最大发行量的书。次
- android - 如何处理使用自定义 AutoML 模型后弹出的缓冲区溢出异常?
- c - 仅在发布时分配失败
- python - 关闭张量流消息
- python - 将烧瓶应用程序部署到 Elastic Beanstalk 时出错
- java - 没有单击按钮就不会传递 EditText 数据