تالار گفتمان مانشت
چند سوال کامپایلر (کنکور ۸۶ و ۸۷ و ۹۰) - نسخه‌ی قابل چاپ

چند سوال کامپایلر (کنکور ۸۶ و ۸۷ و ۹۰) - f.b - 22 بهمن ۱۳۹۰ ۱۱:۴۲ ق.ظ

سلام
چند تا سوال اعصابمو خراب کرده دارم از کامپایل نا امید میشم لطفا راهنمای کنید
۱-در کنکور ۸۷ یه سوال داده که سوال ۱ فصل اخر پوران هست
نحوه محاسبه ادرس رو میشه توضیح بدید
۲-سوال ۶ فصل سوم پوران کنکور ۸۶ به چه صورت هست ممنون میشم توضیح بدید
۳- در بعضی از سوالات حداکثر تعداد قواعد تولید رو خواسته منظور ش از قواعد تولیدی چیه مثل سوال ۱۱ فصل ۳ پوران کنکور ۸۴
۴-سوالتی مدل ۱ کنکور ۹۰ که میگن بازگشتی چپ داره به چه صورت هست

لطفا جواب بدید چند سوال کامپایلر - - rasool - - 22 بهمن ۱۳۹۰ ۰۲:۵۳ ب.ظ

پاسخ سوال اول:
نحوه محاسبه‌ی آدرس [A[L و نیز خود آدرس رو هم داده . و L رو خواسته. (شما اون i+j در صورت سوال رو همون L بگیرید)
با یک جایگزینی ساده حل می شه. اینطوری:
L رو گذاشته توی t
بعد ضربدر پنجش کرده
بعد بعلاوه صدش کرده
و خودش گفته آدرس می شه ۲۰۰
پس شما اگه دقت کنید می بینید که موارد بالا فقط برای L=20 درسته.
یعنی ۲۰۰=۱۰۰+۵*۲۰

اینطوری هم می شه که بیاییم بطور معکوس کدهای برنامه رو بریم بالا . به ۲۰ می رسیم.


پاسخ سوال دوم:

چون گفته ورودی ما "(" هستش. و در SLR1 کاهش با فالوی سمت چپ انجام می شه. پس توی قاعده .<--`E با ورودی "(" کاهش داریم. و بعدشم push‌ .
پس گزینه یک درسته.


پاسخ سوال سوم:
منظور از تعداد حالات‌: منظورش همون تعداد حالتهایی هستش که شما برای ساختن جدول مثلا SLR می سازید. توی هرکدوم از این حالتها یکسری قواعد قرار می گیره. منظور از حداکثر تعداد قواعد در حالتها هم یعنی بیشترین تعداد قواعدی که در یک حالت آمده چندتاست. حالا پاسخ پوران رو ببینید فکر کنم متوجه می شوید.
سوال چهارم: دقیقا منظور شما رو متوجه نشدم.



امیدوارم مفید بوده باشه.

پ ن‌: مطالعه بیشتر در کتاب روح الله آل شیخ (پوران پژوهش)