Elk プロジェクトはマイクロコントローラー用のコンパクトな JavaScript エンジンを開発します

elk 2.0.9 JavaScript エンジンの新しいリリースが利用可能になりました。これは、32KB RAM と 2KB フラッシュを搭載した ESP30 および Arduino Nano ボードを含む、マイクロコントローラーなどのリソースに制約のあるシステムでの使用を目的としています。 提供された仮想マシンを動作させるには、100 バイトのメモリと 20 KB のストレージ容量があれば十分です。 プロジェクト コードは C で書かれており、GPLv2 ライセンスに基づいて配布されます。 プロジェクトをビルドするには、C コンパイラーで十分です。追加の依存関係は使用されません。 このプロジェクトは、IoT デバイス用オペレーティング システム Mongoose OS、mJS JavaScript エンジン、組み込み Mongoose Web サーバー (Siemens、Schneider Electric、Broadcom、Bosch、Google、Samsung、Qualcomm などの企業の製品で使用されている) の開発者によって開発されています。 )。

Elk の主な目的は、さまざまな自動化タスクを実行するマイクロコントローラー用のファームウェアを JavaScript で作成することです。 このエンジンは、JavaScript ハンドラーを C/C++ アプリケーションに埋め込むのにも適しています。 コードでエンジンを使用するには、elk.c ファイルをソース ツリーに配置し、elk.h ヘッダー ファイルをインクルードし、js_eval 呼び出しを使用するだけです。 C/C++ コードで定義された関数を JavaScript スクリプトから呼び出すことができ、その逆も可能です。 JavaScript コードは、バイトコードを生成せず、動的メモリ割り当てを使用しないインタープリターを使用して、メイン コードから分離された保護された環境で実行されます。

Elk は Ecmascript 6 仕様の小さなサブセットを実装していますが、作業スクリプトの作成には十分です。特に、演算子と型の基本セットはサポートされていますが、配列、プロトタイプ、this、new、および delete 式はサポートされていません。 var と const の代わりに let を使用し、do の代わりに switch と for を使用することが提案されています。 標準ライブラリは提供されていません。つまり、 そのような Date、Regexp、Function、String、および Number オブジェクトはありません。

出所: オープンネット.ru

コメントを追加します