Theory of Computing Toolkit
Tock stands for Theory Of Computing toolKit. It can simulate the automata taught in standard theory of computation courses (deterministic and nondeterministic finite automata, pushdown automata, and Turing machines). It also allows multiple cells, stacks, or tapes.
Tock depends on the following:
- Python 2.7 or 3.x (required)
- six (required)
- GraphViz (to draw graphs)
- Jupyter/IPython (to view notebooks)
- openpyxl (to open Excel files)
The documentation is contained in a series of IPython notebooks:
- Deterministic finite automata
- Nondeterministic finite automata
- Regular expressions
- Pushdown automata
- Context free grammars
- Turing machines
To open them, run ipython notebook in the Tock directory. A web browser should open, showing you the contents of the directory. Click on doc and then one of the .ipynb files to view it.
This is open-source software under the MIT License. See LICENSE.txt for more information.