JetBrains MPS

نظام برمجة ما وراء اللغة ( MPS) من JetBrains هو بيئة عمل لغوية طورتها شركة JetBrains . يُعد MPS أداةً لتصميم لغات خاصة بمجالات محددة (DSL). يستخدم النظام التحرير الإسقاطي الذي يُمكّن المستخدمين من تجاوز قيود محللات اللغة، وإنشاء محررات DSL، مثل تلك التي تتضمن جداول ومخططات. [ 3 ] يدعم MPS البرمجة الموجهة نحو اللغة . يوفر MPS بيئة لتعريف اللغة، وبيئة عمل لغوية ، وبيئة تطوير متكاملة (IDE) لهذه اللغات. [ 4 ] [ 5 ] [ 6 ]

اللغات القابلة للتركيب

على الرغم من أن امتدادات اللغة الخاصة بمجال معين قد تكون مفيدة في لغات البرمجة العامة، إلا أن طبيعتها النصية تعني أن إضافة هذه الامتدادات قد تؤدي إلى غموض في بناء الجملة النصي. يتجنب نظام MPS هذا الغموض النحوي من خلال التعامل المباشر مع شجرة بناء الجملة المجردة . ولتحرير هذه الشجرة، يُستخدم محرر إسقاطي شبيه بالنص.

نظرًا لأن MPS يستخدم شجرة بناء الجملة المجردة مباشرةً، فإنه يدعم تعريفات اللغات القابلة للتركيب. وهذا يعني أنه يمكن توسيع اللغات وتضمينها، ويمكن استخدام هذه الامتدادات في البرنامج نفسه في MPS دون حدوث تعارض. [ 7 ] [ 8 ]

بنية لغوية قابلة لإعادة الاستخدام

توفر MPS بنية لغوية قابلة لإعادة الاستخدام، مُهيأة بلغات تعريف اللغة. كما توفر MPS العديد من خدمات بيئة التطوير المتكاملة (IDE) تلقائيًا، مثل: المحرر، وإكمال التعليمات البرمجية ، والبحث عن الاستخدامات، وغيرها.

اللغات الموجودة

  • اللغة الأساسية - تمت إعادة تنفيذ 99% من لغة جافا باستخدام MPS. وهناك العديد من امتدادات هذه اللغة.
    • لغة المجموعات
    • لغة التواريخ
    • لغة الإغلاق
    • لغة التعبيرات النمطية
  • لغات تعريف اللغة - يتم تنفيذ هذه اللغات باستخدام نفسها، أي يتم تشغيلها تلقائيًا

تطبيقات MPS

مبيدر

mbeddr هو نظام تطوير مضمن يعتمد على MPS. يحتوي على لغات مصممة خصيصًا للتطوير المضمن وأساليب رسمية : [ 9 ]

  • لغة البرمجة الأساسية C
  • عناصر
  • الوحدات الفيزيائية
  • آلات الحالة

YouTrack

في أكتوبر 2009، أصدرت شركة JetBrains نظام تتبع الأخطاء YouTrack - وهو أول منتج برمجي تجاري تم تطويره باستخدام MPS. [ 10 ]

محرر Realaxy

في أبريل 2010، تم إصدار النسخة التجريبية من Realaxy ActionScript Editor ، وهي أول بيئة تطوير متكاملة تجارية تعتمد على منصة MPS.

PEoPL

PEoPL هي أداة لهندسة خط إنتاج البرمجيات يتم تنفيذها في MPS. [ 11 ]

إطار تصميم التلعيب (GDF)

GDF هو إطار عمل لتصميم ونشر تطبيقات الألعاب. يتكون GDF من لغات خاصة بالمجال تسمح بتحسين تعريفات التطبيق تدريجيًا، بدءًا من مستويات التجريد العليا وصولًا إلى كود التنفيذ الذي سيتم تشغيله على محرك التلعيب. [ 12 ]

وفقًا لدراسة حالة GDF من Jetbrains، [ 13 ] تم اختيار MPS لثلاثة أسباب رئيسية: الحاجة إلى توفير لغات برمجة خاصة بالمجال تعتمد على النصوص، وتوافر آليات توسيع اللغة التي تنقل إدارة الاتساق بين طبقات التجريد، وتوفير مولدات لاشتقاق رمز التنفيذ تلقائيًا.

الترخيص

تم إصدار شفرة المصدر الخاصة بـ MPS بموجب ترخيص أباتشي .

انظر أيضاً

مراجع

  1. رابط المرجع: https://blog.jetbrains.com/mps/2022/11/mps-2022-2-is-now-available/
  2. رابط المرجع: https://confluence.jetbrains.com/display/MPSD20183/FAQ#FAQ-HowisMPSlicensed ، تاريخ الوصول: 19 فبراير 2019
  3. "ما هي خدمة إدارة البرامج (MPS)؟" . صمم لغات البرمجة الخاصة بك (DSLs)
  4. مارتن فاولر. "منصات عمل اللغات: التطبيق الأمثل للغات الخاصة بالمجال؟" .
  5. مارتن فاولر. "البرمجيات المقصودة" .
  6. فابيان كامبان (2014). "منصة عمل لغة MPS: المجلد الأول". تم الاسترجاع في 2014-04-05 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  7. سريني بينشيكالا. "يدعم نظام برمجة JetBrains Meta البرمجة الموجهة للغة وDSLs" .
  8. "البرمجة الموجهة نحو اللغة: نموذج البرمجة التالي" . مؤرشف من الأصل بتاريخ 30-01-2010.
  9. "الموقع الرسمي لـ mbeddr" . 9 يونيو 2010.
  10. تشارلز همبل (2009-10-15). "تطوير جافا دون تغيير اللغة" .
  11. "PEoPL | التحرير الإسقاطي لخطوط الإنتاج" . peopl.de . تم الاطلاع عليه بتاريخ 19-06-2017 .
  12. بوتشياروني، أنطونيو؛ تشيكيتي، أنطونيو؛ ماركوني، أناباولا (سبتمبر 2019). "استغلال النمذجة متعددة المستويات لتصميم ونشر الأنظمة القائمة على الألعاب". المؤتمر الدولي الثاني والعشرون لجمعية ACM/IEEE حول لغات وأنظمة هندسة النماذج (MODELS) لعام 2019. الصفحات 34-44 . doi : 10.1109/MODELS.2019.00-17 . ISBN  978-1-7281-2536-7. S2CID 208206029 . 
  13. "دراسة حالة MPS و GDF" (ملف PDF) .