gpt4 book ai didi

parsing - LR(k) 或 LALR(k) 解析器生成器,具有与 ANTLR 类似的功能

转载 作者:行者123 更新时间:2023-12-02 14:12:05 24 4
gpt4 key购买 nike

我目前正在为某种语言编写解析器。我已经获得了该语言的语法,但该语法有一些左递归和非 LL(*) 结构,因此 ANTLR 表现不佳,即使有回溯也是如此。

因为删除这些左递归和非 LL(*) 构造比乍一看更困难,所以我现在想尝试 LR(k) 或 LALR(k) 解析器生成器。 k 越高越好。

谁能给我推荐一个满足这些要求的解析器​​生成器?

  • 生成的解析器最好是具有较高(甚至任意)k 的 LR(k) 解析器,或者至少是具有较高 k 的 LALR(k) 解析器。
  • 生成的解析器是用 C 或 C++ 编写的,如果是用 C 编写的,则可以链接到 C++ 代码。
  • 类似于 ANTLR 的功能集(尤其是 AST 重写)会很好。
  • 性能并不是最紧迫的问题,生成的解析器旨在用于具有大量内存和 CPU 功率的台式机。

感谢和问候,
约斯特

PS:我问这个问题并不是因为我自己无法用谷歌搜索,而是因为没有时间自己测试一些生成器。因此,请仅在您有使用推荐的解析器生成器的经验时才回答。

最佳答案

您可能会考虑LRSTAR .

我对这个工具本身没有经验,但我见过作者,他看起来是一个非常有能力的人。 (我确实以构建解析引擎和相关技术为生)。

关于parsing - LR(k) 或 LALR(k) 解析器生成器,具有与 ANTLR 类似的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12122372/

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