View Full Version : حذف لاندا در نرمال سازی گرامر ها به خاطر چیه؟
sajjad951
سه شنبه 25 دی 1386, 16:30 عصر
حذف لاندا در نرمال سازی گرامر ها به خاطر چیه؟:لبخندساده:
whitehat
سه شنبه 25 دی 1386, 17:34 عصر
این مورد هم به دلیل مشکلاتی است که در پیاده سازی پارسرهای پایین به بالا ایجاد می کند ، حذف می شود. چون هم باعث حلقه نامتناهی می شود و هم تداخل ایجاد می کند
بمب منطقی
سه شنبه 25 دی 1386, 23:57 عصر
میشه با یه مثال بگین که پارسر پائین به بالا چجوری مشکل ساز میشه؟
sajjad951
چهارشنبه 26 دی 1386, 11:41 صبح
با تشکر از whitehat اگه با یه مثال توضیح بدین خیلی کمک می کنه
whitehat
چهارشنبه 26 دی 1386, 20:18 عصر
الان برای مثال زدن حضور ذهن ندارم :(
سعی کنید مجموعه first و fallow را خودتان بسازید و یک نمودار SLR بنویسید.
البته این نکته را توجه داشته باشید در این مورد یک استثنا وجود دارد و آن رشته هایی است که لاندا را تولید می کنند و باید یک قانون جمله شروع به لاندا وجود داشته باشد
BOB
سه شنبه 02 بهمن 1386, 02:21 صبح
سلام
در پارسرهای پایین به بالا (Bottom-Up) در واقع هدف، تولید گراف پارس از روی رشته مورد نظر و رسیدن به سرترم گرامر است.
این پروسه بر اساس کاهش متوالی رشته مورد تحلیل با استفاده از قوانین موجود در گرامر طرح شده و در نهایت این کاهشها به رسیدن به سرترم گرامر منجر میشوند(پارس موفقیت آمیز)
قاعده لامبدا در یک گرامر میبایست فقط از طریق سرترم قابل دسترس بوده و وجود آن در هر یک از دیگر قوانین به این معنی است که برای تولید یک رشته منحصر به فرد ،بتوان روشهای متفاوتی با قوانین متفاوت ارائه کرد.
خود این مسئله به تنهایی باعث ابهام گرامر میشود، اما خصوصا در مورد پارسرهای پایین به بالا سبب تولید حلقه بینهایت هم میشود. زیرا میتوان رشته مورد نظر را به شکل، ( رشته X + بینهایت لامبدا = رشته X ) در نظر گرفت که در این صورت هر کدام از لامبداها معرف یک قانون از گرامر بوده و میتوان آنها را پردازش نمود. (در واقع دلیلی برا عدم پردازش آنها وجود ندارد)
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.