Category:Brainf***: Difference between revisions
No edit summary |
(Moved contents of language page to here.) |
||
Line 1: | Line 1: | ||
⚫ | |||
A minimalist programming language with only eight single character instructions. (For more details, see [[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: |
|||
{| class="wikitable" |
|||
!align="center"|Character |
|||
!align="left" |Meaning |
|||
|- |
|||
|style="text-align:center"|<code>></code> |
|||
||increment the pointer (to point to the next cell to the right). |
|||
|- |
|||
|style="text-align:center"|<code><</code> |
|||
||decrement the pointer (to point to the next cell to the left). |
|||
|- |
|||
|style="text-align:center"|<code>+</code> |
|||
||increment (increase by one) the byte at the pointer. |
|||
|- |
|||
|style="text-align:center"|<code>-</code> |
|||
||decrement (decrease by one) the byte at the pointer. |
|||
|- |
|||
|style="text-align:center"|<code>.</code> |
|||
||output the value of the byte at the pointer. |
|||
|- |
|||
|style="text-align:center"|<code>,</code> |
|||
||accept one byte of input, storing its value in the byte at the pointer. |
|||
|- |
|||
|style="text-align:center"|<code>[</code> |
|||
||jump forward to the command after the corresponding <code>]</code> if the byte at the pointer is zero. |
|||
|- |
|||
|style="text-align:center"|<code>]</code> |
|||
||jump back to the command after the corresponding <code>[</code> if the byte at the pointer is nonzero. |
|||
|} |
|||
Alternatively, the <code>]</code> command may instead be translated as an unconditional jump '''to''' the corresponding <code>[</code> 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 == |
|||
* [http://en.wikipedia.org/wiki/Brainfuck Wikipedia entry on Brainf***] |
|||
* [http://dmoz.org/Computers/Programming/Languages/Brainfuck/ DMOZ Brainf*** category] |
|||
* [http://www.iwriteiam.nl/Ha_BF.html Brainf*** tutorial] |
|||
⚫ | |||
[[Category:Esoteric Languages]] |
[[Category:Esoteric Languages]] |
||
[[Category:Brainf***]] |
Revision as of 02:32, 8 November 2007
Programming Language
This is a programming language. It may be used to instruct computers to accomplish a variety of tasks which may or may not be domain-specific.
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
Subcategories
This category has the following 3 subcategories, out of 3 total.
@
- Brainf*** examples needing attention (empty)
- Brainf*** Implementations (32 P)
- Brainf*** User (36 P)
Pages in category "Brainf***"
The following 40 pages are in this category, out of 40 total.