Hello, World! в Befunge
Первая часть примера (до пробела) размещает в стеке нужные значения. 25*
помещает в стек значение 10 (ASCII-код перевода строки), затем "
переводит программу в строковый режим: каждый следующий символ (до вторых кавычек) добавляет в стек свой ASCII-код.
Вторая часть примера — цикл, выводящий на печать все значения в стеке, начиная с самых верхних. >
возвращает указатель инструкций к движению вправо (после конца одной итерации). :
копирует верхний элемент стека (т.е. текущий символ), из-за моста #
выполняется только при движении вправо. ,
выводит верхний элемент стека (выполняется только при движении влево). _
пропускает указатель инструкций к @
(концу программы), если верхний элемент стека — 0, и отражает его влево в противном случае. Последовательность действий в одной итерации следующая:
- скопировать верхний элемент стека,
- проверить, равен ли он 0; если равен, выйти из цикла (при этом в любом случае копия элемента удаляется из стека),
- напечатать верхний элемент стека.
25*"!dlroW ,olleH" >:#,_@
Комментарии
]]>blog comments powered by Disqus
]]>