Die elk-projek ontwikkel 'n kompakte JavaScript-enjin vir mikrobeheerders

'n Nuwe vrystelling van die elk 2.0.9 JavaScript-enjin is beskikbaar, gemik op gebruik op hulpbronbeperkte stelsels soos mikrobeheerders, insluitend ESP32 en Arduino Nano-borde met 2KB RAM en 30KB Flash. Om die verskafde virtuele masjien te bedryf, is 100 grepe geheue en 20 KB stoorspasie voldoende. Die projekkode is in C-taal geskryf en onder die GPLv2-lisensie versprei. Om die projek te bou, is 'n C samesteller genoeg - geen bykomende afhanklikhede word gebruik nie. Die projek word ontwikkel deur die ontwikkelaars van die bedryfstelsel vir IoT-toestelle Mongoose OS, die mJS JavaScript-enjin en die ingebedde Mongoose-webbediener (gebruik in produkte van maatskappye soos Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung en Qualcomm ).

Die hoofdoel van Elk is om firmware vir mikrobeheerders in JavaScript te skep wat verskeie outomatiseringstake verrig. Die enjin is ook geskik om JavaScript-hanteerders in C/C++-toepassings in te sluit. Om die enjin in jou kode te gebruik, plaas net die elk.c-lΓͺer in die bronboom, sluit die elk.h-koplΓͺer in en gebruik die js_eval-oproep. Dit word toegelaat om funksies te roep wat in C/C++-kode gedefinieer is vanaf JavaScript-skrifte, en omgekeerd. JavaScript-kode word uitgevoer in 'n beskermde omgewing wat van die hoofkode geΓ―soleer is met behulp van 'n tolk wat nie greepkode genereer nie en nie dinamiese geheuetoewysing gebruik nie.

Elk implementeer 'n klein subset van die Ecmascript 6-spesifikasie, maar voldoende om werkende skrifte te skep. Dit ondersteun veral 'n basiese stel operateurs en tipes, maar ondersteun nie skikkings, prototipes, hierdie, nuwe en verwyder uitdrukkings nie. Daar word voorgestel om laat in plaas van var en const te gebruik, en terwyl in plaas van doen, skakel en vir. Geen standaardbiblioteek verskaf nie, m.a.w. daar is nie sulke Date-, Regexp-, Function-, String- en Number-objekte nie.

Bron: opennet.ru

Voeg 'n opmerking