تالار گفتمان مانشت
گرامر LL(K) - نسخه‌ی قابل چاپ

گرامر LL(K) - zr2358 - 23 بهمن ۱۳۸۹ ۰۱:۵۶ ب.ظ

گرامر زیر را در نظر بگیرید:
S--->bbCd|bbc
C--->cC|c
به ازای چه مقدار K گرامر بالا LL(K) است؟
۱
۲
۳
۴

جواب رو گفته میشه ۲
چرا؟ آخه با دیدن ۲ تا حرف در S که نمیتونیم تشخیص بدیم از کدوم گرامر باید استفاده کنیم (اول هر دو قواعد bb است که).
تازه بعد از دو تا b هم در هر دو c داریم Huh

میشه راهنماییم کنید؟

RE: گرامر LL(K) - saeidm - 23 بهمن ۱۳۸۹ ۰۲:۱۲ ب.ظ

بیبین‌، مثلا اگه چنین قانونی داشه باشیم:
s-->aC|ab
C-->b
این گرامر LL2 نیست چون ما دوتا کاراکتر را باید برای first درنظر بگیریم. حالا به گرامر زیر دقت کن:
s-->aC|a
C-->landa|b
به نظر من این گرامر هم LL2 نیست. ولی اگه لاندا نبود اونوقتLL2 میشد


گرامر LL(K) - zr2358 - 23 بهمن ۱۳۸۹ ۰۲:۱۵ ب.ظ

خب گرامری که نوشته‌ام چرا LL(2) است؟؟؟؟

RE: گرامر LL(K) - saeidm - 23 بهمن ۱۳۸۹ ۰۲:۳۲ ب.ظ

(۲۳ بهمن ۱۳۸۹ ۰۲:۱۵ ب.ظ)zr2358 نوشته شده توسط:  خب گرامری که نوشته‌ام چرا LL(2) است؟؟؟؟

شما به جای C یا میتونی bb بزاری یا bbc . یعنی باید first(cC) را باید حساب کنی اگه تو این گرامرk=2 باشه first(cC) میشه cb که مخالف a است