web-dev-qa-db-ja.com

小さなJavaScriptの実装?

Javascript(おそらくサブセット?)の非常に小さな実装が必要です。コードサイズとメモリ使用量は非常に重要です(速度は問題ではありません。好きなだけ遅く実行できます)。それはC(C++ではなく)で書かれている必要があり、それもANSI C(GCC拡張機能は問題ありません)です。 VMで実行する場合は、コンパイラを作成する必要があるため、最適です。何か提案はありますか?

編集:私が持っている両方の応答は、以下を除いて、良いようです:

SpiderMonkeyは高速化に重点を置いていますが、高速であるかどうかはまったく気にしません。
Quad-Wheelは、アクティビティを除いて良さそうです。コードコメントはほとんどありません(それが役立つ場合は、これを別のアーキテクチャに移植します)。

だから、他の応答は素晴らしいでしょう。または、JSの独自の簡略化バージョンをロールアウトすることもできます(ただし、それはまったく面白くありません)

34
Dhaivat Pandya

Duktapeは、移植性とコンパクトなフットプリントに重点を置いてCで記述されています: http://duktape.org/

23
Samuli Pahaoja

このRubyを発見しました: https://github.com/gfwilliams/tiny-js

Spidermonkey/v8は通常かなり大きく、いくつかの依存関係があるため、私はこれをかなり長い間探していました。 Tiny-jsは、移植可能な「makeを実行して完了」-linuxc-classです。単純なバインディングのみを探していて、lua /その他の素晴らしいスクリプト言語よりもjavascript/c-syntaxを好む場合に最適です。

14

ECMA-262用のANSI-Cエンジン: http://code.google.com/p/quad-wheel/

Mozilla SpiderMonkey Cでも書かれていますが、おそらくあなたにとって複雑で大きなものですか?

4
Björn

SpiderMonkeyは、MozillaのJavaScriptのC実装です。

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

2
Robert Harvey

muJS Artifex Softwareは、組み込みJS/ES実装の別のオプションである可能性があります。

2
CyberFonic

リリースされたばかりのJsiを見てください。これは非常に小さく、javascriptのサブセットであり、C(quadwheelから派生)です。

1
pcmacdon

http://jsish.org は、ホストサイトにリダイレクトします。

0
Peter MacDonald

埋め込み可能で完全なNode.jsランタイムを完全に期待している場合は、ShadowNodeが適している可能性があります。

https://github.com/Rokid/ShadowNode

0
Yorkie

JerryScript を見たことがありますか?

0
user835611

彼が話しているjsiはこれだと思います: http://pdqi.com/cgi-bin/cgiwrap/pdqi/jsi.cgi/doc/tip/jsi/www/usingjsi.wiki

(それがそうではないことを非難しないでください... hehe)

0
Alfgaar

https://github.com/cesanta/v7 は組み込みシステム向けに設計されています。フットプリントが非常に小さい。

0
valenok