Hoppa till innehåll
100% lokalt

Brainfuck-kodare

Omvandla text till ett Brainfuck-program som skriver ut det, eller kör ett Brainfuck-program och se dess utmatning.

Inmatning
Utmatning

Brainfuck-kodare

Klistra in vilken text som helst så skriver det här verktyget ett Brainfuck-program som skriver ut den exakt - tecken för tecken. Det fungerar också åt andra hållet: klistra in ett Brainfuck-program så kör verktyget det och visar vad det matar ut. Växla mellan de två med lägesalternativet eller använd swap-knappen för att skicka ett genererat program direkt in i tolken.

Slå på "Optimera längd med loopar" för att göra det genererade programmet kortare: i stället för att upprepa + upp till 255 gånger för ett enda tecken bygger det värdet med en liten multiplikationsloop - det spelar roll när inmatningen går förbi ett par ord. Cellstorlek bestämmer hur varje tecken lagras - 8-bitars är det klassiska byte-per-cell Brainfuck, motsvarande hur verkliga tolkar och UTF-8-text fungerar, medan 16-bitars och 32-bitars celler kan hålla en helt kodpunkt per cell så akcenttecken och emoji enkelt kan gå fram och tillbaka utan extra byte. Minnesceller ställer in hur många minnesceller tolken har att arbeta med, och stegbegränsningen stoppar en oändlig loop från att frysa sidan - höj den om ett program verkligen behöver fler steg, eller sänk den när du testar något du inte är säker på än. "Visa minnestillstand efter körning" lägger till en ögonblicksbild av minnescellerna när programmet slutar, vilket är användbart för att felsöka loopar som inte producerar det du förväntade. Den genererade koden kan också brytas till en fast linjebredd för lättare läsning; Brainfuck ignorerar själv whitespace och alla tecken som inte är ett av dess åtta kommandon, så radbrytning ändrar aldrig vad programmet gör.

Väldigt lång inmatning producerar ett längre program, och båda riktningarna är begränsade så att webbläsarfliken aldrig fryser på oavsiktlig runaway-inmatning eller en oändlig loop - du får istället ett tydligt meddelande som säger vad du ska justera.

Allt körs lokalt i din webbläsare; ingen text eller kod skickas någonstans. Kopiera resultatet, ladda ner det som en .txt-fil, rensa panelen eller skicka utmatningen direkt tillbaka till inmatningen för att fortsätta arbeta.

FAQ

Vad är Brainfuck?
Brainfuck är ett minimalistiskt esoteriskt programmeringsspråk med bara åtta kommandon, byggt runt en minnestejp med celler och en enda pekare. Det är populärt som en kuriositet och en code-golf-utmaning, inte för verkliga program.
Varför ser det genererade programmet annorlunda ut varje gång jag ändrar cellstorlek?
Cellstorlek avgör vilket värde varje tecken lagras som. 8-bitars celler håller en UTF-8-byte, så ett accenttecken eller emoji behöver flera celler; 16-bitars och 32-bitars celler kan hålla ett helt tecken på en gång, vilket ändrar både värdena och den kortaste vägen till dem.
Vad händer om mitt program har en oändlig loop?
Tolken stoppar så snart den träffar stegbegränsningen och rapporterar att programmet inte blev klart, snarare än att fryza sidan. Höj stegbegränsningen om programmet verkligen behöver fler steg, eller fixa loopen.
Fungerar kommakommandot (inmatning)?
Verktyget har ingen separat indataström för ett körande program, så `,` läses alltid som slut-på-fil och ställer in den aktuella cellen på 0 - samma beteende som de flesta tolkar faller tillbaka på när inmatningen tar slut.
Skickas min text eller kod någonstans?
Nej. Både kodning och körning av ett program sker helt i din webbläsare - ingenting du klistrar in här skickas någonsin till en server.