۰
subtitle
با سلام دوست عزیز ببینید برای چک کردن LL1 بودن لازم نیست همیشه جدول بکشید کافیه فقط قانونی های که این طوری ۲ تا ی هستن یا چند تای هستن را چک کنید یعنی از یک متغییر ۲ یا بیشتر قانون وجود داره مثلا توی این سوال ۳ تا متغیر سمت چپ هر کدوم ۲ تا قانون تولید می کنن خوب برای یکشون اگر یک سری شرط نقض بشه دیگه LL1 نیست و لازم نیست بقیه چک بشن ولی توی این سوال میگه چند تا قانون این طوری هست که LL1 بودن نقض می کنه
خوب باید چیارو چک کنیم این طوری مثلا شکل قانونا اینطوری هست
s-> A| B
۱ . first A اشتراکش با first B = تهی باشه
۲/ حداکثر یکی از قوانین A یا B لاندا را تولید کنن
(دقت کنید اگر هیچ کدوم لاندا را تولید نکنن شرط دوم و سوم لازم نیست چک بشه )
۳/ فرض کنیم B لاندا را تولید می کنه باید
first A اشتراکش با follow S = تهی باشه
خوب توی این سوال ۲ تا قانون اول
first (ABBd) اشتراکش با first (لاندا) = تهی
first (ABBd) اشتراکش با follow (S) = تهی
پس این ۲ تا قانون مشکلی ایجاد نمی کنن
میریم سراغ بعدیا همین طوری چک کنید
جواب گزینه
۲ میشه یعنی یک چفت و اونم جفت اخر هست موفق باشید.
خوب باید چیارو چک کنیم این طوری مثلا شکل قانونا اینطوری هست
s-> A| B
۱ . first A اشتراکش با first B = تهی باشه
۲/ حداکثر یکی از قوانین A یا B لاندا را تولید کنن
(دقت کنید اگر هیچ کدوم لاندا را تولید نکنن شرط دوم و سوم لازم نیست چک بشه )
۳/ فرض کنیم B لاندا را تولید می کنه باید
first A اشتراکش با follow S = تهی باشه
خوب توی این سوال ۲ تا قانون اول
first (ABBd) اشتراکش با first (لاندا) = تهی
first (ABBd) اشتراکش با follow (S) = تهی
پس این ۲ تا قانون مشکلی ایجاد نمی کنن
میریم سراغ بعدیا همین طوری چک کنید
جواب گزینه
۲ میشه یعنی یک چفت و اونم جفت اخر هست موفق باشید.