NEXT: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 5: Строка 5:
== Ввод слова NEXT ==
== Ввод слова NEXT ==
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите четыре клавиши [[Клавиша 4|{{Серая клавиша|4}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша 0|{{Серая клавиша|0}}]] [[Клавиша 2|{{Серая клавиша|2}}]]
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите четыре клавиши [[Клавиша 4|{{Серая клавиша|4}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша 0|{{Серая клавиша|0}}]] [[Клавиша 2|{{Серая клавиша|2}}]]
== Детали реализации ==
На этапе компиляции NEXT может вызывать [[Авост приложения|авост]].


== История цикла со счётчиком ==
== История цикла со счётчиком ==
Строка 50: Строка 53:
[[Категория:Слова с признаком IMMEDIATE]]
[[Категория:Слова с признаком IMMEDIATE]]
[[Категория:Структуры управления Каллисто]]
[[Категория:Структуры управления Каллисто]]
[[Категория:Слова, способные вызывать авост приложения]]

Версия от 03:39, 21 июня 2016

NEXT (читается «нэкст») — усовершенствованное слово Каллисто. Конец цикла со счётчиком.

NEXT           ( −− )                               Вернуться к FOR, если ещё остались повторения цикла.
Пример работы слова NEXT

Ввод слова NEXT

В режиме ЛАТ последовательно нажмите четыре клавиши  4   ИП   0   2 

Детали реализации

На этапе компиляции NEXT может вызывать авост.

История цикла со счётчиком

Имя NEXT традиционно для цикла FOR. До включения в Каллисто и colorForth оно использовалось в Бейсике.

Слово NEXT не надо путать с точкой NEXT адресного интерпретатора.

Реализация цикла со счётчиком

Описание слов LOOP +LOOP и определение цикла DO…LOOP в ядре ФОРТ-ЕС:

  +LOOP    НК A1,A2,3 -> /КОМПИЛЯЦИЯ/                        КОНЕЦ ЦИКЛА  47
              N ->       /ИСПОЛНЕНИЕ/               "DO +LOOP" С ШАГОМ N

LOOP      HK A1,A2,3-> /КОМПИЛЯЦИЯ/ КОНЕЦ ЦИКЛА "DO LOOP"       47
             -> /ИСПОЛНЕНИЕ/

                      Экран номер 47
 ( 31.03.86   СТАНДАРТНЫЕ СТРУКТУРЫ УПРАВЛЕНИЯ )

 : DO      ?COMP  COMPILE (DO) >MARK <MARK 3 ; IMMEDIATE
 : LOOP    3 ?PAIRS COMPILE (LOOP) <RESOLVE >RESOLVE ; IMMEDIATE
 : +LOOP   3 7PAIRS COMPILE (+LOOP) <RESOLVE >RESOLVE ; IMMEDIATE

Определения цикла DO…LOOP/+LOOP в FORTH ИТЭФ через (DO) и (LOOP)/(+LOOP):

             HEAD    302Q,'D',317Q,$DO,$COL               ; DO
             DW  COMP,XDO,HERE,THREE,SEMI

             HEAD    304Q,'LOO',320Q,LOOP,$COL            ; LOOP
             DW  THREE,QPAIR,COMP,XLOOP,BACK,SEMI

             HEAD    305Q,'+LOO',320Q,PLOOP,$COL          ; +LOOP
             DW  THREE,QPAIR,COMP,XPLOO,BACK,SEMI

Ссылки


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.