已知文法G:S->A0|B1,A->S1|1,B->S0|0,其中S是开始符号。从S出发可以推导出( )?
用文法表示语言语法规则时,推导是产生语言句子基本方式。以题目中文法为例,有如下推导:
1010:S=>A0=>S10=>A010=>1010 0110:S=>A0=>S10=>B110=>0110
然而0000,1111,1100,0011则推导不出来。因为由S先推出A0以后再去推导A则必然产生一个与0相邻(在0左边)1,而由S先推导出B1,则下一步必然要推导出一个与1相邻(在1左边)0.这保证了当1出现时候,马上就会出现0,或者反之。并且0和1距离很近。分析更多类似例子发现,只有C选项最合适。
故正确答案为:C









