哪些应用程序虚拟机是用更高级语言编写的? C / C ++看起来像选择的语言(出于显而易见的原因)。
我在google上发现的至少有两个用Java编写的内容(两个元循环): JikesRVM和Maxine。
你找到的其他东西了?
答案 0 :(得分:1)
其中最有趣的是Klein和Maxine(其设计实际上是基于Klein)。 Metacircular Lisp和Scheme实现通常假设存在一些基本的原始特殊形式,然后必须以汇编语言C或低级风格的语言的有限子集来实现。 Squeak和PyPy使用该语言的有限子集。 Jikes使用“魔法”方法和低级风格。
Klein和Maxine的想法是所有都是以高级,面向对象,富有表现力的惯用语风格编写的。在当前版本的Klein中,只有两个很小的地方风格受到一些限制:在消息发送的实现中,你不能发送任何消息,在对象克隆的实现中你不能克隆任何对象。但是,当前的编译器可以实际内联甚至完全优化对象克隆和消息发送,因此这两个地方可以用正常的OO Self样式重写 - 只是没有人完成它。
所有这些只是metacircular虚拟机。还有其他用高级语言编写的虚拟机:
答案 1 :(得分:0)
更多的VM实现在TCL(工具命令语言)和lua(有时命名为java)中,有些是用汇编语言编写的。其他变体以制造商的计算机硬件系统编程语言编写。