What is a Pushdown Automaton (PDA)?