DPDAs
Deterministic pushdown automata (DPDAs) are a restricted form of pushdown automata in which computation is deterministic. A DPDA is a seven-tuple (Q, Σ, Γ, δ, q0, Z0, F) where Q is a finite set of states, Σ is the input alphabet, Γ is the stack alphabet, Z0 is the initial stack symbol, and F is the set of accepting states. The transition function δ maps Q × (Σ ∪ {ε}) × Γ to Q × Γ*, and is constrained so that for every state q, stack symbol A, and input symbol a ∈ Σ ∪ {ε} there is at most one possible move. In addition, if δ(q, ε, A) is defined, then δ(q, a, A) is undefined for all a ≠ ε. This ensures a single computation path for any given input and configuration.
DPDAs recognize deterministic context-free languages (DCFLs). DCFLs are a proper subset of context-free languages; some CFLs
Acceptance can be defined via final states or by emptying the stack. For DPDAs, these two acceptance
Key properties include that membership testing for DCFLs is decidable in linear time, and the emptiness problem