ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ elk Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ JavaScript-Π΄Π²ΠΈΠΆΠΎΠΊ для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

ДоступСн Π½ΠΎΠ²Ρ‹ΠΉ выпуск JavaScript-Π΄Π²ΠΈΠΆΠΊΠ° elk 2.0.9, Π½Π°Ρ†Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° использованиС Π² систСмах с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ рСсурсами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠ»Π°Ρ‚Ρ‹ ESP32 ΠΈ Arduino Nano с 2 ΠšΠ‘ ΠžΠ—Π£ ΠΈ 30ΠšΠ‘ Flash. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ прСдоставляСмой Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ достаточно 100 Π±Π°ΠΉΡ‚ памяти ΠΈ 20 ΠšΠ‘ мСста Π½Π° Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Π‘ΠΈ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv2. Для сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° достаточно Π‘ΠΈ-компилятора — Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ зависимости Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ развиваСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы для IoT-устройств Mongoose OS, JavaScript-Π΄Π²ΠΈΠΆΠΊΠ° mJS ΠΈ встраиваСмого web-сСрвСра 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. Π’ частности, поддСрТиваСтся Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ‚ΠΈΠΏΠΎΠ², Π½ΠΎ Π½Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ массивов, ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ², Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ this, new ΠΈ delete. ВмСсто var ΠΈ const прСдлагаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ let, Π° вмСсто do, switch ΠΈ for — while. НС прСдоставляСтся стандартаная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Ρ‚.Π΅. Π½Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Date, Regexp, Function, String ΠΈ Number.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru