Hallo Maus.
Brainfuck
Brainfuck ist eine Turing-vollständige (und sehr
Turingmaschinen-nahe)
Programmiersprache. Jedes Brainfuck-Programm arbeitet auf einem Speicher-"Band",
idealerweise unendlicher Länge. Das Band besteht aus (gleichgroßen) Zellen, in
denen je Zahlen (hier: von 0 bis 255, d.h. ein Byte Größe je Zelle) gespeichert
werden. Initialisiert ist das Band mit 0. Ein einzelner Schreib- und Lesekopf
stellt die einzige Zugriffsmöglichkeit auf die Inhalte des Bands dar, er lässt
sich allerdings nach links bzw. rechts verschieben. Gearbeitet wird immer auf
dem Inhalt der Speicherzelle auf dem Band, die unter dem Schreib-/Lesekopf liegt.
Motivation
Urban Müller hat Brainfuck
1993 als Programmiersprache entworfen, die einen möglichst minimal großen
Compiler benötigt.
Syntax
Es gibt 8 Befehle, die im Folgenden näher aufgeführt sind. Jeder Befehl besteht aus einem
Zeichen; alle Zeichen, die keinen Befehl darstellen, werden ignoriert und sind als Kommentar
anzusehen.
- + / -: Erhöhe/Senke Speicherstelleninhalt um eins
- < / >: Gehe eine Position nach links/rechts
- [ / ]: Beginn/Ende einer Schleife; sie wird solange
ausgeführt, wie der Inhalt unter dem Schreib-/Lesekopf nicht null ist
- . (Punkt): Inhalt der aktuellen Speicherzelle als Byte-Wert ausgeben
(ASCII)
- , (Komma): Ein Byte aus Eingabe des Programms an die aktuelle Speicherzelle
lesen; die dort stehende Zahl wird überschrieben
Sehr empfehlenswert sind auch diese
beiden Seiten.