NEXT
Перейти к навигации
Перейти к поиску
NEXT (читается «нэкст») — усовершенствованное слово Каллисто. Конец цикла со счётчиком.
NEXT ( −− ) Вернуться к FOR, если ещё остались повторения цикла.
Ввод слова NEXT
В режиме ЛАТ последовательно нажмите четыре клавиши 4 ИП 0 2
История цикла со счётчиком
Имя NEXT традиционно для цикла FOR. До включения в Каллисто и colorForth оно использовалось в Бейсике.
Слово NEXT не надо путать с точкой NEXT адресного интерпретатора.
Реализация
В Каллисто 1.0 на этапе компиляции слово NEXT может вызывать авост с кодом ошибки 19. Авост вызывает слово ?PAIRS, если не находит слово FOR, которому соответствует данный NEXT .
3730 ;#NEXT 3731 ; NEXT I ( −− ) Вернуться к FOR, если ещё остались повторения цикла. 3732 LSNEXT: .DB 84H 3733 .TEXT "NEXT" ; К 3734 .DW LFOR ; Конец цикла со счётчиком. 3735 SNEXT: .DW CALL, PI,QPAIR, COMP,XNEXTD, LRESOLVE, BRAN,RGRESOLVE
Советская реализация цикла со счётчиком
Описание слов 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
Ссылки
- Исходный текст слова NEXT в Каллисто Классик 1.0
- См. слова FOR, LEAVE, UNLOOP, I, J и K
- For loop в английской Википедии (англ.)
- ЦИКЛИЧЕСКИЕ СТРУКТУРЫ в книге Л.Броуди «Начальный курс программирования на языке Форт»
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |