La elk-projekto evoluigas kompaktan JavaScript-motoron por mikroregiloj

Nova eldono de la elk 2.0.9 JavaScript-motoro estas havebla, celita al uzo sur rimed-limigitaj sistemoj kiel ekzemple mikroregiloj, inkluzive de ESP32 kaj Arduino Nano-tabuloj kun 2KB RAM kaj 30KB Flash. Por funkciigi la provizitan virtualan maŝinon sufiĉas 100 bajtoj da memoro kaj 20 KB da konserva spaco. La projektkodo estas skribita en C kaj estas distribuita sub la permesilo GPLv2. Por konstrui la projekton sufiĉas C-kompilo - ne estas uzataj aldonaj dependecoj. La projekto estas disvolvita de la programistoj de la operaciumo por IoT-aparatoj Mongoose OS, la mJS JavaScript-motoro kaj la enigita retservilo Mongoose (uzita en produktoj de kompanioj kiel Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung kaj Qualcomm). ).

La ĉefa celo de Elk estas krei firmware por mikroregiloj en JavaScript, kiuj plenumas diversajn aŭtomatigajn taskojn. La motoro ankaŭ taŭgas por enkonstrui JavaScript-prizorgilojn en C/C++-aplikojn. Por uzi la motoron en via kodo, simple metu la elk.c-dosieron en la fontarbon, inkluzivu la elk.h-kapodosieron kaj uzu la alvokon js_eval. Estas permesite voki funkciojn difinitajn en C/C++-kodo el JavaScript-skriptoj, kaj inverse. JavaScript-kodo estas ekzekutita en protektita medio izolita de la ĉefkodo uzante interpretiston kiu ne generas bajtokodon kaj ne uzas dinamikan memorasignon.

Elk efektivigas malgrandan subaron de la specifo Ecmascript 6, sed sufiĉa por krei laborajn skriptojn.Aparte, ĝi subtenas bazan aron de operatoroj kaj tipoj, sed ne subtenas tabelojn, prototipojn, ĉi, novajn kaj forviŝi esprimojn. Oni proponas uzi let anstataŭ var kaj const, kaj dum anstataŭ do, ŝanĝi kaj por. Neniu norma biblioteko disponigita, t.e. ne ekzistas tiaj objektoj Dato, Regexp, Funkcio, Ŝnuro kaj Nombro.

fonto: opennet.ru

Aldoni komenton