我目前正在寻找不同的虚拟机来运行大量不同的脚本语言(以嵌入方式)。
引起我注意的两个虚拟机是:
LLVM:虽然我看过那些建议不使用LLVM作为虚拟机的帖子,但似乎确实有很多内容。它可以做优化,JIT,已经有一个很好的调试器,等等。虽然似乎没有太多关于以这种方式使用LLVM的文档,但有一个Cling能够运行c ++ 11作为解释语言(这是非常令人印象深刻的),以及命令行工具'lli'。
libJIT:从技术上讲,这个不是一个虚拟机,但提供了创建一个虚拟机的必要工具。
所以我的问题是:
至于VM的实际使用我打算将VM嵌入到c ++程序中以提供可编写脚本的用户环境。我已经在使用Lua了解其中的一些内容,但出于各种原因,我希望能够支持其他语言。
最后,我看过Parrot,但是我对从它读过的一些事情中使用它有点犹豫(也许有人可以说服我吗?)。
更新
我遇到了http://vmkit.llvm.org,看起来它使用LLVM创建了一个成熟的虚拟机。