CompilerAutomata_HW 11_92_1.pdf

‫هس بخ‬
‫هب انم تی ش‬
‫تکلیف یازدهم‬
‫دانشکده مهندسی کامپیوتر‬
‫اوتومتا و رطاحی کامپایلر‬
‫مدرس ‪ :‬دکتر جابریپور‬
‫نیمسال اول ‪95-94‬‬
‫تاریخ تحویل‪ :‬شنبه ‪ 12‬دی‬
‫توجه‪ :‬تحویل همه سواالت الزامی است‪.‬‬
‫‪ -1‬برای گرامر زیر نمودار )‪ LALR(1‬را رسم کرده و از روی آن جدول پارس را بدست آورید‪.‬‬
‫𝑇𝑆 𝒏𝒆𝒉𝒕 𝐻𝐹𝐼 → 𝑇𝑆‬
‫𝐸𝐵 𝒇𝒊 → 𝐻𝐹𝐼‬
‫𝑇𝑆 𝒆𝒔𝒍𝒆 𝑃𝑇 → 𝑇𝑆‬
‫𝑇𝑆 𝒏𝒆𝒉𝒕 𝐻𝐹𝐼 → 𝑃𝑇‬
‫𝒕𝒔 → 𝑇𝑆‬
‫𝒆𝒃 → 𝐸𝐵‬
‫‪ -2‬آیا گرامرهای زیر )‪ LALR(1‬هستند؟ )‪ LL(1‬چطور؟ در صورتی که چنین است جدول پارس را نیز بکشید‪.‬‬
‫𝑎 𝐵 𝑏 𝐵 | 𝑎 𝐴 𝑎 𝐴 → 𝑆 ‪a.‬‬
‫𝜖 →𝐴‬
‫𝜖 →𝐵‬
‫𝐴 | 𝐴 𝑆 → 𝑆 ‪b.‬‬
‫𝑎→𝐴‬
‫𝑎𝑑𝑏 | 𝑐 𝑑 | 𝑐 𝐴 𝑏 | 𝑎 𝐴 → 𝑆 ‪c.‬‬
‫𝑑→𝐴‬
‫‪ -3‬کدی ‪ 3‬آدرسهای که کامپایلر برای دستور زیر تولید میکند را بنویسید‪ ،‬فرض کنید ‪،𝐿𝐵𝐴 = 1 ،𝑈𝐵𝐴 = 10 ،𝑆𝐴 = 1‬‬
‫‪𝛼𝐴 = 100‬‬
‫)‪for(int i = 0; i < 10; i++‬‬
‫;‪A[i] = i‬‬
‫‪ -4‬گرامر 𝑇𝑆 𝒏𝒆𝒉𝒕 )𝐸𝐵(𝒆𝒍𝒊𝒉𝒘 → 𝑇𝑆 مفروض است‪ .‬ارتباط دقیق این گرامر با کد ساز را در پارسرهای )‪ LL(1‬و )‪LALR(1‬‬
‫به طور دقیق شرح داده و واژههای مفهومی الزم را به درستی به کار بگیرید‪.‬‬
‫‪ -5‬با توجه به کد سوال ‪ ،3‬بگویید چه بهینهسازیهایی بروی این کد قابل انجام است؟‬
‫تذرکات‪:‬‬
‫‪ -1‬کتاب زیر مرجع اصلی درس است‪ ،‬مطالعه آن میتواند کمک شایانی به فهم مطالب کند‪.‬‬
‫‪Introduction to Automata Theory, Languages, and Computation; J.E.Hopcraft, R.Montwani,‬‬
‫‪J.D.Ullman, 3rd Edition‬‬
‫‪Compilers, Principles, Techniques &Tools; A.V.Aho, M.S.Lam, R.Sethi, J.D.Ullman, 2nd Edition‬‬
‫‪ -2‬تمرینات خود را روز شنبه‪12 ،‬دیماه‪ ،‬ساعت ‪ 12‬سر کالس حلتمرین تحویل دهید‪ .‬از دیرتر تحویل دادن تمرین خود بنا به هر‬
‫دلیلی بپرهیزید‪.‬‬
‫‪ -3‬در صورتی که تمرینی را ایمیل میکنید‪ ،‬در اسرع وقت نسخه فیزیکی آن را نیز تحویل دهید!‬
‫‪ -4‬همه برگههای خود را به هم منگنه کرده و سپس تحویل دهید!‬
‫‪-5‬‬
‫از تقلب به شدت بپرهیزید! خودتان سواالت را حل کنید! (در صورت کشف برای کل تکلیف نمره ‪ -100‬برای همه نفرات لحاظ‬
‫خواهد شد)‬
‫‪ -6‬پاسخ به هر سوالی این را میرساند که شما قادر به توضیح صحیح راهحل خود بوده و آن را درک کردهاید‪ .‬در غیر اینصورت این‬
‫پاسخ ارزشی نخواهد داشت‪.‬‬
‫‪ -7‬سواالت خود را به گروه درس یا ایمیل اعضای حلتمرین ارسال نمایید‪( .‬در صفحه درس موجود است)‬
‫موفق باشید‬