Deterministic pushdown automaton

The class of deterministic pushdown automata accepts the deterministic context-free languages, a proper subset of context-free languages.

Machine actions include pushing, popping, or replacing the stack top.

This makes the DPDA a strictly weaker device than the PDA.

For example, the language Lp of even-length palindromes on the alphabet of 0 and 1 has the context-free grammar S → 0S0 | 1S1 | ε.

If a DPDA for this language exists, and it sees a string 0n, it must use its stack to memorize the length n, in order to be able to distinguish its possible continuations 0n 11 0n ∈ Lp and 0n 11 0n+2 ∉ Lp.

[4] Restricting the DPDA to a single state reduces the class of languages accepted to the LL(1) languages,[5] which is a proper subclass of the DCFL.

[6] In the case of a PDA, this restriction has no effect on the class of languages accepted.

Closure properties of deterministic context-free languages (accepted by deterministic PDA by final state) are drastically different from the context-free languages.

To prove that the complement of a language accepted by a deterministic PDA is also accepted by a deterministic PDA is tricky because one has to avoid infinite computations and correctly handle transitions that manipulate the stack without reading input symbols.