Руководство по Brainfuck для новичков [2] (16.08.2014)
К началу

3 Основы языка: 8 команд Brainfuck

Язык состоит всего из восьми перечисленных ниже команд.
>  Сдвинуть указатель на одну ячейку вправо
<  Сдвинуть указатель на одну ячейку влево
+  Увеличить на единицу значение текущей ячейки
-  Уменьшить на единицу значение текущей ячейки
.  Отобразить ASCII-символ, соответствующий значению текущей ячейки на экран
,  Запросить ввод одного символа и сохранить его в текущей ячейке
[  Начало цикла while. Пока текущая ячейка не равна нулю, выполнять команды между скобками
]  Окончание цикла. Если текущая ячейка не равна нулю, вернуться к началу цикла
3.1 Программирование на Brainfuck

Программа на Brainfuck может представлять собой последовательность приведеных команд, перемешанных с любыми другими символами, игнорируемыми при компиляции. За исключением цикла [ ], команды выполняются последовательно, друг за другом. После выполнения последней команды программа завершается.

3.2 Упражнения

  1. Приведите примеры команд, аналогичных приведенным, в знакомых вам языках
  2. Изучите работу цикла [ ] применительно к различным значениям текущей ячейки памяти

4 Модель языка Brainfuck

Абстрактная машина, исполняющая Brainfuck содержит:
  программу с указателем текущей инструкции
  одномерный массив из 30000 однобайтных ячеек, заполненный нулями
  перемещаемый указатель данных, изначально находящийся в крайней левой ячейке
  потоки ввода-вывода, обычно соединенные с клавиатурой и монитором, и использующие кодировку ASCII.

В отличие от других небольших языков, память с данными отделена от памяти инструкций, и содержимое ячеек с данными не может оказать влияние на ячейки программы.

Далее - Первые программы на Brainfuck
Brainfuck
comments powered by Disqus
JavaScript (13)
PHP (11)
Brainfuck (8)
adm (8)
Joomla (4)
Canvas (3)
answers (2)
API (2)
CMS (2)
Modx (2)
jQuery (1)
Ajax (1)
SQL (1)
Shell (1)
batch (1)
10-6