ANTLR4生成的代码未编译:" cannot override reset()"



使用antlr4与maven,java8,我无法编译生成的源。我尝试了几个antlr版本(从4.7.1开始,但却降低到4.3(:

/C:/Users/me/GenX-2/src/common/target/generated-sources/antlr4/com/xxx/common/input/mqsc/MQSCParser.java:[1142,35] 
reset() in com.xxx.common.input.mqsc.MQSCParser cannot override reset() in org.antlr.v4.runtime.Parser
return type com.xxx.common.input.mqsc.MQSCParser.ResetContext is not compatible with void

我可以从Java类中看到错误本身是正确的。知道如何更改生成的来源吗?问题点上生成的代码的签名是:

    public final ResetContext reset() throws RecognitionException {

reset()是ANTLR Parser类中的一种方法,因此它不能是解析器规则。您需要将其重命名为reset_statreset_或其他名称。

相关内容

最新更新