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