📜  门| GATE 2017 MOCK II |第41章

📅  最后修改于: 2021-06-30 01:18:41             🧑  作者: Mango

语言L = {WbcW R | W∈(a + b)*}是_____。
(A) DCFL
(B) CFL,但非DCFL
(C)非CFL
(D)以上都不是答案: (A)
说明:我们可以使用确定性PDA的任何语言始终是DCFL。
这里的语言L = {WbcWR | W∈(a + b)*}我们可以得到一个带有以下过渡的PDA,其中PDA在最终状态停止时接受一个字符串。 q0处于初始状态,而qf是最终状态。

1.(q0,a,Z)->(q0,aZ)

2.(q0,b,Z)->(q0,bZ)

3.(q0,a,a)->(q0,aa)

4.(q0,b,a)->(q0,ba)

5.(q0,a,b)->(q0,ab)

6.(q0,b,b)->(q0,bb)

7.(q0,c,b)->(q1,空)

8.(q1,a,a)->(q1,null)

9.(q1,b,b)->(q1,空)

10.(q1,null,Z)->(qf,Z)

在这里,所有a和b最初都被推到W的堆栈上。一旦在b之后出现ac,就会从堆栈中弹出B,然后检查W ^ R。如果其他字符串字母与
堆栈中的字母从堆栈中弹出字母,如果语言的形式为L = {WbcW ^ R |,则字符串最终到达最终状态。 W∈(a + b)*}。

因此,以上语言是DCFL。这个问题的测验