ANTLR错误134

时间:2016-10-03 19:26:16

标签: java python antlr4

我正在尝试使用antlr4包在Python中构建Java的抽象语法树。 我从中下载了Java语法 https://github.com/antlr/grammars-v4/blob/master/java8/Java8.g4

我想使用该语法文件为Python2生成JavaLexer和JavaParser。

当我说

"$ antlr4 -Dlanguage=Python2 Java8.g4"

发生错误。该错误是

  

error(134):Java8.g4:73:0:符号类型与目标语言或运行时生成的代码冲突

注意:我已使用Character.isJavaIdentifierPart()删除了部分。因为这些行不适合python,我只使用ASCII。

1 个答案:

答案 0 :(得分:4)

Python有一个名为type的内置函数。 Antlr4为语法的第73行打印错误:

type
    :   primitiveType
    |   referenceType
    ;

看起来存在名称冲突,您必须将type重命名为语法中的其他内容。