gpt4 book ai didi

parsing - 我可以使用什么前端与 RPython 来实现语言?

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

我到处寻找使用 RPython 工具链实现语言的示例,但到目前为止我能找到的唯一一个是 this作者在其中编写了一个简单的 BF 解释器。因为语法非常简单,所以他不需要使用解析器/词法分析器生成器。是否有支持使用 RPython 开发语言的前端?

谢谢!

最佳答案

我不知道有任何专门针对 RPython 的通用词法分析器或解析器生成器。一些带有 Python 输出的可能可以工作,但我不会打赌它。不过rlib.parsing中有一套解析工具。 。看起来还蛮好用的。 OTOH,文档中有一个警告:据报道它仍在开发、实验中,并且到目前为止仅用于 Prolog 解释器。

或者,您可以手动编写前端。当然,词法分析器可能会很烦人和不自然(您也许可以删除 Python 实现所使用的 DFA 实用程序模块)。但如果您知道正确的算法,解析器就是小菜一碟。我是“自顶向下运算符优先级解析器”又名“Pratt 解析器”的 super 粉丝,它相当简单(递归下降),但使所有表达式解析问题(嵌套、优先级、关联性等)变得轻而易举。关于它们的信息少得令人沮丧,但几篇博客文章对我来说已经足够了:

  • 一个 Crockford (不过不推荐它,它会将大量不相关的东西扔到解析器中,从而掩盖它),
  • 另一个地址:effbot.org (使用Python),
  • 第三个是由一个不太出名的人写的,他自己也在开发一种语言,Robert Nystrom .

关于parsing - 我可以使用什么前端与 RPython 来实现语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8129409/

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