Difference between revisions of "Pushdown automaton"

From Wiki @ Karl Jones dot com
Jump to: navigation, search
(Created page with "In computer science, a '''pushdown automaton''' (PDA) is a type of automaton that employs a stack. == Description == P...")
 
(See also)
Line 14: Line 14:
 
* [[Context-free grammar]]
 
* [[Context-free grammar]]
 
* [[Counter automaton]]
 
* [[Counter automaton]]
 +
* [[Deterministic pushdown automata]]
 
* [[Finite automaton]]
 
* [[Finite automaton]]
 
* [[Stack (abstract data type)]]
 
* [[Stack (abstract data type)]]

Revision as of 16:46, 24 September 2016

In computer science, a pushdown automaton (PDA) is a type of automaton that employs a stack.

Description

Pushdown automata are used in theories about what can be computed by machines. They are more capable than finite-state machines but less capable than Turing machines. Deterministic pushdown automata can recognize all deterministic context-free languages while nondeterministic ones can recognize all context-free languages, with the former often used in parser design.

The term "pushdown" refers to the fact that the stack can be regarded as being "pushed down" like a tray dispenser at a cafeteria, since the operations never work on elements other than the top element. A stack automaton, by contrast, does allow access to and operations on deeper elements. Stack automata can recognize a strictly larger set of languages than pushdown automata.

A nested stack automaton allows full access, and also allows stacked values to be entire sub-stacks rather than just single finite symbols.

See also

External links