Слово TYPE: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Строка 64: Строка 64:
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\10.WWOD-WYWOD ВВОД-ВЫВОД] в книге [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\10.WWOD-WYWOD ВВОД-ВЫВОД] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»]
* [http://www.forth.com/starting-forth/sf7/sf7.html A Number of Kinds of Numbers] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''
* [http://www.forth.com/starting-forth/sf7/sf7.html A Number of Kinds of Numbers] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''
* [http://www.forth.com/starting-forth/sf10/sf10.html I/O and You] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''





Версия от 06:33, 25 марта 2016

TYPE (печать, напечатать) — стандартное слово Каллисто.

Стек при обращении к TYPE должен содержать адрес, начиная с которого надо начать вывод, и число выводимых символов (последнее лежит наверху стека).

Передаёт u символов начиная с адреса a на выходное устройство.

Ввод слова TYPE

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

TYPE в стандарте ANS Forth

6.1.2310   TYPE                                                            CORE
           ( c-addr u -- )
           Если u больше нуля, отображает символьную строку, определенную c-
           addr и u.
           Когда просматривается символ, чьи символом-определенные биты имеют 
           значение между hex 20 и 7E включительно, отображается 
           соответствующий стандартный символ, определенный в 3.1.2.1 
           Графические символы. Поскольку различные устройства вывода могут 
           реагировать по-разному на управляющие символы, программы, 
           использующие управляющие символы для выполнения специфических 
           функций, имеют зависимость от окружения.
       См.: 6.1.1320 EMIT.

TYPE в предыдущем стандарте Forth-83 (англ.)

     TYPE         addr +n --                    M,79
          +n characters are displayed from memory beginning with the
          character at addr and continuing through consecutive
          addresses.  Nothing is displayed if +n is zero.  See:
          "9.5.4 TYPE"
     9.5.4     TYPE
     Because of the potential non-transportable action by terminal
     devices of control characters, the use of ASCII control
     characters is an environmental dependency.

TYPE в стандарте Forth-79 (англ.)

TYPE           addr n --                     222
    Transmit  n  characters beginning at address  to  the  current
    output device.  No action takes place for n less than or equal
    to zero.

TYPE в fig-FORTH Release 1 glossary, май 1979 (англ.)

TYPE          addr count ---                 L0
       Transmit count characters from addr to the selected output device.

История

Слово TYPE является одним из наиболее старых и устоявшихся слов Форта.

TYPE появился в Форте в 1965 году, когда Чак Мур подрабатывал наёмным программистом в городе Нью-Йорк. Тогда появились миникомпьютеры, а с ними и терминалы. Интерпретатор был идеален для ввода с телетайпа и вскоре стал включать код для работы с выводом.

Слово TYPE появилось, как цикл, вызывающий EMIT для отображения символов. В Каллисто TYPE работает быстрее, т.к обновляет экран после вывода всей строки, а EMIT — после каждого символа.

Реализация TYPE

У Баранова-Ноздрунова приводится следующее описание слова TYPE (стр. 34):

 : TYPE   ( A,N ---> )    FOR ↑ C@ EMIT 1+ NEXT DROP ;

Ссылки


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


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