我正在OCaml中实现符合ISO / IEC 13211-1:1995的Prolog系统。
用于代码生成(又称JIT)第一部分...
ocamlopt
编译,...这种方法虽然有些粗糙,但作为概念证明还是足够的。
最近,在我看来,编译为OCaml字节码可以是另一种选择[[1。
所以我的实际问题有两个:1也是一个不错的选择,因为它允许使用js_of_ocaml
。
最后,发出ml将使您选择仅选择适当的编译器来使用字节码和本机代码。您还可以使用js_of_ocaml或任何其他后端。同样,从历史上看,ML和OCaml专门设计为代码生成的目标,尤其是出于证明帮助的需要,例如,请参见Coq和F *,它们使用ML而不是字节码。
是否有OCaml库用于发出/处理字节码?
[我通常使用编译器工具的一些内部组件作为参考实现(而不是缺少字节码的文档),请参见tools文件夹,例如,这是bytecode disassembler。