Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версій Попередня ревізія | Попередня ревізія | ||
|
brainfuck [2017/09/22 18:33] |
brainfuck [2023/06/16 12:36] (поточний) borisov |
||
|---|---|---|---|
| Рядок 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(' | ||
| + | </ | ||
| + | |||
| + | Але, можливо, | ||
| + | <code php> | ||
| + | $code=' | ||
| + | . ' | ||
| + | . ' | ||
| + | . '< | ||
| + | . ' | ||
| + | . ' | ||
| + | . ' | ||
| + | . ' | ||
| + | . ' | ||
| + | . ' | ||
| + | $bf-> | ||
| + | $bf-> | ||
| + | </ | ||
| + | |||
| + | Ну і власне результат: | ||
| + | {{: | ||
| + | |||
| + | |||
| + | ====== Пам' | ||
| + | Весь синтаксис складається аж із 8-ми операторів: | ||
| + | |||
| + | - **>** Перейти до наступної комірки | ||
| + | - **<** Перейти до попередньої комірки | ||
| + | - **+** Збільшити значення в поточній комірці на 1 | ||
| + | - **-** зменшити значення в поточній комірці на 1 | ||
| + | - **.** надрукувати значення поточної комірки | ||
| + | - **,** Ввести ззовні значення і зберегти в поточну комірку | ||
| + | - **[** Якщо значення поточної комірки - нуль, перейти вперед по тексту програми до **]** з урахуванням вкладеності | ||
| + | - **]** Якщо значення поточної комірки не дорівнює нулю, перейти назад за текстом програми до **[** з урахуванням вкладеності | ||