我需要一个极其微小的实现(可能是?的一个子集)Javascript。代码大小和内存使用非常重要(速度不在问题中,它可以按照自己喜欢的速度运行)。它必须用C(不是C ++)编写,ANSI C(GCC扩展也可以)。如果它在VM上运行将是最好的,因为我将不得不为它编写一个编译器。有什么建议吗?
编辑:我看到的两个回答都很好,除了:
SpiderMonkey专注于让它更快,我不在乎它是否快速。
Quad-Wheel听起来不错,除了它上面的活动,代码注释很少(如果有帮助,我将把它移植到另一个架构)。
所以,任何其他回应都会很棒。或者,我可以推出自己的简化版JS(但这听起来并不好玩)
答案 0 :(得分:23)
Duktape是用C语言编写的,侧重于可移植性和紧凑的占用空间:http://duktape.org/
答案 1 :(得分:14)
我刚刚发现了这个红宝石:https://github.com/gfwilliams/tiny-js
我一直在寻找相当长的一段时间,因为spidermonkey / v8通常很大并且有几个依赖。 Tiny-js是一个便携式“运行make和你完成”-linux c-class。完美的,如果你只是寻找简单的绑定,并喜欢jua / c语法而不是lua /其他令人敬畏的脚本语言。
答案 2 :(得分:4)
ECMA-262的ANSI-C引擎:http://code.google.com/p/quad-wheel/
Mozilla SpiderMonkey也是用C语言编写的,但对你来说可能很复杂而且很大?
答案 3 :(得分:2)
SpiderMonkey是Mozilla的JavaScript实现。
答案 4 :(得分:2)
muJS可能是嵌入式JS / ES实现的另一种选择。
答案 5 :(得分:1)
你应该看看刚刚发布的Jsi。它非常小,是javascript的子集,并且在C中(从quadwheel派生)。
答案 6 :(得分:0)
我认为他正在谈论的是:http://pdqi.com/cgi-bin/cgiwrap/pdqi/jsi.cgi/doc/tip/jsi/www/usingjsi.wiki
(不要责怪它不是......呵呵)
答案 7 :(得分:0)
http://jsish.org会将您重定向到主机站点。
答案 8 :(得分:0)
https://github.com/cesanta/v7专为嵌入式系统而设计。占地面积很小。
答案 9 :(得分:0)
你看过JerryScript吗?
答案 10 :(得分:0)
如果您完全希望可嵌入的完整Node.js运行时,那么ShadowNode可能对您有益。