Pushdown automaton

In computer science, pushdown automata (PDA) are abstract devices defined in automata theory that recognize context-free languages.

They are similar to finite automata, except that they have access to a potentially unlimited amount of memory in the form of a single stack. Non-deterministic pushdown automata (NPDA) are more potent than deterministic pushdown automata. Some deterministic pushdown automata cannot accept context-free languages that can be accepted by non-deterministic pushdown automata.

If we allow a finite automaton access to two stacks instead of just one, we obtain a device much more powerful than a pushdown automaton - we obtain the equivalent to a Turing machine.

A NPDA W can be defined as a 7-tuple function:

where