UNTIL: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 24: | Строка 24: | ||
Типичное использование: | Типичное использование: | ||
: X ... BEGIN ... test UNTIL ... ; | : X ... BEGIN ... test UNTIL ... ; | ||
== UNTIL в предыдущем стандарте Forth-83 (англ.) == | == UNTIL в предыдущем стандарте Forth-83 (англ.) == | ||
Строка 36: | Строка 35: | ||
corresponding BEGIN . sys is balanced with its | corresponding BEGIN . sys is balanced with its | ||
corresponding BEGIN . See: BEGIN | corresponding BEGIN . See: BEGIN | ||
== UNTIL в стандарте Forth-79 (англ.) == | == UNTIL в стандарте Forth-79 (англ.) == | ||
Строка 44: | Строка 42: | ||
is terminated. If flag is false, execution returns to the | is terminated. If flag is false, execution returns to the | ||
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 в fig-FORTH Release 1 glossary, май 1979 (англ.) == | ||
Строка 57: | Строка 54: | ||
At compile-time, UNTIL compiles (0BRANCH) and an offset from HERE to | At compile-time, UNTIL compiles (0BRANCH) and an offset from HERE to | ||
addr. n is used for error tests. | addr. n is used for error tests. | ||
== Реализация UNTIL == | == Реализация UNTIL == | ||
Строка 70: | Строка 65: | ||
== История == | == История == | ||
Форт-83, Форт-79 и fig-Форт допускали слово END, как синоним UNTIL. | Форт-83, Форт-79 и fig-Форт допускали слово END, как синоним UNTIL. | ||
== Ссылка == | == Ссылка == | ||
Строка 80: | Строка 74: | ||
{{заготовка}} | {{заготовка}} | ||
[[Категория:Слова Каллисто]] | [[Категория:Слова Каллисто]] | ||
[[Категория:Слова высокого уровня]] | |||
[[Категория:Слова с признаком IMMEDIATE]] | |||
[[Категория:Структуры управления Каллисто]] | [[Категория:Структуры управления Каллисто]] | ||
[[Категория:Слова Каллисто без стековых диаграмм]] | [[Категория:Слова Каллисто без стековых диаграмм]] |
Версия от 01:50, 20 марта 2016
UNTIL (до, пока не) — стандартное слово Каллисто.
Конец описания цикла "BEGIN UNTIL".
Ввод слова UNTIL
В режиме ЛАТ последовательно нажмите белые клавиши 3 4 2 7 −
UNTIL в стандарте ANS Forth
6.1.2390 UNTIL CORE Интерпретация: Семантика интерпретации для этого слова не определена.
Компиляция: ( C: dest -- ) Добавляет семантику времени-выполнения, данную ниже к текущему определению, разрешая ссылку назад dest.
Время-выполнения: ( x -- ) Если все биты x нулевые, продолжает выполнение с адреса ячейки определенного dest.
См.: 6.1.0760 BEGIN.
A.6.1.2390 UNTIL Типичное использование: : X ... BEGIN ... test UNTIL ... ;
UNTIL в предыдущем стандарте Forth-83 (англ.)
UNTIL flag -- C,I,79 sys -- (compiling) Used in the form: BEGIN ... flag UNTIL Marks the end of a BEGIN-UNTIL loop which will terminate based on flag. If flag is true, the loop is terminated. If flag is false, execution continues to just after the corresponding BEGIN . sys is balanced with its corresponding BEGIN . See: BEGIN
UNTIL в стандарте Forth-79 (англ.)
UNTIL flag -- I,C,,237 Within a colon-definition, mark the end of a BEGIN-UNTIL loop, which will terminate based on flag. If flag is true, the loop is terminated. If flag is false, execution returns to the 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 Occurs within a colon-definition in the form: BEGIN ... UNTIL At run-time, UNTIL controls the conditional branch back to the corresponding BEGIN. If f is false, execution returns to just after. BEGIN; if true, execution continues ahead.
At compile-time, UNTIL compiles (0BRANCH) and an offset from HERE to addr. n is used for error tests.
Реализация UNTIL
Юрий Семёнов приводит следующее описание слова UNTIL (стр. 65):
: UNTIL 1 ?PAIR COMPILE ?BRANCH <RESOLVE ; IMMEDIATE
У Баранова-Ноздрунова определение слова UNTIL выглядит так (стр. 58):
: UNTIL ( A1,2 ---> ) 2 ?PAIRS COMPILE ?BRANCH <RESOLVE ; IMMEDIATE
История
Форт-83, Форт-79 и fig-Форт допускали слово END, как синоним UNTIL.
Ссылка
- Слово UNTIL и комментарий к нему в стандарте ANS Forth (англ.)
- Слово UNTIL и комментарий к нему в черновике Forth 200x (англ.)
- Do while loop в английской Википедии (англ.)
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |