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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 44: Строка 44:
== Ссылки ==
== Ссылки ==
* {{Исходник|NEXT|NEXT}}
* {{Исходник|NEXT|NEXT}}
* См. слова [[FOR]], [[LEAVE]], [[UNLOOP]], [[Слово I|I]], [[Слово J|J]] и [[Слово K|K]]
* [https://en.wikipedia.org/wiki/For_loop For loop в английской Википедии] ''(англ.)''
* [https://en.wikipedia.org/wiki/For_loop For 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 Л.Броуди «Начальный курс программирования на языке Форт»]

Версия от 13:44, 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

Ссылки


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