This programming language may be used to instruct a computer to perform a task.
If you know Brainf***, please write code for some of the tasks not implemented in Brainf***.
The construct for the language is similar to a Turing Machine. The commands themselves act on an array or "tape" (usually a byte or integer array and usually "infinite" on one or both ends) and a pointer to a position in that array. The complete specification for the language can be summed up with the following eight symbols:
|>||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 (usually interpreted to a character).|
|,||accept one byte of input (usually interpreted from a character), 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.
 See also
- RCBF - BF interpreters as a Rosetta Code task
- Esoteric languages wiki entry
- Wikipedia entry on Brainf***
- DMOZ Brainf*** category
- Brainf*** tutorial
This category has the following 3 subcategories, out of 3 total.
Pages in category "Brainf***"
The following 24 pages are in this category, out of 24 total.