![]() |
یافتن گرامر خطی چپ - نسخهی قابل چاپ |
یافتن گرامر خطی چپ - saharp - 20 آبان ۱۳۹۰ ۰۸:۵۵ ب.ظ
من گرامر خطی راست رو از روی گراف به راحتی می نویسم ولی خطی چپ رو نه از روی گراف و نه از روی گرامر خطی راست نمی تونم بنویسم و همچنین چطور میشه مستقیما از روی nfa گرامر خطی چپ نوشت؟؟ ![]() لطفاً راهنمایی کنید |
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] فکر کنم مشکلم برای اینه که پذیرشم طوقه داره |