📜  门| GATE-CS-2017(套装1)|第 42 题

📅  最后修改于: 2021-09-25 07:16:02             🧑  作者: 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)递归但不是上下文无关的答案:(乙)
解释:语法 G1 生成的语言是 a n c*b n where 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 提供。
这个问题的测验