Редактирование: UNLOOP
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
'''UNLOOP''' ( | '''UNLOOP''' (читается «анлуп») — стандартное слово [[Каллисто]]. | ||
Снимает со [[Стек возвратов Каллисто|стека возвратов]] служебную информацию одного цикла [[FOR]] … [[NEXT]], что позволяет использовать слово [[EXIT]] для досрочного выхода из определения. Чтобы покинуть слово изнутри несколько вложенных циклов [[FOR]] … [[NEXT]], требуется предварительно выполнить слово UNLOOP нужное число раз. | |||
== Ввод слова UNLOOP == | == Ввод слова UNLOOP == | ||
Строка 12: | Строка 7: | ||
== UNLOOP в стандарте ANS Forth == | == UNLOOP в стандарте ANS Forth == | ||
6.1.2380 UNLOOP CORE | 6.1.2380 UNLOOP CORE | ||
Интерпретация: Семантика интерпретации для этого слова не определена. | Интерпретация: Семантика интерпретации для этого слова не определена. | ||
Строка 36: | Строка 30: | ||
связанной do-loop конструкции. UNLOOP как функция был назван UNDO. UNLOOP более | связанной do-loop конструкции. UNLOOP как функция был назван UNDO. UNLOOP более | ||
выражает действие: ничто не отменяется - мы просто прекращаем делать это. | выражает действие: ничто не отменяется - мы просто прекращаем делать это. | ||
== Замечание == | == Замечание == | ||
Хотя в стандарте ANS Forth это явно не указано, после слова UNLOOP должно быть исполнено слово [[EXIT]]. Конечно, между ними могут быть выполнены и другие действия. Но если [[EXIT]] не будет выполнен до конца цикла, ситуация станет неопределённой. | Хотя в стандарте ANS Forth это явно не указано, после слова UNLOOP должно быть исполнено слово [[EXIT]]. Конечно, между ними могут быть выполнены и другие действия. Но если [[EXIT]] не будет выполнен до конца цикла, ситуация станет неопределённой. | ||
== Ссылки == | == Ссылки == | ||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.2380 UNLOOP] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.2380 комментарий к нему] в стандарте ANS Forth ''(англ.)'' | * Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.2380 UNLOOP] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.2380 комментарий к нему] в стандарте ANS Forth ''(англ.)'' | ||
* Слово [http:// | * Слово [http://www.forth200x.org/documents/html3/core/UNLOOP.html UNLOOP] и [http://www.forth200x.org/documents/html3/rationale.html#rat:core:UNLOOP комментарий к нему] в черновике Forth 200x ''(англ.)'' | ||
* См. также слово [[LEAVE]] | |||
Строка 89: | Строка 45: | ||
[[Категория:Примитивы]] | [[Категория:Примитивы]] | ||
[[Категория:Структуры управления Каллисто]] | [[Категория:Структуры управления Каллисто]] | ||
[[Категория: | [[Категория:Слова Каллисто без стековых диаграмм]] | ||