gpt4 book ai didi

java - antlr4 语法适用于 Java 目标,但适用于 Python 目标

转载 作者:太空宇宙 更新时间:2023-11-04 12:48:07 26 4
gpt4 key购买 nike

我最初使用 Java 目标开发了一个语法(用于 TestRig 支持),然后将其移植到 Python(从 gi​​t hub 语法存储库扩展了 Python3 语法,因此需要将操作移植到 Python)。在向两个版本添加一些帮助程序打印方法并在同一输入上运行两个解析器后,Python 目标会产生错误。

我使用了 setTrace 方法来获取跟踪输出,并且在运行这两个方法后,跟踪是相同的(与打印语句有一些空白行的细微差别)。这告诉我两个解析器都遇到相同的标记并构建相同的树......理论上。然而,正如前面提到的,Java 版本正确完成,而 Python 版本则出现“...但预期...”错误。

是否有人检测到类似的行为?如果是,是否已找到解决方法?抱歉,我没有发布实际代码,但语法很长。

最佳答案

该行为是 Python3 antlr 语法定义中的错误造成的。我在 antlr 语法项目中添加了语法定义的修复[1]。

[1] https://github.com/antlr/grammars-v4/commit/4eb968b8d8bc11185042b2ba69f14e349bee3468

关于java - antlr4 语法适用于 Java 目标,但适用于 Python 目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36111728/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com