Stefan Oderbolz

++++++++++[>++++++++++<-]>——-<++++++++++[»+++++++++++++«-]
»———«+++++[»>++++++++++«<-]»>—-«<++++++++++[»»+++««-]
»»++>+++++++++++++««<++++[»»»++++++++++«««-]»»»++++«.»
[««<.»»>-]<.«<.«++[»»»+++++«««-]»»»[«.»-][-]«««++
[»»»++++«««-]»»»-[««<.»»>-][-]«««++[»»»++++++++++«««-]
»»»-[«.»-]««<….»>….«.»>.«<.»…»[-]«««++++++++++
[»»»++++++++++«««-]»»»—.[-]«««++++++++++[»»»++++++++++++«««-]
»»»+.«….<.>…….<.<.»….<.«—-.+++..»>……..<.>….
<.<.»..«.»>.«<.»..»[-]«««++++++++[»»»++++++++++«««-]»»»-.
[-]«««++++++++++[»»»++++++++++«««-]»»».+++++.«…<.«……»>.
<.>.«.»…<.>…<.«—-.+++..»>….<.«…»>.<.>.«.»..«.»>.«<.».»
[-]«««+++++[»»»++++++++++«««-]»»».—..++++.«..«.»…….«.»..
«.»..«.<—-.+++..».>…<.«—-.+++»>..«.»….«.»..«.»..«.»>.«<.
»…….«.»…«<.»>…«.»..«.»..«.».«<.»>.«<—-.+++..».>.<.>..«.
»….«.»..«.»..«.»>.«<.»…….«.»..«.».«.»..«.»..«.»..«.».
«<.>.»…«<—-.+++».>…«.»….«.»..«.»..«.»>.«<.»…….«.»
…….«.»..«.»..«.»….«<..».>….«.»….«.»..«.»..«.»>.«<.»
…….«.»…….«.».<.>…«.».«<..».>…….«.»….«.».<.>…«.»>.
«<.»…….«.<…….>.>.>….«.>.>……….«.<….>.>.>….«.»>.«<.»»
[-]«««++++[»»»++++++++++«««-]»»»++++[««<.»»>-]««.

Nice isn’t it?

Well, but you’re asking what this is all? I will give you the related links as soon as my link-system is working. For now this little explanation should help you, otherwise google for “Brainfuck tutorial”.

Brainfuck is a very small (esoteric) programming language. It was design by a Swiss guy with the aim to write the smallest possible compiler for a Turing-complete language (his size is about 240 bytes).

And sure Brainfuck is Turing-complete.

The context of the language is a large array with (depending on the compiler and/or interpreter) about 30’000 array cells (each cell will be initalized with 0).

The 8 instructions:
> change the pointer to the next cell
< change the pointer to the last cell
+ increment the cell value
- decrement the cell value
[ begin of loop
] end of loop (a loop stops is the value of the actual cell is 0)
, read a value (input) into the actual cell
. Print out the ascii sign belonging to the cell value

Depending on that I will print you my bf-code of above again, this time with comments and so on:

 ____________________________________________|          ________                   ____   ||   by    /        /|    /\__        /    /| ||  Odi   /_______ / |   /   /\__    /___ / | || 2004  |         | |  |\__/   /\  |    |  | ||       |    _    | |  | _ \__/ /  |    |  | ||       |   | |   | |  | _|   \/   |    |  | ||       |         | |  |    __/    |    |  | ||       |         | /  | __/       |    | /  ||       |________ |/   |/          |____|/   |                      |____________________________________________|                                

Brainfuck Pendant (commentent):

FIRST PLACE IS THE FILL IN COUNTER PLACE

++++++++++[>++++++++++<-]>——- = 95 in 2nd place (ASCII for “_”) (pos:2)
<++++++++++[»+++++++++++++«-]»——— = “|” (124) in 3th place (pos:3)
«+++++[»>++++++++++«<-]»>—- = “/” (47) in 4th place (pos:4)
«<++++++++++[»»+++««-]»»++ = SPACE (32) in 5th place (pos:5)
>+++++++++++++ = “New Line” (13) in 6th place (pos:6)
««<++++[»»»++++++++++«««-]»»»++++ = 44 in 7th place (times to repeat “_”) Use as Counter place (pos:7)


//START Line 1
«. = Print SPACE at the beginning of line 1 (pos:5)
 » = Change Pointer to 7 (pos:7)
[««<.»»>-] = Print 44 times “_” (pos:7)
<. = Change to 6th place and print NewLine (pos:6)
//END Line 1

