Brainfuck vytvoril Urban Müller ako programovací jazyk s najmenším prekladačom všetkých čias.
Na Amiga OS 2.0 zaberal len 240 bajtov (údajne sa mu to podarilo neskôr zlepšiť na menej ako 200 bajtov).
Jazyk obsahuje 8 príkazov, pomocou ktorých je možné pracovať s jediným smerníkom, ktorý ukazuje na bajt v poli o veľkosti 30000 bajtov (pole je inicializované na 0) a smerník je inicializovaný na počiatok tohto poľa.
Každý z príkazov jazyka je reprezentovaný jediným znakom:
Popis | |
> | inkrementovať smerník |
< | dekrementovať smerník |
+ | inkrementovať hodnotu, na ktorú smerník ukazuje |
- | dekrementovať hodnotu, na ktorú smerník ukazuje |
. | vypísať bajt, na ktorý smerník ukazuje |
, | načítať bajt, na ktorý smerník ukazuje |
[ | skok dopredu, za zodpovedajúce ], ak bajt, na ktorý smerník ukazuje, je rovný 0 |
] | skok dozadu, na zodpovedajúce [, ak bajt, na ktorý smerník ukazuje, je rôzny od 0 |
Príkazy jazyka je možné vyjadriť v jazyku C takto (predpokladajme že p bol definovaný ako char *):
Brainfuck príkaz | C Príkaz |
> | ++p; |
< | --p; |
+ | ++*p; |
- | --*p; |
. | putchar(*p); |
, | *p = getchar(); |
[ | while (*p) { |
] | } |
This article uses material from the Wikipedia Slovenčina article Brainfuck, which is released under the Creative Commons Attribution-ShareAlike 3.0 license ("CC BY-SA 3.0"); additional terms may apply (view authors). Obsah je dostupný pod licenciou CC BY-SA 4.0, pokiaľ nie je uvedené inak. Images, videos and audio are available under their respective licenses.
®Wikipedia is a registered trademark of the Wiki Foundation, Inc. Wiki Slovenčina (DUHOCTRUNGQUOC.VN) is an independent company and has no affiliation with Wiki Foundation.