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

نسخه‌ی کامل: تشخیص مجموعه پیش بینی درLR
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
میشه دوستان راهنمایی کنند!!!
مجموعه پیش بینی که واسه LR 1 در نظر میگیریم رو چه حسابی انتخاب میشه(بجز اینکه زیر مجموعه Follow باشه )
یعنی تو مراحل بعدی چطور باهاش برخورد میشه(کم و زیاد شدن ترمینال‌ها )
من کتاب آل شیخ رو میخونم میدونم زیاد غلط داره ولی این یکیو دیگه هربار یه طور فکر کرده و جواب داده!!!Huh
look ahead اینطوری بدست میارن
{A --> a.Bc {d
B --> . X
یعنی وقتی نقطه پشت یه ناپایانه قرار بگیره در اینصورت look ahead عضو (first( cd یعنی first اونائی که بعد از ناپایانه اومدن با look ahead جاری می ذاریم کنار هم

اگر هم گرامر به شکل A--> . Aa بود یعنی وضعیت بازگشتی داشت first a حساب میکنیم به مجموعه پیش بینی اضافه میکنیم
البته روش فرمولی همیشه جواب نمیده بهترین راه فهمیدن فلسفه مجموعه پیش بینی هست
مثلا اگر ما گرامری مثل
$ S --> .E=E
E -->E+i
داشته باشیم یعنی پارسر انتظار داره بعد از E دوم علامت $ ببینه میدانیم = جزو مجموعه هست حالا اگر قاعده دوم هم بذاریم میشه S --> . E + i = E
پس پارسر انتظار داره در طی مراحل تجزیه علامت + هم ببینه پس + هم به مجموعه اضافه میشه یعنی میشه + و =
رو چه حسابی این رو گفتید اونوقت ؟ ببنید اگر گرامر پاستوریزه باشه Big Grin یعنی مشکلی تو چپ گردی و ابهام نداشته باشه موردی نداره میشه از فرمولی که در مجموعه پیش بینی مطرح شده جلو رفت و ایتم‌ها رو اضا فه کرد یعنی کلا مدیریت کرد ولی سوال اساسی اینجاست
ایا هر گرامری که چپ گردی داشته باشد مبهم است ؟
سوال دوم برای گرامر های که چپ گردی دارند چگونه عمل می شود در پارسر های LR ؟
(03 دى 1389 05:37 ب.ظ)لهمشد نوشته شده توسط: [ -> ]رو چه حسابی این رو گفتید اونوقت ؟ ببنید اگر گرامر پاستوریزه باشه Big Grin یعنی مشکلی تو چپ گردی و ابهام نداشته باشه موردی نداره میشه از فرمولی که در مجموعه پیش بینی مطرح شده جلو رفت و ایتم‌ها رو اضا فه کرد یعنی کلا مدیریت کرد ولی سوال اساسی اینجاست
ایا هر گرامری که چپ گردی داشته باشد مبهم است ؟
سوال دوم برای گرامر های که چپ گردی دارند چگونه عمل می شود در پارسر های LR ؟
هرگرامری که چپ گردی داشته باشه که مبهم نیست مثلا اینو ببینید
S --> Aa | Sc
A-->Ad | Sb
اگر چپ گردیشو رفع کنیم می بینیم که مبهم نیست
S --> Aa | Sc
A-->SbK
K-->AdK|ep
(منظور از ep همون اپسیلون هست)
گرامرهائی که چب گردی دارند( اشکار یا ضمنی یا فاکتور سمت چپ) برای پارسرهای ll مشکل درست میکنند نه lr چون باعث میشه first قوانینشون با هم اشتراک پیدا کنند
میشه برخی از جدول پارسرهای گرامرهای مبهم دستکاری کرد و براشون پارسر ll درست کرد مثل else سرگردان یا اولویت گذاری برای + و * همچنان که گرامر مبهم باشه ولی پارسر رفع ابهام میشه
(03 دى 1389 05:37 ب.ظ)لهمشد نوشته شده توسط: [ -> ]رو چه حسابی این رو گفتید اونوقت ؟ ببنید اگر گرامر پاستوریزه باشه Big Grin یعنی مشکلی تو چپ گردی و ابهام نداشته باشه موردی نداره میشه از فرمولی که در مجموعه پیش بینی مطرح شده جلو رفت و ایتم‌ها رو اضا فه کرد یعنی کلا مدیریت کرد
به نظر شما گرامرهائی که چپ گردی دارند بخوایم مجموعه پیش بینی شونو پیدا کنیم باید اول انها را رفع چپ گردی هم کنیم؟
بله گرامرهای دارای چپ‍گردی رو باید ابتدا تبدیل به گرامرهای بدون چپ‍گردی کرد. در صورت انجام این کار مجموعه پیش‍بینی به سادگی قابل حصول خواهد بود.
لینک مرجع