Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія | Попередня ревізія | ||
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 | ||
+ | - **.** надрукувати значення поточної комірки | ||
+ | - **,** Ввести ззовні значення і зберегти в поточну комірку | ||
+ | - **[** Якщо значення поточної комірки - нуль, перейти вперед по тексту програми до **]** з урахуванням вкладеності | ||
+ | - **]** Якщо значення поточної комірки не дорівнює нулю, перейти назад за текстом програми до **[** з урахуванням вкладеності |