تالار گفتمان مانشت

نسخه‌ی کامل: بررسی LL1 و ابهام گرامر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان در LL1 بودن گرامر مشکلی وجود ندارد اما یه چیزیزو متوجه نمیشم جواب نوشته گزینه یک یعنی LL1 هست و مبهم نیست اما من رشته afa از همین گرامر به دو روش به دست آوردم پس مبهمه ! چرا اینجا گزیه یک درسته؟
گزینه 1 درسته این گرامر LL1 هست و غیر مبهم گزینه 2 که همون اول حذف چون گرامر اگر مبهم باشه که LL1 نمی تونه باشه بعدشم به دو شکل به دست اوردن چطوری به دو شکل به دست اوردید؟

گرامری مبهم که براش بشه یه رشته را با دو اشتقاق چپ دقت کنید اشتقاق چپ یعنی هر بار چپ ترین متغیر جایگزین بشه
یا دو اشتقاق سمت راست یعنی هر بار سمت راست ترین جایگزین بشه
یا دو درخت اشتقاق متفاوت بشه کشید
میشه مبهم حالا این رشته که گفتید چطوری با این 3 روش میشه به دو شکل ایجاد کرد؟ با هیچ کدوم نمیشه گرارمر هم LL1 هست و مبهم هم نیست
شما همین 3 تا اصل چک کردن گرامر LL1 بودن برای C چک کنید هیچ کدوم نقضش نمی کنه
موفق باشید.
(03 دى 1393 01:02 ب.ظ)Hamid_0311 نوشته شده توسط: [ -> ]گزینه ۱ درسته این گرامر LL1 هست و غیر مبهم گزینه ۲ که همون اول حذف چون گرامر اگر مبهم باشه که LL1 نمی تونه باشه بعدشم به دو شکل به دست اوردن چطوری به دو شکل به دست اوردید؟

گرامری مبهم که براش بشه یه رشته را با دو اشتقاق چپ دقت کنید اشتقاق چپ یعنی هر بار چپ ترین متغیر جایگزین بشه
یا دو اشتقاق سمت راست یعنی هر بار سمت راست ترین جایگزین بشه
یا دو درخت اشتقاق متفاوت بشه کشید
میشه مبهم حالا این رشته که گفتید چطوری با این ۳ روش میشه به دو شکل ایجاد کرد؟ با هیچ کدوم نمیشه گرارمر هم LL1 هست و مبهم هم نیست
شما همین ۳ تا اصل چک کردن گرامر LL1 بودن برای C چک کنید هیچ کدوم نقضش نمی کنه
موفق باشید.

الان این توضیحاتی که دادید مشکلم حل شد من فکر می کردم هرجوری ، حالا فرقی نمی کنه اشتقاق هر دو باید سمت راست یا چپ باشه فقط با دو اشتقاق متفاوت به رشته برسی.

[tex]A=>BC\: =>BfA=>BfBC=>afa[/tex]
[tex]A=>BC\: =>aC=>afA=>afBC=>afa[/tex]

درست متوجه شدم؟
نخیر اینطوری که هر جوری بهش برسیم غلطه یا باید با اشتقاق چپ باشه یعنی یک رشته را با دو اشتقاق سمت چپ بسه به دست اورد نه یکی راست یکی چپ هر دو باید سمت چپ باشه یا هر دو سمت راست باشه یا دو درخت متفاوت نه که هر دفعه هر کدوم دوست داشتین جایگزین کنید این دوتای که نوشتین درست نیست موفق باشید.
لینک مرجع