число |
Значення числа поміщається в стек. Число — неперервний ланцюжок цифр 0-9 або букв A-F (шістнадцяткові цифри). На початку може стояти знак підкреслення _ для введення від'ємного числа. Число може містити десяткову крапку. |
+ − / * % ^ ~ |
Верхні два числа стека додаються (+ ), віднімаються (− ), множаться (* ), ділятися (/ ), береться остача (% ), виконується піднесення до степеня (^ ) або відбувається ділення з остачею (~ ).
^ : обидва операнди добуваються зі стека і результат поміщається назад у стек. Дробова частина показника степеня нехтується.
~ : обидва операнди добуваються зі стека, другий ділиться на перший, результат і остача від ділення поміщається в стек (операція SdSn lnld/ LnLd% дає такий самий результат).
|
sx, Sx |
Добувається вершина стека і поміщається в регістр з назвою x , де x — будь-який символ ASCII. Якщо конструкція має вигляд Sx , то x розглядається як стек, у який і поміщається добуте значення. |
lx, Lx |
Значення, що зберігається в регістрі x , поміщається в стек. Регістр x не змінюється. Спочатку всі регістри ініціалізуються нулем. Якщо конструкція має вигляд Lx , то x розглядається як стек, його вершина добувається і поміщається в головний стек. |
d |
Вершина стека подвоюється. |
p |
Виводиться вершина стека (без видалення зі стека). |
P |
Якщо вершина стека — ланцюжок символів, то вона друкується і видаляється зі стека. Якщо вершина стека є числом, то воно друкується як послідовність байтів і видаляється зі стека. |
f |
Виводяться всі елементи стека (без видалення). Зручно для налагодження програм. |
q |
Завершує роботу програми. При виконанні ланцюжка символів рівень рекурсії зменшується на два. |
Q |
Завершує роботу програми. Вершина стека добувається і рівень рекурсії зменшується на отримане значення. |
x |
Вершина стека трактується як ланцюжок символів, що містить команди dc, і виконується. |
X |
Вершина стека замінюється кількістю цифр у її дробовій частини. |
[..] |
Ланцюжок символів, взятий у дужки, поміщається у вершину стека. |
=x |
Два верхні елементи стека добуваються і порівнюються. Якщо вони задовольняють зазначеній умові, то вміст регістра x розглядається як команда dc і виконується. Можна використовувати також знаки порівняння < і > та їх заперечення ! < і ! > . |
v |
Верхній елемент стека замінюється квадратним коренем з нього. Якщо він мав дробову частину, то вона враховується, інакше точність обчислення залежить від команди k . |
! |
Залишок рядка інтерпретується як команда shell. |
c |
Очищення стека. |
i |
Вершина стека добувається і використовується як основа системи числення при введенні. Команда I поміщає використану при введенні основу системи числення у вершину стека. |
o |
Вершина стека добувається і використовується як основа системи числення при виведенні. Команда o поміщає використану при виведенні основу системи числення у вершину стека. |
k |
Добувається вершина стека; вона використовується для задання точності обчислень — кількості знаків у дробовій частині при виведенні і при виконанні множення, ділення, піднесення до степеня і добування кореня. |
z |
У стек поміщається кількість його елементів. |
Z |
Число у вершині стека замінюється його довжиною (без урахування десяткової крапки, знака мінус і початкових нулів, навіть якщо вони після десяткової крапки). |
? |
Зі стандартного вхідного потоку вводиться один рядок і виконується. |
;: |
Використовуються для операцій із масивами. |