Preskočiť na obsah
100% lokálne

Kódovač Brainfuck

Preveď text na program Brainfuck, ktorý ho vyprintuje, alebo spusti program Brainfuck a vidíš jeho výstup.

Vstup
Výstup

Kódovač Brainfuck

Vlož ľubovoľný text a tento nástroj napíše program Brainfuck, ktorý ho vytlačí presne tak, ako bol zadaný, znak za znakom. Funguje aj v opačnom smere: vlož program Brainfuck a nástroj ho spustí, pričom zobrazí, čo vyprintuje. Prepínať medzi dvoma režimami možno pomocou voľby Režim alebo skúsiť tlačidlo výmeny na odoslanie vygenerovaného programu priamo do interpretačného systému.

Zapnutím voľby "Optimalizovať dĺžku pomocou slučiek" zmenšíš vygenerovaný program: namiesto opakovania + až 255-krát pre jeden znak si program vytvorí hodnotu malou multiplikačnou slučkou, čo sa hodí, keď vstup presahuje niekoľko slov. Voľba Veľkosť bunky ovláda, ako je každý znak uložený – 8-bitové bunky sú klasické bajty na bunku pri Brainfucku a zhodujú sa s tým, ako fungujú skutočné interpretačné systémy a UTF-8 text, zatiaľ čo 16-bitové a 32-bitové bunky drží v jednej bunke celý bod kódu, takže akcentovaní znaky a emoji sa presunú správne bez dodatočných bajtov. Voľba Bunky pásky určuje, koľko pamäťových buniek má interpreter k dispozícii, a Limit krokov zastavuje nekonečnú slučku pred zamrznutím stránky – zvýš ho pre program, ktorý skutočne potrebuje viac krokov, alebo znížiť ho pri testovaní niečoho, čomu ešte neveríš. "Zobraziť stav pásky po spustení" pridá snímok pamäťových buniek po skončení programu, čo je užitočné pri ladení slučiek, ktoré neproduktívne dávajú očakávaný výstup. Vygenerovaný kód možno aj zalomiť na pevnú šírku riadka pre ľahšie čítanie; samotný Brainfuck ignoruje medzery a akýkoľvek znak, ktorý nie je jedným z jeho ôsmich príkazov, takže zalomenie nikdy nezmení, čo program robí.

Veľmi dlhý vstup produkuje dlhší program a oba smery sú obmedzené, aby sa prehliadač nikdy nezamrzol na neúmyselnom nekončiacich vstupe či nekonečnej slučke – dostaneš jasne formulovanú správu, ktorá ti povie, čo treba nastaviť, namiesto zamrznutej stránky.

Všetko beží lokálne vo vašom prehliadači; žiadny text ani kód sa nikdy neukladá nikam. Skopíruj výsledok, stiahni si ho ako súbor .txt, vyčisti panel alebo pošli výstup priamo späť do vstupu, aby si mohol pokračovať v práci.

Časté otázky

Čo je Brainfuck?
Brainfuck je minimalistický ezoterický programovací jazyk s iba ôsmimi príkazmi, postavený okolo pásky pamäťových buniek a jedného ukazovateľa. Je populárny ako zvedavosť a výzva v code-golfe, nie pre reálne programy.
Prečo vyzerá vygenerovaný program inak zakaždým, keď zmením veľkosť bunky?
Veľkosť bunky rozhoduje, akú hodnotu je každý znak uložený. 8-bitové bunky drží jeden UTF-8 bajt, takže akcentovaný znak alebo emoji potrebuje niekoľko buniek; 16-bitové a 32-bitové bunky môžu drží celý znak naraz, čo zmení aj hodnoty aj najkratšiu cestu k nim.
Čo sa stane, ak má môj program nekonečnú slučku?
Interpreter sa zastavuje, akonáhle narazí na limit krokov, a namiesto zamrznutia stránky hlási, že program sa neskončil. Zvýšiť limit krokov, ak program skutočne potrebuje viac krokov, alebo opraviť slučku.
Funguje príkaz čiarka (vstup)?
Nástroj nemá samostatný vstupný tok pre spustený program, takže `,` vždy čítaí ako koniec súboru a nastavuje aktuálnu bunku na 0 – to isté správanie, na ktoré sa väčšina interpretačných systémov vráti po vypršaní vstupu.
Je môj text alebo kód gde-niekde nahraný?
Nie. Kódovanie i spúšťanie programu sa vyskytujú úplne vo vašom prehliadači – nič, čo tu vložíte, sa nikdy neposúva na server.