Sipser: Section 2.2
From CSWiki
CSC 341: Cooperative commentary | Sipser:_Chapter_2
[edit]
Defining Pushdown Automata
- A pushdown automaton is similar to the Finite State machines we've discussed so far with the exception that a pushdown automaton maintains a single, unbound stack.
- This stack allows a pushdown automaton to recognize some nonregular languages.
- States - Q, Input alphabet - Σ, Start state -
, and accept state - F remain unchanged from Finite State machines. We also include Γ, the stack alphabet, as well as modify δ so that it makes decisions based on the top of the stack. δ now represents the transitions from
- Pushdown Automata is 6-tuple.
[edit]
State Diagram
Transitions in a Pushdown Automaton's state diagram follow the form "
", where a is the input character, b is the character that was at the top of the stack (will be removed), and c is the character that will replace b on the stack.
- If
, no input is required to change the stack and state
- If
, the top of the stack is not removed; this allows us to add on to the stack without removing elements
- If
, no symbol is written to the stack; this allows us to remove the top of the stack without replacing it
Theorem 2.20 A language is context free if and only if some pushdown automaton recognizes it.
Lemma 2.21 If a language is context free, then some pushdown automaton recognizes is.

