提供无上下文语法,通过
生成以下语言Σ= {0,1}:{w = 0 * 1 *:| w |很奇怪}
我的解决方案:
S-> AB | 0 | 1
A-> 0A | ^
B-> 1B | ^
但是使用这种语法我们可以创建偶数个字符串。
我想要产生L = {0,1,000,111,001,011,00000,11111,00001,00011 ......}的语法
答案 0 :(得分:3)
奇数是奇数和偶数之和,因此语言中的句子是奇数0后跟偶数1,或偶数0后跟奇数那些。而且,奇数是偶数加1;如果我们在前面的描述中进行了替换,我们得到“偶数0,后跟0或1,后跟偶数1”。由于每个偶数都是0或2,而不是偶数,我们最终会得到。
S -> A 0 B | A 1 B
A -> ε | A 0 0
B -> ε | B 1 1
或
S -> 0 | 1 | 0 0 S | S 1 1