📜  门| GATE-CS-2000 |问题 5

📅  最后修改于: 2021-09-26 03:18:19             🧑  作者: Mango

令 L 表示由语法 S -> 0S0/00 生成的语言。以下内容哪些是对的?
(A) L = 0+
(B) L 是正则但不是 0+
(C) L 是上下文无关的但不是常规的
(D) L 不是上下文无关的答案:(乙)
说明:选项 A : L 不是 0+ ,因为 0+ 将包含字母表 0 上的任意字符串,其中没有任何 0(空字符串除外),例如:{0, 00, 000,00000},但 L 只会将字符串设为 { 00, 0000, 000000,…},即只有偶数个 0(不包括空字符串)。

选项 DL 是上下文无关语言,因为生成语言 L 的语法 G 是上下文无关语法。语法 G 是 CFG,如果它的所有产生式都是 A->α 的形式,其中 A 是单个非终结符并且 α 属于 (V∪ T)* ,即 α 可以是字符串终结符和/或非-终端。 (V代表非终结符,T代表终结符)

选项CL是正则语言,因为我们可以为它写一个正则表达式(也可以做一个有限自动机),即(00)+。

DFA (00)+ (1)

选项 B :因此这个选项是正确的,因为L 是常规但不是 0+ ,正如我们上面证明的那样。
这个问题的测验