Реализация машины Тьюринга на Python
Для работы в системе должен быть установлен Python 3.3. На более ранних версиях не тестировалось, поэтому правильная работа на версиях ниже не гарантируется. Как запускать программу на вашей системе, читайте в интернете.
Лента бесконечная в одну сторону.
Проверки на ошибки нет.
Память под память выделяется динамически -- то есть ячеек может быть столко, на сколько хватит памяти компьютера.
Для начала работы программа попросит ввести имя файла с программой.
После этого вы должны ввести входные данные -- натуральные неотрицательные числа через запятую.
Что значат надписи:
================================
[0]0111011110[10]
___|1
Code: q1 0 -> q2 0 R
================================
Выводится память от 0-й ячейки до 10-й
Каретка находится на ячейке памяти, куда указывает символ |, число после него -- состояние МТ
Следующая строка -- код, который будет выполняться.
В конце работы программа либо прерывается по ограничению по кол-ву шагов, либо по состоянию q0.
Выводится ответ.
Версия 1
Первая строка -- версия стурктуры файла
Вторая строка -- ограничение на кол-во шагов
# комментарий
q%номер_состояния% %состояние ячейки% -> q%номер_состояния% %состояние ячейки% [R/L/%ничего%] -- команда.
Одна команда в одну строчку.