微小的JavaScript实现?

时间:2011-03-21 23:01:10

标签: javascript c embedding

我需要一个极其微小的实现(可能是?的一个子集)Javascript。代码大小和内存使用非常重要(速度不在问题中,它可以按照自己喜欢的速度运行)。它必须用C(不是C ++)编写,ANSI C(GCC扩展也可以)。如果它在VM上运行将是最好的,因为我将不得不为它编写一个编译器。有什么建议吗?

编辑:我看到的两个回答都很好,除了:

SpiderMonkey专注于让它更快,我不在乎它是否快速。
Quad-Wheel听起来不错,除了它上面的活动,代码注释很少(如果有帮助,我将把它移植到另一个架构)。

所以,任何其他回应都会很棒。或者,我可以推出自己的简化版JS(但这听起来并不好玩)

11 个答案:

答案 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实现。

http://www.mozilla.org/js/spidermonkey/

答案 4 :(得分:2)

来自Artifex Software的

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可能对您有益。

https://github.com/Rokid/ShadowNode