Интерпретатор машины Тьюринга в четвёрках ?

Формат команды: q,a,v,q'
q - текущее состояние;
a - символ, который видим на ленте;
v - символ, который пишем или команда;
q' - состояние, в которое переходим.

Символы команд:
> - движение головки вправо;
< - движение головки влево;
= - отсутствие движения на данном такте;
# - полная остановка машины.

Можно записывать несколько команд в строку, разделяя их одним или несколькими пробелами.

Поддерживаются именованные состояния, но имена состояний, состоящие из одних цифр, считаются целыми числами (т.е. 01 и 1 - это одно и то же). Начальное состояние должно иметь имя 0.

Команды интерпретатора:
"Запустить" - разбирает программу и запускает её на выполнение (также можно нажать Enter в поле ввода ленты или Ctrl+Enter в поле ввод программы);
"Быстро" - запустить программу в быстром, автоматическом режиме (также можно ещё раз нажать Enter);
"Шаг" - выйти из быстрого режима (если запущен) и выполнить следующий шаг (Пробел);
"Закончить" - вернуться к редактированию программы и ленты (клик на программе или ленте или Ctrl+Enter).

© Дубинин А.В.

Пример (ненормированная замена 0 на 1 и наоборот):

00, ,<,rep
rep,0,1,mov  rep,1,0,mov  rep, ,>,fin
mov,0,<,rep  mov,1,<,rep
fin,0,>,fin  fin,1,>,fin  fin, ,#,fin