لغات البرمجة

لغة PEG: مقال عن القواعد التحليلية

لغة PEG (Parsing Expression Grammar) هي نوع من القواعد اللغوية الرسمية التحليلية في علم الحاسوب، حيث تصف لغة رسمية في مصطلح مجموعة من القواعد لتمييز السلاسل في اللغة. تمت مقدمتها من قبل Bryan Ford في عام 2004 وترتبط بشكل وثيق بعائلة لغات التحليل الأعلى المقدمة في بداية السبعينيات. من الناحية الصرفية، تبدو PEGs مشابهة أيضًا للقواعد اللغوية الخالية من السياق (CFGs)، ولكن لها تفسير مختلف: يقوم مشغل الاختيار باختيار المطابقة الأولى في PEG، بينما يكون غامضًا في CFG. هذا أقرب إلى كيفية الاعتراف بالسلسلة التي تميل إلى القيام بها عمليًا، على سبيل المثال، بواسطة محلل انحداري تكراري. على عكس CFGs، لا يمكن أن تكون PEGs غامضة؛ إذا كانت سلسلة تحليلها، فإنها تحتوي على شجرة تحليل صالحة بالضبط واحدة. يفترض أن هناك لغات خالية من السياق يمكن أن لا تُعرف بواسطة PEG، ولكن هذا لم يتم إثباته بعد. تتناسب PEGs تمامًا مع تحليل اللغات البرمجية (واللغات البشرية الاصطناعية مثل Lojban)، ولكن ليس اللغات الطبيعية حيث أداء خوارزميات PEG مقارنة بخوارزميات CFG العامة مثل خوارزمية Earley. تحتوي PEG على ميزات مثل التعليقات والتعليقات السطرية، وتمثل خيارًا جيدًا لتحليل لغات البرمجة ولغات الإنسان الاصطناعية، وتتميز بالقدرة على إعطاء تحليلات محددة وغير غامضة للسلاسل المتحللة. لمزيد من المعلومات، يمكنك زيارة الرابط التالي: Wikipedia – Parsing Expression Grammar