NPDA's working

This commit is contained in:
ParkerTenBroeck 2025-12-21 10:33:29 -05:00
parent f375757fd6
commit 0e285ec100
6 changed files with 356 additions and 167 deletions

View file

@ -2,18 +2,21 @@
Q = {q0, q1} // states
E = {a, b} // alphabet
T = {z0, A, B} // stack
I = q0
q0 = q0
z0 = z0
// construct all possible permutations of A's and B's
d(q0, epsilon, z0) = { (q0, [A z0]), (q0, [B z0]) }
d(q0, epsilon, A) = { (q0, [A A]), (q0, [B A]) }
d(q0, epsilon, B) = { (q0, [A B]), (q0, [B B]) }
// transition to q1
d(q0, epsilon, z0)={ (q1, z0) }
d(q0, epsilon, A)={ (q1, A) }
d(q0, epsilon, B)={ (q1, B) }
d(q0, epsilon, z0) = { (q1, z0) }
d(q0, epsilon, A) = { (q1, A) }
//d(q0, epsilon, B) = { (q1, B) }
// consume stack until empty
d(q1, a, A)={(q1, epsilon)}
d(q1, b, B)={(q1, epsilon)}
d(q1, a, A) = { (q1, epsilon) }
d(q1, b, B) = { (q1, epsilon) }