考虑具有以下产生式的 CFG。
S → AA |乙
A → 0A | A0 | 1
B → 0B00 | 1
S 是起始符号,A 和 B 是非终结符,0 和 1 是终结符。这个文法生成的语言是
(A) {0 n 10 2n | n≥1}
(B) {0 i 10 j 10 k | i, j, k ≥ 0} ∪ {0 n 10 2n | n≥l}
(C) {0 i 10 j | i, j ≥ 0} ∪ {0 n 10 2n | n≥l}
(D) {0, 1} 上至少包含两个 0 的所有字符串的集合
(E)以上都不是答案: (E)
解释:
A− > 0A|A0|1 此产生式规则单独产生形式为 {0 i 10 j |i, j ≥ 0} 的 CFL
B− > 0B00|1 该产生式规则单独产生形式为 {0 n 10 2n |n ≥ 0} 的 CFL
S− > AA|B 此产生式规则将 A 的 CFL 与自身连接起来,并将其与 B 的 CFL 联合。
因此,给定 CFG 接受的 CFL 将为 {0 n 10 2n |n ≥ 0} ∪ {0 i 10 j 10 k |i, j, k ≥ 0}
根据我们的推导,由于没有给定的 CFL 与我们的派生 CFL 匹配,因此正确选项
应该是 (E) 以上都不是。
该解决方案由vineet purswani 提供。
这个问题的测验