It elk-projekt ûntwikkelet in kompakte JavaScript-motor foar mikrocontrollers

In nije release fan 'e elk 2.0.9 JavaScript-motor is beskikber, rjochte op gebrûk op boarne-beheinde systemen lykas mikrocontrollers, ynklusyf ESP32 en Arduino Nano-boards mei 2KB RAM en 30KB Flash. Om de levere firtuele masine te betsjinjen, binne 100 bytes ûnthâld en 20 KB oan opslachromte genôch. De projektkoade is skreaun yn C-taal en ferspraat ûnder de GPLv2-lisinsje. Om it projekt te bouwen is in C-kompiler genôch - gjin ekstra ôfhinklikens wurde brûkt. It projekt wurdt ûntwikkele troch de ûntwikkelders fan it bestjoeringssysteem foar IoT-apparaten Mongoose OS, de mJS JavaScript-motor en de ynbêde Mongoose-webserver (brûkt yn produkten fan bedriuwen lykas Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung en Qualcomm ).

It haaddoel fan Elk is om firmware te meitsjen foar mikrocontrollers yn JavaScript dy't ferskate automatisearringstaken útfiere. De motor is ek geskikt foar it ynbêdzjen fan JavaSkript-handlers yn C/C++-applikaasjes. Om de motor yn jo koade te brûken, pleats it elk.c-bestân gewoan yn 'e boarnebeam, befetsje de elk.h-koptekstbestân en brûk de js_eval-oprop. It is tastien om te neamen funksjes definiearre yn C / C ++ koade út JavaScript skripts, en oarsom. JavaScript-koade wurdt útfierd yn in beskerme omjouwing isolearre fan 'e haadkoade mei in tolk dy't gjin bytekoade generearret en gjin dynamyske ûnthâldtawizing brûkt.

Elk ymplemintearret in lytse subset fan de spesifikaasje fan Ecmascript 6, mar genôch foar it meitsjen fan wurkjende skripts. Benammen it stipet in basis set fan operators en typen, mar stipet gjin arrays, prototypes, dit, nij en wiskje útdrukkingen. It wurdt foarsteld om te brûken lit ynstee fan var en const, en wylst ynstee fan dwaan, switch en foar. Gjin standert bibleteek foarsjoen, i.e. der binne gjin sokke Date, Regexp, Funksje, String en Number objekten.

Boarne: opennet.ru

Add a comment