Skip to content

espositoandrea/Turing-Machine-Executor

Repository files navigation

A Turing Machine Executor (EMT)

License (MIT) Latest release

A simple executor of (almost) every Turing machine.

The Name

EMT stands for Esecutore di Macchine di Turing, that is the Italian for "Turing Machine Executor".

The Reasons

To be completely honest I was just really bored and I needed a way to spend my time while learning new languages. I written this code in Python because I wanted to try using what I learnt about this language in the past months.

How To Use EMT

Visit the Wiki page to know how to use EMT.

The Makefile

The Makefile (and the file make.bat) in this repository is used to build the Sphinx documentation. Refer to the official Sphinx documentation for more information on it. Note that, in order to build the documentation for GitHub Pages, the extension sphinx-markdown-builder is needed. You can then build the GitHub Pages documentation using the following command:

make github

Known Bugs and Limitations

In this section there's a list of known bugs and limitations of EMT. For future reference, if a bug is solved (or if a limitation is removed) it won't be deleted from this list, but it will be just marked as "deleted" (like this).

  • This executor can only start right before the input string
  • You can't execute the same machine with more than one input tape without reinserting the machine
  • This executor is not much user friendly