令L表示由语法S-> 0S0 / 00生成的语言。以下内容哪些是对的?
(A) L = 0+
(B) L是常规的,但不是0+
(C) L是上下文无关的但不是常规的
(D) L不是上下文无关的答案: (B)
说明:选项A : L不是0+ ,因为0+将包含字母0上的任意字符串,且没有0的任何数字(空字符串除外),例如:{0,00,000,00000},但是L仅字符串为{00,0000,000000,…},即,即使是0也不是(不包括空字符串}。
选项D : L是上下文无关的语言,因为生成语言L的语法G是上下文无关的语法。如果语法G的所有乘积都为A->α形式,则C为CFG,其中A为单个非末端且α属于(V∪T)*,即α可以为末端的字符串和/或Non -终端。 (V表示非末端,T表示末端)
选项C : L是一种正则语言,因为我们能够为其编写正则表达式(并且还可以生成有限自动机),即(00)+。
选项B :因此,此选项是正确的,因为如上所述, L为正则而不是0+ 。
这个问题的测验