Elk նախագիծը մշակում է կոմպակտ JavaScript շարժիչ միկրոկառավարիչների համար

Հասանելի է elk 2.0.9 JavaScript շարժիչի նոր թողարկումը, որն ուղղված է օգտագործելու ռեսուրսներով սահմանափակ համակարգերում, ինչպիսիք են միկրոկոնտրոլերները, ներառյալ ESP32 և Arduino Nano տախտակները 2KB RAM և 30KB Flash: Տրամադրված վիրտուալ մեքենան գործարկելու համար բավարար է 100 բայթ հիշողություն և 20 ԿԲ պահեստային տարածք: Ծրագրի կոդը գրված է C լեզվով և տարածվում է GPLv2 լիցենզիայի ներքո: Նախագիծը կառուցելու համար բավական է C կոմպիլյատորը. լրացուցիչ կախվածություններ չեն օգտագործվում: Նախագիծը մշակվում է IoT սարքերի օպերացիոն համակարգի մշակողների կողմից՝ Mongoose OS, mJS JavaScript շարժիչը և ներկառուցված Mongoose վեբ սերվերը (օգտագործվում են այնպիսի ընկերությունների արտադրանքներում, ինչպիսիք են Siemens-ը, Schneider Electric-ը, Broadcom-ը, Bosch-ը, Google-ը, Samsung-ը և Qualcomm-ը): )

Elk-ի հիմնական նպատակը JavaScript-ում միկրոկառավարիչների համար որոնվածի ստեղծումն է, որոնք կատարում են տարբեր ավտոմատացման առաջադրանքներ: Շարժիչը հարմար է նաև JavaScript մշակիչներ C/C++ հավելվածներում ներկառուցելու համար: Շարժիչը ձեր կոդի մեջ օգտագործելու համար պարզապես տեղադրեք elk.c ֆայլը սկզբնաղբյուր ծառի մեջ, ներառեք elk.h վերնագրի ֆայլը և օգտագործեք js_eval զանգը: Թույլատրվում է JavaScript սկրիպտներից կանչել C/C++ կոդով սահմանված գործառույթները և հակառակը։ JavaScript կոդը կատարվում է պաշտպանված միջավայրում, որը մեկուսացված է հիմնական կոդից, օգտագործելով թարգմանիչ, որը չի ստեղծում բայթկոդ և չի օգտագործում դինամիկ հիշողության բաշխում:

Elk-ն իրականացնում է Ecmascript 6 հստակեցման փոքր ենթաբազմություն, բայց բավարար աշխատանքային սկրիպտներ ստեղծելու համար: Մասնավորապես, այն աջակցում է օպերատորների և տեսակների հիմնական շարքին, բայց չի աջակցում զանգվածներ, նախատիպեր, այս, նոր և ջնջված արտահայտություններ: Առաջարկվում է var-ի և const-ի փոխարեն օգտագործել let, իսկ do-ի փոխարեն՝ switch և for: Չի տրամադրվում ստանդարտ գրադարան, այսինքն. այդպիսի Date, Regexp, Function, String և Number օբյեկտներ չկան:

Source: opennet.ru

Добавить комментарий