9. Pushdown Automata

Feb 3, 2022

  • similar to finite automata but with added stack

    • input tape moves left to right, cannot go backwards
    • infinite stack for pushing and popping symbols
    • stack may have initial stack symbol to identify bottom of stack
  • in notation \(a, b \rightarrow c\)   \(a\) is input symbol, \(b\) pop symbol, \(c\) push symbol

    • (when \(a, b \neq \epsilon\)) to follow this transition \(a\) must be next on input tape and \(b\) on top of stack
  • transitions containing \(\epsilon\)

    • \(a, \epsilon \rightarrow \epsilon\) - process input symbol, stack remains unmodified
    • \(a, b \rightarrow \epsilon\) - process input symbol, pop topmost stack symbol, nothing pushed
    • \(\epsilon, b \rightarrow c\) - \(\epsilon\)-transition, no input tape symbol is processed, pop and push stack
  • PDAs are nondeterministic and multiple transitions may be allowed

  • to accept a state: all input must be consumed and last state is an accept state

    • the final content of stack does not matter