تالار گفتمان مانشت

نسخه‌ی کامل: کامپایلر 82
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
دوستان این سوالو هر کتابی یه چیزی جواب داده.مدرسان میگه مبهمه و LL نیست اما SLR هست.پوران میگه هردوش هست....نصیرم یه توجیه دیگه داره...
با سلام البته سوال مال سال 82 بود نه 84 Big Grin
اما حلش ببینید این گرامر یک گرامر مبهم هست اینکه واضحه اگر شک دارید براش جداول بکشید میبیند که نیستن
و اصلا شرط اینکه یک گرامر
LL1,SLR1,LALR1,LR1 باشه اینه گرامر غیر مبهم باشه پس وقتی مبهم نمی تونه LL1 و SLR1 باشه حالا به گزینه ها نگاه کنید اگر منظور سوال این باشه که نوع گرامر چیه نمی تونه جواب باشه چرا؟ چون گرامر مبهم پس به هیچ وجه با پارسر LL1 و SLR1 نمیشه تجزیه اش کرد پس هر دو گزینه یک و دو درست میشن که غلطه این از توجیه مدرسان که اشتباه
اما منظور سوال چیه؟ ببینید این گرامر می خواهد ساختار دستورات if-then-else پیاده کنه و سوالم گفته که else مال نزدیکترین then هستش از نوع گزینه ها میشه فهمید که منظور سوال اینکه ایا میشه بدون تغییر گرامر توسط پارسرهای LL1 و SLR1 تجزیه اش کرد یا نه؟
خوب اگر شما جدولو بکشید برای LL1 میبیند که میشه با حذف قانون اشتباه یعنی نگه داشتن قانونی که مشخص می کنه else به نزدیکترین then برگرده میشه توسط پارسر LL1 تجزیه را انجام داد
اگرم جدول SLR1 بکشید میبیند که تداخل ها از نوع s/r هستن که میشه با حذف قاعده های کاهش تداخل ها را حل کرد و توسط یک پارسر SLR1 تجزیه اش کرد
پس دیدیم که بدون تغییر در گرامر میشه توسط این دو پارسر تجزیه را انجام داد و جواب میشه گزینه 3
توی این سوال ها باید با توجه به گزینه ها جواب داد مثلا ممکنه بحث تجزیه براساس کنش های مفهموی باشه که میدونیم برای گرامر LL1 میشه بدون هیچ تغییر تجزیه کرد و مهم نیست کنش های مفهموی کجا باشن اما اگر بخواهیم با پارسرهای پایین به بالا تجزیه را انجام بدیم باید کنش های مفهموی همیشه منتها الیه سمت راست قوانین باشن پس با توجه به گزینه ها و سوال باید دقت کنید منظور سوال چیه تو این مورد نمیدونم چرا اینقد سوالای با ایهام میدن تو کنکور به هر حال جواب قابل قبول برای این تست گزینه 3 هستش موفق باشید
اوه.دستتون درد نکنه
لینک مرجع