我即将在scala中为OCaml编写一个抽象语法,并结合一个漂亮的打印机。 之后,我想从scala执行生成的OCaml代码并处理结果。如何从Scala/Java执行OCaml代码?
有没有办法做到这一点,而无需运行外部OCaml编译器,执行程序并从stdout中读取结果?
我即将在scala中为OCaml编写一个抽象语法,并结合一个漂亮的打印机。 之后,我想从scala执行生成的OCaml代码并处理结果。如何从Scala/Java执行OCaml代码?
有没有办法做到这一点,而无需运行外部OCaml编译器,执行程序并从stdout中读取结果?
如果您想从Scala调用外部进程,请查看内置的processes DSL。这很好。
您也可以回到简单的Java解决方案(即ProcessBuilder
或Runtime.exec()
)。
OCaml-Java的预览版可用。 http://ocamljava.x9c.fr/preview/#scripting
你必须编写自己的OCaml编译器,至少足够处理你自己的代码。然后大概测试它与标准编译器的兼容性,维护它等等。所以,最好只是运行通常的编译器。 –