#tape 1111 # Addiert 1 zu einer unären zahl # Die Maschine stoppt am Anfang der Zahl. # Vorwärts bis zum ersten . Schreibe dort eine 1, gehe nach links und mache fertig start . 1 L fertig # Rückwärts bis zum ersten . Dann rechts und stop. fertig L . . R stop
# Schreibt bla ;-) # {...} Beinhaltet Kommandos der Form Px, um den Buchstaben x zu schreiben, oder R,L, um den Kopf zu bewegen. # Damit werden eine ganze Reihe von Zuständen generiert. start . {Pb R Pl R Pa L L} stop
Folgende Zeichen dürfen nicht als Symbole auf dem Band verwendet werden:
.
Blank*
(wildcard)@
(Symbolvariable in m-Funktion oder m-Aufruf)\$
(Zustandsvariable)[
und ]
(Symbolbereich)_
(underscore, wird intern verwendet)#
Beginn eines Kommentars#tape
folgen die Symbole, die beim Start auf dem Band geschrieben sind.read
kann in einem Zustand folgendes definiert werden:read write dir state
, wobei dir auch 'N' für nicht bewegen sein kann.read {c1 c2 …} state
, wobei c1, c2
etc. Kommandos 'R' für rechts, 'L' für links und 'Px' für ein x aufs Band schreiben ist.read
einen Bereich von Zeichen mit [xyz]
anzugeben (nur Symbolen, keine @1 etc.), oder *
für alle möglichen Zeichen.write
ein *
verwendet bezieht sich das auf das gelesene Zeichen.@name(x ; y )
@1
, @2
, etc. als übergebene Symbole und $1
, $2
als übergebene Zustände enthalten.@end