زمان کنونی: ۰۸ دى ۱۴۰۳, ۰۸:۰۹ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

مشکل با تعیین مولفه ی دوم آیتم (LR(1

ارسال:
  

bahman2000 پرسیده:

مشکل با تعیین مولفه ی دوم آیتم (LR(1

سلام دوستان.میشه توضیح بفرمایید که مولفه دوم آیتم (LR(1 را چطوری تعیین می کنیم؟ هر چی خوندم متوجه این lookahead نشدم؟
[تصویر:  393213_wlj_2015-12-21_12-46-49.jpg]
جواب گزینه یک هست.
نقل قول این ارسال در یک پاسخ

۱
ارسال:
  

Iranian Wizard پاسخ داده:

RE: مشکل با تعیین مولفه ی دوم آیتم (LR(1

(۳۰ آذر ۱۳۹۴ ۰۱:۴۲ ب.ظ)bahman2000 نوشته شده توسط:  سلام دوستان.میشه توضیح بفرمایید که مولفه دوم آیتم (LR(1 را چطوری تعیین می کنیم؟ هر چی خوندم متوجه این lookahead نشدم؟
[تصویر:  393213_wlj_2015-12-21_12-46-49.jpg]
جواب گزینه یک هست.

سلام.
این سوال در گرامر روبرو ، بستار آیتم [tex]S\: \longrightarrow\: .AB\: ,\: \{\: \$\: \}[/tex] رو خواسته:

[tex]S\: \longrightarrow\: \: A\: |\: AB[/tex]

[tex]A\: \longrightarrow\: \: BA\: |\: a\: |\: Aa[/tex]

[tex]B\: \longrightarrow\: bB[/tex]


۱) خود قلم اولیه،جزئی از بستار [tex]S\: \longrightarrow\: .AB\: ,\: \{\: \$\: \}[/tex] هستش.یعنی قلم زیر به بستار ،اضافه میشه:

[tex]S\: \longrightarrow\: .AB\: ,\: \{\: \$\: \}[/tex]



۲) چونکه نقطه قبل از یک متغیر (یعنی A) اومده،پس بایستی A رو گسترش دهیم و مجموعه پیش‌گویی(lookahead) آن برابر [tex]first(B\$)[/tex] یعنی [tex]\{b\}[/tex] خواهد شد.پس قلم‌های زیر به بستار اضافه میشه:

[tex]A\: \longrightarrow\: .BA\: ,\: \{b\}[/tex]

[tex]A\: \longrightarrow\: .a\: ,\: \{b\}[/tex]

[tex]A\: \longrightarrow\: .Aa\: ,\: \{b\}[/tex]


۳) حال در قلم اضافه شده‌ی [tex]A\: \longrightarrow\: .BA\: ,\: \{b\}[/tex] ، چونکه نقطه قبل از متغیر B اومده،پس بایستی B رو گسترش دهیم و مجموعه پیش‌گویی(lookahead) آن برابر [tex]first(Ab)[/tex] یعنی [tex]\{a ,\: b\}[/tex] خواهد شد.پس قلم زیر هم به بستار اضافه میشه:

[tex]B\: \longrightarrow\: .bB\: , \{a\: ,\: b\}[/tex]


که الآن گزینه‌ی ۱ جواب سوال خواهد شد...ولی پاسخ درست چیز دیگه‌ایه که متاسفانه تو گزینه‌ها نیست.و طراح سوال فراموش کرده که الآن چونکه علامت نقطه قبل از قلم اضافه شده‌ی ‌[tex]A\: \longrightarrow\: .Aa\: ,\: \{b\}[/tex] وجود داره،پس باید متغیر A رو دوباره گسترش بدیم،پس:


۴) در قلم اضافه ‌شده‌ی [tex]A\: \longrightarrow\: .Aa\: ,\: \{b\}[/tex] ، چونکه نقطه قبل از متغیر A اومده،پس بایستی A رو دوباره گسترش بدیم و مجموعه پیش‌گویی(lookahead) آن برابر [tex]first(ab)[/tex] یعنی [tex]\{a\}[/tex] خواهد شد.پس قلم‌های زیر به بستار اضافه میشه:


[tex]A\: \longrightarrow\: .BA\: ,\: \{a\}[/tex]

[tex]A\: \longrightarrow\: .a\: ,\: \{a\}[/tex]

[tex]A\: \longrightarrow\: .Aa\: ,\: \{a\}[/tex]

۵) در قلم اضافه شده‌ی [tex]A\: \longrightarrow\: .BA\: ,\: \{a\}[/tex] ،چونکه نقطه قبل از متغیر B اومده،پس بایستی B رو گسترش بدیم و مجموعه پیش‌گویی(lookahead) آن برابر [tex]first(Aa)[/tex] یعنی [tex]\{a\: ,b\}[/tex] خواهد شد.پس قلم زیر هم باید به بستار اضافه بشه،ولی چون قبلا اضافه شده،پس دیگه نیازی به نوشتن آن در بستار نیست:

[tex]B\: \longrightarrow\: .bB\: , \{a\: ,\: b\}[/tex]


۶) و در نهایت در قلم اضافه‌ شده‌ی [tex]A\: \longrightarrow\: .Aa\: ,\: \{a\}[/tex] ،چونکه نقطه قبل از متغیر A اومده،بایستی A رو گسترش بدیم و مجموعه پیش‌گویی(lookahead) آن برابر [tex]first(aa)[/tex] یعنی [tex]\{a\}[/tex] خواهد شد.پس قلم‌های زیر هم بایستی به بستار اضافه بشه،ولی چون قبلا اضافه شده،پس دیگه نیازی به نوشتن آن نیست:

[tex]A\: \longrightarrow\: .BA\: ,\: \{a\}[/tex]

[tex]A\: \longrightarrow\: .a\: ,\: \{a\}[/tex]

[tex]A\: \longrightarrow\: .Aa\: ,\: \{a\}[/tex]

--------------------------------------------------------------------------------------------------


در نهایت بستار [tex]S\: \longrightarrow\: .AB\: ,\: \{\: \$\: \}[/tex] برابر قلم‌‌های زیر خواهد شد:
[tex]S\: \longrightarrow\: .AB\: ,\: \{\: \$\: \}[/tex]

[tex]A\: \longrightarrow\: .BA\: ,\: \{b\}[/tex]

[tex]A\: \longrightarrow\: .a\: ,\: \{b\}[/tex]

[tex]A\: \longrightarrow\: .Aa\: ,\: \{b\}[/tex]

[tex]B\: \longrightarrow\: .bB\: , \{a\: ,\: b\}[/tex]

[tex]A\: \longrightarrow\: .BA\: ,\: \{a\}[/tex]

[tex]A\: \longrightarrow\: .a\: ,\: \{a\}[/tex]

[tex]A\: \longrightarrow\: .Aa\: ,\: \{a\}[/tex]


که اگه خلاصش کنیم،جواب نهایی برابر میشه با:


[tex]S\: \longrightarrow\: .AB\: ,\: \{\: \$\: \}[/tex]

[tex]A\: \longrightarrow\: .BA\: ,\: \{a\: ,\: b\}[/tex]

[tex]A\: \longrightarrow\: .a\: ,\: \{a\: ,\: b\}[/tex]

[tex]A\: \longrightarrow\: .Aa\: ,\: \{a\: ,\: b\}[/tex]

[tex]B\: \longrightarrow\: .bB\: , \{a\: ,\: b\}[/tex]

نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  درخواست ارائه تکمیل ظرفیت دکتری نیمسال دوم دانشگاه ازاد alireza6660 ۱ ۴,۲۴۷ ۱۷ بهمن ۱۳۹۹ ۱۱:۵۲ ب.ظ
آخرین ارسال: hmaryam567
Smile فروش کتابهای دست دوم و ارزان آمادگی ارشد انفورماتیک پزشکی qizilbash ۱ ۴,۶۲۳ ۲۸ آبان ۱۳۹۹ ۱۱:۳۴ ب.ظ
آخرین ارسال: zeilabi69
  رفع اشکال نصب جاوا، مشکل ساخته نشدن virtual machine shiivaa ۱۲ ۲۱,۰۳۱ ۱۹ آبان ۱۳۹۹ ۰۷:۲۹ ب.ظ
آخرین ارسال: wanted471
Sad مشکل در برنامه نویسی شیء گرا Xialu ۰ ۲,۳۲۸ ۰۵ شهریور ۱۳۹۹ ۱۲:۰۰ ب.ظ
آخرین ارسال: Xialu
  مشکل در حل تست ۲۲ فصل اول کتاب گسسته یوسفی pure.yaser ۷ ۹,۴۹۰ ۰۹ اردیبهشت ۱۳۹۹ ۰۶:۵۴ ب.ظ
آخرین ارسال: mohsentafresh
  خرید کتابهای دست دوم پوران پژوهش همه دروس ارشد فناوری اطلاعات sherwod7 ۳ ۵,۷۹۰ ۲۱ دى ۱۳۹۸ ۰۸:۱۶ ب.ظ
آخرین ارسال: roxana.r
  درج عبارت "نوبت دوم" در مدرک دکتری siiib70 ۳ ۴,۱۷۲ ۲۸ مهر ۱۳۹۸ ۰۲:۵۰ ق.ظ
آخرین ارسال: marvelous
  فروش کتابهای انفورماتیک پزشکی دست دوم sahar bano ۶ ۶,۸۸۰ ۱۶ خرداد ۱۳۹۸ ۰۲:۲۱ ب.ظ
آخرین ارسال: parya67
  مشکل عدم ایجاد پروژه/فایل جدید در نت بینز αɾια ۳ ۱۱,۳۹۵ ۲۰ اردیبهشت ۱۳۹۸ ۰۳:۳۴ ب.ظ
آخرین ارسال: Silver1992
Question مشکل با درک توابع دنباله دار و مولد ؟؟؟؟ radar ۰ ۲,۷۴۴ ۱۶ دى ۱۳۹۷ ۰۴:۳۶ ب.ظ
آخرین ارسال: radar

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close