使用 ppx 和扩展点在 OCaml 中为 DSL 编写解析器
Writing a parser for a DSL in OCaml using ppx and extension point
最近OCaml官方github宣布Camlp4
被ppx rewriters and extension points
取代(https://github.com/ocaml/camlp4):
Camlp4 was part of the official OCaml distribution until its version
4.01.0. Since then it has been replaced by a simpler system which is easier to maintain and to learn: ppx rewriters and extension points.
我一直在使用 Camlp4
为 DSL(与 OCaml 分离的语法)编写解析器。
那么,请问ppx rewriters
工具是否可以做同样的事情?
感谢您花时间阅读我的问题!
没有。 PPX 专门用于扩展 OCaml 语言功能,保持其语法,可能使用属性和扩展点。它不提供像 CamlP4 这样的解析器生成器。如果您要构建与 OCaml 完全不同的语法,请坚持使用 P4。 PPX帮不了你
CamlP4 并未停产。它成为 OCaml 编译器的一个独立工具:https://github.com/ocaml/camlp4 你应该也可以使用 opam install camlp4
.
安装它
最近OCaml官方github宣布Camlp4
被ppx rewriters and extension points
取代(https://github.com/ocaml/camlp4):
Camlp4 was part of the official OCaml distribution until its version 4.01.0. Since then it has been replaced by a simpler system which is easier to maintain and to learn: ppx rewriters and extension points.
我一直在使用 Camlp4
为 DSL(与 OCaml 分离的语法)编写解析器。
那么,请问ppx rewriters
工具是否可以做同样的事情?
感谢您花时间阅读我的问题!
没有。 PPX 专门用于扩展 OCaml 语言功能,保持其语法,可能使用属性和扩展点。它不提供像 CamlP4 这样的解析器生成器。如果您要构建与 OCaml 完全不同的语法,请坚持使用 P4。 PPX帮不了你
CamlP4 并未停产。它成为 OCaml 编译器的一个独立工具:https://github.com/ocaml/camlp4 你应该也可以使用 opam install camlp4
.