تشخیص LL1 بودن - نسخهی قابل چاپ |
تشخیص LL1 بودن - hosshah - 28 دى ۱۳۹۲ ۰۹:۳۷ ب.ظ
سلام دوستان در مورد سوال زیر من بحثی روی این که گزینه درست کدومه ندارم گزینه درست ۲ اعلام شده یعنی این گرامر [tex]LL(1)[/tex] هست!!! [tex]First(dD)=\{d\}[/tex] [tex]First(A)=\{a\} Follow(A)[/tex] [tex]Follow(A)= First(B)[/tex] [tex]First(B)=\{b,d\}[/tex] خب پس معلوم میشه دو تا قاعده [tex]D\rightarrow dD|A[/tex] دارای First یکسان هستن پس تداخل First-First دارن خب صد در صد LL1 نیست دیگه نظر شما چیه؟مرسی |
RE: تشخیص LL1 بودن - azad_ahmadi - 29 دى ۱۳۹۲ ۱۲:۱۹ ق.ظ
سلام. اشتباه محاسبه میکنید. دوباره عملیات رو انجام بدید با دقت بیشتر، اگر باز درست در نیومد توضیح میدم. |
RE: تشخیص LL1 بودن - tabassomesayna - 29 دى ۱۳۹۲ ۱۲:۳۶ ق.ظ
سلام روش بدست آوردن first: [tex]first(\alpha )={Terminals,\varepsilon }=(a|\alpha \mapsto ^* a\beta )[/tex] به طور خلاصه فرست آلفا یعنی تمامی پایانه هایی که با الفا از صفر گام یا بیشتر بهشون می رسیم. الان در اینجا فرست A میشه :a , لاندا که اشتراکش با d میشه تهی |
RE: تشخیص LL1 بودن - hosshah - 29 دى ۱۳۹۲ ۰۱:۱۱ ق.ظ
(۲۹ دى ۱۳۹۲ ۱۲:۱۹ ق.ظ)azad_ahmadi نوشته شده توسط: سلام. سلام مرسی از پاسختون اشتباهم مثله اینکه در محاسبه [tex]Follow(A)[/tex] هست فکر کنم اینجا داریم [tex]Follow(A)=Follow(D)= First(E)[/tex] درست میگم یا بازم اشتباهه؟ (۲۹ دى ۱۳۹۲ ۱۲:۳۶ ق.ظ)tabassomesayna نوشته شده توسط: سلام ممنونم. اینقدر درگیر First و Follow شدم که دیگه گیج میزنم |