从 ANTLR4 语法生成的 Python(均为 2/3)会在语法的解析器 python 模块中生成以下代码行:
self.state = 79
self.state()
正如预期的那样,这会导致以下错误:
TypeError: 'int' object is not callable
最佳答案
有问题的代码是由于 ANTLR 语法中符号选择不当造成的。由于生成的Python代码使用变量名state
,因此如果语法中也包含单词state
,生成的代码就会出现上述问题。解决方案是在语法中重命名该术语。
关于python - ANTLR4 生成的 Python 代码中出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46819594/