لغات البرمجة

لغة برمجة Coco/R: مولّد مترجمات قواعدية

لغة Coco/R هي مُولِّد مترجمات Compiler Generator الذي يأخذ قواعد نحوية مُعَيَّنة للغة المصدر وينشئ ماسح ضوئي Scanner ومُحلل Parser لهذه اللغة. يعمل الماسح الضوئي كمتحوّل متنهي محدد الحالة Deterministic Finite Automaton، حيث يقوم بتحليل المدخلات لتمييز الرموز المختلفة في اللغة. بينما يستخدم المُحلل تنازلي التكرار Recursive Descent لتحليل الجمل النحوية. يمكن حل الصراعات LL(1) باستخدام معاينة لمتعدد الرموز Multi-Symbol Lookahead أو من خلال فحوصات ذات دلالة. وبالتالي، يتم قبول مجموعة القواعد النحوية LL(k) لأي قيمة معينة لـ k.

تُعتبر Coco/R قادرة على دعم مجموعة متنوعة من اللغات الحديثة، مثل Java، C#، C++، باسكال، مودولا-2، مودولا-3، ديلفي، VB.NET، Python، Ruby، وغيرها. والإصدارات الأحدث التي تأتي من جامعة لينز هي تلك المخصصة لـ C#، Java، و C++.

يقوم Coco/R بفحص القواعد النحوية للتأكد من اكتمالها وتناسقها وعدم تضاعفها، بالإضافة إلى اكتشاف الصراعات LL(1). ويتيح Coco/R إمكانية ضبط معالجة الأخطاء في المُحلل، وذلك عبر تحديد نقاط المزامنة والرموز “الضعيفة” في القواعد النحوية.

يتم توزيع Coco/R تحت شروط ترخيص GNU General Public License مع بعض التيسيرات. وتتوفر إصدارات مثالية من Coco/R لمعظم اللغات الحديثة، مع وجود إضافات لبرامج التطوير مثل Eclipse لإصدار Java وملحق Visual Studio لإصدار C#. تم تطوير Coco/R أصلاً في معهد التكنولوجيا في زيوريخ (ETHZ)، وانتقل مع Hanspeter Mössenböck إلى جامعة لينز عندما تم تعيينه هناك.

تجدر الإشارة أيضًا إلى أن Coco/R تدعم ميزات مثل التعليقات في الكود وتباعد ذات دلالة Semantic Indentation وتعليقات السطر Line Comments، مما يسهل عملية كتابة وفهم الشفرة المصدرية بشكل أفضل.

للمزيد من المعلومات، يُمكنك زيارة صفحة ويكيبيديا الخاصة بـ Coco/R.