Стековая нотация

Материал из ПМК вики
Перейти к навигации Перейти к поиску

Стековая нотация — минимальное требование к документированию слова Каллисто, размером в одну строку. Пример стековой нотации:

+              ( x1 x2 -- x3 )                 Сложение. x3 ← x1 + x2

Слева стоит слово Каллисто, которое документируется. В данном случае это слово, состоящее из одного символа "+".

Далее, в скобках, описаны состояния стека до и после выполнения слова, разделённые символами "--". По принятому соглашению вершина стека находится справа. Всё, находящееся в стеке до указанных элементов, остаётся неизменным.

Мы видим, что до выполнения слова "+" на стеке находилось два десятичных числа x1 и x2. Слово "+" убрало из стека верхнее из этих чисел, а нижнее заменило на x3. Если слово не меняет стек, стековая нотация выглядит вот так:

DEGREES        ( -- )                          Градусы.

Стековая нотация завершается кратким названием команды, с возможным описанием в свободном формате.

Обозначение типа в стековой нотации

x y  любой элемент стека (десятичное число)
p    неотрицательное десятичное число
n    целое число
k    неотрицательное целое число
a    адрес, неотрицательное целое число

Если в стековую нотацию входит несколько различных чисел данного типа, к букве может добавляться цифра, например x1 x2 x3

Одинаковые вхождения обозначений типа означают одно и тоже число, например:

↑              ( x -- x x )                    Дублировать.
2DUP           ( x1 x2 -- x1 x2 x1 x2 )        Дублировать пару чисел.


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.