Category:Brainf***: Difference between revisions

From Rosetta Code
Content added Content deleted
(Switch to language template)
m (Changed a link so it went to a real page.)
Line 1: Line 1:
{{language|Brainf***}}Also known as Brainfuck. Created by Urban Müller in 1993 in an attempt to create the world's smallest Turing-complete compiler. It is noted as an [[esoteric programming language]], as it is not ordinarily used for applications development, but it also noted as being a minimalist language.
{{language|Brainf***}}Also known as Brainfuck. Created by Urban Müller in 1993 in an attempt to create the world's smallest Turing-complete compiler. It is noted as an [[:Category:Esoteric_Languages|esoteric programming language]], as it is not ordinarily used for applications development, but it also noted as being a minimalist language.


The complete specification for the language can be summed up with the following eight symbols:
The complete specification for the language can be summed up with the following eight symbols:
Line 44: Line 44:
* [http://www.iwriteiam.nl/Ha_BF.html Brainf*** tutorial]
* [http://www.iwriteiam.nl/Ha_BF.html Brainf*** tutorial]


[[Category:Esoteric Languages]]
[[Category:Esoteric_Languages]]

Revision as of 07:28, 28 November 2007

Language
Brainf***
This programming language may be used to instruct a computer to perform a task.
See Also:


Listed below are all of the tasks on Rosetta Code which have been solved using Brainf***.

Also known as Brainfuck. Created by Urban Müller in 1993 in an attempt to create the world's smallest Turing-complete compiler. It is noted as an esoteric programming language, as it is not ordinarily used for applications development, but it also noted as being a minimalist language.

The complete specification for the language can be summed up with the following eight symbols:

Character Meaning
> increment the pointer (to point to the next cell to the right).
< decrement the pointer (to point to the next cell to the left).
+ increment (increase by one) the byte at the pointer.
- decrement (decrease by one) the byte at the pointer.
. output the value of the byte at the pointer.
, accept one byte of input, storing its value in the byte at the pointer.
[ jump forward to the command after the corresponding ] if the byte at the pointer is zero.
] jump back to the command after the corresponding [ if the byte at the pointer is nonzero.

Alternatively, the ] command may instead be translated as an unconditional jump to the corresponding [ command, or vice versa; programs will behave the same but will run more slowly.

All other symbols, including traditional whitespace characters, are interpreted as comments.

Due to this minimal instruction set, Brainf*** is used as an introduction to compilers and has even been successfully implemented as a microprocessor core and the foundation to an operating system using a slightly extended syntax for output.

Citations