在ANTLR4.8 C++目标中,度符号'°”在词法规则中会被识别为特殊字符'\u00B0”,而不是直接作为字符串处理。因此,若在词法规则中使用度符号,需使用Unicode编码。例如:
Celsius : Number '°' 'C';
应改成:
Celsius : Number '\u00B0' 'C';
这样就可以正确识别度符号,并避免Token识别错误。
上一篇:antlr4.7.2,右递归和歧义
下一篇:Antlr4/Java: 如何编写一个语义断言来跳过一个标记(词法分析器),根据调用它的解析器规则来确定