gpt4 book ai didi

antlr - 在 antlr4 中构建 AST

转载 作者:行者123 更新时间:2023-12-04 17:22:05 25 4
gpt4 key购买 nike

我想知道我们是否可以使用 Antlr 版本 4 构建 AST。我找不到任何关于使用 antlr4 构建它的引用。
一个 SO 答案说使用仅生成解析树的 antlr4 会很容易,但我的问题是 怎么样?效率 ?

它迫使我们爬取整个解析树而不是抽象语法树,这不是遍历整个树并使用访问者执行任务的有效方法。

最佳答案

我想首先指出两个关键项目:

  • 效率不仅仅包括简单的执行速度。它还可以应用于内存开销、可维护性以及团队创建和/或使用软件的长期开发策略的有效性。
  • 您在争论解析树比 AST 慢的论点。多年来我一直在测试 ANTLR 3 和 ANTLR 4 的性能,在这一点上毫无疑问 ANTLR 4 的解析树消除了 ANTLR 3 中 AST 的性能。

  • 也就是说,在 ANTLR 4 中专门使用解析树的决定是基于以下观察结果:在 ANTLR 3 中分离解析器和带有 AST 的树解析器的实际可维护性不符合预期的可维护性,因此将整体效率降低到不再推荐的做法。

    此外,ANTLR 4 中的自动解析树构建使我能够实现 declarative rule versioning ,然后我 applied to code throughout ANTLRWorks 2 .这让我可以 rapidly correct every portion依赖解析树的形状的大型代码库,而不会在最终产品中引入回归错误。

    关于antlr - 在 antlr4 中构建 AST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21278743/

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