//START Line 2
«<. = Change to 3th place; print “|” (pos:3)
«++[»»»+++++«««-]»»» = Fill Counter with 10 (pos:7)
[«.»-] = print 10 SPACE (pos:7)
[-] = Clean 7th place to 0 (pos:7)
«««++[»»»++++«««-]»»»- = Set counter place to 7 (pos:7)
[««<.»»>-] = Print 8 “_” (pos:7)
[-] = Clean 7th place to 0 (pos:7)
«««++[»»»++++++++++«««-]»»»- = Set counter place to 19 (pos:7)
[«.»-] = Print 19 SPACE (pos:7)
««<…. = Change to 2nd place; print 4 “_” (pos:2)
»>…. = Change to 5th place: print 4 SPACE (pos:5)
«. = Change to 3rd place: print “|” (pos:3)
»>. = Change to 6th place: print NewLine (pos:6)
//END Line 2


//START Line 3
«<. = Change to 3rd place; print “|” (pos:3)
»… = Change to 5th place; print 3 SPACE (pos:5)
 »[-] = Clean 7th place (pos:7)
«««  = Change pointer to 1 (pos:1)
++++++++++[»»»++++++++++«««-]»»»—. = Set 7th position to 98 (stands for “b”) and print it (pos:7)
[-] = Clean 7th place (pos:7)
«««  = Change pointer to 1 (pos:1)
++++++++++[»»»++++++++++++«««-]»»»+. = Set 7th position to 121 (stands for “y”) and print it (pos:7)
«…. = Change to 5th place; print 4 SPACE (pos:5)
<. = Change to 4th place; print “/” (pos:4)
>……. = Print 8x SPACE (pos:5)
<. = Print “/” (pos:4)
<. = Print “|” (pos:3)
»…. = Print 4 SPACE (pos:5)
<. = Print “/” (pos:4)
«—-. = Print “” (_{95} minus 3 = \{92}) (pos:2)
+++.. = Print 2 “_” (pos:2)
»>…….. = Print 8x SPACE (pos:5)
<. = Print / (pos:4)
>…. = Print 3 times SPACE (pos:5)
<. = Print “/” (pos:4)
<. = Print “|” (pos:3)
 ».. = Print SPACE (pos:5)
«. = Print “|” (pos:3)
»>. = Print NewLine (pos:6)
//END Line 3

//START Line 4
«<. = Change to 3rd place; print “|” (pos:3)
 ».. = Change to 5th place; print 3 SPACE (pos:5)
 »[-] = Clean 7th place (pos:7)
«««  = Change pointer to 1 (pos:1)
++++++++[»»»++++++++++«««-]»»»-. = Set 7th position to 79 (stands for “O”) and print it (pos:7)
[-] = Clean 7th place (pos:7)
«««  = Change pointer to 1 (pos:1)
++++++++++[»»»++++++++++«««-]»»». = Set 7th position to 100 (stands for “d”) and print it (pos:7)
+++++. = Set 7th place to 105 (stands for “i) (pos:7)
«… = Print 3 SPACE (pos:5)
<. = print “/” (pos:4)
«…… = Print 5 “_” (pos:2)
»>. = Print a SPACE (pos:5)
<. = Print “/” (pos:4)
>. = Print SPACE (pos:5)
«. = Print “|” (pos:3)
»… = Print 3 SPACE (pos:5)
<. = Print “/” (pos:4)
>… = Print 3 SPACE (pos:5)
<. = Print “/” (pos:4)
«—-.+++ = Print “” (decrease “_” about 3 back to the orgin) (pos:2)
.. = Print 2 “_” (pos:2)
»>…. = Print 4 SPACE (pos:5)
<. = Print a “/” (pos:4)
«… = Print 2 “_” (pos:2)
»>. = Print a SPACE (pos:5)
<. = Print a “/” (pos:4)
>. = Print a SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print SPACE (pos:5)
«. = Print “|” (pos:3)
»>. = Print NewLine (pos:6)
//END Line 4

//START Line 5
«<. = Change to 3rd place; print “|” (pos:3)
 ». = Change to 5th place; print 3 SPACE (pos:5)
 »[-] = Clean 7th place (pos:7)
«««  = change position to 1 (pos:1)
+++++[»»»++++++++++«««-]»»». = Print “2” (50) (pos:7)
—.. = Print 2x “0” (48) (pos:7)
++++. = Print “4” (52) (pos:7)
«.. = Print 2 SPACE (pos:5)
«. = Print a “|” (pos:3)
»……. = Print 9x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print a SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
<—-.+++ = Print a “” (pos:2)
.. = Print 2x “_” (pos:2)
 ». = Print a “/” (pos:4)
