我使用的回报 ,其适用于除第一个所有的语法规则我的语法规则。 如果我的语法第一解析器规则使用返回声明ANTLR4抱怨如下:
预计ARG_ACTION同时匹配规则
如果我添加其他解析器规则上面不使用“收益” ANTLR不抱怨。
这里有一个语法降低的问题:
grammar FirstParserRuleReturnIssue;
ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*;
aRule returns [String s]: ID { $s = $ID.text; };
我搜索以找到可以解释的行为,但没有发现任何东西的第一条规则的特殊作用。 它是一个错误吗? 难道我错过了一些了解呢?