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)
pip install tock.
pip install jupyter(or
conda install jupyterif you use Anaconda).
- Install GraphViz. But if you don't have it, Tock will attempt to download and use Viz.js, which is slower but otherwise identical.
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
for more information.