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

نسخه‌ی کامل: روابط كامل بين انواع گرامر ها
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام

کلا چه روابطی (بصورت کامل )بین گرامرهای مبهم ، LL1 ، LL2 , LR0 , SLR , CLR1 , LALR1 وجود دارد؟

سپاس
من چنتا جمله می گم که امیدوارم به درد بخوره:
1- هیچ گرامر مبهمی نمیتونه LALR1 , CLR1 , SLR1 , LR0 , LL1 و LL2 باشه.
2-گرامرهای LLk زیرمجموعه LRk(یا همون CLRk) هستند
3-گرامرهای LR0 زیرمجموعه گرامرهای SLR1 هستند
4-گرامرهای SLR1 زیرمجموعه گرامرهای LALR1 هستند.
5-گرامرهای LALR1 زیرمجموعه گرامرهای CLR1 هستند
6-گرامرهای CLR1 زیرمجموعه گرامرهای CLRk هستند.

میتونی این جملات رو به صورت یه نمودار ون دربیاری که به خاطر سپردنش راحت‌تر بشه
بسیار متشکرم.
اینکه تحریر نموده‌اید که گرامرهای LR0 زیرمجموعه گرامرهای SLR1 هستند یعنی چی؟

بی نهایت سپاس از وقتی که می گذارید.
(19 خرداد 1390 10:59 ق.ظ)yaali نوشته شده توسط: [ -> ]بسیار متشکرم.
اینکه تحریر نموده‌اید که گرامرهای LR0 زیرمجموعه گرامرهای SLR1 هستند یعنی اگر گرامری SLR1 باشه LR0 هم هست ؟ یا اینکه عکس آن درسته ؟ عکس نقیض آن چی؟خواهشا به این سبک بنویسید که مثلا اگر فلان گرامر باشه اون یکی هم هست و اگر فلان گرامر نباشه اون یکی هم نیست.
راستش روش استنتاج از این زیرمجموعه بودن‌ها و قویتر و ضعیفتر بودن را هنوز کاملا ادراک نکرده ام.

بی نهایت سپاس از وقتی که می گذارید.
این یعنی اینکه اگر گرامری LR0 باشه حتما SLR1 هم هست ولی عکس این جمله صادق نیست.یعنی اگر گرامری SLR1 باشه لزوما LR0 نیست.
یعنی وقتی می گیم LR0 زیرمجموعه گرامرهای SLR1 هستند به این معنیه که اگر گرامری LR0 باشه حتما SLR1 هم هست و اگر گرامری SLR1 نباشه حتما LR0 نیست.
درسته؟


متشکرم.
(22 خرداد 1390 03:57 ب.ظ)yaali نوشته شده توسط: [ -> ]یعنی وقتی می گیم LR0 زیرمجموعه گرامرهای SLR1 هستند به این معنیه که اگر گرامری LR0 باشه حتما SLR1 هم هست و اگر گرامری SLR1 نباشه حتما LR0 نیست.
درسته؟


متشکرم.

بله
S -> aA | bB
A -> Cc | Dd
B -> Cd | Dc
C -> FE
D -> FH
E -> empty
F -> empty
H -> empty
این زبان LL1 هست اما LALR1 نیست.
.................................................................
سوالم اینه:
مگر نداریم:

LL(0) < LL(1) < LL(k)< LR(0) < SLR(1) < LALR(1) < LR(1) < LR(k)

مگه LL1 زیر مجموعه‌ی LALR1 نیست؟

اگه هست پس هر LL1‌ی باید LALR1 هم باشه !!!...؟؟؟

پس این مثال نقض چیه .....!؟
ممنونم
نتیجه گیری شما یعنی عبارت
LL(0) < LL(1) < LL(k)< LR(0) < SLR(1) < LALR(1) < LR(1) < LR(k
غلطه.از جملاتی که من در پست دوم نوشتم نمیشه چنین نتیجه ای گرفت.
(03 تير 1390 10:58 ق.ظ)mfXpert نوشته شده توسط: [ -> ]نتیجه گیری شما یعنی عبارت
LL(0) < LL(1) < LL(k)< LR(0) < SLR(1) < LALR(1) < LR(1) < LR(k
غلطه.از جملاتی که من در پست دوم نوشتم نمیشه چنین نتیجه ای گرفت.

حق با شماست.

....................................

پس هیچ رابطه ای بین LL با این سه تا‌: LALR و SLR و LR0 نداریم؟

ممنونم
آیا می توان گفت‌:
گرامر LL1‌ی که قاعده‌ی A-->epsilon نداشته باشه LR0 هست و در نتیجه SLR1 و LALR1 و CLR1 هم هست. ؟؟

سپاس
(03 تير 1390 01:15 ب.ظ)yaali نوشته شده توسط: [ -> ]
(03 تير 1390 10:58 ق.ظ)mfXpert نوشته شده توسط: [ -> ]نتیجه گیری شما یعنی عبارت
LL(0) < LL(1) < LL(k)< LR(0) < SLR(1) < LALR(1) < LR(1) < LR(k
غلطه.از جملاتی که من در پست دوم نوشتم نمیشه چنین نتیجه ای گرفت.

حق با شماست.

....................................

پس هیچ رابطه ای بین LL با این سه تا‌: LALR و SLR و LR0 نداریم؟

ممنونم
بله . در حالت کلی گرامرهای LLk زیرمجموعه‌ی گرامرهای LRk هستند.البته این طوری نیست که بگیم گرامرهای LL هیچ رابطه ای با گرامرهای LALR‌، SLR و LR0 ندارن چون رابطه زیر بین این گرامرها برقراره:
[tex]LL(0)\subset LR(0)\subset SLR(1)\subset LALR(1)\subset LR(1)[/tex]
(03 تير 1390 03:28 ب.ظ)yaali نوشته شده توسط: [ -> ]آیا می توان گفت‌:
گرامر LL1‌ی که قاعده‌ی A-->epsilon نداشته باشه LR0 هست و در نتیجه SLR1 و LALR1 و CLR1 هم هست. ؟؟

سپاس
مطمئن نیستم اما فکر نمی کنم چنین نتیجه گیری ای درست باشه
لینک مرجع