Den Elk Projet entwéckelt e kompakt JavaScript-Motor fir Mikrokontroller

Eng nei Verëffentlechung vum Elk 2.0.9 JavaScript-Motor ass verfügbar, zielt op d'Benotzung op Ressource-begrenzte Systemer wéi Mikrokontroller, dorënner ESP32 an Arduino Nano Boards mat 2KB RAM an 30KB Flash. Fir déi geliwwert virtuell Maschinn ze bedreiwen, sinn 100 Bytes Erënnerung an 20 KB Späicherplatz genuch. De Projet Code ass an C Sprooch geschriwwen an ënner der GPLv2 Lizenz verdeelt. Fir de Projet ze bauen ass e C Compiler genuch - keng zousätzlech Ofhängegkeete gi benotzt. De Projet gëtt vun den Entwéckler vum Betribssystem fir IoT-Geräter Mongoose OS, dem mJS JavaScript-Motor an dem embedded Mongoose Webserver entwéckelt (benotzt a Produkter vu Firmen wéi Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung a Qualcomm ).

Den Haaptzweck vum Elk ass Firmware fir Mikrokontroller a JavaScript ze kreéieren déi verschidde Automatiséierungsaufgaben ausféieren. De Motor ass och gëeegent fir JavaScript Handler an C / C ++ Uwendungen z'integréieren. Fir de Motor an Ärem Code ze benotzen, plazéiert just d'elk.c Datei am Quellbaum, enthält d'elk.h Header Datei a benotzt den js_eval Uruff. Et ass erlaabt Funktiounen ze ruffen definéiert am C / C ++ Code vu JavaScript Scripten, a vice versa. JavaScript Code gëtt an engem geschützte Ëmfeld ausgefouert isoléiert vum Haaptcode mat engem Dolmetscher deen kee Bytecode generéiert an net dynamesch Erënnerungsallokatioun benotzt.

Elk implementéiert e klengen Ënnerdeel vun der Ecmascript 6 Spezifizéierung, awer genuch fir schafft Scripten ze kreéieren. Besonnesch ënnerstëtzt se eng Basisset vu Betreiber an Typen, awer ënnerstëtzt net Arrays, Prototypen, dëst, nei a läschen Ausdréck. Et gëtt proposéiert lass ze benotzen amplaz var an const, an iwwerdeems amplaz do, schalt a fir. Keng Standardbibliothéik zur Verfügung gestallt, d.h. et gi keng sou Datum, Regexp, Funktioun, String an Zuel Objeten.

Source: opennet.ru

Setzt e Commentaire