Ниже перечислены команды языка Befunge. Каждая команда кодируется одним ASCII-символом. Для стековых операций в скобках дан их эквивалент в языке Forth. Команды, берущие параметры из стека, удаляют их со стека.
перемещение: |
> |
Двигаться вправо |
< |
Двигаться влево |
^ |
Двигаться вверх |
v |
Двигаться вниз |
_ |
Двигаться вправо, если на вершине стека 0, иначе — влево. |
| |
Двигаться вниз, если на вершине стека 0, иначе — вверх. |
? |
Двигаться в случайном направлении |
# |
Пропустить следующую ячейку |
@ |
Конец программы |
манипулирование со стеком: |
: |
Поместить в стек копию вершины |
\ |
Обменять местами вершину и подвершину |
$ |
Удалить вершину |
модификация кода программы: |
p |
"PUT": со стека извлекаются координаты ячейки и ASCII-код символа, которой помещается по этим координатам |
g |
"GET": со стека извлекаются координаты ячейки; ASCII-код символа по этим координатам помещается в стек |
константы: |
0-9 |
Поместить число в стек |
" |
Начало/конец символьного режима, в котором ACSII-коды всех текущих символов программы помещаются в стек |
стековые арифметические операции: |
+ |
Сложение вершины и подвершины |
- |
Вычитание вершины и подвершины |
* |
Умножение вершины и подвершины |
/ |
Целочисленное деление |
% |
Остаток от деления |
стековые логические операции: |
! |
Отрицание: нуль на вершине заменяется на 1, ненулевое значение — на 0 |
` |
Сравнение "больше, чем": если подвершина больше вершины, в стек помещается 1, иначе 0 |
ввод-вывод: |
& |
Запросить у пользователя число и поместить его в стек |
~ |
Запросить у пользователя символ и поместить в стек его ASCII-код |
. |
Распечатать вершину стека как целое число |
, |
Распечатать символ, соответствующий ASCII-коду на вершине стека |