【发布时间】:2018-09-01 00:02:18
【问题描述】:
如果我保存语法
grammar L;
tree: 't' ;
a: tree | 'b' ;
在文件名L.g4 中调用antlr4 L.g4(4.7.1 版),它会输出一条不带任何行号或列号的难以理解的错误消息:
L.g4::: 语法错误:不匹配的字符 '|'期待“g”
::: 部分是错误的行号/列号通常所在的位置。
如果我改为保存
grammar L;
tre: 't' ;
a: tre | 'b' ;
作为L.g4 并在其上运行antlr4,它运行没有错误。
tree 标识符有什么问题?不在reserved keywords列表中:
导入、片段、词法分析器、解析器、语法、返回、 locals, throws, catch, finally, 模式, 选项, 标记
【问题讨论】: