تالار گفتمان مانشت
یافتن گرامر خطی چپ - نسخه‌ی قابل چاپ

یافتن گرامر خطی چپ - saharp - 20 آبان ۱۳۹۰ ۰۸:۵۵ ب.ظ

من گرامر خطی راست رو از روی گراف به راحتی می نویسم ولی خطی چپ رو نه از روی گراف و نه از روی گرامر خطی راست نمی تونم بنویسم و همچنین چطور میشه مستقیما از روی nfa گرامر خطی چپ نوشت؟؟Huh
لطفاً راهنمایی کنید

RE: یافتن گرامر خطی چپ - mfXpert - 21 آبان ۱۳۹۰ ۰۴:۴۰ ب.ظ

شما برای اینکه بتونید از روی ماشین متناهی قطعی گرامر خطی چپ بنوسید باید به صورت زیر عمل کنید:
فرض کنید که ماشین متناهی زبان L رو می پذیره.حالا از روی همین ماشین‌، ماشینی رو به دست بیارید که معکوس L رو بپذیره.برای ماشین جدید گرامر خطی راست بنویسید و بعد تمام قوانین گرامر رو به صورت معکوس بنویسید.حالا یه گرامر خطی چپ دارید که زبان تولیدی اون با ماشین متناهی یکسان خواهد بود.

RE: یافتن گرامر خطی چپ - saharp - 21 آبان ۱۳۹۰ ۰۷:۵۳ ب.ظ

میشه برای این زبان گرامر خطی چپ بنویسی با توجه به اون چیزی که گفتی؟[tex]L={a^{n}b^{m}:n\geq 2,m\geq 3}[/tex]
در ضمن من گرامر راستشو به این صورت نوشتم
[tex]S\rightarrow aaA[/tex]
[tex]A\rightarrow aA|bbbB[/tex]
[tex]B\rightarrow bB|\lambda[/tex]
فکر کنم مشکلم برای اینه که پذیرشم طوقه داره