【发布时间】:2010-07-20 21:05:52
【问题描述】:
我将尝试为动态语言编写编译器。最好是一些现有的虚拟机——我(还)不想处理垃圾收集和无数其他问题,一个好的虚拟机可以为你处理。您建议使用哪些虚拟机?
我在 Linux 上,所以我不知道 .NET(通过 Mono)是否是个好主意。我听说 Parrot 对动态语言很有用,但我还没有听说过 任何 语言使用它。我应该自己发明吗? LLVM 甚至算作我应该编译的 VM,还是和直接 x86 一样难?
另外,基于堆栈的虚拟机与基于寄存器的虚拟机有什么优缺点?
性能和工具支持很重要。我将在 Haskell 中编写编译器,所以一个好的接口是加分项。
【问题讨论】:
-
著名的 Donald E. Knuth 设计用来解释他的算法的“神话机器”怎么样?仍然有几个 MIX 模拟器。