使用ppx和扩展点在OCaml中编写DSL解析器

9
最近,在OCaml官方的github上宣布用ppx重写器和扩展点https://github.com/ocaml/camlp4)替换了Camlp4

Camlp4是官方OCaml发行版的一部分,直到其版本4.01.0。自那时以来,它已被一个更简单的系统所取代,这个系统更易于维护和学习:ppx重写器和扩展点。

我一直在使用Camlp4编写DSL的解析器(将语法与OCaml分离)。
因此,我想问一下ppx重写器工具是否可以做同样的事情?
感谢您抽出时间阅读我的问题!
1个回答

7

PPX是专门用于扩展OCaml语言功能的工具,可以使用属性和扩展点来保留其语法。它不提供像CamlP4那样的解析器生成器。如果您正在构建与OCaml完全不同的语法,请使用P4。PPX无法帮助您。

CamlP4并未停止使用。它已成为OCaml编译器的独立工具:https://github.com/ocaml/camlp4 您还可以使用opam install camlp4进行安装。


感谢您详细的回答!它解决了我对Camlp4和PPX的疑惑! - Trung Ta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接