]]> ]]>

Spoon

Диалект языка программирования Brainfuck

Spoon — диалект языка Brainfuck, в котором односимвольные команды заменены двоичными последовательностями нулей и единиц. Spoon был создан в 1998 году Steven Goodwin как язык, использующий всего два токена.

Двоичные коды команд были выбраны с использованием кодировки Хаффмана. Вероятности появления в программе каждой команды были оценены по набору программ-примеров. В результате была получена следующая таблица кодов:

  • + -> 1
  • - -> 000
  • > -> 010
  • < -> 011
  • [ -> 00100
  • ] -> 0011
  • . -> 001010
  • , -> 0010110

В Spoon есть две дополнительные команды — 00101110 для вывода на печать содержимого памяти (используется только с отладочными целями) и 00101111 для остановки выполнения программы. Полный набор 10 команд составляет беспрефиксный код, поэтому программы на Spoon не требуют дополнительных разделителей между командами для того, чтобы читаться единственным способом.

Примеры:

Hello, World!:

Пример для версий EsCo 0.511 (Brainfuck)

Этот пример является переводом на Spoon этого примера. Отметим, что Spoon позволяет не разделять отдельные команды пробелами, но текущая версия EsCo требует, чтобы команды разделялись пробелами.

1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101
0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110
0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010
0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам