سلام به دوستان عزیز و فرهیخته
گرامر این عبارت چی میشه : a^n b^n c^n d^n و n>=2
حساس به متنه:
[tex]S\to aabbAccdd|aabbccdd[/tex]
[tex]A\to PAQ|PQ[/tex]
[tex]bP\to Pb[/tex]
[tex]aP\to aab[/tex]
[tex]Qc\to cQ[/tex]
[tex]Qd\to cdd[/tex]
این حروف پشت متغیرها رو بیشتر توضیح میدی . مثلا الان وقتی میخوایم بریم به P ما aP و bP داریم این چجوریه .
گرامر حساس به متن به این شکله. مزیتش اینه که میتونین چندتا حرف اطراف یه متغیر رو بررسی کرد. اگه توجه کنید A بین b,c هست. متغیر P بعد از bهاست ولی باید وسط a,b قرار بگیره تا به ab تبدیل بشه. برای اینکار میگیم هروقت قبل از P حرف b باید این حرفو رد کنه تا به a برسه. وقتی P بین a,b قرار گرفت به ab تبدیل میشه.
لطف کنید در مورد عبارت زیر هم راهنمایی بفرمایید:
این مستقل از متنه.
[tex]S\to aSc|bSc|cSa|cSb|SS|\lambda[/tex]
ماشین پشته ایشم آسونه. بجای a,b اگه توی پشته 0 نباشه 1 پوش میکنیم و اگه 0 باشه اونو پاپ میکنیم. بجای c توی پشته اگه 1 نبود 0 پوش میکنیم و اگه بود اونو پاپ میکنیم. با تموم شدن رشته اگه به $ رسیدیم در حالت پایانی میمونیم.