Přeskočit na obsah
100% lokálně

Kodér Brainfuck

Převeď text na program Brainfuck, který jej vytiskne, nebo spusť program Brainfuck a vidíš jeho výstup.

Vstup

Kodér Brainfuck

Vlož libovolný text a tento nástroj napíše program Brainfuck, který jej vytiskne přesně tak, jak byl zadán, znak za znakem. Funguje také opačným směrem: vlož program Brainfuck a nástroj jej spustí, přičemž zobrazí, co vyprintuje. Přepínat mezi dvěma režimy můžeš pomocí volby Režim nebo vyzkoušej tlačítko výměny na odeslání vygenerovaného programu přímo do interpretačního systému.

Zapnutím volby "Optimalizovat délku pomocí cyklů" zmenšíš vygenerovaný program: místo opakování + až 255krát pro jeden znak si program vytvoří hodnotu malou multiplikační smyčkou, což se hodí, když vstup přesahuje několik slov. Volba Velikost buňky ovládá, jak je každý znak uložen – 8bitové buňky jsou klasické bajty na buňku při Brainfucku a shodují se s tím, jak fungují skutečné interpretační systémy a UTF-8 text, zatímco 16bitové a 32bitové buňky drží v jedné buňce celý bod kódu, takže akcentovaní znaky a emoji se přesunou správně bez dodatečných bajtů. Volba Buňky pásky určuje, kolik pamětových buněk má interpret k dispozici, a Limit kroků zastavuje nekonečnou smyčku před zamrznutím stránky – zvýš jej pro program, který skutečně potřebuje více kroků, nebo jej snižuj při testování něčeho, čemu ještě nevěříš. "Zobrazit stav pásky po spuštění" přidá snímek pamětových buněk po skončení programu, což je užitečné při ladění smyček, které neproduktivně dávají očekávaný výstup. Vygenerovaný kód můžeš také zalomit na pevnou šířku řádku pro jednodušší čtení; samotný Brainfuck ignoruje mezery a jakýkoli znak, který není jedním z jeho osmi příkazů, takže zalomení nikdy nezmění, co program dělá.

Velmi dlouhý vstup produkuje delší program a oba směry jsou omezeny, aby se prohlížeč nikdy nezamrzl na neúmyslném nekončícím vstupu či nekonečné smyčce – dostaneš jasně formulovanou zprávu, která ti řekne, co je třeba nastavit, místo zamrznuté stránky.

Všechno běží lokálně ve vašem prohlížeči; žádný text ani kód se nikdy neukládá nikam. Zkopíruj výsledek, stáhni si jej jako soubor .txt, vyčisti panel nebo pošli výstup přímo zpět do vstupu, abys mohl pokračovat v práci.

Časté dotazy

Co je Brainfuck?
Brainfuck je minimalistický ezoterický programovací jazyk s pouze osmi příkazy, postavený kolem pásky pamětových buněk a jednoho ukazatele. Je populární jako zvědavost a výzva v code-golfu, nikoliv pro skutečné programy.
Proč vypadá vygenerovaný program pokaždé jinak, když změním velikost buňky?
Velikost buňky určuje, jakou hodnotu je každý znak uložen. 8bitové buňky drží jeden bajt UTF-8, takže akcentovaný znak nebo emoji potřebuje několik buněk; 16bitové a 32bitové buňky mohou pojmout celý znak najednou, což změní jak hodnoty tak nejkratší cestu k nim.
Co se stane, pokud má můj program nekonečnou smyčku?
Interpret se zastavuje, jakmile narazí na limit kroků, a místo zamrznutí stránky hlásí, že program se neskončil. Zvýšit limit kroků, pokud program skutečně potřebuje více kroků, nebo opravit smyčku.
Funguje příkaz čárka (vstup)?
Nástroj nemá samostatný vstupní proud pro spuštěný program, takže `,` vždy čte jako konec souboru a nastavuje aktuální buňku na 0 – to samé chování, na které se vrací většina interpretů po vypršení vstupu.
Je můj text nebo kód někde nahraný?
Ne. Kódování i spuštění programu se odehrává zcela ve vašem prohlížeči – nic, co sem vložíte, se nikdy nepošle na server.