ورشة عمل اللغة

بيئة تطوير اللغة [ 1 ] [ 2 ] هي أداة أو مجموعة أدوات تُمكّن من تطوير البرمجيات وفقًا لنموذج البرمجة الموجهة باللغة [ 2 ] . تتضمن بيئة تطوير اللغة عادةً أدوات لدعم تعريف وإعادة استخدام وتكوين لغات خاصة بمجال معين، بالإضافة إلى بيئة التطوير المتكاملة الخاصة بها . وقد قدّم مارتن فاولر بيئات تطوير اللغة ونشرها على نطاق واسع في عام 2005.

تدعم بيئات تطوير اللغات عادةً ما يلي: [ 1 ]

أمثلة

  • Racket هي بيئة تطوير لغات متعددة المنصات تتضمن مُصرّفًا، ومُصرّفًا فوريًا، وبيئة تطوير متكاملة، وأدوات سطر أوامر، مصممة لتسهيل إنشاء لغات خاصة بمجال معين ، ولغات جديدة كليًا، مع إمكانية إضافة رموز جديدة، وتقييد البنى، وإنشاء أدوات بيئة تطوير متكاملة. [ 3 ] [ 4 ] [ 5 ]
  • JetBrains MPS هي أداة لتصميم لغات برمجة خاصة بمجالات محددة. تستخدم هذه الأداة التحرير الإسقاطي الذي يسمح بتجاوز قيود محللات اللغة، وبناء محررات لغات البرمجة الخاصة بالمجالات، مثل تلك التي تحتوي على جداول ومخططات. وهي تُطبّق البرمجة الموجهة نحو اللغة. تجمع MPS بين بيئة لتعريف اللغة، ومنصة عمل للغة، وبيئة تطوير متكاملة (IDE) لهذه اللغات. [ 6 ]
  • كيرميتا هي بيئة عمل لغوية أكاديمية مفتوحة المصدر. تستخدم بيئة عمل كيرميتا ثلاث لغات وصفية مختلفة: لغة وصفية للبنية المجردة (متوافقة مع Emof )؛ ولغة وصفية للدلالات الثابتة (متوافقة مع OCL )؛ ولغة وصفية للدلالات السلوكية (تُسمى لغة كيرميتا نفسها). [ 7 ]
  • ميلانج عبارة عن بيئة عمل لغوية توفر نهجًا معياريًا لتخصيص وتجميع ودمج مواصفات وتطبيقات لغات خاصة بمجالات متعددة. [ 8 ]
  • Spoofax [ 9 ] هو بيئة عمل لغوية مفتوحة المصدر لإنشاء محللات نحوية، ومدققات أنواع، ومترجمات، ومفسرات، بالإضافة إلى إضافات IDE لبيئتي Eclipse و IntelliJ [ 10 ] . يستخدم SDF ومحلل GLR بدون ماسح ضوئي للصياغة، وصيغًا مشتقة من Stratego/XT للدلالات.
  • Xtext هو إطار عمل برمجي مفتوح المصدر لتطوير لغات البرمجة ولغات المجال المتخصصة (DSLs). على عكس مولدات المحللات القياسية، لا يُولّد Xtext محللاً فحسب، بل يُولّد أيضًا نموذجًا فئويًا لشجرة بناء الجملة المجردة. بالإضافة إلى ذلك، يوفر بيئة تطوير متكاملة (IDE) كاملة الميزات وقابلة للتخصيص تعتمد على Eclipse. [ 11 ]
  • Meeduse [ 12 ] هو إطار عمل قائم على EMF يسمح ببناء لغات برمجة خاصة بالمجال قابلة للتنفيذ (xDSLs) وإثباتها وتحريكها باستخدام طريقة B. تتضمن الأداة ProB، وهي أداة تحريك وأداة فحص نماذج لطريقة B. [ 13 ]

انظر أيضاً

مراجع

  1. 1 2 فاولر، مارتن. "LanguageWorkbench" . تم الاسترجاع في 14 أبريل 2015 .
  2. 1 2 فاولر، مارتن (12 يونيو 2005). "بيئات عمل اللغات: التطبيق الأمثل للغات المتخصصة؟" . تم الاطلاع عليه بتاريخ 14 أبريل 2015 .
  3. فيلتي، دانيال؛ فلورنس، سبنسر ب.؛ كنوتسون، تيم؛ سانت أمور، فنسنت؛ كولبيبر، رايان؛ فلات، ماثيو؛ فيندلر، روبرت بروس؛ فيليسين، ماتياس (2016). "اللغات بطريقة المراهنات" (ملف PDF) . تحدي ورشة عمل اللغة 2016 (65) . تم الاطلاع عليه بتاريخ 9 يونيو 2019 .
  4. توبين-هوششتات، س.؛ سانت-أمور، ف.؛ كولبيبر، ر.؛ فلات، م.؛ فيليسين، م. (2011). "اللغات كمكتبات" (ملف PDF) . تصميم وتنفيذ لغات البرمجة .
  5. فلات، ماثيو (2012). "ابتكار لغات في راكيت" . اتصالات رابطة آلات الحوسبة . تم الاسترجاع في 8 أبريل 2012 .
  6. "JetBrains MPS: منشئ لغة خاصة بالمجال" .
  7. جيزيكيل، جان مارك؛ كومبيمال، بينوا؛ باريه، أوليفييه؛ مونبيروس، مارتن؛ فوكيه، فرانسوا (2015). "دمج اللغات الوصفية وتطبيقه في بيئة عمل لغة كيرميتا". نمذجة البرمجيات والأنظمة . 14 (2): 905-920 . arXiv : 1306.0760 . doi : 10.1007/s10270-013-0354-4 .
  8. "ميلانج" .
  9. "منصة عمل لغة سبوفاكس" .
  10. كاتس، لينارت سي إل؛ فيسر، إيلكو (2010). "بيئة عمل لغة Spoofax: قواعد للمواصفات التصريحية للغات وبيئات التطوير المتكاملة." وقائع المؤتمر السنوي الخامس والعشرين لجمعية ACM SIGPLAN حول البرمجة الكائنية والأنظمة واللغات والتطبيقات، OOPSLA 2010. doi : 10.1145 /1869459.1869497 .
  11. "Xtext" .
  12. إيداني، أكرم؛ ليدرو، إيف؛ فيغا، جيرمان (ديسمبر 2020). "تحالف هندسة النماذج مع منهج رسمي قائم على البرهان" . الابتكارات في هندسة النظم والبرمجيات (ISSE)، مجلة ناسا . 6 (3): 289-307 . doi : 10.1007/s11334-020-00366-3 .
  13. "Meeduse" .