Редактирование: UNTIL
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
[[Файл:indefinite.gif|thumb|right|491px|Цикл BEGIN…UNTIL всегда выполняется хотя бы 1 раз.<br>Картинка из книги Лео Борди «Starting FORTH»]] | |||
'''UNTIL''' — стандартное слово [[Каллисто]]. | |||
[[Файл:indefinite.gif|thumb|right|491px|Цикл | |||
Конец цикла "[[BEGIN]] [[UNTIL]]". | |||
== UNTIL в стандарте ANS Forth == | == UNTIL в стандарте ANS Forth == | ||
6.1.2390 UNTIL CORE | 6.1.2390 UNTIL CORE | ||
Интерпретация: Семантика интерпретации для этого слова не определена. | Интерпретация: Семантика интерпретации для этого слова не определена. | ||
Строка 26: | Строка 22: | ||
Типичное использование: | Типичное использование: | ||
: X ... BEGIN ... test UNTIL ... ; | : X ... BEGIN ... test UNTIL ... ; | ||
== UNTIL в предыдущем стандарте Forth-83 (англ.) == | |||
UNTIL flag -- C,I,79 | UNTIL flag -- C,I,79 | ||
sys -- (compiling) | sys -- (compiling) | ||
Строка 46: | Строка 35: | ||
corresponding BEGIN . See: BEGIN | corresponding BEGIN . See: BEGIN | ||
== UNTIL в стандарте Forth-79 (англ.) == | |||
UNTIL flag -- I,C,,237 | UNTIL flag -- I,C,,237 | ||
Within a colon-definition, mark the end of a BEGIN-UNTIL loop, | Within a colon-definition, mark the end of a BEGIN-UNTIL loop, | ||
Строка 53: | Строка 43: | ||
first word after BEGIN. BEGIN-UNTIL structures may be nested. | first word after BEGIN. BEGIN-UNTIL structures may be nested. | ||
== UNTIL в fig-FORTH Release 1 glossary, май 1979 (англ.) == | |||
UNTIL f --- (run-time) addr n --- (compile) P,C2,L0 | UNTIL f --- (run-time) addr n --- (compile) P,C2,L0 | ||
Occurs within a colon-definition in the form: | Occurs within a colon-definition in the form: | ||
Строка 65: | Строка 56: | ||
addr. n is used for error tests. | addr. n is used for error tests. | ||
== | |||
== Реализация UNTIL == | |||
Юрий Семёнов приводит следующее описание слова UNTIL (стр. 65): | Юрий Семёнов приводит следующее описание слова UNTIL (стр. 65): | ||
: UNTIL 1 ?PAIR COMPILE ?BRANCH <RESOLVE ; IMMEDIATE | : UNTIL 1 ?PAIR COMPILE ?BRANCH <RESOLVE ; IMMEDIATE | ||
Строка 113: | Строка 66: | ||
COMPILE ?BRANCH <RESOLVE ; IMMEDIATE | COMPILE ?BRANCH <RESOLVE ; IMMEDIATE | ||
== История == | |||
Форт-83, Форт-79 и fig-Форт допускали слово END, как синоним UNTIL. | |||
== Ссылка == | == Ссылка == | ||
* | * [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.2390 Слово UNTIL в стандарте ANS Forth] ''(англ.)'' и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.2390 комментарий к нему] ''(англ.)'' | ||
* [http://www.forth200x.org/documents/html/core.html#core:UNTIL Слово UNTIL в черновике Forth 200x] ''(англ.)'' и [http://www.forth200x.org/documents/html/rationale.html#rat:core:UNTIL комментарий к нему] ''(англ.)'' | |||
* | |||
* [https://en.wikipedia.org/wiki/Do_while_loop Do while loop в английской Википедии] ''(англ.)'' | * [https://en.wikipedia.org/wiki/Do_while_loop Do while loop в английской Википедии] ''(англ.)'' | ||
{{нет иллюстраций}} | |||
{{заготовка}} | {{заготовка}} | ||
[[Категория:Слова Каллисто]] | [[Категория:Слова Каллисто]] | ||
[[Категория:Структуры управления Каллисто]] | [[Категория:Структуры управления Каллисто]] | ||