gpt4 book ai didi

scheme - 用 Lisp 编写正式语言解析器

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:20 24 4
gpt4 key购买 nike

我的公司正在设计一种新的特定于领域的脚本语言;我必须实现一个解析器,将我们全新的编程语言翻译成一种通用的脚本语言,以便能够执行它。

我执行此操作的常用方法是使用 BisonFlex 工具生成翻译器的 C/C++ 代码。

我找到了其他工具,适用于大多数主流编程语言,但没有找到适用于 Lisp 的工具。

Lisp 难道没有被用过吗?用 Lisp 编写解析器的常用方法是什么?

注意:对我来说,任何可以提供帮助的 Lisp 实现/方言都可以,我没有任何偏好。

最佳答案

覆盖Racket部分内容:

人们经常编写解析器并且有很多方法可以这样做:

  • 手动编写递归下降解析器。
  • 使用parser-tools Racket 中的库,它是 lex/yacc 风格。
  • 使用Ragg ,一个 AST 生成器生成器,可让您编写 BNF。
  • 使用Parsack ,一个类似于 Haskell 的 Parsec 的单子(monad)解析器组合器库。
  • 我可能忽略了至少六个其他选项(例如,我知道至少有一个用于 Racket 的 PEG 样式库)。

关于scheme - 用 Lisp 编写正式语言解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21185879/

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