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)

Steps:

Run

`pip install tock`

.Install Jupyter/IPython by running

`pip install jupyter`

(or`conda install jupyter`

if 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 `LICENSE.txt`

for more information.