Projek elk membangunkan enjin JavaScript padat untuk mikropengawal

Keluaran baharu enjin JavaScript elk 2.0.9 tersedia, bertujuan untuk digunakan pada sistem terhad sumber seperti mikropengawal, termasuk papan ESP32 dan Arduino Nano dengan 2KB RAM dan 30KB Flash. Untuk mengendalikan mesin maya yang disediakan, 100 bait memori dan 20 KB ruang storan adalah mencukupi. Kod projek ditulis dalam bahasa C dan diedarkan di bawah lesen GPLv2. Untuk membina projek, pengkompil C sudah cukup - tiada kebergantungan tambahan digunakan. Projek ini sedang dibangunkan oleh pembangun sistem pengendalian untuk peranti IoT Mongoose OS, enjin JavaScript mJS dan pelayan web Mongoose terbenam (digunakan dalam produk daripada syarikat seperti Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung dan Qualcomm ).

Tujuan utama Elk adalah untuk mencipta perisian tegar untuk mikropengawal dalam JavaScript yang melaksanakan pelbagai tugas automasi. Enjin ini juga sesuai untuk membenamkan pengendali JavaScript ke dalam aplikasi C/C++. Untuk menggunakan enjin dalam kod anda, cuma letakkan fail elk.c dalam pepohon sumber, sertakan fail pengepala elk.h dan gunakan panggilan js_eval. Ia dibenarkan untuk memanggil fungsi yang ditakrifkan dalam kod C/C++ daripada skrip JavaScript, dan sebaliknya. Kod JavaScript dilaksanakan dalam persekitaran yang dilindungi yang diasingkan daripada kod utama menggunakan penterjemah yang tidak menjana bytecode dan tidak menggunakan peruntukan memori dinamik.

Elk melaksanakan subset kecil spesifikasi Ecmascript 6, tetapi mencukupi untuk membuat skrip berfungsi. Khususnya, ia menyokong set asas pengendali dan jenis, tetapi tidak menyokong tatasusunan, prototaip, ini, baharu dan padam ungkapan. Adalah dicadangkan untuk menggunakan let dan bukannya var dan const, dan sementara bukannya lakukan, suis dan untuk. Tiada perpustakaan standard disediakan, i.e. tiada objek Date, Regexp, Function, String dan Number.

Sumber: opennet.ru

Tambah komen