Язык Форт и его реализации



         

Интерпретация входного потока - часть 3


Для переключения входного потока на внешнюю память стандарт предусматривает слово LOAD (загрузить) :

: LOAD ( N:НОМЕР ---> ИНТЕРПРЕТИРОВАТЬ ЭКРАН) >IN @ >R BLK @ >R ( СОХРАНИТЬ ТЕКУЩИЙ) BLK ! 0 >IN ! ( УСТАНОВИТЬ НОВЫЙ) INTERPRET ( ПРОИНТЕРПРЕТИРОВАТЬ ЕГО) R> BLK ! R> >IN ! ; ( ВЕРНУТЬСЯ К ПРЕЖНЕМУ)

Параметром слова LOAD является номер экрана (блока) для интерпретации. Очевидно, что приведенное нами выше определение допускает рекурсивное использование слова LOAD внутри экранов во внешней памяти.

Некоторые реализации предусматривают слово THRU (сквозь) для последовательной интерпретации диапазона экранов:

: THRU ( N1,N2 ---> ИНТЕРПРЕТИРОВАТЬ ЭКРАНЫ) ( ОТ N1 ДО N2 ВКЛЮЧИТЕЛЬНО) 1+ SWAP DO I LOAD LOOP ;

Для продолжения интерпретации следующего экрана часто используется слово -->, логически сцепляющее следующей экран с данным:

: --> ( ---> ) BLK @ 0= ABORT" НЕДОПУСТИМОЕ ИСПОЛЬЗОВАНИЕ -->" 0 >IN ! BLK @ 1+ BLK ! ; IMMEDIATE

В этом случае интерпретации сцепленных экранов нужно «загрузить» словом LOAD только первый из этих экранов.




Содержание  Назад  Вперед