نص إكس
Xtext هو إطار عمل برمجي مفتوح المصدر لتطوير لغات البرمجة ولغات المجال المتخصصة (DSLs). على عكس مولدات المحللات القياسية، لا يقوم Xtext بتوليد محلل فحسب ، بل يقوم أيضًا بتوليد نموذج فئة لشجرة بناء الجملة المجردة ، بالإضافة إلى توفير بيئة تطوير متكاملة (IDE) كاملة الميزات وقابلة للتخصيص تعتمد على Eclipse. [ 2 ]
يتم تطوير Xtext في مشروع Eclipse كجزء من مشروع إطار عمل نمذجة Eclipse . وهو مرخص بموجب رخصة Eclipse العامة . [ 3 ]
تاريخ
نُشرت النسخة الأولى من Xtext عام 2006 ضمن مشروع openArchitectureWare. وكانت آخر نسخة صدرت ضمن هذا المشروع هي النسخة 4.3. ومنذ بداية عام 2008، يجري تطوير Xtext في بيئة Eclipse ضمن مشروع Eclipse Modeling Project. [ 4 ]
بالتزامن مع الإصدار السنوي المتزامن لـ Eclipse ، أصدرت Xtext الإصدارات 0.7.0 (يونيو 2009)، و1.0 (يونيو 2010)، و2.0 (يونيو 2011)، و2.3 (يونيو 2012)، و2.5 (ديسمبر 2013)، و2.6 (مايو 2014)، و2.7 (سبتمبر 2014). وقد طورت شركة Itemis الألمانية هذا الإطار بشكل أساسي. [ 5 ]
الوظائف
لتحديد لغة برمجة، يتعين على المطور كتابة قواعد نحوية بلغة قواعد Xtext. تصف هذه القواعد كيفية اشتقاق نموذج Ecore من تدوين نصي. ومن هذا التعريف، يستخلص مولد الشفرة محلل ANTLR وفئات نموذج الكائن. ويمكن استخدام كليهما بشكل مستقل عن Eclipse.
يتضمن Xtext ميزات تتكامل بشكل جيد مع بيئة التطوير المتكاملة (IDE) القائمة على Eclipse:
- تلوين بناء الجملة
- إكمال التعليمات البرمجية
- التحليل الثابت
- عرض المخطط التفصيلي
- التنقل في شفرة المصدر
- الفهرسة
- قارن
- يحوم
- طي الشفرة
- إعادة تسمية عملية إعادة الهيكلة
تتميز لغات Xtext وبيئة التطوير المتكاملة (IDE) بقابلية عالية للتخصيص، حيث يتم ربط بنية اللغة وبيئة التطوير المتكاملة باستخدام حقن التبعية و Google Guice . ويمكن استبدال المكونات الافتراضية بسهولة بمكونات مخصصة.
منذ الإصدار 2.0، سهّلت Xtext تطوير لغات خاصة بمجال معين لآلة جافا الافتراضية ، وذلك بالرجوع إلى مكونات جافا والترجمة إليها مع تكامل وثيق مع مجموعة أدوات تطوير جافا في Eclipse. وتتيح مكتبة لغات التعبير القابلة لإعادة الاستخدام سلوكًا غنيًا داخل لغة المجال الخاصة بالمجال.
يمكن دمج مولد أكواد مكتوب بلغة Xtend مع أي لغة برمجة. بالنسبة للغات JVM، يكفي ربط مفاهيم لغة المجال المحددة (DSL) بمكونات Java للحصول على تكامل شامل مع Java. كما يتوفر مترجم بديل.
الاستخدامات
في وقت كتابة هذا المقال ، كانت الصفحة الرئيسية لـ Xtext تعرض حوالي 40 مشروعًا تجاريًا وغير تجاري من عدة مجالات تطبيقية تستخدم Xtext. [ 6 ]
- يعتمد تطبيق AWK، وهي لغة خاصة بالمجال (DSL) شائعة، على Xtext.
- تم بناء لغة Xtend العامة أيضًا باستخدام Xtext.
الجوائز
انظر أيضاً
مراجع
- ↑ "Xtext - ملاحظات الإصدار" . eclipse.dev . تم الاطلاع عليه بتاريخ 29-05-2023 .
- ↑ github/xtext ، مؤسسة إكليبس، 4 فبراير 2021 ، تم الاطلاع عليه بتاريخ 8 فبراير 2021
- ↑ موقع الويب، EclipseWeb (31 يناير 2013). "Eclipse Xtext" . projects.eclipse.org . تاريخ الاسترجاع: 24 نوفمبر 2024 .
- ↑ إفتينج، سفين. "إكس تكست - هندسة اللغة ببساطة!" . www.eclipse.org . تم الاطلاع عليه بتاريخ 16 فبراير 2018 .
- ↑ itemis. تم استرجاعها من http://www.itemis.com .
- ↑ تم استرجاعه من http://www.eclipse.org/Xtext/community.html .
- ↑ جايوفسكي، لين. "الإعلان عن الفائزين بجوائز مجتمع إكليبس" . www.eclipse.org . تم الاطلاع عليه بتاريخ 16 فبراير 2018 .
- ↑ سكريت، إيان. "الإعلان عن الفائزين بجوائز مجتمع إكليبس" . www.eclipse.org . تم الاطلاع عليه بتاريخ 16 فبراير 2018 .
- ↑ غيندون، كريستوفر. "الإعلان عن الفائزين بجائزة مجتمع إكليبس" . www.eclipse.org . تاريخ الاسترجاع: 16 فبراير 2018 .
فهرس
- سفين إفتينج؛ يان كوهنلين؛ بيتر فريز. "أنشئ لغة برمجة نصية خاصة بك باستخدام أدوات من مشروع نمذجة إكليبس" . مؤسسة إكليبس . تم الاطلاع عليه بتاريخ 3 يوليو 2012 .
- سفين إفتينج. "مثال لغة المجال الخاصة بفولر مع Xtext" . مدونة سفين إفتينج . تم الاطلاع عليه بتاريخ 3 يوليو 2012 .
- إكليبس (برنامج)
- برنامج يستخدم رخصة إكليبس العامة
- ورشة عمل اللغة
- مولدات المحلل اللغوي
