You are on page 1of 2

‫به نام خدا‬

‫دكتر جابري پور‬ ‫تمرين چهارم درس كامپايلر‬


‫تاريخ تحويل‪3/9 :‬‬ ‫مبحث‪LL(1),LALR(1) :‬‬

‫سوال ‪ :1‬براي عبارات ‪ postfix‬با ‪ * ،+‬و ‪ ،id‬يك گرامر )‪ LL(1‬بنويسيد و واژه هاي مفهومي ‪ mult ،add‬و‬
‫‪ push‬را در جاي مناسب از گرامر درج كنيد‪ .‬مثال )‪ (abc*+‬بايد كامپايل شود‬

‫سوال ‪ :2‬گرامر زير را در نظر بگيريد‪:‬‬

‫‪1) S → A‬‬
‫‪2) A → BC‬‬
‫‪3) A → DBC‬‬
‫‪4) B → Bb‬‬
‫𝜀 → ‪5) B‬‬
‫‪6) C → c‬‬
‫𝜀 → ‪7) C‬‬
‫‪8) D → a‬‬
‫‪9) D → b‬‬
‫‪10) D → c‬‬
‫الف( نشان دهيد گرامر )‪ LL(1‬نيست‪.‬‬

‫ب( گرامر معادل )‪ LL(1‬را بنويسيد‪.‬‬

‫ج( نشان دهيد گرامري كه نوشتيد )‪ LL(1‬است‪.‬‬


‫سوال ‪ :3‬گرامر زير مفروض است‪:‬‬

‫‪E → x | axbE | EE‬‬

‫الف‪ :‬نشان دهيد گرامر مبهم است‪.‬‬

‫ب ‪ :‬براي گرامر نمودار )‪ LALR(1‬رسم كنيد‪.‬‬

‫پ ‪ :‬حالتهاي با برخورد را با توجه به ﻗواعد خارج از گرامر زير بر طرف كنيد‪:‬‬

‫‪ ‬تا حد امكان ﻗواعد مربوط به ”‪ “axb‬از سوس ‪ b‬و از سمت راست گسترش مي يابند‪.‬مثﻼ‬
‫"𝑥𝑥𝑏𝑥𝑎𝑏𝑥‪ "a‬به صورت "))𝑥𝑥(𝑏𝑥𝑎(𝑏𝑥‪ "a‬پارس مي شود‪.‬‬
‫‪ ‬همه ‪ x‬ها از سمت چپ به هم پيوند مي خورند‪ ،‬يعني اگر داشته باشيم ‪ x x x x :‬آنگاه اين عبارت به صورت‬
‫‪ (x x x) x‬ساختاريابي مي شود‪.‬‬

‫سوال ‪ : 4‬گرامر زير را در نظر گيريد‪.‬‬

‫‪BE → BE OR BE‬‬
‫‪BE → BE AND BE‬‬
‫‪BE → NOT BE‬‬
‫الف( نمودار )‪ LALR(1‬را با ‪ follow‬موضعي براي آن رسم كنيد‪.‬‬

‫ب( جدول پارسر براي نمودار را رسم كنيد‪.‬‬

‫ج( با توجه به الويت ) ‪ ( OR < AND < NOT‬جدول پارسر را اصﻼح كنيد‪.‬‬

You might also like