Редактирование: BEGIN
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
'''BEGIN''' (начать, начало) — стандартное слово [[Каллисто]]. | '''BEGIN''' (начать, начало) — стандартное слово [[Каллисто]]. | ||
Начало цикла — [[Цикл BEGIN-WHILE-REPEAT|BEGIN…WHILE…REPEAT]], [[Цикл BEGIN-UNTIL|BEGIN…UNTIL]] или BEGIN…[[AGAIN]]. | |||
Оператор BEGIN отмечает начало цикла. При компиляции его главное назначение — запись в [[Стек данных|стек]] текущего значения указателя [[HERE]], которое используют слова [[UNTIL]], [[REPEAT]] или [[AGAIN]], чтобы сформировать правильный адрес ветвления. | |||
== Ввод слова BEGIN == | == Ввод слова BEGIN == | ||
Строка 12: | Строка 9: | ||
== BEGIN в стандарте ANS Forth == | == BEGIN в стандарте ANS Forth == | ||
6.1.0760 BEGIN CORE | 6.1.0760 BEGIN CORE | ||
Интерпретация: Семантика интерпретации для этого слова не определена. | Интерпретация: Семантика интерпретации для этого слова не определена. | ||
Строка 32: | Строка 28: | ||
или | или | ||
: X ... BEGIN ... test WHILE ... REPEAT ; | : X ... BEGIN ... test WHILE ... REPEAT ; | ||
== BEGIN в предыдущем стандарте Forth-83 (англ.) == | |||
BEGIN -- C,I,79 | BEGIN -- C,I,79 | ||
-- sys (compiling) | -- sys (compiling) | ||
Строка 50: | Строка 44: | ||
Structures" | Structures" | ||
== BEGIN в стандарте Forth-79 (англ.) == | |||
BEGIN I,C,147 | BEGIN I,C,147 | ||
Used in a colon-definition in the form: | Used in a colon-definition in the form: | ||
Строка 62: | Строка 56: | ||
being tested. | being tested. | ||
== BEGIN в fig-FORTH Release 1 glossary, май 1979 (англ.) == | |||
BEGIN --- addr n (compiling) P,L0 | BEGIN --- addr n (compiling) P,L0 | ||
Occurs in a colon-definition in form: | Occurs in a colon-definition in form: | ||
Строка 77: | Строка 70: | ||
At compile time BEGIN leaves its return address and n for compiler | At compile time BEGIN leaves its return address and n for compiler | ||
error checking. | error checking. | ||
== Реализация == | == Реализация == | ||
Юрий Семёнов приводит следующее определение слова BEGIN (стр. 64): | Юрий Семёнов приводит следующее определение слова BEGIN (стр. 64): | ||
: BEGIN ?COMP HERE 1 ; IMMEDIATE | : BEGIN ?COMP HERE 1 ; IMMEDIATE | ||
Строка 141: | Строка 102: | ||
== Ссылки == | == Ссылки == | ||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0760 BEGIN] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.0760 комментарий к нему] в стандарте ANS Forth ''(англ.)'' | * Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0760 BEGIN] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.0760 комментарий к нему] в стандарте ANS Forth ''(англ.)'' | ||
* Слово [http://forth-standard.org/standard/core/BEGIN BEGIN] и [http://forth-standard.org/standard/rationale#rat:core:BEGIN комментарий к нему] в черновике Forth 200x ''(англ.)'' | * Слово [http://forth-standard.org/standard/core/BEGIN BEGIN] и [http://forth-standard.org/standard/rationale#rat:core:BEGIN комментарий к нему] в черновике Forth 200x ''(англ.)'' | ||
Строка 157: | Строка 115: | ||
[[Категория:Слова с признаком IMMEDIATE]] | [[Категория:Слова с признаком IMMEDIATE]] | ||
[[Категория:Структуры управления Каллисто]] | [[Категория:Структуры управления Каллисто]] | ||
[[Категория:Слова | [[Категория:Слова Каллисто без стековых диаграмм]] | ||