PushdownAutomaten
Pushdownautomaten, in English Pushdown Automata, are a class of abstract machines used in formal language theory to recognize context-free languages. A pushdown automaton extends a finite automaton with a stack, enabling it to store an unbounded amount of information symbolically. A typical PDA consists of a finite set of states, an input alphabet, a stack alphabet, a transition function, a start state, an initial stack symbol and a set of accepting states (or an acceptance condition by empty stack). The transition function maps a current state, an input symbol (or ε for empty), and the symbol on the top of the stack to a set of possible new states and stack operations (push, pop, or replace). Because the transition relation is often nondeterministic, a PDA may have several computation paths for a given input.
There are nondeterministic and deterministic variants. Nondeterministic pushdown automata can recognize exactly the class of context-free
PDA are equivalent in expressive power to context-free grammars: for every PDA there is a context-free grammar
History: Pushdown automata were developed in the 1960s as a formal model for parsing and language recognition,