يقوم مشروع Elk بتطوير محرك JavaScript مدمج لوحدات التحكم الدقيقة

يتوفر إصدار جديد من محرك JavaScript elk 2.0.9، يهدف إلى الاستخدام على الأنظمة ذات الموارد المحدودة مثل وحدات التحكم الدقيقة، بما في ذلك لوحات ESP32 وArduino Nano المزودة بذاكرة وصول عشوائي (RAM) سعة 2 كيلو بايت وفلاش بسعة 30 كيلو بايت. لتشغيل الجهاز الظاهري المتوفر، يكفي 100 بايت من الذاكرة و20 كيلو بايت من مساحة التخزين. كود المشروع مكتوب بلغة C ويتم توزيعه بموجب ترخيص GPLv2. لبناء المشروع، يكفي مترجم C - لا يتم استخدام أي تبعيات إضافية. يتم تطوير المشروع من قبل مطوري نظام التشغيل لأجهزة إنترنت الأشياء Mongoose OS ومحرك mJS JavaScript وخادم الويب Mongoose المدمج (المستخدم في منتجات شركات مثل Siemens وSchneider Electric وBroadcom وBosch وGoogle وSamsung وQualcomm). ).

الغرض الرئيسي من Elk هو إنشاء برامج ثابتة لوحدات التحكم الدقيقة في JavaScript والتي تؤدي مهام الأتمتة المختلفة. المحرك مناسب أيضًا لتضمين معالجات JavaScript في تطبيقات C/C++. لاستخدام المحرك في التعليمات البرمجية الخاصة بك، ما عليك سوى وضع ملف elk.c في الشجرة المصدر، وتضمين ملف رأس elk.h واستخدام استدعاء js_eval. يُسمح باستدعاء الوظائف المحددة في كود C/C++ من برامج JavaScript النصية، والعكس صحيح. يتم تنفيذ كود JavaScript في بيئة محمية معزولة عن الكود الرئيسي باستخدام مترجم لا يقوم بإنشاء كود ثانوي ولا يستخدم تخصيص الذاكرة الديناميكي.

تطبق Elk مجموعة فرعية صغيرة من مواصفات Ecmascript 6، ولكنها كافية لإنشاء نصوص برمجية عاملة. وعلى وجه الخصوص، فهي تدعم مجموعة أساسية من العوامل والأنواع، ولكنها لا تدعم المصفوفات أو النماذج الأولية أو التعبيرات الجديدة والحذف. يُقترح استخدام Let بدلاً من var وconst، وفي حين بدلاً من do، قم بالتبديل وfor. لم يتم توفير مكتبة قياسية، على سبيل المثال. لا توجد كائنات مثل Date وRegexp وFunction وString وNumber.

المصدر: opennet.ru

إضافة تعليق