我即將在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編譯器,至少足夠處理你自己的代碼。然後大概測試它與標準編譯器的兼容性,維護它等等。所以,最好只是運行通常的編譯器。 –