نسخه جدیدی از موتور جاوا اسکریپت elk 2.0.9 در دسترس است که با هدف استفاده در سیستمهای محدود به منابع مانند میکروکنترلرها از جمله بردهای ESP32 و آردوینو نانو با رم 2 کیلوبایت و فلش 30 کیلوبایتی انجام میشود. برای راه اندازی ماشین مجازی ارائه شده، 100 بایت حافظه و 20 کیلوبایت فضای ذخیره سازی کافی است. کد پروژه به زبان C نوشته شده و تحت مجوز GPLv2 توزیع شده است. برای ساخت پروژه، یک کامپایلر C کافی است - هیچ وابستگی اضافی استفاده نمی شود. این پروژه توسط توسعه دهندگان سیستم عامل دستگاه های اینترنت اشیا Mongoose OS، موتور جاوا اسکریپت mJS و وب سرور جاسازی شده Mongoose (مورد استفاده در محصولات شرکت هایی مانند زیمنس، اشنایدر الکتریک، برادکام، بوش، گوگل، سامسونگ و کوالکام) در حال توسعه است. ).
هدف اصلی Elk ایجاد سیستم عامل برای میکروکنترلرها در جاوا اسکریپت است که وظایف مختلف اتوماسیون را انجام می دهند. این موتور همچنین برای جاسازی گرداننده های جاوا اسکریپت در برنامه های C/C++ مناسب است. برای استفاده از موتور در کد خود، فقط فایل elk.c را در درخت منبع قرار دهید، فایل هدر elk.h را وارد کنید و از فراخوانی js_eval استفاده کنید. فراخوانی توابع تعریف شده در کد C/C++ از اسکریپت های جاوا اسکریپت مجاز است و بالعکس. کد جاوا اسکریپت در یک محیط محافظت شده جدا شده از کد اصلی با استفاده از مفسری که بایت کد تولید نمی کند و از تخصیص حافظه پویا استفاده نمی کند، اجرا می شود.
Elk زیرمجموعه کوچکی از مشخصات Ecmascript 6 را پیادهسازی میکند، اما برای ایجاد اسکریپتهای کاری کافی است. بهویژه، از یک مجموعه اولیه از عملگرها و انواع پشتیبانی میکند، اما از آرایهها، نمونههای اولیه، این، عبارتهای جدید و حذف پشتیبانی نمیکند. پیشنهاد شده است به جای var و const از let و به جای do از سویچ و for استفاده شود. هیچ کتابخانه استانداردی ارائه نشده است. چنین اشیایی Date، Regexp، Function، String و Number وجود ندارد.
منبع: opennet.ru