/Pushdown-automaton

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.

Primary LanguageC++

Pushdown automaton

A Pushdown automaton is a non-deterministic finite automaton (NFA) with an usable stack where you pop the top element every time you read an element from the input tape and push all the elements you want (even none).

For more info

Usage

This program is written in C++ and it was a practice for the subject Complejidad computacional (computational complexity) from the Universidad de La Laguna. The usage is very basic:

> ./PushDownAutomaton <automaton_file> [<input_file>]