Spoon
Диалект языка программирования BrainfuckSpoon — диалект языка 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
]]>