۱
subtitle
ارسال: #۱
تشخیص LL(1)
گرامر G مفروض است کدام گزینه صحیح میباشد؟
۱- LL(1) است
۲- LL(1) نیست و با حذف قاعده B→aA گرامر LL(1) میشود.
۳- LL(1) نیست و با حذف قاعده C→λ گرامر LL(1) میشود.
۴- گزینه ۲و ۳
گرامر G:
A→aBC|BEe
B→Cc|aA
C→cA|b|λ
E→f|λ
میدونم که برای تشخیص این گرامر باید دو قاعده رو چک کنیم اول اینکه first سمت چپ هر قاعده باهم اشتراک نداشته باشند و دومی اگر در مجموعه first غیر ترمینالها لامبدا تولید بشه باید Follow اون رو بدست بیاریم.
در خط اول که برخورد First/First داریم
در خط سوم بایستی first(cA)⋂First(b)⋂Follow(C) بدست بیاریم
first(cA)⋂First(b)⋂Follow(C)={c}⋂{b}⋂{b,c,f,e,$}
اینجا چطوری بخش Follow رو بدست آورده؟
من فکر میکنم فقط c و $ باید باشه!
۱- LL(1) است
۲- LL(1) نیست و با حذف قاعده B→aA گرامر LL(1) میشود.
۳- LL(1) نیست و با حذف قاعده C→λ گرامر LL(1) میشود.
۴- گزینه ۲و ۳
گرامر G:
A→aBC|BEe
B→Cc|aA
C→cA|b|λ
E→f|λ
میدونم که برای تشخیص این گرامر باید دو قاعده رو چک کنیم اول اینکه first سمت چپ هر قاعده باهم اشتراک نداشته باشند و دومی اگر در مجموعه first غیر ترمینالها لامبدا تولید بشه باید Follow اون رو بدست بیاریم.
در خط اول که برخورد First/First داریم
در خط سوم بایستی first(cA)⋂First(b)⋂Follow(C) بدست بیاریم
first(cA)⋂First(b)⋂Follow(C)={c}⋂{b}⋂{b,c,f,e,$}
اینجا چطوری بخش Follow رو بدست آورده؟
من فکر میکنم فقط c و $ باید باشه!