Пару месяцев назад прочитал пост, в котором уважаемая ksusha написала эмулятор машины Тьюринга используя MySQL и хранимые процедуры. Статья дала толчок к идее сделать машину Тьюринга на чистом SQL, без использования хранимых процедур. Для реализации был использован знакомый и любимый Firebird версии 2.1.
Существует две принципиальные проблемы при создании машины Тьюринга на голом SQL:
Тем не менее, мне удалось обойти эти ограничения
Существует две принципиальные проблемы при создании машины Тьюринга на голом SQL:
- 1) лента машины может быть и модифицирована и дописана, что требует операторов INSERT и UPDATE в одной конструкции;
- 2) машина Тьюринга требует как минимум одной переменной для состояния. Обычные SQL(DML)-запросы не могут хранить промежуточных переменных, по крайней мере в Firebird.
Тем не менее, мне удалось обойти эти ограничения