1

我目前正在尝试将 OCaml 程序(具有相当标准/有限的语法)翻译成 Racket,并且我正在尝试查看是否有一种方法可以使用camlp4 对中间表示进行解析。我尝试使用 ocamlyacc 和 ocamllex 构建词法分析器和解析器,但考虑到语法可能有多大,它变得相当复杂。所以,我四处搜索,发现 camlp4 已经内置了其中的一些,但我似乎无法查找如何使用它来获取某些 OCaml 代码的 AST。任何文档/示例/想法?另外,如果您对如何更好地做到这一点有任何建议,那也很棒!谢谢。

4

1 回答 1

4

只需使用与编译器一起分发的编译器库。您可以通过这种方式直接使用 ocaml 解析器本身。

这是读取 .ml 文件的代码示例。解析器的文档相当不错。解析后,您将获得Parsetree

于 2016-10-10T19:48:03.950 回答