Стековая нотация: различия между версиями
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) |
||
Строка 12: | Строка 12: | ||
== Обозначение типа элемента стека в стековой нотации == | == Обозначение типа элемента стека в стековой нотации == | ||
a адрес в единой адресации (от 0 до 19'999) | a адрес в единой адресации (от 0 до 19'999) | ||
b 8-битное целое (от -128 до 255) | b 8-битное целое (от -128 до 255) | ||
c неотрицательное 8-битное целое (от 0 до 255) | c неотрицательное 8-битное целое (от 0 до 255) | ||
f флаг: −1 «истина», 0 «ложь» | f флаг: −1 «истина», 0 «ложь» | ||
i 32-битное целое в дополнительном коде (от -2'147'483'648 до 2'147'483'647) | |||
n целое число (от -999'999'999'999 до 999'999'999'999) | |||
p неотрицательное десятичное число | |||
u неотрицательное целое (от 0 до 999'999'999'999) | |||
x y любой элемент стека (десятичное число) | |||
Если в стековую нотацию входит несколько различных чисел данного типа, к букве может добавляться цифра, например x1 x2 x3 | Если в стековую нотацию входит несколько различных чисел данного типа, к букве может добавляться цифра, например x1 x2 x3 |
Версия от 20:33, 6 марта 2016
Стековая нотация — минимальное требование к документированию слова Каллисто, размером в одну строку. Пример стековой нотации:
+ ( x1 x2 -- x3 ) Сложение. x3 ← x1 + x2
Слева находится имя того слова Каллисто, которое документируется. В данном случае имя состоит из одной литеры "+".
Далее, в скобках, описаны состояния стека до и после выполнения слова, разделённые литерами "--". По принятому соглашению вершина стека находится справа. Всё, находящееся в стеке до указанных элементов, остаётся неизменным.
Мы видим, что до выполнения слова "+" на стеке находилось два десятичных числа x1 и x2. Слово "+" убрало из стека верхнее из этих чисел, а нижнее заменило на x3. Если слово не меняет стек, стековая нотация выглядит вот так:
DEGREES ( -- ) Градусы.
Стековая нотация завершается кратким названием слова, с возможным описанием его работы в свободном формате.
Обозначение типа элемента стека в стековой нотации
a адрес в единой адресации (от 0 до 19'999) b 8-битное целое (от -128 до 255) c неотрицательное 8-битное целое (от 0 до 255) f флаг: −1 «истина», 0 «ложь» i 32-битное целое в дополнительном коде (от -2'147'483'648 до 2'147'483'647) n целое число (от -999'999'999'999 до 999'999'999'999) p неотрицательное десятичное число u неотрицательное целое (от 0 до 999'999'999'999) x y любой элемент стека (десятичное число)
Если в стековую нотацию входит несколько различных чисел данного типа, к букве может добавляться цифра, например x1 x2 x3
Одинаковые вхождения обозначения типа означают одно и тоже число, например:
↑ ( x -- x x ) Дублировать. 2DUP ( x1 x2 -- x1 x2 x1 x2 ) Дублировать пару чисел.
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |