PDA to CFG

10
PDA to CFG Toqa Manasrah

description

PDA to CFG. Toqa Manasrah. Example. Convert the PDA P={{ p,q }, {0,1}, {X,Z}, q, Z, { }, δ } to a CFG if δ is given by : 1. δ (q,1,Z)={( q,XZ )} 2. δ (q,1,X)={( q,XX )} 3 . δ (q,0,X)={( q,X )} 4. δ (p,0,Z)={( q,Z )} 5. δ (q, Λ ,X )={(q, Λ )} 6. δ (p,1,X )={(p, Λ )}. - PowerPoint PPT Presentation

Transcript of PDA to CFG

Page 1: PDA to CFG

PDA to CFG

Toqa Manasrah

Page 2: PDA to CFG

Example• Convert the PDA P={{p,q}, {0,1}, {X,Z}, q, Z, { }, δ} to a

CFG if δ is given by:

1. δ(q,1,Z)={(q,XZ)}2. δ(q,1,X)={(q,XX)}3. δ(q,0,X)={(q,X)}4. δ(p,0,Z)={(q,Z)}5. δ(q,Λ,X)={(q, Λ)}6. δ(p,1,X)={(p, Λ)}

2 stack symbols

1 stack symbols

0 stack symbols

States Q: q,p

Stack symbols:

x,z

inputs: 0,1

Each stack

symbol one path

Page 3: PDA to CFG

Initial production S for each variable

S [q0z0q]S [q0z0p]

Step 1

Variables: q,p

Page 4: PDA to CFG

(q,a,Z) = (p,X)

q

p

q

p

?

a, Z X

a, Z X

process X

consume apop Zpush Xmove to state p

X not yet processed

consume apop Zpush Xmove to state p

Since we don’t know which state the PDA will be in after

processing X, define a production [qZr] a[pXr] that ends in each possible

state r

Page 5: PDA to CFG

Step 2

Λ transition

5. δ (q Λ x ) = {( q , Λ )} [ q x q ] Λ

6. δ( p , 1 , x ) = {( p, Λ )}[ p x p ] 1

Pop x, consume Λ

Pop x, consume 1

Page 6: PDA to CFG

Step 3

Regular transition

3. δ(q,0,X)={(q,X)}[ q x r ]0[ p x r ]

[ q x q ]0[ p x q ] [ q x p ]0[ p x p ]

r = all states in Q

Pop x, consume 0, push x

Page 7: PDA to CFG

Step 3

Regular transition

4. δ(p,0,Z)={(q,Z)}[ p z r ]0[ q z r ]

[ p z q ]0[ q z q ] [ p z p ]0[ q z p ]

r = p orr = q

Page 8: PDA to CFG

Step 3Regular transition

1. δ(q,1,Z)={(q,XZ)} [qzr]1[qxk][kzr]

[qzq]1[qxq][qzq][qzq]1[qxp][pzq][qzp]1[qxq][qzp][qzp]1[qxp][pzp]

[qzq]1[qxk][kzq]

[qzp]1[qxk][kzp]

Pop z, consume 1, move to state q, push x, mover to k,

push z, move to r

Page 9: PDA to CFG

Step 3Regular transition

1. δ(q,1,X)={(q,XX)} [qxr]1[qxk][kxr]

[qxq]1[qxq][qxq][qxq]1[qxp][pxq][qxp]1[qxq][qxp][qxp]1[qxp][pxp]

[qzq]1[qxk][kxq]

[qzp]1[qxk][kxp]

Page 10: PDA to CFG

[qzq]1[qxq][qzq][qzq]1[qxp][pzq][qzp]1[qxq][qzp][qzp]1[qxp][pzp]

[qxq]1[qxq][qxq][qxq]1[qxp][pxq][qxp]1[qxq][qxp][qxp]1[qxp][pxp]

S [q0z0q]S [q0z0p]

[ q x q ]0[ p x q ] [ q x p ]0[ p x p ]

[ p z q ]0[ q z q ]

[ p z p ]0[ q z p ]

[ q x q ] Λ[ p x p ] 1