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

نسخه‌ی کامل: مزیت استفاده از گرامر های مبهم در روش LR
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با عرض سلام
من هرچی این قسمت از کتاب آقای شاپوری رو خوندم، متوجه نشدم منظورش رو ؟
یعنی چی که با نگاه کردن به حالت ۵ پی می بریم که بالای پشته دستگیره ی E+E هست ؟
ادامش رو هم متوجه نشدم که چرا عمل S3 رو حذف کرد.
از راهنمایی هاتون پیشاپیش سپاسگذارم.
کسی نیست راهنمایی کنه ؟
سلام
در مورد سوال اول کافی به حالت شماره ۵ در نمودار انتقال نگاه کنید اولین قاعده در ان نقطه به انتها رسیده یعنی کاهش و یافتن یک دستگیره ویا به حالت ۲ نگاه کنید [tex]E\rightarrow id.[/tex] که یک کاهش است و id یک دستگیره محسوب می شود یعنی می توان ان را از بالای پشته حذف و سمت چپ قاعده یعنی E را به جای ان گذاشت پس در حالت ۵دستگیره E+E داریم.
در مورد سوال دوم چون گرامر مبهم است و تداخل داریم باید تداخل ها را برطرف کنیم مثلا در همون حالت ۵ یکی از انتقال یا کاهش را باید حذف کنیم.
اگر انتقال را حذف و کاهش را نگه داریم یعنی به جمع اولویت چپ دادیم .مثلا برای id+id+id با راست ترین اشتقاق داریم
[tex]1::\: E\Rightarrow^1E+E\Rightarrow^2E+id\Rightarrow^3E+E+id\Rightarrow^4E+id+id =>^5id+id+id[/tex]
و حالتی دیگر
[tex]2::\: E\Rightarrow^1E+E\Rightarrow^2E+E+E\Rightarrow^3E+E+id\Rightarrow^4E+id+id=>^5id+id+id[/tex]
چون LR عکس راست ترین اشتقاق را دنبال می کند پس از انتهای اشتقاق های بالا به سمت ابتدا حرکت می کنیم و همچنین رشته ورودی یعنی همان id+id+id از چپ به راست پیمایش می شود یعنی ابتدا id در این هنگام یه دستگیره کشف می شود و به E کاهش می یابد در هر دو مورد بعد + مشاهده وارد پشته و بعد id دوباره به E کاهش می یابد پس تا اینجا در هردو مورد E+E+id داریم که E+E بالای پشته و id+ باقی مانده ورودی در این حالت هم می توانیم E+E را به E کاهش دهیم و هم می توانیم +را به پشته انتقال دهیم
اگر E+E را به E کاهش دهیم یعنی به +در گرامر اولویت چپ دادیم یعنی اگر محاسباتی فکر کنیم اول باید مقدار E+Eمحاسبه بشه بعد با id جمع بشه اگر هم درخت تجزیه اشتقاق اول را رسم کنید و نود ها را از پایین به بالا ارزیابی کنید متوجه می شوید که در یک عبارت با دوجمع ابتدا جمع چپی ارزیابی می شود
ولی اگر انتقال انجام بدیم یعنی اول + و بعد id که به E کاهش می یابد در بالای پشته E+E+E داریم که سمت راست بالای پشته است پس دستگیره E+E از زاست انتخاب می شود یعنی اولویت دادن به راست باز اگر درخت را ترسیم کنید و با درخت اشتقاق اول مقایسه کنید بهتر متوجه می شوید
حال چون گرامر مبهم است دو حالت داریم اول اینکه یک گرامر غیر مبهم معادل بیابیم و دوم اینکه پیش فرض های برای اولویت ها که باعث ابهام می شود تعیین کنیم تا تداخل ها حذف شود مثلا درمورد این گرامر می توان پیش فرض در id+id+id به جمع اولویت چپ داد مثل مبحث اولویت بندی در ساختمان داده که به +-*/ اولویت از چپ داده شده. پس با این پیش فرض در حالت ۵ در ستون +که تداخل r/s داریم باید r انجام بشه تا اولویت چپ لحاظ شده باشه و s را از حالت ۵ ستون +حذف می کنیم.برای تداخل های دیگر در جدول هم به همین صورت عمل می کنیم.خیلی طولانی شد.
سلام دوست عزیز، خیلی لطف کردید. شرمنده وقتتون رو گرفتم.
بسیار سپاسگزارم
لینک مرجع