>… = Print 3x SPACE (pos:5)
<. = Print a “/” (pos:4)
«—-.+++ = Print a “” (pos:2)
»>.. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
»…. = Print 4x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
»>. = Print NewLine (pos:6)
//END Line 5

//START Line 6
«<. = Change to 3rd place; print “|” (pos:3)
»……. = Change to 5th place; print 7x SPACE (pos:5)
«. = Print a “|” (pos:3)
»… = Print 3x SPACE (pos:5)
«<. = Print a “_” (pos:2)
»>… = Print 3x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print a SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ». = Print a SPACE (pos:5)
«<. = Print a “_” (pos:2)
»>. = Print a SPACE (pos:5)
«<—-.+++ = Print a “” (pos:2)
.. = Print 2x “_” (pos:2)
 ». = Print a “/” (pos:4)
>. = Print a SPACE (pos:5)
<. = Print a “/” (pos:4)
>.. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
»…. = Print 4x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
»>. = Print NewLine (pos:6)
//END Line 6

//START Line 7
«<. = Change to 3rd place; print “|” (pos:3)
»……. = Change to 5th place; print 7x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ». = Print a SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print a SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ». = Print a SPACE (pos:5)
«<. = Print a “_” (pos:2)
>. = Print a “|” (pos:3)
»… = Print 3x SPACE (pos:5)
«<—-.+++ = Print a “” (pos:2)
 ». = Print a “/” (pos:4)
>… = Print 3x SPACE (pos:5)
«. = Print a “|” (pos:3)
»…. = Print 4x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
»>. = Print NewLine (pos:6)
//END Line 7

//START Line 8
«<. = Change to 3rd place; print “|” (pos:3)
»……. = Change to 5th place; print 7x SPACE (pos:5)
«. = Print a “|” (pos:3)
»……. = Print 7x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print a SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
»…. = Print 4x SPACE (pos:5)
«<.. = Print 2x “_” (pos2)
 ». = Print a “/” (pos:4)
>…. = Print 4x SPACE (pos:5)
«. = Print a “|” (pos:3)
»…. = Print 4x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ».. = Print 2x SPACE (pos:5)
«. = Print a “|” (pos:3)
»>. = Print NewLine (pos:6)
//END Line 8

//START Line 9
«<. = Change to 3rd place; print “|” (pos:3)
»……. = Change to 5th place; print 7x SPACE (pos:5)
«. = Print a “|” (pos:3)
»……. = Print 7x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ». = Print a SPACE (pos:5)
<. = Print a “/” (pos:4)
>… = Print 3x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ». = Print a SPACE (pos:5)
«<.. = Print 2x “_” (pos2)
 ». = Print a “/” (pos:4)
>……. = Print 7x SPACE (pos:5)
«. = Print a “|” (pos:3)
»…. = Print 4x SPACE (pos:5)
«. = Print a “|” (pos:3)
 ». = Print a SPACE (pos:5)
<. = Print a “/” (pos:4)
>… = Print 3x SPACE (pos:5)
«. = Print a “|” (pos:3)
»>. = Print NewLine (pos:6)
//END Line 9

//START Line 10
«<. = Change to 3rd place; print “|” (pos:3)
»……. = Change to 5th place; print 7x SPACE (pos:5)
«. = Print a “|” (pos:3)
<……. = Print 7x “_” (pos:2)
>. = Print a “|” (pos:3)
>. = Print a “/” (pos:4)
>…. = Print 4x SPACE (pos:5)
«. = Print a “|” (pos:3)
>. = Print a “/” (pos:4)
>………. = Print 10x SPACE (pos:5)
«. = Print a “|” (pos:3)
<…. = Print 4x “_” (pos:2)
>. = Print a “|” (pos:3)
>. = Print a “/” (pos:4)
>…. = Print 4x SPACE (pos:5)
«. = Print a “|” (pos:3)
»>. = Print NewLine (pos:6)
//END Line 10

//START Line 11
«<. = Change to 3rd place; print “|” (pos:3)
»»[-] = Clean 7th place (pos:7)
«««++++[»»»++++++++++«««-]»»»++++ = 44 in 7th place (times to repeat “_”) Use as Counter place (pos:7)
[««<.»»>-] = Print 44 times “_” (pos:7)
««. = Change to 3rd place and print “|” (pos:3)
//END Line 11

Brainfucked wishes