![]() |
LL1 بودن یک جدول بدون استفاده از جدول - نسخهی قابل چاپ |
LL1 بودن یک جدول بدون استفاده از جدول - Talnetir - 21 دى ۱۳۹۲ ۰۳:۲۴ ق.ظ
سلام گرامر زیر رو من دارم و بدون جدول میخواهم ببینم آیا LL1 هست یا خیر پاسخ رو دارم و LL1 نیست اما طبق قانون ۱ و ۲ این LL1 هست اما ظاهرا من اشتباه محاسبه میکنم امکان داره کسی کمک کنه ![]() چطور حساب شده که اشتراک دار شده این مجموعه که گفتن ll1 نیست ظاهرا تو قاعده شماره ۳ مشکل هست . stm-->ifstm stm-->other ifstm-->if exp then stm T T-->landa T-->else stm exp-->else exp-->true |
RE: LL1 بودن یک جدول بدون استفاده از جدول - AEM4949 - 21 دى ۱۳۹۲ ۰۳:۴۰ ق.ظ
(۲۱ دى ۱۳۹۲ ۰۳:۲۴ ق.ظ)Talnetir نوشته شده توسط: سلام واضحه که گرامر LL1 نیست. غیر ترمینال T مشکل داره. تداخل:[tex]First/Follow[/tex] |
RE: LL1 بودن یک جدول بدون استفاده از جدول - Talnetir - 21 دى ۱۳۹۲ ۰۳:۵۳ ق.ظ
(۲۱ دى ۱۳۹۲ ۰۳:۴۰ ق.ظ)aem4949 نوشته شده توسط:دقیقا درسته طبق قانون که فرمودید این قضیه تائید میشه و LL1 نیست اما میشه یک مثال رو برام شرح بدید؟(21 دى ۱۳۹۲ ۰۳:۲۴ ق.ظ)Talnetir نوشته شده توسط: سلام همین تداخل رو بازش کنید اگر ممکنه که بفهمم دقیقا چی شده چون طبق اثبات خودم چون غیرپایانه T به سمت لاندا رفته پس follow(ifstm) با first(stm) نباید اشتراک داشته باشند و ندارند . پس چطور دارای اشتارک شدند و LL1 نیست؟ ۲- این خط کامل در نظر گرفته میشه یا شامل چند قانون میشه؟ برای همین ممکنه یک بار حساب بشه قاعده ۳ تا متوجه بشسم مرسی ifstm-->if exp then stm T |
RE: LL1 بودن یک جدول بدون استفاده از جدول - Talnetir - 21 دى ۱۳۹۲ ۱۱:۴۴ ق.ظ
متاسفانه موفق نشدم بفهمم چطوری ![]() |
RE: LL1 بودن یک جدول بدون استفاده از جدول - misagh01 - 21 دى ۱۳۹۲ ۱۲:۲۶ ب.ظ
(۲۱ دى ۱۳۹۲ ۱۱:۴۴ ق.ظ)Talnetir نوشته شده توسط: متاسفانه موفق نشدم بفهمم چطوری سلام در قاعده پنجمFollow T را باید به دست بیاریم که با توجه به قاعده سوم مساوی میشه با فولو ifstm و فولو ifstm هم مساوی با فولو stm هست و باز هم با توجه به قاعده سوم فولو stm برابره با فرست T، پس فولو T برابره با فرست خودش که نشون میده شرایط قانون شماره دو LL1 بودن را ندارد. ![]() |
RE: LL1 بودن یک جدول بدون استفاده از جدول - Talnetir - 21 دى ۱۳۹۲ ۱۲:۴۴ ب.ظ
(۲۱ دى ۱۳۹۲ ۱۲:۲۶ ب.ظ)misagh01 نوشته شده توسط:(21 دى ۱۳۹۲ ۱۱:۴۴ ق.ظ)Talnetir نوشته شده توسط: متاسفانه موفق نشدم بفهمم چطوری ممنون که پاسخ دادی ببینید برای محاسبه فالو این قانون رو داریم A-->BCD D-->landa اون وقت تمام عناصر فالو A رو داخل فالو C منتقل کن. الان در ifstm-->if exp then stm T چون T به سمت لاندا میره تمام نپعناصر فالو ifstm را به stm منتقل میکنیم درسته؟ |
RE: LL1 بودن یک جدول بدون استفاده از جدول - AEM4949 - 21 دى ۱۳۹۲ ۰۱:۲۳ ب.ظ
(۲۱ دى ۱۳۹۲ ۱۲:۴۴ ب.ظ)Talnetir نوشته شده توسط:(21 دى ۱۳۹۲ ۱۲:۲۶ ب.ظ)misagh01 نوشته شده توسط:(21 دى ۱۳۹۲ ۱۱:۴۴ ق.ظ)Talnetir نوشته شده توسط: متاسفانه موفق نشدم بفهمم چطوری بله ، کاملا درسته. فالوی ifstm شامل فالوی stm هست.فالوی stm برابر هست با: $ , else که واضح تداخل داریم.یعنی else بین first و follow مشترک هست. |
RE: LL1 بودن یک جدول بدون استفاده از جدول - Talnetir - 21 دى ۱۳۹۲ ۰۱:۴۵ ب.ظ
(۲۱ دى ۱۳۹۲ ۰۱:۲۳ ب.ظ)aem4949 نوشته شده توسط:ممنون از پاسخت(21 دى ۱۳۹۲ ۱۲:۴۴ ب.ظ)Talnetir نوشته شده توسط:(21 دى ۱۳۹۲ ۱۲:۲۶ ب.ظ)misagh01 نوشته شده توسط:(21 دى ۱۳۹۲ ۱۱:۴۴ ق.ظ)Talnetir نوشته شده توسط: متاسفانه موفق نشدم بفهمم چطوری طبق قانون follow ifstm نباید با first stm اشتراک داشته باشد.که ندارد follow ifstm هست $ ,else و first stm هست other, if |
RE: LL1 بودن یک جدول بدون استفاده از جدول - misagh01 - 21 دى ۱۳۹۲ ۰۳:۳۳ ب.ظ
(۲۱ دى ۱۳۹۲ ۱۲:۴۴ ب.ظ)Talnetir نوشته شده توسط:بله درسته. منظورم این بود که در قاعده ۳ چون stm درست قبل از T اومده فولو stm برابرست با فرست T چون فولو T برابر با فولو stm هست پس فولو T با فرست آلفا در [tex]T \rightarrow \alpha[/tex] اشتراک دارد.(21 دى ۱۳۹۲ ۱۲:۲۶ ب.ظ)misagh01 نوشته شده توسط:(21 دى ۱۳۹۲ ۱۱:۴۴ ق.ظ)Talnetir نوشته شده توسط: متاسفانه موفق نشدم بفهمم چطوری |
RE: LL1 بودن یک جدول بدون استفاده از جدول - Talnetir - 21 دى ۱۳۹۲ ۱۱:۲۲ ب.ظ
سلام ببخشید من خوب نفهمیدم میشه توضیح بدهید؟ اشتراکشون با else هست یا لاندا؟ |
RE: LL1 بودن یک جدول بدون استفاده از جدول - AEM4949 - 22 دى ۱۳۹۲ ۱۲:۰۰ ق.ظ
تداخل روی پایانه else هست ، به عبارتی داریم: [tex]first(else stm)={else}[/tex] [tex]follow(T)={else}[/tex] پس else باعث تداخل شده. |
RE: LL1 بودن یک جدول بدون استفاده از جدول - Talnetir - 22 دى ۱۳۹۲ ۰۱:۰۰ ق.ظ
(۲۲ دى ۱۳۹۲ ۱۲:۰۰ ق.ظ)aem4949 نوشته شده توسط: تداخل روی پایانه else هست ، به عبارتی داریم:سلام A-->BCD D-->landa اون وقت تمام عناصر فالو A رو داخل فالو C منتقل کن. الان در ifstm-->if exp then stm T وقتی T به سمت لاندا رفته ما تمام عناصر ifstm رو میریزیم داخل stm حالا برای چک کردن نباید follow (ifstm) با first(stm) اشتراک داشته باشد. اما شما از کدام قانون رفتید که follow T با first T رو مقایسه کردید؟ ممنون |
RE: LL1 بودن یک جدول بدون استفاده از جدول - AEM4949 - 22 دى ۱۳۹۲ ۰۱:۳۸ ق.ظ
(۲۲ دى ۱۳۹۲ ۰۱:۰۰ ق.ظ)Talnetir نوشته شده توسط:(22 دى ۱۳۹۲ ۱۲:۰۰ ق.ظ)aem4949 نوشته شده توسط: تداخل روی پایانه else هست ، به عبارتی داریم:سلام ببخشید اشتباه تایپی بود اصلاح شد. ![]() |
RE: LL1 بودن یک جدول بدون استفاده از جدول - Talnetir - 22 دى ۱۳۹۲ ۰۲:۱۷ ق.ظ
دوست عزیز من قاطی کردم رفت ![]() elsestm کجا هست ؟ وقتی T به سمت لاندا رفته ما باید follow(ifstm) رو با first(stm) اشتراک بگیریم نه T ![]() |
RE: LL1 بودن یک جدول بدون استفاده از جدول - Talnetir - 22 دى ۱۳۹۲ ۰۸:۳۸ ب.ظ
آقا بعد از چند روز متوجه شدم دمتون گرم مرسی |