Brainfuck

From S23Wiki
Jump to: navigation, search

Brainfuck is the ungodly creation of Urban Müller, whose goal was apparently to create a Turing-complete language for which he could write the smallest compiler ever, for the Amiga OS 2.0. His compiler was 240 bytes in size. (Though he improved upon this later -- he informed me at one point that he had managed to bring it under 200 bytes.)

The Language

A Brainfuck program has an implicit byte pointer, called "the pointer", which is free to move around within an array of 30000 bytes, initially all set to zero. The pointer itself is initialized to point to the beginning of this array.

The Brainfuck programming language consists of eight commands, each of which is represented as a single character.

> 	Increment the pointer.
< 	Decrement the pointer.
+ 	Increment the byte at the pointer.
- 	Decrement the byte at the pointer.
. 	Output the byte at the pointer.
, 	Input a byte and store it in the byte at the pointer.
[ 	Jump past the matching ] if the byte at the pointer is zero.
] 	Jump to the matching [.

See also: VerticaSmile

Brainfuck ist eine extrem einfach zu lernende und extrem nervtoetend zu nutzende Sprache, schaetzungsweise aus dem Jahre 1993. Autor dieser Sprache ist der Schweizer Urban Mueller, von dem auch der original Brainfuck-Interpreter und ein mittlerweile verschollener Compiler fuer den Amiga stammt.

Die Sprache kennt zwei mathematische Funktionen (+ und -), Funktionen zum Einlesen und Ausgeben von Zeichen (, und .), die Moeglichkeit, eine Speicherstelle vorwaerts bzw. rueckwaerts zu gehen (> und <), sowie ein spezielles Schleifenkonstrukt ([]). Aus diesen Funktionen besteht der gesamte Sprachumfang von Brainfuck.


http://koeln.ccc.de/prozesse/zombies/brainfuck/index.htm