📜  门| GATE-CS-2017(Set 1)|第42章

📅  最后修改于: 2021-06-29 12:13:23             🧑  作者: Mango

考虑下面给出的字母{a,b,c}的以下语法,S和T是非结尾的。

G1: S-->aSb|T
T--> cT|∈

G2: S-->bSa|T
T--> cT|∈

语言L1(G1)∩L2(G2)。
(A)有限
(B)非有限但有规律
(C)没有上下文但不是常规的
(D)递归但不依赖上下文答案: (B)
说明:语法G1生成的语言是n c * b n ,其中n> = 0

语法G2生成的语言是b n c * a n其中n> = 0

两种语言的交集为c *(两种语言中的n = 0)

我们知道c *是一种常规语言,并且是无穷大的,因此选项b是正确的。

替代解决方案
 G1: \ S\rightarrow \ aSb \ |T, \\ T\rightarrow cT|\epsilon \\ L(G1)=\left \{ a^{m}c^{n}b^{m} \ | \ m,n \geq 0 \right \} \\ G2: \ S\rightarrow bSa \ |T \\ T\rightarrow cT|\epsilon \\ L(G2)=\left \{ b^{m}c^{n}a^{m} \ | \ m,n \geq 0 \right \} \\ Both \ L(G1) \ and \ L(G2) \ are \ CFL. \\ L(G1) \ \cap \ L(G2) = c^{*} \\ Hence, \ regular \ but \ not \ finite.

此解决方案由Sumouli Chaudhary提供。
这个问题的测验