2011-08-05 33 views
4

我正在寻找可嵌入到任何ANSI C代码中的虚拟机运行时环境。ANSI C的可嵌入式VM运行时C

我设计了一个功能语言的语法,看起来很像一个剥离的CoffeeScript版本。现在我想为这种语言编写一个编译器,但我不知道应该使用哪个虚拟机。

我的语言的关键功能是支持闭包,当然还有一个理智的GC。它应该相当小。

我一直在Lua的几个项目中工作,我正在研究Lua 5.1 VM。但是,这似乎与我的语言不会使用的表格Luas概念紧密相关。

有什么建议吗?

+1

大多数人去LLVM(并有很好的理由)。但这不是ANSI C –

+0

但LLVM是可嵌入的吗?我可以创建一个托管LLVM环境的本地C应用程序吗? –

+0

正如我所说的,它不是ANSI C.它实际上是C++。是的,它是可嵌入的,它实际上是一个库。 –

回答

2

另外还有Neko VM

+0

太棒了!我也会调查Neko! –

+0

我已经仔细调查过Neko。似乎有关于虚拟机中有意义的错误消息的一些问题。除此之外,它似乎是现货!我会仔细看看鹦鹉。 –

1

另一种选择可能是TinyVM这是非常小的,它的代码库是令人惊讶的干净。原始项目也有一个分叉分支,可以提高性能:FastVM。它们的尺寸都非常强大,并且可以很容易地扩展以最大限度地满足您的需求。

希望这会有所帮助! :)

+0

绝对是一个有趣的项目!将检查出来。 –