Turing and Automaton Simulator

CoAn - Compiler and Automaton Network Simulator

qcoan version 2.0
(turing simulator & automaton simulator)
sourcecodes as tar.bz2, and as .zip windows executable, ucrtbased.dll Linux binaries
CoAn LE Version 1.1
(turing simulator & automaton simulator)
executable (2004, German)  
CoAn TLE Version 1.0
(turing simulator)
executable (German) docu. and examples in German
(Michael Leitner)

**new** in version 2.0: fully implemented in C++/Qt for Linux and Windows, non-deterministic Turing machines, multi character edges and edges with character sets for finite automata, parameterized machine schemata with power/superscript expression to repeat an automaton a certain number of times.

Hint: Open Test2.atm to get a few examples. If the windows executables should not run then copy ucrtbased.dll into the coan-2.0-exe directory.

Full-fledged automaton simulator which can run finite automata, pushdown automata, Turing machines and machine schemata for deterministic and non-deterministic automata (all simultaneously active states are shown in light yellow). Non-deterministic pushdown automata are shown with all possible stack contents for a certain activation. Use machine schemata to create and simulate more complicated Turing machines. Clear tree structure to view, execute and safe different automata within a single file.

Motivation: It is a program that can simulate non-deterministic Turing machines and pushdown automata. These machines are defined by theoretical information science. You use finite automata for regular expressions and pushdown automata f.i. for parsing programming languages. Turing machines are used as a model of computability and to implement unrestricted grammars or grammars with context i.e. Ax → xA. The program will currently be useful for modelling, design and for educational purposes. Nonetheless it is planned to implement a console version of qcoan called coan so that you may use it f.i. instead of a regexp matcher or as a mini parser. The implementation is organized in three layers so that the program can also be compiled without a GUI.

The following abbreviations are used: PDA - pusdown automaton, DFA - deterministic finite automaton, NFA - non-deterministic finite automaton, NPDA non-deterministic pushdown automaton, NDTM non-deterministic Turing machine