![](/img/trans.png)
[英]Construct a grammar that generates L = {a^p b^m c^n|n>=0, m>=0, p=m+n}
[英]What is the productions for language {0^m 1^m 2^n | n>=0, m > n}
我想知道如何獲得語言{0 ^ m 1 ^ m 2 ^ n | n> = 0,m> n}。
這是我所擁有的,我不確定是否正確。 如果我錯了,請糾正我:
S -> 01A | 0B1A | 00B11A
A -> 2A | 2 | λ
B -> 01
謝謝。
該語言不是上下文無關的。 對於上下文無關的語言,可以使用抽水引理來證明這一點。 您最終遇到了五種情況; 三種情況僅泵送符號0、1或2中的一種; 還有兩種情況會標出相鄰的符號。 注意,除了我們可以選擇字符串0 ^(p + 1)1 ^(p + 1)2 ^ p之外,幾乎可以做到這一點,即使跨越0和1並均勻泵送它們,您仍然會失敗m> n抽氣時進行測試。
語法比上下文無關還有更強大的語法。 我們可以為這種語言產生一般的語法。
S -> RT
R -> 0R1X | 01
X1 -> 1X
XT -> T2 | T
1T -> e
前兩個產品產生格式為0 ^ n(01)(1X)^ n T的字符串。
第三生產產生形式為0 ^ n(01)1 ^ n X ^ n T的字符串。它允許X浮動到所有1之后的右邊。
最后兩個產品產生格式為0 ^ n(01)1 ^ n 2 ^ m的字符串,m <= n。 這些使T可以“浮動”離開X,將每個X轉換為2或不轉換為零。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.