python - ANTLR4 生成的 Python 代码中出现错误

标签 python antlr antlr4

从 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/

相关文章:

python - 一行与多行的 boolean 比较

java - 在运行时评估逻辑表达式

java - ANTLR 4 : Parsing grammar

error-handling - ANTLR 4 : How to generate a parse error from an embedded action?

antlr4 - 是否可以在不实际匹配 token 的情况下在 ANTLR4 中向前看?

python - 如何使用 Python 识别 Google Sheet 中的第一个空列以附加数据框?

python - Airflow - 外部 API 调用给出 Negsignal.SIGSEGV 错误

java - 从词法分析器/解析器语法生成产生式

Erlang 和 Antlr

python - Windows 文件方案 URI 上的 urlparse() 在开始时留下额外的斜杠