با سلام
آیا این گرامر (1)LR است؟
S--->S+S|a
روش تستی---چون برای a+a+a دو درخت اشتقاق داریم ، گرامر مبهم بوده و LR نیست.
روش وقت گیر---طبق ماشین حالات هیچ تداخلی نداریم ، پس LR است.
کدوم روش رو انتخاب کنیم؟
دوستان نظرشون رو بگن.
گرامر مبهم نمیتونه LR باشه و این گرامر چون مبهمه پس LR نیست
(29 شهریور 1392 11:14 ب.ظ)mfXpert نوشته شده توسط: [ -> ]گرامر مبهم نمیتونه LR باشه و این گرامر چون مبهمه پس LR نیست
یعنی جمله زیر تایید میشه؟:
اگر گرامری lR باشد(بنا به ترسیم جدول آن) و در عین حال مبهم هم باشد ، lR نیست.
سلام.
این گرامر مبهم است.
برای a+a+a دو اشتقاق چپ بصورت زیر رو میتونیم بدست بیاریم:
[tex]S\rightarrow S S \Rightarrow a S\Rightarrow a S S\Rightarrow a a a[/tex]
یا
[tex]S\rightarrow S S \Rightarrow S S S\Rightarrow a a a[/tex]
و با این نکته که هر گرامر مبهمی را نمیتوان با روشهای تجزیه، تجزیه کرد پس می فهمیم این گرامر LR نیست.
روش دوم روش حل اون و کشیدن حالات محتلف هست و اینکه بعد از حالات جدول کشیده بشه و باید پیدا کرد که تو کدوم یک از مدخل ها تداخل وجود داره. که البته روش پرهزینه و زمانبری هست.
بهتره قبل از حل این چنین سوالاتی از مبهم بودن یا نبودنش اطمینان حاصل کنید.
(30 شهریور 1392 10:08 ب.ظ)aem4949 نوشته شده توسط: [ -> ] (29 شهریور 1392 11:14 ب.ظ)mfXpert نوشته شده توسط: [ -> ]گرامر مبهم نمیتونه LR باشه و این گرامر چون مبهمه پس LR نیست
یعنی جمله زیر تایید میشه؟:
اگر گرامری lR باشد(بنا به ترسیم جدول آن) و در عین حال مبهم هم باشد ، lR نیست.
مبهم بودن گرامر با تجزیه پذیر بودن توسط هر پارسری منافات دارد
در صورتی که رفع ابهام شود، میتوان اون رو تجزیه کرد.
در کل بنظرم جمله ای که نوشتید درست نیست، چراکه اگه LR باشد، اصولا نباید مبهم باشد.
دوست عزیز اگه بیاین آیتم ها رو بدست بیارین میبینین که در مرحله سوم با دیدن s به دو آیتم میتواند شیفت یابد پ(1)LR نیست.