Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія | Остання ревізія По сторонах наступні версії | ||
brainfuck [2017/09/22 18:33] |
brainfuck [2022/09/24 14:39] 127.0.0.1 зовнішнє редагування |
||
---|---|---|---|
Рядок 1: | Рядок 1: | ||
+ | ====== Написание модулей на Brainfuck ====== | ||
+ | Начиная, | ||
+ | |||
+ | ====== Зачем? ====== | ||
+ | Язык Brainfuck известен своим минимализмом и кроме того является Тьюринг-полным языком. Наша команда разработчиков в свою очередь считает, | ||
+ | |||
+ | ====== Немного примеров ====== | ||
+ | Подключаем интерпретатор Brainfuck из соответствующей библиотеки. | ||
+ | <code php> | ||
+ | require_once(' | ||
+ | $bf=new dotzero\Brainfuck(); | ||
+ | </ | ||
+ | |||
+ | Просто выполнение кода: | ||
+ | <code php> | ||
+ | $code = ' | ||
+ | $bf-> | ||
+ | show_window(__(' | ||
+ | </ | ||
+ | |||
+ | А если нам хочется передать какие-то входные данные? | ||
+ | <code php> | ||
+ | $bf-> | ||
+ | $bf-> | ||
+ | show_window(' | ||
+ | </ | ||
+ | |||
+ | Но возможно мы хотим инкапсулировать внутрь PHP код, работать с базой и делать другие крутые вещи, например показать список пользователей в виде красивой таблички? | ||
+ | <code php> | ||
+ | $code=' | ||
+ | . ' | ||
+ | . ' | ||
+ | . '< | ||
+ | . ' | ||
+ | . ' | ||
+ | . ' | ||
+ | . ' | ||
+ | . ' | ||
+ | . ' | ||
+ | $bf-> | ||
+ | $bf-> | ||
+ | </ | ||
+ | |||
+ | Ну и собственно результат: | ||
+ | {{: | ||
+ | |||
+ | |||
+ | ====== Памятка по синтаксису ====== | ||
+ | Весь синтаксис, | ||
+ | |||
+ | - **>** Перейти к следующей ячейке | ||
+ | - **<** Перейти к предыдущей ячейке | ||
+ | - **+** Увеличить значение в текущей ячейке на 1 | ||
+ | - **-** уменьшить значение в текущей ячейке на 1 | ||
+ | - **.** напечатать значение текущей ячейки | ||
+ | - **,** Ввести извне значение и сохранить в текущую ячейку | ||
+ | - **[** Если значение текущей ячейки - ноль, перейти вперед по тексту программы к **]** с учетом вложенности | ||
+ | - **]** Если значение текущей ячейки не равен нулю, перейти назад по тексту программы с **[** с учетом вложенности |