可能是因为在语法规则中未使用到该非终端符号,从而导致 Antlr 不生成其对应的访问方法。解决方法是将非终端符号在语法规则中使用到,如下所示:
grammar Example;
expression: term (PLUS term)*;
term: factor (MULT factor)*;
factor: INTEGER | '(' expression ')';
其中,PLUS、MULT、INTEGER 都是终端符号,expression、term、factor 都是非终端符号。在以上示例中,每个非终端符号都在至少一个语法规则中使用到,因此 Antlr 应该会为每个非终端符号生成对应的访问方法。
上一篇:ANTLR未报告语法中的歧义
下一篇:Antlr文件的格式化。