Download presentation
Presentation is loading. Please wait.
Published byDaisy Beasley Modified over 10 years ago
1
PDA to CFG Toqa Manasrah
2
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
3
Initial production S for each variable S [q 0 z 0 q] S [q 0 z 0 p] Step 1 Variables: q,p
4
(q, a,Z) = (p,X) q p q p ? a, Z X process X consume a pop Z push X move to state p X not yet processed consume a pop Z push X move 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
5
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
6
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
7
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 or r = q
8
Step 3 Regular 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
9
Step 3 Regular 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]
10
[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 [q 0 z 0 q] S [q 0 z 0 p] [ 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
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.