a ^ n b ^ m的上下文无关语法

时间:2015-05-05 16:27:59

标签: context-free-grammar

我试图为该语言制作一个CFG:

enter image description here

我这样做了:

S -> a S b b 
S -> epsilon

它符合要求,但它是否正确?

1 个答案:

答案 0 :(得分:1)

如果我想要abbb怎么办? n为1,因此2n为2,4n为4,m为3,因此为2n <= m < 4n。如果你的意思是&#34;它是否创造了语言中的所有单词&#34; as&#34;是正确的&#34;,然后不,它没有。此外,您正在创建epsilon(零a和零b),但2*0 <= 0 < 4*0不正确,因为零不小于零(第二部分)比较)。

您的语法只创建ba多两倍的单词。但是,该语言还包含其他字词 - 您需要的b(包括)和b的{​​{1}}比a少2倍。例如,对于n = 2,您的m可以是4,5,6或7。