ANTLR4生成的Python代码出错

时间:2017-10-18 21:32:25

标签: python antlr antlr4

从ANTLR4语法生成的Python(两者都是2/3)在语法的解析器python模块中产生以下代码行:

self.state = 79
self.state()

正如预期的那样,会导致以下错误:

TypeError: 'int' object is not callable

1 个答案:

答案 0 :(得分:2)

错误代码是ANTLR语法中符号选择不佳的结果。由于生成的python代码使用变量名state,因此如果语法也包含单词state,则生成的代码将具有上述问题。解决方案是在语法中重命名该术语。