Hoʻokumu ka papahana elk i ka mīkini JavaScript paʻa no nā microcontrollers

Loaʻa kahi hoʻokuʻu hou o ka elk 2.0.9 JavaScript engine, i manaʻo ʻia e hoʻohana i nā ʻōnaehana i kāohi ʻia e like me nā microcontrollers, me nā papa ESP32 a me Arduino Nano me 2KB RAM a me 30KB Flash. No ka hana ʻana i ka mīkini virtual i hāʻawi ʻia, lawa ka 100 bytes o ka hoʻomanaʻo a me 20 KB o ka waiho ʻana. Ua kākau ʻia ke code papahana ma ka ʻōlelo C a hāʻawi ʻia ma lalo o ka laikini GPLv2. No ke kūkulu ʻana i ka papahana, lawa ka C compiler - ʻaʻohe mea hilinaʻi hou i hoʻohana ʻia. Ke kūkulu ʻia nei ka papahana e nā mea hoʻomohala o ka ʻōnaehana hana no nā mea IoT Mongoose OS, ka mīkini JavaScript mJS a me ka pūnaewele pūnaewele Mongoose i hoʻokomo ʻia (hoʻohana ʻia i nā huahana mai nā hui e like me Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung a me Qualcomm. ).

ʻO ke kumu nui o Elk ka hana ʻana i ka firmware no nā microcontrollers ma JavaScript e hana i nā hana automation like ʻole. He kūpono hoʻi ka ʻenekini no ka hoʻokomo ʻana i nā mea lawelawe JavaScript i nā noi C/C++. No ka hoʻohana ʻana i ka ʻenekini i kāu code, e kau wale i ka faila elk.c i ke kumu kumu, e hoʻokomo i ka faila poʻomanaʻo elk.h a hoʻohana i ke kelepona js_eval. Ua ʻae ʻia e kāhea i nā hana i wehewehe ʻia ma ka code C/C++ mai nā palapala JavaScript, a me ka hope. Hoʻokō ʻia ka code JavaScript ma kahi kaiapuni i hoʻokaʻawale ʻia mai ke code nui me ka hoʻohana ʻana i ka unuhi ʻōlelo ʻaʻole i hoʻopuka i ka bytecode a ʻaʻole hoʻohana i ka hoʻokaʻawale hoʻomanaʻo ikaika.

Hoʻokomo ʻo Elk i kahi ʻāpana liʻiliʻi o ka Ecmascript 6 kikoʻī, akā lawa no ka hana ʻana i nā palapala hana. ʻO ka mea nui, kākoʻo ia i kahi hoʻonohonoho kumu o nā mea hana a me nā ʻano, akā ʻaʻole kākoʻo i nā arrays, prototypes, a i ʻole kēia, hou, a holoi i nā ʻōlelo. Manaʻo ʻia e hoʻohana i ka let ma kahi o var a me const, a ʻoiai ma kahi o ka hana, hoʻololi a no. ʻAʻohe hale waihona puke maʻamau i hāʻawi ʻia, i.e. ʻaʻohe mea like Date, Regexp, Function, String and Number.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka