Перейти до вмісту
100% локально

Кодувальник Brainfuck

Перетворіть текст у програму Brainfuck, яка його виведе, або запустіть програму Brainfuck та подивіться результат.

Введення
Вихід

Кодувальник Brainfuck

Вставте будь-який текст, і цей інструмент створить програму Brainfuck, яка виведе його точно, символ за символом. Він також працює в зворотному напрямку: вставте програму Brainfuck, і інструмент запустить її, показавши весь її вивід. Переключайтеся між двома режимами за допомогою опції режиму або використовуйте кнопку обміну для відправлення створеної програми прямо в інтерпретатор.

Включіть "Оптимізувати довжину циклами", щоб зробити створену програму коротшою: замість повторення + до 255 разів для одного символу вона побудує значення з невеликим циклом множення, що важливо, коли введення перевищує кілька слів. Розмір комірки визначає, як зберігається кожен символ: 8-біт — це класичний Brainfuck з однією коміркою на байт, що відповідає тому, як працюють реальні інтерпретатори та UTF-8, а комірки розміром 16 і 32 біти зберігають цілу кодову точку на комірку, тому наголошені букви та емодзі корректно переносяться без додаткових байтів. Комірки пам'яті визначають, скільки комірок пам'яті доступно інтерпретаторові, а ліміт кроків запобігає зависанню сторінки від нескінченного циклу. Підніміть його для програми, яка дійсно потребує більше кроків, або знизьте його при тестуванні чогось ненадійного. "Показати стан пам'яті після запуску" додає знімок комірок пам'яті після завершення програми, що корисно для налагодження циклів, які не виводять очікуваний результат. Створений код також можна переносити на фіксовану ширину рядка для зручнішого читання; сам Brainfuck ігнорує пробіли та будь-який символ, який не є одною з його восьми команд, тому перенесення ніколи не змінює те, що робить програма.

Очень довгий вввід створює більш довгу програму, і обидві операції обмежені, щоб вкладка браузера ніколи не зависла на випадковому нескінченному вводі або циклі — ви отримаєте чіткий розповідь, що вам потрібно регулювати, замість зависшої сторінки.

Все виконується локально у вашому браузері; текст та код ніколи не завантажуються нікуди. Скопіюйте результат, завантажте його як .txt-файл, очистіть панель або відправте вивід назад на введення для продовження роботи.

FAQ

Що таке Brainfuck?
Brainfuck — це мініміалістична езотерична мова програмування з лише восьма командами, побудована навколо стрічки комірок пам'яті та одного показувача. Вона популярна як цікавість та виклик для кода-гольфу, але не для реальних програм.
Чому створена програма виглядає інакше щоразу, коли я змінюю розмір комірки?
Розмір комірки визначає, яке значення зберігає кожен символ. Комірки розміром 8 біт містять один байт UTF-8, тому наголошений символ або емодзі потребують кількох комірок; комірки розміром 16 і 32 біти можуть містити весь символ відразу, що змінює як значення, так і найкоротший шлях до них.
Що трапляється, якщо в моїй програмі є нескінченний цикл?
Інтерпретатор зупиняється, як тільки досягає ліміту кроків, і повідомляє, що програма не завершена, замість того щоб зависити сторінку. Підніміть ліміт кроків, якщо програмі дійсно потрібно більше кроків, або виправте цикл.
Чи працює команда кома (введення)?
Інструмент не має окремого потоку введення для запущеної програми, тому `,` завжди читається як кінець файлу та встановлює поточну комірку на 0 — та ж поведінка, до якої більшість інтерпретаторів звертаються, коли введення закінчується.
Мій текст або код завантажується десь?
Ні. Як кодування, так і запуск програми відбуваються повністю у вашому браузері — ніщо з того, що ви вставляєте тут, ніколи не відправляється на сервер.