(۲۵ فروردین ۱۳۹۶ ۰۸:۴۱ ب.ظ)arash691 نوشته شده توسط: (25 فروردین ۱۳۹۶ ۰۱:۳۱ ب.ظ)*ahoo نوشته شده توسط: (24 فروردین ۱۳۹۶ ۰۹:۵۶ ب.ظ)arash691 نوشته شده توسط: (24 فروردین ۱۳۹۶ ۰۸:۴۷ ب.ظ)*ahoo نوشته شده توسط: سلام دوستان
لطفا این سوال رو راهنمایی کنید
چرا میشه گزینه۲؟
در مورد ۴ ام شرط first/follow نقض شده پس LL(1) نیست ، به گرامر زیر دقت کنید :
S\longrightarrowaAb
A\longrightarrowa|B
B\longrightarrowb|λ
α=B,β=a
first(B)∩first(a)=∅
first(a)∩follow(A)={a}∩{b}=∅
first(A)∩follow(A)={a,b}∩{b}={b}≠∅
توی کتاب شاپوری شرط LL1 بودن رو اینجوری نوشته
اینجا کهچیزی درمورد first(A) و follow(A) نگفته
اگه دقت کنید تو همون عکسی که فرستادین پایین نوشته اگه تعداد قاعده بیشتر از دوتا باشه باید برای همه قاعده شرط first/follow بررسی بشه تو سوال ما یکبار first/follow و برای یکی از قاعده ها بررسی کردیم ولی در اصل باید برای همه ی قاعده ها درنظر بگیرم چون یکی از انها شرط first/follow و نقض کرده پس LL1 نیست ، شرط first/follow هم مورد دومی هست که تو عکس گفته شده !
سلام
دوست گرامی جسارتا من هم متوجه توضیحات شما نمیشم
در کل برای بررسی برخورد ها ی fi/fi و fi/fo برای متغیر های که بیش از یک قاعده تولید دارند را بررسی می کنیم دقیقا مثل تصویری که گذاشته شده.
در اینجا هم برای A داریم
A⟶α∣β
یکی بررسی برخورد
first(α) با
first(β)
و چون از
α می توانیم
λ را مشتق کنیم پس باید برخورد
first(β) با
follow(A) را هم بررسی کنیم.و تمام اینکه مورد چهارم بیان شده در سوال مخالف تهی است دلیلی بر وجود برخورد در گرامر نیست در واقع هر برخورد fi/fo را لازم نیست بررسی کنیم. وبرای بررسی LL بودن باید سایر قواعد را هم بررسی کنیم.
اگر غیر این است لطفا توضیح بفرمایید.