Редактирование: ELSE
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
[[Файл:CallistoIf.png|thumb|right|264px|Пример работы слова ELSE]] | |||
'''ELSE''' (иначе) — стандартное слово [[Каллисто]]. | '''ELSE''' (иначе) — стандартное слово [[Каллисто]]. | ||
[[ | Начало 2-ой ветви ветвления "[[IF]]". | ||
== Ввод слова ELSE == | == Ввод слова ELSE == | ||
Строка 7: | Строка 8: | ||
== ELSE в стандарте ANS Forth == | == ELSE в стандарте ANS Forth == | ||
6.1.1310 ELSE CORE | 6.1.1310 ELSE CORE | ||
Интерпретация: Семантика интерпретации для этого слова не определена. | Интерпретация: Семантика интерпретации для этого слова не определена. | ||
Строка 27: | Строка 27: | ||
Типичное использование: | Типичное использование: | ||
: X ... test IF ... ELSE ... THEN ; | : X ... test IF ... ELSE ... THEN ; | ||
== ELSE в предыдущем стандарте Forth-83 (англ.) == | |||
ELSE -- C,I,79 | ELSE -- C,I,79 | ||
sys1 -- sys2 (compiling) | sys1 -- sys2 (compiling) | ||
Строка 55: | Строка 38: | ||
its corresponding THEN . See: IF THEN | its corresponding THEN . See: IF THEN | ||
== ELSE в стандарте Forth-79 (англ.) == | |||
ELSE -- I,C,167 | ELSE -- I,C,167 | ||
Used in a colon-definition in the form: | Used in a colon-definition in the form: | ||
Строка 63: | Строка 46: | ||
the stack. (see IF) | the stack. (see IF) | ||
== ELSE в fig-FORTH Release 1 glossary, май 1979 (англ.) == | |||
ELSE addr1 n1 --- addr2 n2 (compiling) P,C2,L0 | ELSE addr1 n1 --- addr2 n2 (compiling) P,C2,L0 | ||
Occurs within a colon-definition in the form: | Occurs within a colon-definition in the form: | ||
Строка 76: | Строка 58: | ||
resolves the pending forward branch from IF by calculating the | resolves the pending forward branch from IF by calculating the | ||
offset from addr1 to HERE and storing at addr1. | offset from addr1 to HERE and storing at addr1. | ||
== | == Реализация ELSE == | ||
У Баранова-Ноздрунова определение слова ELSE выглядит так (стр. 58): | У Баранова-Ноздрунова определение слова ELSE выглядит так (стр. 58): | ||
: ELSE ( A1,1 ---> A2,1 ) 1 ?PAIRS COMPILE BRANCH | : ELSE ( A1,1 ---> A2,1 ) 1 ?PAIRS COMPILE BRANCH | ||
>MARK ↔ >RESOLVE 1 ; IMMEDIATE | >MARK ↔ >RESOLVE 1 ; IMMEDIATE | ||
== Ссылки == | == Ссылки == | ||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.1310 ELSE] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.1310 комментарий к нему] в стандарте ANS Forth ''(англ.)'' | * Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.1310 ELSE] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.1310 комментарий к нему] в стандарте ANS Forth ''(англ.)'' | ||
* Слово [http:// | * Слово [http://www.forth200x.org/documents/html3/core/ELSE.html ELSE] и [http://www.forth200x.org/documents/html3/rationale.html#rat:core:ELSE комментарий к нему] в черновике Forth 200x ''(англ.)'' | ||
Строка 152: | Строка 75: | ||
[[Категория:Слова с признаком IMMEDIATE]] | [[Категория:Слова с признаком IMMEDIATE]] | ||
[[Категория:Структуры управления Каллисто]] | [[Категория:Структуры управления Каллисто]] | ||
[[Категория:Слова | [[Категория:Слова Каллисто без стековых диаграмм]] | ||