以下哪一种文法生成语言 L = {a i b j |我≠j}
(一) A
(乙)乙
(C)丙
(四)丁答案: (D)
解释:
语言 L 包含字符串:{ abb, aab, abbb, aabbb, aaabb, aa, bb, ……. },即字符串所有a都出现在b之前,并且“a的数量”不等于“b的数量”,所以i≠j。
这里语法 A、B 和 C也生成字符串“ab”,其中 i = j,以及更多带有 i = j 的字符串,因此这些语法不会生成语言 L,因为对于属于语言 L 的字符串,指数i 不应等于指数 j。
语法 D :此语法从不生成 a 和 b 的个数相等的字符串,即 i=j。因此这个文法生成语言 L。 因此选项 D。
这个问题的测验