Brainfuck-encoder
Zet tekst om in een Brainfuck-programma dat dit afdrukt, of voer een Brainfuck-programma uit en zie de uitvoer.
Brainfuck-encoder
Voer willekeurige tekst in en dit tool schrijft een Brainfuck-programma dat het exact zo afdrukt - karakter voor karakter. Het werkt ook andersom: voer een Brainfuck-programma in en het tool voert het uit en toont wat het uitvoert. Wissel tussen beide met de modusoptie of gebruik de swap-knop om een gegenereerd programma rechtstreeks in de interpreter te sturen.
Schakel "Lengte met lussen optimaliseren" in om het gegenereerde programma korter te maken: in plaats van het + tot 255 keer voor één karakter te herhalen, wordt de waarde met een kleine vermenigvuldigingslusje opgebouwd - dit is belangrijk zodra de invoer verder dan een paar woorden gaat. Celgrootte bepaalt hoe elk karakter wordt opgeslagen - 8-bits is de klassieke byte-per-cel Brainfuck, overeenkomstig hoe echte interpreters en UTF-8-tekst zich gedragen, terwijl 16-bits en 32-bits cellen een volledig codepunt per cel kunnen bevatten, zodat accenttekens en emoji's schoon kunnen worden heen-en-weer gestuurd zonder extra bytes. Geheugencellen bepalen hoeveel geheugencellen de interpreter heeft, en het stappenlimiet stopt een oneindige lus voordat de pagina bevriest - verhoog het als een programma meer stappen nodig heeft, of verlaag het terwijl je iets test waar je nog niet zeker van bent. "Geheugentostand na uitvoering weergeven" voegt na afloop van het programma een snapshot van de geheugencellen toe, wat handig is om lussen op te sporen die niet de verwachte uitvoer opleveren. De gegenereerde code kan ook op een vaste lijnbreedte worden teruggebroken voor gemakkelijker lezen; Brainfuck zelf negeert witruimte en elk karakter dat niet een van zijn acht commando's is, dus terugbreken verandert nooit wat het programma doet.
Zeer lange invoer produceert een langer programma, en beide richtingen hebben een limiet zodat het browsertabblad nooit bevriest door onbedoelde runaway-invoer of een oneindige lus - je krijgt in plaats daarvan een duidelijk bericht dat je vertelt wat je moet aanpassen.
Alles wordt lokaal in je browser uitgevoerd; tekst en code worden nooit ergens heen geüpload. Kopieer het resultaat, download het als .txt-bestand, wis het paneel of stuur de uitvoer direct terug in de invoer om verder aan te werken.