Years ago during my studies I developed a small Turing Machine simulator in ANSI-C which was never released to public. It seems to work nicely, so I finally decided to publish it.
SIMTUR simulates a fully functioning deterministic Turing Machine. Two stacks are used to simulate an infinite read/write tape. It’s possible to execute any state transition function (= program). During execution it’s possible to monitor the machine’s progress in single step mode. This can help the interested to verify state transition functions and analyze how complex Turing machines work.
Also tapes – like the Turing Machine (program) itself – can be initially be loaded (data input), and the resulting tape can be stored (data output). Thus, rudimentary data I/O processing is possible. Of course the whole program has a more “experimental academic” character, but maybe it’s useful nonetheless.
Some example programs are included, too. E.g.:
- NOT-function for binary numbers
- ADD-function for binary numbers
- [pmath]a^n b^n c^n[/pmath] Acceptor
- experimental converter: DOS to Unix text
PDF Documentation is in German only, sorry :-(, but program has english language output
simtur_1_13_windows.zip (Win32/64, ANSI-C sourcecode included)
If you want to run this program on a different platform/OS just recompile the sourcecode with a C compiler. It should be really easy. E.g. for Linux: gcc simtur.c.
3 Responses to SIMTUR – a Turing machine simulator in ANSI-C