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