Universal Turing machine: Difference between revisions
Content added Content deleted
Cyril Nocton (talk | contribs) m (→Tmcl version) |
Cyril Nocton (talk | contribs) m (→Tmcl version) |
||
Line 2,384: | Line 2,384: | ||
'>' : move right |
'>' : move right |
||
'@' : state <- op |
'@' : state <- op |
||
<symbol> : op <- symbol</pre> |
|||
2. Interpreter |
2. Interpreter |
||
Line 2,395: | Line 2,395: | ||
<lang lisp>(defun run (table input state halt blank) |
<lang lisp>(defun run (table input state halt blank) |
||
;; help : cyril nocton <cyril.nocton:gmail.com> |
|||
(let (lStack (rStack input) |
(let (lStack (rStack input) code operand match) |
||
(loop until (eql state halt) do |
(loop until (eql state halt) do |
||
(setf |
(setf code (cdr (assoc state table)) operand 'null match t) |
||
(dolist (symbol |
(dolist (symbol code) |
||
(case symbol |
(case symbol |
||
(= (setf match (eql (car rStack) operand))) |
(= (setf match (eql (car rStack) operand))) |