Элк төсөл нь микроконтроллеруудад зориулсан авсаархан JavaScript хөдөлгүүрийг хөгжүүлдэг

2.0.9KB RAM, 32KB Flash бүхий ESP2 болон Arduino Nano хавтан зэрэг микроконтроллер зэрэг нөөцийн хязгаарлагдмал системд ашиглахад зориулагдсан elk 30 JavaScript хөдөлгүүрийн шинэ хувилбар гарсан. Өгөгдсөн виртуал машиныг ажиллуулахын тулд 100 байт санах ой, 20 KB санах ой хангалттай. Төслийн код нь Си хэл дээр бичигдсэн бөгөөд GPLv2 лицензийн дагуу түгээгддэг. Төслийг бүтээхэд C хөрвүүлэгч хангалттай - нэмэлт хамаарлыг ашиглахгүй. Төслийг IoT төхөөрөмжийн Mongoose OS үйлдлийн систем, mJS JavaScript хөдөлгүүр болон суулгагдсан Mongoose вэб сервер (Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung, Qualcomm зэрэг компаниудын бүтээгдэхүүнд ашигладаг) хөгжүүлэгчид боловсруулж байна. ).

Elk-ийн гол зорилго нь янз бүрийн автоматжуулалтын ажлыг гүйцэтгэдэг JavaScript дээр микроконтроллеруудад зориулсан програм хангамжийг бий болгох явдал юм. Энэ хөдөлгүүр нь C/C++ програмуудад JavaScript боловсруулагчийг суулгахад тохиромжтой. Коддоо хөдөлгүүрийг ашиглахын тулд elk.c файлыг эх модонд байрлуулж, elk.h толгой файлыг оруулаад js_eval дуудлагыг ашиглана уу. C/C++ кодонд тодорхойлсон функцуудыг JavaScript скриптүүдээс дуудахыг зөвшөөрдөг ба эсрэгээр. JavaScript код нь байт код үүсгэдэггүй, динамик санах ойн хуваарилалтыг ашигладаггүй орчуулагч ашиглан үндсэн кодоос тусгаарлагдсан хамгаалагдсан орчинд гүйцэтгэгддэг.

Elk нь Ecmascript 6-ийн тодорхойлолтын жижиг дэд багцыг хэрэгжүүлдэг боловч ажлын скрипт үүсгэхэд хангалттай. Ялангуяа энэ нь үндсэн операторууд болон төрлүүдийн багцыг дэмждэг боловч массив, прототип, энэ, шинэ, устгах илэрхийллийг дэмждэггүй. var, const-ын оронд let, харин do-ийн оронд switch, for-г ашиглахыг санал болгож байна. Стандарт номын сан байхгүй, өөрөөр хэлбэл. ийм Date, Regexp, Function, String, Number объект байхгүй.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх