اقرأ في هذا المقال
- ما هو التحليل المعجمي Lexical analysis
- ما هي الرموز المميزة Tokens
- بنية المحلل المعجمي كيف يتم التعرف على الرموز المميزة
- أدوار المحلل المعجمي
ما هو التحليل المعجمي Lexical analysis
التحليل المعجمي هو المرحلة الأولى من عملية ترجمة الكود من قِبل المترجم، وتسمى البرامج التي تقوم بإجراء التحليل المعجمي في تصميم المترجم بالمحللات المعجمية، إذ يقوم المحلل المعجمي بأخذ كود المصدر المُعدل من مُعالِجات اللغة والتي تتم كتابتها على شكل جمل، ثم تقسيم هذه التركيبات إلى سلسلة من الرموز، عن طريق إزالة أي مسافة بيضاء أو تعليقات في الكود المصدر.
يحتوي المحلل المعجمي على رمز مميز أو ماسح ضوئي، إذا وُجد أن الرمز المميز غير صالح، فإنه يُظهر أنه يوجد خطأ. محلل المعجمي يعمل بشكل وثيق مع محلل بناء الجملة، حيث يقرأ تدفقات الأحرف من الكود المصدري، ويتحقق من الرموز المميزة المسموحة، من ثم يمرر البيانات إلى محلل بناء الجملة عندما يتطلب ذلك.
ما هي الرموز المميزة Tokens
الـ (Lexemes) عبارة عن سلسلة من الأحرف (أبجدية رقمية) في الرمز المميز، هناك بعض القواعد المحددة مسبقًا لكل معجم يتم تحديده على أنه رمز مسموح به. يتم تحديد هذه القواعد من خلال القواعد النحوية، عن طريق النمط. يشرح النمط ما يمكن أن يكون عليه الرمز، ويتم تحديد هذه الأنماط عن طريق التعبيرات العادية. في لغات البرمجة، يمكن اعتبار (keywords, constants, identifiers, strings, numbers, operators and punctuations symbols) بمثابة رموز مميزة. على سبيل المثال في لغة (C)، سطر تعريف المتغير:
intvalue=100;
السطر مع احتوائه على الرمز المميز:
int(keyword),value(identifier),=(operator),100(constant)and;(symbol).
بنية المحلل المعجمي: كيف يتم التعرف على الرموز المميزة
تتمثل المهمة الرئيسية للتحليل المعجمي في قراءة أحرف الإدخال في الكود وإنتاج الرموز المميزة. يقوم المحلل المعجمي بمسح كود المصدر بالكامل للبرنامج. إنه يحدد كل رمز مميز واحدًا تلو الآخر. عادةً ما يتم تنفيذ الماسحات الضوئية لإنتاج الرموز المميزة فقط عند طلبها بواسطة المحلل اللغوي. إليك كيفية عمل التعرف على الرموز المميزة في تصميم المترجم:
1. “الحصول على الرمز المميز التالي” هو أمر يتم إرساله من المحلل اللغوي إلى المحلل المعجمي.
2. عند استلام هذا الأمر، يقوم المحلل المعجمي بتفحص المدخلات حتى يجد الرمز التالي.
3. تقوم بإرجاع الرمز المميز إلى المحلل اللغوي.
أدوار المحلل المعجمي:
يقوم المحلل المعجمي بتنفيذ المهام المحددة أدناه:
- يساعد في تحديد الرمز المميز في جدول الرموز.
- يزيل المساحات البيضاء والتعليقات من الكود المصدر.
- يربط رسائل الخطأ مع الكود المصدر.
- يساعدك على توسيع وحدات الماكرو إذا وجدت في البرنامج المصدر.
- قراءة أحرف الإدخال من الكود المصدر.