Brainfuck
Útlit
Brainfuck, einnig kallað brainf*ck, brainf*** eða BF, er lítið heimullegt forritunarmál sem er Turing-samhæft, en það var búið til af Urban Müller í kringum árið 1993.
Í Brainfuck forritunarmálinu eru eingöngu átta skipanir, og hver þeirra er táknuð með einu tákni. Málið er þannig hannað að það eru minnishólf sem hvert getur geymt tölu á bilinu 0 til 255. Þá er einn bendir sem segir hvaða stak í minnisfylkinu er verið að benda á. Skipanirnar eru þannig:
> | Leggja einn við bendinn (færa um eitt minnishólf til hægri) |
< | Draga einn frá bendinum (færa um eitt minnishólf til vinstri) |
+ | Leggja einn við gildi núverandi minnishólfs |
- | Draga einn frá gildi núverandi minnishólfs |
[ | Hefja endurtekningu sem hættir er núverandi stak nær núlli. |
] | Ljúka endurtekningu |
, | Lesa inn eitt bæti af gögnum í valið minnishólf. |
. | Skrifa út eitt bæti frá völdu minnishólfi. |
Þýðendur
[breyta | breyta frumkóða]Brainfuck þýðendur eru mjög einfaldir í notkun. Dæmi um rauntíma Brainfuck túlk skrifaður í Perl af Juerd Waalboer:
#!/usr/bin/perl -s # |bf; bf $file; bf -e=, $|++;undef$/;$_=$e||<>;tr/-+,.[]<>//cd;for$ a(qw%]} [while($p[$p]){ -$p[$p]-- +$p[$p]++ ,$p[$p]=ord(getc) .print(chr($p[$p])) <$p-- >$p++%){s/\Q${\substr$a,0,1}/${\substr$a,1} ;/g}eval; # by Juerd <juerd@juerd.nl>, 2001
Tenglar
[breyta | breyta frumkóða]- Brainfuck interpreter with integrated debugger (IDE) for Windows Geymt 10 desember 2005 í Wayback Machine