js_of_ocaml可以从OCaml编译器编译内存中的数据结构吗?

时间:2013-11-13 23:46:32

标签: ocaml js-of-ocaml

看到OCaml编译器和js_of_ocaml都是用OCaml编写的,对我来说,我应该能够写一个使用的包装器似乎是合理的:

  1. OCaml compilerlibs将OCaml源代码编译成Instruct.instruction list(使用Bytegen.compile_implementation)和
  2. js_of_ocaml将指令列表编译成JavaScript,从而绕过Parse_bytecode
  3. 因此,我会将所有数据保存在内存中,避免写入然后读取cmo文件。我希望我可以将cmo写入缓冲区并使用js_of_ocaml进程,但它看起来效率最低。

    这是现实的/之前是否已经完成,或者我只是想在错误的地方/方式加入这两个组件?

2 个答案:

答案 0 :(得分:0)

我几乎肯定http://edit.ocamlpro.com/在浏览器中在线编译源代码到OCaml字节代码时会使用这种方法。

来源:https://github.com/pcouderc/ocp-webedit

答案 1 :(得分:0)

他们说维护起来比较容易。

https://www.lri.fr/~conchon/TER/2012/3/js_of_ocaml.pdf

  

虚拟机提供非常稳定的API。 ...   因此,无需在每个语言版本中修改编译器以支持最新功能