我正在尋找一個虛擬機具有以下特點:用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