Deterministic Pushdown Automata