#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