nelua.io
Nelua (تعتبر لغة برمجة أنظمة لبرمجة الحد الأدنى والفعالية والموصلية التي يمكن أن تكون مستوحاة بشكل كبير من LUA ، والتي تجمع C والرمز الأصلي.
ملاحظة: اللغة في ولاية ألفا ولا تزال تتطور.
#showcase في خادم Discord.بعد التثبيت ، قد ترغب في التحقق من المثال المميز ، وهي لعبة ثعبان تستفيد من مكتبة SDL2 الشهيرة:
nelua examples/snakesdl.neluaNelua هي لغة برمجة الأنظمة للتطبيقات الحساسة للأداء حيث لن تكون LUA فعالة ، مثل أنظمة التشغيل والتطبيقات في الوقت الفعلي ومحركات الألعاب. على الرغم من أنه يحتوي على بناء جملة ودلالات مماثلة لـ LUA ، إلا أنه يركز بشكل أساسي على توليد رمز C الفعال ويوفر الدعم للبرمجة ذات المستوى المنخفض للغاية. يجب أن يؤدي استخدام تعبيرات Nelua مثل السجلات والصفائف وإدارة الذاكرة اليدوية والمؤشرات إلى الأداء فعالًا مثل C Pure C ؛ من ناحية أخرى ، عند استخدام تعبيرات LUA مثل الجداول والميتاتات والمتغيرات غير المعقولة ، سيخبز المترجم مكتبة وقت تشغيل لهذا النوع من الوظائف الديناميكية في البرنامج ، والتي قد تتحمل بعض الوقت في وقت التشغيل.
يمكن لـ Nelua القيام برمجة META في وقت الترجمة من خلال بنيات Preprocessor المكتوبة في LUA ؛ نظرًا لأن المترجم نفسه مكتوب أيضًا في LUA ، فهذا يعني أن رمز المعالج المسبق الذي يقدمه المستخدم يمكن أن يتفاعل في أي وقت مع المحول الداخلي للمترجم و AST رمز المصدر. يسمح هذا النظام بالتنفيذ المخصص للبنيات عالية المستوى مثل الفئات والوحوم الجيرية وتعدد الأشكال ، كل ذلك دون الحاجة إلى إضافتها إلى المواصفات الأساسية ، وبالتالي الحفاظ على اللغة بسيطة وقابلة للتمديد ومدمجة. بنفس الطريقة التي لا يتم بها دمج أنماط Lua الموجهة نحو الكائنات في اللغة ، ولكن يمكن تحقيقها على الرغم من ذلك من خلال Metatables ، في Nelua ، يمكنك تنفيذ وظيفة مماثلة يتم تحديدها بالكامل في وقت الترجمة أو إرسالها ديناميكيًا في وقت التشغيل.
يمكن لـ Nelua القيام ببرمجة قابلة للتمديد حيث قد يضيف المبرمج ملحقات إلى اللغة مثل القواعد الجديدة ، وتعريفات AST ، والدلالات ، والفحص المدقق ، وتوليد الكود والسلوكيات إلى المترجم في وقت الترجمة عبر المعالج المسبق.
يوفر Nelua الدعم لكل من إدارة الذاكرة اليدوية التي تم جمعها في القمامة بطريقة يمكن للمطور الاختيار بسهولة بين استخدام جمع القمامة ، أو تعطيل جمع القمامة تمامًا ، أو خلط كليهما.
يقوم Nelua أولاً بتجميع C ، ثم يقوم بتنفيذ برنامج التحويل البرمجي C لإنتاج التعليمات البرمجية الأصلية. وبهذه الطريقة ، يمكن الاستفادة من رمز C والمكتبات الحالية ويمكن إنشاء مكتبات C الجديدة. فائدة أخرى هي أن Nelua يمكن أن تصل إلى نفس المنصات المستهدفة مثل مجمعي C99 ، مثل DCC أو Clang ، مع الاستمتاع أيضًا بالتحسينات الحديثة التي توفرها لهم.
كان الدافع الأولي لإنشاءه هو استبدال أجزاء C/C ++ من المشاريع التي تستخدم LUA حاليًا باللغة التي تحتوي على بناء جملة ودلالات مماثلة ل LUA ، ولكنها تسمح بتحسينات الأداء الدقيقة ولا تفقد القدرة على الانتقال إلى مستوى منخفض ، وبالتالي توحيد بناء الجملة والدلالات عبر كلا اللغات المتجددة والديناميكية.
يمكنك دعم أو المساهمة في Nelua بعدة طرق ، وإعطاء المشروع نجمًا على Github ، واختبار ميزاته ، والإبلاغ عن الأخطاء ، أو مناقشة الأفكار ، أو مساعدة المستخدمين الآخرين ، ونشرها في العالم ، ومشاركة المشاريع التي تم إجراؤها على GitHub ، أو إنشاء دروس أو منشورات مدونة ، أو تحسين توثيقها أو من خلال التبرع أو الرعاية.
Nelua مفتوح المصدر ، ولكنه ليس مفتوحًا جدًا للمساهمات في شكل طلبات سحب ، إذا كنت ترغب في إصلاح شيء أو تنفيذه باللغة الأساسية ، حاول أولاً إرسال تقرير الأخطاء أو فتح مناقشة بدلاً من القيام بالعلاقات العامة. يفضل المؤلفون ذلك بهذه الطريقة ، بحيث يتم دائمًا توفير الحل المثالي ، دون عواقب غير مرغوب فيها على المشروع ، وبالتالي الحفاظ على جودة البرنامج.
اقرأ المزيد عن المساهمة في الصفحة المساهمة.
رخصة معهد ماساتشوستس للتكنولوجيا