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

نسخه‌ی کامل: جدول تجزیه LL 1
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام خدمت همه دوستان
هموطور که می دونید توی جدول تجزیه LL 1 برای او غیر پایانه هایی که قانون [tex]\lambda[/tex] دارند، باید تو قسمت follow اون غیرپایانه در جدول تجزیه، [tex]\lambda[/tex] قرار بگیره.
سوال من اینه که برای اون غیر پایانه هایی که بطور غیر مستقیم هم به [tex]\lambda[/tex] ختم میشوند باید تو قسمت follow اونها هم [tex]\lambda[/tex] قرار بگیره یا قانون بالا فقط برای اون غیر پایانه هایی هست که بطور مستقیم به [tex]\lambda[/tex] ختم میشوند
مثلا گرامر زیر :

[tex]S\rightarrow (X|E]|F)[/tex]
[tex]X\rightarrow E)|F][/tex]
[tex]E\rightarrow A[/tex]
[tex]F\rightarrow A[/tex]
[tex]A\rightarrow \lambda[/tex]

الان توی این گرامر فقط به ازای ( follow(A باید [tex]\lambda[/tex] قرار بدیم ؟ یا برای follow های E ,F هم باید اینکا رو انجام داد؟
(28 آبان 1392 09:44 ب.ظ)tarane.68 نوشته شده توسط: [ -> ]سلام خدمت همه دوستان
هموطور که می دونید توی جدول تجزیه LL 1 برای او غیر پایانه هایی که قانون [tex]\lambda[/tex] دارند، باید تو قسمت follow اون غیرپایانه در جدول تجزیه، [tex]\lambda[/tex] قرار بگیره.
سوال من اینه که برای اون غیر پایانه هایی که بطور غیر مستقیم هم به [tex]\lambda[/tex] ختم میشوند باید تو قسمت follow اونها هم [tex]\lambda[/tex] قرار بگیره یا قانون بالا فقط برای اون غیر پایانه هایی هست که بطور مستقیم به [tex]\lambda[/tex] ختم میشوند
مثلا گرامر زیر :

[tex]S\rightarrow (X|E]|F)[/tex]
[tex]X\rightarrow E)|F][/tex]
[tex]E\rightarrow A[/tex]
[tex]F\rightarrow A[/tex]
[tex]A\rightarrow \lambda[/tex]

الان توی این گرامر فقط به ازای ( follow(A باید [tex]\lambda[/tex] قرار بدیم ؟ یا برای follow های E ,F هم باید اینکا رو انجام داد؟
دوست عزیز، follow اصلان [tex]\lambda[/tex] نداره.
[/quote]
دوست عزیز، follow اصلان [tex]\lambda[/tex] نداره.
[/quote]

بله دوست عزیز . متوجه هستم .
منظور من توی جدول تجزیه است. در ستون follow های غیر پایانه هایی که به [tex]\lambda[/tex] ختم میشوند [tex]\lambda[/tex] قرار میگیره. یا به نوعی همان قانونی که به [tex]\lambda[/tex] ختم میشه قرار میگیره.
سلام.

برای تمامی غیرپایانه هایی که چه بصورت مستقیم و چه بصورت غیرمستقیم به لامبدا میروند باید شرط Fallow رو درنظر گرفت.
پس برای مثالی که فرمودید باید برای E.F.A شرط Fallow رو بررسی کنید.

(توجه داشته باشید که اگر بخواید قانون زنجیره رو هم تصحیح کنید باز به همین نتیجه میرسید که مستقیم و غیرمستقیم بودن رفتن به لامبدا تاثیری در شرط fallow ندارد).
(28 آبان 1392 09:44 ب.ظ)tarane.68 نوشته شده توسط: [ -> ]سلام خدمت همه دوستان
هموطور که می دونید توی جدول تجزیه LL 1 برای او غیر پایانه هایی که قانون [tex]\lambda[/tex] دارند، باید تو قسمت follow اون غیرپایانه در جدول تجزیه، [tex]\lambda[/tex] قرار بگیره.
سوال من اینه که برای اون غیر پایانه هایی که بطور غیر مستقیم هم به [tex]\lambda[/tex] ختم میشوند باید تو قسمت follow اونها هم [tex]\lambda[/tex] قرار بگیره یا قانون بالا فقط برای اون غیر پایانه هایی هست که بطور مستقیم به [tex]\lambda[/tex] ختم میشوند
مثلا گرامر زیر :

[tex]S\rightarrow (X|E]|F)[/tex]
[tex]X\rightarrow E)|F][/tex]
[tex]E\rightarrow A[/tex]
[tex]F\rightarrow A[/tex]
[tex]A\rightarrow \lambda[/tex]

الان توی این گرامر فقط به ازای ( follow(A باید [tex]\lambda[/tex] قرار بدیم ؟ یا برای follow های E ,F هم باید اینکا رو انجام داد؟

در جدول تجزیه LL علامت [tex]\lambda[/tex] نداریم:یا باید شماره قانون را بنویسیم(در تلاقی سطر و ستون) یا خود قانون را.
در این مثال فقط در فالوی A قانون [tex]A\rightarrow \lambda[/tex] را مینویسیم.
(29 آبان 1392 02:34 ق.ظ)aem4949 نوشته شده توسط: [ -> ]در جدول تجزیه LL علامت [tex]\lambda[/tex] نداریم:یا باید شماره قانون را بنویسیم(در تلاقی سطر و ستون) یا خود قانون را.
در این مثال فقط در فالوی A قانون [tex]A\rightarrow \lambda[/tex] را مینوسیم.

بله.مظورم همون شماره قانون هست Smile
پس کاری به [tex]\lambda[/tex] های غیر مستقیم (F,E) نداریم؟
(29 آبان 1392 04:20 ب.ظ)tarane.68 نوشته شده توسط: [ -> ]بله.مظورم همون شماره قانون هست Smile
پس کاری به [tex]\lambda[/tex] های غیر مستقیم (F,E) نداریم؟

نه.
برای E , F فالو را جداگانه بدست بیار و شماره قانو های E و F رو بذار.
به A هم دیگه کاری نداریم.
نمیدونم چرا یکی از دوستامون گفتن حتی واسه اونایی که غیر مستقیم با لامبدا در ارتباطند هم اینو قرار میدیم!!
لامبدا عضو first ا،E,F هست اما فقط باید بازای follow های A شماره قانونشو قرار بدیم.
لینک مرجع