TinyJSはC++で作られた小さなJavaScriptインタプリタです。

mrubyというプロジェクトに注目が集まっています。Rubyの軽量版で、組み込み系に適した実行環境です。ごく小さな実行環境は組み込み系へ適用したり、スマートフォンでも軽快に動作するなど使い道が多いと思われます。そこで紹介したいのがTinyJS、C++で作られた小さなJavaScriptインタプリタです。


インタプリタを起動しました。printを使って結果を出力できます。


trueは1として出力されています。


undefinedもきちんとあります。

TinyJSは僅か2000行程度で作られています。JavaScript/EcmaScriptに準拠する形で開発が進められています。現状はVariables、配列、ハッシュ型に対応しており、JSONのパースや出力も可能です。関数も作成できます。さらにJavaScriptからC/C++を実行できるおまけもあります。

TinyJSはC++製、MIT Licenseのオープンソース・ソフトウェアです。

MOONGIFTはこう見る

JavaScriptの他の環境に対して侵略していく力は非常に強いです。サーバはもちろん、iOS/AndroidアプリもJavaScriptで作れます。Webブラウザを使った開発が関係すると必ずJavaScriptを使う形になるので、統一する意味ではJavaScriptを使っていくのは理にかなっています(向き不向き、安定性といった問題もありますが)。

TinyJSのようなごく小さなインタプリタができるとなるとmod_jsのようなApacheモジュールや組み込み系分野においてもJavaScriptが使われるようになるかも知れません。非常に楽しみなようで恐ろしい状況になってきているようです。

tiny-js - A simple single-file javascript interpreter written in C++ - Google Project Hosting