Cs802 compilers spring 2017 محاضرة 5

Page 1

‫‪Spring 2017‬‬

‫‪CS802: Compliers‬‬

‫‪Dr. Mabroka A. M.‬‬

‫‪ ‬مرحلة اللغوي (النحوي) )‪syntax analysis (parsing‬‬ ‫ُ‬ ‫في هذه املرحلة‪ ،‬يتم التحقق من ان البرنامج املصدر قد كتب بطريقة نحوية صحيحة‪.‬‬

‫‪Position of parser in compiler model‬‬

‫‪ ‬املحلل اللغوي (النحوي) )‪syntax analyzer (parser‬‬ ‫يقوم املحلل اللغوي بتجميع الرموز ‪ tokens‬التي تحصل عليها من املحلل اللفظي ‪lexical analyzer‬‬ ‫بطريقة تسلسلية هرمية بحيث تعطي معنى‪.‬‬ ‫اذن‪ ،‬على املحلل اللغوي ان يتبع قواعد معينة للتحقق من أن مجموعة ال‪ tokens‬مكتوبة في صيغة‬ ‫صحيحة‪ .‬و من القواعد النحوية العامة التي يستخدمها ال‪ syntax‬في صياغة نحو اللغة‪ ،‬او في توضيح‬ ‫نحو اللغة هي قاعدة املقام‪-‬الحر ‪ context-free grammar‬التي يرمز لها بالرمز‪:‬‬ ‫)‪BNF (Backus-Naur Form‬‬ ‫ُ‬ ‫و هي تستخدم لوصف الهيكلية الهرمية النواع مختلفة من اللغات‪.‬‬ ‫‪Context-free grammar (BNF) ‬‬ ‫تتكون من التالي‪:‬‬ ‫ُ‬ ‫‪ :Terminal .1‬هي الرموز االساسية التي تصاغ منها السالسل‪ ،‬مرادفها ‪ ،token‬و هي اصغر وحدة‬ ‫في البرنامج لها معنى مثل‪.id, if, int, for :‬‬ ‫‪ :Nonterminal .2‬هي املتغيرات النحوية التي تدل على فئات السالسل مثل التعليمات‬ ‫‪ ،instructions‬التعابير الرياضية ‪:math expression‬‬ ‫‪if‬‬ ‫; ‪(condition) statement‬‬ ‫ً‬ ‫‪ :Start symbol .3‬هو رمز ُيعطي لعنونة القاعدة النحوية و هو دائما ‪.nonterminal‬‬ ‫‪30‬‬


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.