CompilerAutomata_HW 6_92_1.pdf

‫هس بخ‬
‫هب انم تی ش‬
‫تکلیف ششم‬
‫اوتومتا و رطاحی کامپایلر‬
‫نیمسال اول ‪95-94‬‬
‫دانشکده مهندسی کامپیوتر‬
‫مدرس ‪ :‬دکتر جابریپور‬
‫تاریخ تحویل‪ :‬شنبه ‪ 23‬آبان‬
‫توجه‪ :‬تحویل سواالتی که با * مشخص شدهاند و سواالت کالس درس الزامی است‪ .‬سواالتی که با عالمت ! مشخص شدهاند برای‬
‫شروع مناسب هستند‪.‬‬
‫‪ )!( -1‬اگر ‪ P‬یک ‪ PDA‬باشد که دارای سه حالت (𝑟 ‪ )𝑝, 𝑞,‬است و یکی از قواعد گذار آن })𝑌𝑋 ‪𝛿(𝑞, 0, 𝑋) = {(𝑝, 𝑌 𝑍), (𝑟,‬‬
‫است‪ .‬همه قواعدی که با این اطالعات در تبدیل ‪ P‬به ‪ CFG‬معادل تولید می‪‎‬شوند را بنویسید‪.‬‬
‫‪ ،𝑃 = ({𝑝, 𝑞}, {0.1}, {𝑍0 , 𝑋}, 𝛿, 𝑞, 𝑍0 , {𝑝}) )*( -2‬یک ‪ PDA‬باشد آن را به یک ‪ CFG‬کنید‪:‬‬
‫‪ -3‬برای هریک از زبانهای زیر یک ‪ DPDA‬طراحی کنید‪.‬‬
‫‪{0𝑛 1𝑚 |𝑛 ≤ 𝑚} )!( )a‬‬
‫‪{0𝑛 1𝑚 |𝑛 ≥ 𝑚} )b‬‬
‫‪𝑎𝑛𝑑 𝑚 𝑎𝑟𝑒 𝑎𝑟𝑏𝑖𝑡𝑟𝑎𝑟𝑦} )*( )c‬‬
‫𝑛| 𝑛 𝑚 𝑛‬
‫‪{0 1 0‬‬
‫‪ -4‬یک گرامر معادل برای گرامر مقابل پیدا کنید که سمبل بدون استفاده نداشته باشد‪.‬‬
‫‪ )*( -5‬گرامر مقابل را در نظر گرفته و به ترتیب 𝑛𝑜𝑖𝑡𝑐𝑢𝑑𝑜𝑟𝑝 ‪𝜖 −‬ها‪𝑈𝑛𝑖𝑡 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 ،‬ها و سمبلهای‬
‫بالاستفاده آن را حذف کرده‪ ،‬گرامر معادل هر مرحله را بنوسید و سپس آن را به فرم نرمال چامسکی تبدیل‬
‫کنید‪.‬‬
‫‪ -6‬گرامری به فرم نرمال چامسکی بنویسید که همه پرانتزگذاریهای قابل قبول را تولید کند‪ .‬بهتر است از یک گرامر غیر چامسکی‬
‫شروع کنید‪.‬‬
‫‪ -7‬با استفاده از قضیه تزریق‪ ،‬ثابت کنید‪ ،‬زبانهای زیر مستقل از متن نیستند‪.‬‬
‫‪{0𝑝 | 𝑝 𝑖𝑠 𝑝𝑟𝑖𝑚𝑒} )!( )a‬‬
‫‪{0𝑛 #02𝑛 #33𝑛 | 𝑛 ≥ 0} )!( )b‬‬
‫‪{0𝑛 1𝑛 0𝑛 1𝑛 | 𝑛 ≥ 0} )c‬‬
‫‪{0𝑖 1𝑗 | 𝑖 = 𝑗 2 } )*( )d‬‬
‫‪{𝑎𝑛 𝑏𝑛 𝑐 𝑖 | 𝑛 ≤ 𝑖 ≤ 2𝑛} )*( )e‬‬
‫تذرکات‪:‬‬
‫‪ -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‬تمرینات خود را روز شنبه‪ 23 ،‬آبانماه‪ ،‬ساعت ‪ 12‬سر کالس حلتمرین تحویل دهید‪ .‬از دیرتر تحویل دادن تمرین خود بنابه هر‬
‫دلیلی بپرهیزید‪.‬‬
‫‪ -3‬در صورتی که تمرینی را ایمیل میکنید‪ ،‬در اسرع وقت نسخه فیزیکی آن را نیز تحویل دهید!‬
‫‪ -4‬همه برگههای خود را به هم منگنه کرده و سپس تحویل دهید!‬
‫‪-5‬‬
‫از تقلب به شدت بپرهیزید! خودتان سواالت را حل کنید! (در صورت کشف برای کل تکلیف نمره ‪ -100‬برای همه نفرات لحاظ‬
‫خواهد شد)‬
‫‪ -6‬سواالت خود را به گروه درس یا ایمیل اعضای حلتمرین ارسال نمایید‪( .‬در صفحه درس موجود است)‬
‫موفق باشید‬