我正在寻找一个虚拟机具有以下特点:用C语言实现并且编译代码大小在100-200K以下的干净的独立VM?
- 小编译代码足迹(下200K)。
- 没有外部依赖性。
- Unicode(或原始)字符串支持。
- 清洁代码 /组织良好。
- C(99)代码,NOT C++。
- C/Java-like syntax。
- 运算符/位:AND/OR等
- 线程支持。
- 通用/便携式字节码。字节代码应该可以在不同的机器上工作,即使它是在不同的架构上编译,具有不同的字节顺序等。
- 准星,没什么奇特的必要。只有基本的语言支持。
- 与VM分开的Lexer /解析器和编译器。我将在程序中嵌入虚拟机,然后独立编译字节码。
到目前为止,我已经审核Lua,Squirrel,Neko,Pawn,Io,AngelScript,而哪些谈到有点接近规范是Lua中,但语法是可怕的只有一个,它没有按位支持和代码风格通常很糟糕。大多数松鼠和IO是巨大的。典当是有问题的,它很小,但字节码不是跨平台的,并且实现有一些严重的问题(前字节码根本没有验证,甚至没有头AFAIK)。
我很想找到一个合适的选项。
谢谢!
更新: Javascript口译员是......口译员。这是一个基于字节码的虚拟机的VM问题,因此是编译器/字节码虚拟机分离的要求。 JS被解释,并且很少被JIT编译。我不需要JIT。而且,目前所有的ECMAScript解析器都很小。
“的语法是可怕的”不作为猜测你确实是想要什么样的语言非常有帮助。 – 2011-03-12 01:01:36
@larsmans:他声明他在寻找什么样的语言:“C /类Java语法” – 2011-03-12 01:05:13
正如我所说的,C/Java类语法。老实说,我不需要类继承/复杂的OO支持,但是Lua的语法是一个破坏者。我希望对来自C或Java背景的开发人员有吸引力。与Pawn/Squirrel的语法类似,上述“额外糖果”无效。 – soze 2011-03-12 01:05:25