Язык программирования Brainfuck научили работать с файлами
Новости
Разработчик Кристоф Хьюгон улучшил ЯП Brainfuck, при этом добавив всего один новый оператор. Advanced Brainfuck (ABrainfuck) теперь может производить чтение и запись в файл в Unix-подобных системах без дополнительных настроек.
5К открытий5К показов
Разработчик Кристоф Хьюгон (Christophe Hugon) обновил ЯП Brainfuck и добавил в него функции чтения/записи для работы с файлами. Об этом он написал на своей странице в Facebook. Автор использовал Brainfuck для реализации проекта TapTempo — своеобразного метронома для командной строки, который реализуют на множестве ЯП.
В чем особенность улучшения?
Энтузиаст назвал обновленную версию языка Advanced Brainfuck (ABrainfuck). Теперь этот ЯП может производить чтение и запись в файл в Unix-подобных системах без дополнительных настроек и ухищрений. С помощью новой функции можно, например, получить случайное число из dev/random
или текущее время из /proc/driver/rtc
.
Существующие операторы остались практически без изменений: вся разница кроется в работе .
и ,
.
Новый оператор ~
открывает файл, адрес которого соответствует строке, начинающейся на текущей позиции указателя памяти и заканчивающейся \0
. После чего запускается «режим файла», в котором .
копирует информацию из файла в память, а ,
— из памяти в файл. Для перехода в «режим памяти» необходимо повторно вызвать оператор ~
. В этом режиме функции операторов меняются местами.
После каждой операции чтения/записи в «режиме файла» указатель записи смещается на 1 бит вправо, в «режиме записи» то же самое делает указатель файла.
Автор предлагает ознакомиться с его интерпретацией TapTempo на GitHub, а также использовать ABrainfuck для собственных творений.
Напомним, что Brainfuck относится к так называемым эзотерическим языкам — они создаются ради исследования возможностей ЯП или, зачастую, ради шутки. Подробнее о различных парадигмах программирования можно прочитать в нашем материале.
5К открытий5К показов