hu en hu hu hu hu hu en en hu hu uk hu it hu de hu de hu fa da hu es hu hu hu hu hu hu it en hu fa en hu hu hu hu hu hu fr hu en hu fr hu it hu fr hu ru hu tr hu yue hu hu hu hu hu jbo hu hu ceb hu hu zh hu zh hu hu en hu ru hu es hu hu hu ko hu hu hu hu hu hu en en it hu hu sk hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu de hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu en ar en ca hbs_lat da de eo es et eu fa fi fr he id is it ja ko fr ms nl nb pa pl pt ro ru en sk sl hbs_lat sv ta en th tr fy uz vi zh hu hu hu hu hu hu hu hu hu hu
A Wikipédiából, a szabad enciklopédiából
Ez a közzétett változat, ellenőrizve: 2021. március 25.
Ugrás a navigációhoz Ugrás a kereséshez
A Brainfuck programozási nyelv egy nyolc utasítást tartalmazó Turing-teljes[1] (Turing-complete) ezoterikus programozási nyelv. A Brainfuck szó az angol brain (=agy) és fuck (=szexuálisan közösülni, durván behatolni) szavakból áll össze, ami a programok nehéz megírására utal.
A nyelvet Urban Müller készítette Amiga OS 2.0 alá azzal a céllal, hogy olyan Turing-nyelvet hozzon létre, amire a lehető legkisebb fordítóprogramot meg tudja írni. (Ez eredetileg 240 byte hosszú volt, de híresztelések szerint sikerült később 200 byte alatt megírnia.)
A Turing-teljes nyelvekkel minden lehetséges program megírható. Mivel ez a lehetséges programozási módok közül az egyik legnehezebb, legátláthatatlanabb, ezért kaphatta a nyelv az „agycseszegető” nevet (finoman fordítva).
4 Két megadott byte összeadása
A Brainfuck nyelvnek egy univerzális byte mutatója van, aminek a neve „pointer”, ami szabadon mozoghat egy 30 000 byte nagyságú tömbben, melynek alapértékei nullák. A pointer a tömb elején indul.
A nyelv nyolc parancsát egy-egy karakter reprezentálja:
A pointer növelése eggyel
A pointer csökkentése eggyel
A pointernél levő byte növelése eggyel
A pointernél levő byte csökkentése eggyel
A pointernél levő byte kiírása
Byte bekérése és a pointernél tárolása
Ugrás a következő, megfelelő ] jel utánig, ha a pointer alatti byte nulla.
Ugrás az előző, megfelelő [ jelig.
A legtöbb Brainfuck program több száz, vagy több ezer karakterből áll. Íme két extrém pici program, ami igazából semmi hasznosat nem csinál a bemutatáson túl.
Az alábbi program kiírja az ASCII karakterkészletet; szerzője Jeffry Johnston, 2001
Ez a program minden beadott karaktert kiír addig, míg egy ASCII 255 karaktert nem kap.
A beadott karaktereket kiadja ellensorrendben (enter/soremel=10).
+[>,----- -----]<-[+ +++++ +++++.<-]
A következő példa ugyanazt csinálja mint az előző, de csak akkor működik, ha a fordító/interpreter az entert 0-vá alakítja (így nem kell sem levonni, sem hozzáadni 10-et, mint az előbb).
Egy szimpla polyglot, amit 'a' és 'b' karakterrel hajtunk [80x25]. A program Turbo Pascal és BrainFuck nyelven is lefordul, és az eredménye azonos
+++++ +++++ [ > +++++ ++ > +++++ +++++ > +++ > +   ++ . 'H' > + . 'e' +++++ ++ . 'l' . 'l' +++ . 'o' >++ . ' '   . 'o' +++ . 'r' ----- - . 'l' ----- --- . 'd' > + . '!'
Két megadott byte összeadása[szerkesztés]
, #0 feltöltése > pointer növelése , #1 feltöltése [ ciklus kezd (ha a pointer alatti byte 0 akkor hagyja ki a következő zárójel bezár utánig a kódot) - #1 csökkentése   pointer növelése ] ciklus vége < pointer csökkentése . #0 kiírása
↑ BME EET: BF, 2009. január 17. [2012. június 27-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. július 1.)
JavaScript nyelven írt BrainFuck értelmező.
Másik webes BrainFuck értelmező és gépikódú fordító.[halott link]
Brainfuck – An Eight-Instruction Turing-Complete Programming Language
Brainfuck interpreter with integrated debugger (IDE) for Windows
bkil ASCII BF interpretere
Informatikai portál • összefoglaló, színes tartalomajánló lap
A lap eredeti címe: „https://hu.wikipedia.org/w/index.php?title=Brainfuck&oldid=23714214”
Minden szócikk halott külső hivatkozásokkal
Szócikkek halott külső hivatkozásokkal 2018 novemberéből
Hivatkozás erre a változatra
Hogyan hivatkozz erre a lapra?
A lap utolsó módosítása: 2021. március 25., 19:46
A lap szövege Creative Commons Nevezd meg! – Így add tovább! 3.0 licenc alatt van; egyes esetekben más módon is felhasználható. Részletekért lásd a felhasználási feltételeket.