لماذا استخدام المفردات تحليل?
-
10-07-2019 - |
سؤال
أنا بناء لغتي الخاصة باستخدام فليكس, ولكن أريد أن أعرف بعض الأمور:
- لماذا يجب استخدام المفردات تحليل?
- أنها سوف تساعد لي في شيء ما ؟
- هل هي إلزامية ؟
المحلول
تحليل المفردات يساعد على تبسيط تحليل لأن lexemes يمكن أن تعامل على أنها كيانات مجردة بدلا من الخرسانة تسلسل الأحرف.
سوف تحتاج أكثر من فليكس لبناء اللغة الخاصة بك ، على الرغم من:التحليل المعجمي هو مجرد خطوة أولى.
نصائح أخرى
في أي وقت يمكنك تحويل المدخلات السلسلة إلى الفضاء سلاسل مفصولة و/أو قيم رقمية ، يتم تنفيذ تحليل المفردات.كتابة سلسلة متعاقبة من else if (strcmp (..)==0) ...
البيانات يعتبر التحليل المعجمي.حتى قذرة مثل هذه الأدوات sscanf strtok هي المعجمية أدوات التحليل.
كنت تريد استخدام أداة مثل المرن بدلا من واحد من فوق واحد من عدة أسباب:
- إن معالجة الخطأ يمكن أن يكون أفضل بكثير.
- يمكنك أن تكون أكثر مرونة في ما الأشياء المختلفة التي تعترف مع فليكس.على سبيل المثال, فمن الصعب تحليل ج-الشكل السداسي القيمة بشكل صحيح مع scanf الروتينية.scanf حد كبير إلى أعلم عرافة القيمة قادم.ليكس يمكن معرفة ذلك بالنسبة لك.
- ليكس الماسحات الضوئية بشكل أسرع.إذا كنت تحليل الكثير من الملفات و/أو الكبيرة, هذا يمكن أن تصبح مهمة.
يمكنك أن تنظر في استخدام محلل المفردات لأنه يمكن استخدام BNF (أو EBNF) لوصف اللغة (النحو) بشكل إلزامي ، وبعد ذلك فقط استخدام محلل تحليل برنامج مكتوب في اللغة الخاصة بك والحصول عليه في الهيكل في الذاكرة ومن ثم التلاعب به بحرية.
انها ليست إلزامية و يمكنك بالطبع الكتابة الخاصة بك, ولكن هذا يعتمد على مدى تعقيد اللغة و كم من الوقت لديك إلى إعادة اختراع العجلة.
أيضا حقيقة أنه يمكنك استخدام لغة (BNF) لوصف اللغة الخاصة بك دون تغيير المعجمية محلل نفسها ، تمكنك من إجراء العديد من التجارب وتغيير قواعد اللغة الخاصة بك حتى لديك ما يصلح لك.