Universal Turing machine: Difference between revisions
m
→Control language
Cyril Nocton (talk | contribs) m (→Execution) |
Cyril Nocton (talk | contribs) |
||
Line 2,372:
5-state busy beaver (first 20 cells)
10100100100100100100...</pre>
===
Tmcl is a tiny Turing machine control language.▼
▲<pre>'=' : if scanned symbol = op do
▲ '%' : print op
'<' : move left
'>' : move right
'@' : state <-
<symbol> :
====Program====
Line 2,390 ⟶ 2,387:
Tape is split into two stacks.
<pre>T = reverse (
<syntaxhighlight lang="lisp">;; 22.
(defun
(let ((
(
(
(
(loop :until (equal state halt)
:do (setf
(dolist (
(case
(= (setf
(% (when
(< (when
(> (when
(@ (when
(t (setf
(unless (
(setf
(format t "Q = <~a, ~{~a~}.~{~a~}>~%" state (reverse
====
<syntaxhighlight lang="lisp">(defconstant +incrementer+ '((q0 . (1 = > q0 @ b = 1 % qf @))))
Line 2,426 ⟶ 2,423:
====Execution====
{{out}}
<pre>
▲<pre>(run +incrementer+ '(1 1 1) 'q0 '(qf) 'b)
Q = <QF, 111.1>
▲(run +three-states-buzy-beaver+ '(0) 'a '(halt) '0)
Q = <HALT, 111.111></pre>
|