Редактирование: WHILE
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
'''WHILE''' (пока) — стандартное слово [[Каллисто]] | '''WHILE''' (пока) — стандартное слово [[Каллисто]]. | ||
Ветвление "[[WHILE]]" в [[Цикл BEGIN-WHILE-REPEAT|цикле "BEGIN WHILE REPEAT"]] | Ветвление "[[WHILE]]" в [[Цикл BEGIN-WHILE-REPEAT|цикле "BEGIN WHILE REPEAT"]]. | ||
== Ввод слова WHILE == | == Ввод слова WHILE == | ||
Строка 8: | Строка 7: | ||
== WHILE в стандарте ANS Forth == | == WHILE в стандарте ANS Forth == | ||
6.1.2430 WHILE CORE | 6.1.2430 WHILE CORE | ||
Интерпретация: Семантика интерпретации для этого слова не определена. | Интерпретация: Семантика интерпретации для этого слова не определена. | ||
Строка 25: | Строка 23: | ||
Типичное использование: | Типичное использование: | ||
: X ... BEGIN ... test WHILE ... REPEAT ... ; | : X ... BEGIN ... test WHILE ... REPEAT ... ; | ||
== WHILE в предыдущем стандарте Forth-83 (англ.) == | |||
WHILE flag -- C,I,79 | WHILE flag -- C,I,79 | ||
sys1 -- sys2 (compiling) | sys1 -- sys2 (compiling) | ||
Строка 43: | Строка 37: | ||
with its corresponding REPEAT . See: BEGIN | with its corresponding REPEAT . See: BEGIN | ||
== WHILE в стандарте Forth-79 (англ.) == | |||
WHILE flag -- I,C,149 | WHILE flag -- I,C,149 | ||
Used in the form: | Used in the form: | ||
Строка 52: | Строка 46: | ||
after REPEAT, exiting the structure. | after REPEAT, exiting the structure. | ||
== WHILE в fig-FORTH Release 1 glossary, май 1979 (англ.) == | |||
WHILE f --- (run-time) ad1 nl --- ad1 n1 ad2 n2 p,C2 | WHILE f --- (run-time) ad1 nl --- ad1 n1 ad2 n2 p,C2 | ||
Occurs in a colon-definition in the form: | Occurs in a colon-definition in the form: | ||
Строка 65: | Строка 58: | ||
At compile time, WHILE emplaces (0BRANCH) and leaves ad2 of the | At compile time, WHILE emplaces (0BRANCH) and leaves ad2 of the | ||
reserved offset. The stack values will be resolved by REPEAT. | reserved offset. The stack values will be resolved by REPEAT. | ||
== | == Реализация WHILE == | ||
Юрий Семёнов приводит следующее | Юрий Семёнов приводит следующее описание слова WHILE (стр. 65): | ||
: WHILE [COMPILE] IF ; IMMEDIATE | : WHILE [COMPILE] IF ; IMMEDIATE | ||
Строка 114: | Строка 67: | ||
COMPILE ?BRANCH >MARK 3 ; IMMEDIATE | COMPILE ?BRANCH >MARK 3 ; IMMEDIATE | ||
Определение цикла BEGIN…WHILE…REPEAT в ядре ФОРТ-ЕС: | |||
<PRE> | <PRE> | ||
Экран номер 47 | Экран номер 47 | ||
( 31.03.86 СТАНДАРТНЫЕ СТРУКТУРЫ УПРАВЛЕНИЯ ) | ( 31.03.86 СТАНДАРТНЫЕ СТРУКТУРЫ УПРАВЛЕНИЯ ) | ||
: BEGIN ?COMP <MARK 1 ; IMMEDIATE | : BEGIN ?COMP <MARK 1 ; IMMEDIATE | ||
Строка 125: | Строка 75: | ||
: REPEAT >R >R [COMPILE] AGAIN | : REPEAT >R >R [COMPILE] AGAIN | ||
R> R> [COMPILE] THEN ; IMMEDIATE | R> R> [COMPILE] THEN ; IMMEDIATE | ||
</PRE> | </PRE> | ||
== Ссылка == | == Ссылка == | ||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.2430 WHILE] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.2430 комментарий к нему] в стандарте ANS Forth ''(англ.)'' | * Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.2430 WHILE] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.2430 комментарий к нему] в стандарте ANS Forth ''(англ.)'' | ||
* Слово [http:// | * Слово [http://www.forth200x.org/documents/html3/core/WHILE.html WHILE] и [http://www.forth200x.org/documents/html3/rationale.html#rat:core:WHILE комментарий к нему] в черновике Forth 200x ''(англ.)'' | ||
* [https://en.wikipedia.org/wiki/While_loop While loop в английской Википедии] ''(англ.)'' | * [https://en.wikipedia.org/wiki/While_loop While loop в английской Википедии] ''(англ.)'' | ||
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\06.ZIKLITESKIE%20STRUKTURY ЦИКЛИЧЕСКИЕ СТРУКТУРЫ] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»] | * [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\06.ZIKLITESKIE%20STRUKTURY ЦИКЛИЧЕСКИЕ СТРУКТУРЫ] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»] | ||
Строка 149: | Строка 91: | ||
[[Категория:Слова с признаком IMMEDIATE]] | [[Категория:Слова с признаком IMMEDIATE]] | ||
[[Категория:Структуры управления Каллисто]] | [[Категория:Структуры управления Каллисто]] | ||
[[Категория:Слова | [[Категория:Слова Каллисто без стековых диаграмм]] | ||