9

最近在OCaml官方github上公布了Camlp4被替换为ppx rewriters and extension pointshttps://github.com/ocaml/camlp4):

在 4.01.0 版本之前,Camlp4 是官方 OCaml 发行版的一部分。从那时起,它已被更易于维护和学习的更简单系统所取代:ppx 重写器和扩展点。

我一直在Camlp4为 DSL 编写解析器(与 OCaml 分离的语法)。

所以,我想问一下这个ppx rewriters工具是否可以做同样的事情?

感谢您花时间阅读我的问题!

4

1 回答 1

7

不,PPX 专门用于扩展 OCaml 语言功能,并保持其语法,可能使用属性和扩展点。它不提供像 CamlP4 这样的解析器生成器。如果您要构建与 OCaml 完全不同的语法,请坚持使用 P4。PPX 对您没有帮助。

CamlP4 没有停产。它成为 OCaml 编译器的独立工具:https ://github.com/ocaml/camlp4 你应该也可以使用opam install camlp4.

于 2016-06-14T13:24:49.543 回答