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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
 
(не показана 21 промежуточная версия этого же участника)
Строка 1: Строка 1:
'''>IN''' (указатель ввода, читается «в-ин») — стандартная переменная [[Каллисто]].
>IN            ( −− a )                            Переменная, внутренний указатель входного буфера (0..3071).
[[Файл:imb.gif|thumb|right|408px|Входной буфер и переменная &gt;IN<br>Картинка из книги Лео Броди «Starting FORTH»]]
[[Файл:imb.gif|thumb|right|408px|Входной буфер и переменная &gt;IN<br>Картинка из книги Лео Броди «Starting FORTH»]]
'''&gt;IN''' (указатель ввода) — стандартное слово [[Каллисто]].
Переменная, смещение очередной литеры во [[Входной буфер терминала|входном текстовом буфере]] или [[экран]]е.
Переменная, смещение очередной литеры во [[Входной буфер терминала|входном текстовом буфере]] или [[экран]]е.


Внутренний указатель входного буфера (терминального или экранного в зависимости от значения [[BLK]]).
Указатель на содержимое входного буфера, терминального или экранного в зависимости от значения [[BLK]].


== Ввод слова &gt;IN ==
== Ввод слова &gt;IN ==
Строка 17: Строка 17:
             входного буфера до начала области анализа.
             входного буфера до начала области анализа.


== История ==
При переносе на [[Каллисто]] программ, написанных для fig-Форта, имя переменной IN должно быть исправлено на &gt;IN


== &gt;IN в предыдущем стандарте Forth-83 (англ.) ==
=== &gt;IN в предыдущем стандарте Forth-83 (англ.) ===
       >IN          -- addr                      U,79          "to-in"
       >IN          -- addr                      U,79          "to-in"
           The address of a variable which contains the present
           The address of a variable which contains the present
Строка 24: Строка 26:
           characters in the input stream}.  See:  WORD
           characters in the input stream}.  See:  WORD


 
=== &gt;IN в стандарте Forth-79 (англ.) ===
== &gt;IN в стандарте Forth-79 (англ.) ==
  >IN            -- addr                      U,201          "to-in"
  >IN            -- addr                      U,201          "to-in"
     Leave  the  address of a variable which contains  the  present
     Leave  the  address of a variable which contains  the  present
Строка 31: Строка 32:
     See:  WORD  (  ."  FIND
     See:  WORD  (  ."  FIND


 
=== IN в fig-FORTH Release 1 glossary, май 1979 (англ.) ===
== IN в fig-FORTH Release 1 glossary, май 1979 (англ.) ==
  IN            ---  addr                        L0
  IN            ---  addr                        L0
         A user variable containing the byte offset within the current input
         A user variable containing the byte offset within the current input
Строка 38: Строка 38:
         accepted. WORD uses and moves the value of IN.
         accepted. WORD uses and moves the value of IN.


== Реализация ==
<pre>
  86 rrIN            .EQU    1100                  ; 11100  >IN − Указатель смещения во входном (или экранном) буфере
  87 pIN            .EQU      100
2825 ;#toIN
2826 ; >IN              ( −− a )                            Переменная, внутренний указатель входного буфера (0..3071).
2827 LIN:            .DB    3
2828                .TEXT  ">IN"
2829                .DW    LBLK
2830 IN:            .DW    SUSE
2831                .DB pIN                        ; Смещение внутри терминального или экранного буфера в зависимости от значения BLK
</pre>
Реализация из SP-Forth 4.20:
<pre>
USER >IN ( -- a-addr ) \ 94
\ a-addr - адрес ячейки, содержащей смещение очередной литеры во входном
\ текстовом буфере.
</pre>


== История ==
=== Советская реализация ===
В программах, написанных для fig-Форта, имя переменной должно быть исправлено на &gt;IN
Описание и определение переменной &gt;IN в ядре ФОРТ-ЕС:
<PRE>
>IN    П ->А ПЕРЕМЕННАЯ - СМЕШЕНИЕ ОЧЕРЕДНОЙ ЛИТЕРЫ            8
          ВО ВХОДНОМ ТЕКСТОВОМ БУФЕРЕ ИЛИ ЭКРАНЕ
 
                      Экран номер 8
( 09.09.86  СИСТЕМНЫЕ ПЕРЕМЕННЫЕ -   ОКОНЧАНИЕ)
 
VARIABLE  >IN  (  ПОЗИЦИЯ ОЧЕРЕДНОЙ ЛИТЕРЫ  НА ВХОДЕ)
</PRE>
Переменная &gt;IN в FORTH ИТЭФ называлась IN


Вот её определение:
<PRE>
            HEAD    202Q,'I',316Q,IN,$USE                ; IN
            DW 40Q
</PRE>


== Ссылки ==
== Ссылки ==
* [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0560 Слово &gt;IN (to-in) в стандарте ANS Forth] ''(англ.)''
* {{Исходник|toIN|&gt;IN}}
* [http://www.forth200x.org/documents/html/core.html#core:toIN Слово &gt;IN (to-in) в черновике Forth 200x] ''(англ.)''
* См. слова [[BLK]], [[LOAD]], [[TIB]] и [[QUERY]]
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0560 &gt;IN (to-in)] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth-standard.org/standard/core/toIN &gt;IN (to-in)] в черновике Forth 200x ''(англ.)''
* [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/sf9/sf9.html Under the Hood] в книге [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] ''(англ.)''




{{заготовка}}
{{заготовка}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Стандартные переменные Каллисто]]
[[Категория:Переменные USER]]
[[Категория:Встроенные переменные Каллисто]]
[[Категория:Интерпретация входного потока Каллисто]]
[[Категория:Интерпретация входного потока Каллисто]]
[[Категория:Слова Каллисто без стековых диаграмм]]
[[Категория:Стандартные слова]]
[[Категория:1994 CORE]]
[[Категория:2012 CORE]]

Текущая версия от 18:23, 10 ноября 2017

>IN (указатель ввода, читается «в-ин») — стандартная переменная Каллисто.

>IN            ( −− a )                             Переменная, внутренний указатель входного буфера (0..3071).
Входной буфер и переменная >IN
Картинка из книги Лео Броди «Starting FORTH»

Переменная, смещение очередной литеры во входном текстовом буфере или экране.

Указатель на содержимое входного буфера, терминального или экранного в зависимости от значения BLK.

Ввод слова >IN[править]

В режиме NUM последовательно нажмите клавиши  F   ИП     Р-ГРД-Г   7   4 

Для возврата в режим NUM нажмите синюю клавишу  P .

>IN в стандарте ANS Forth[править]

6.1.0560   >IN                                "to-in"                      CORE
           ( -- a-addr )
           a-addr - адрес ячейки, содержащей смещение в символах от начала 
           входного буфера до начала области анализа.

История[править]

При переносе на Каллисто программ, написанных для fig-Форта, имя переменной IN должно быть исправлено на >IN

>IN в предыдущем стандарте Forth-83 (англ.)[править]

     >IN          -- addr                       U,79           "to-in"
          The address of a variable which contains the present
          character offset within the input stream {0..the number of
          characters in the input stream}.  See:  WORD

>IN в стандарте Forth-79 (англ.)[править]

>IN            -- addr                       U,201          "to-in"
    Leave  the  address of a variable which contains  the  present
    character offset within the input stream {0..1023}
    See:  WORD  (  ."  FIND

IN в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]

IN            ---  addr                        L0
       A user variable containing the byte offset within the current input
       text buffer (terminal or disc) from which the next text will be
       accepted. WORD uses and moves the value of IN.

Реализация[править]

  86 rrIN            .EQU     1100                   ; 11100  >IN − Указатель смещения во входном (или экранном) буфере
  87 pIN             .EQU      100
…
2825 ;#toIN
2826 ; >IN              ( −− a )                             Переменная, внутренний указатель входного буфера (0..3071).
2827 LIN:            .DB     3
2828                 .TEXT   ">IN"
2829                 .DW     LBLK
2830 IN:             .DW     SUSE
2831                 .DB pIN                         ; Смещение внутри терминального или экранного буфера в зависимости от значения BLK

Реализация из SP-Forth 4.20:

USER >IN ( -- a-addr ) \ 94
\ a-addr - адрес ячейки, содержащей смещение очередной литеры во входном
\ текстовом буфере.

Советская реализация[править]

Описание и определение переменной >IN в ядре ФОРТ-ЕС:

>IN     П ->А ПЕРЕМЕННАЯ - СМЕШЕНИЕ ОЧЕРЕДНОЙ ЛИТЕРЫ            8
          ВО ВХОДНОМ ТЕКСТОВОМ БУФЕРЕ ИЛИ ЭКРАНЕ

                      Экран номер 8
( 09.09.86   СИСТЕМНЫЕ ПЕРЕМЕННЫЕ -   ОКОНЧАНИЕ)

VARIABLE   >IN  (  ПОЗИЦИЯ ОЧЕРЕДНОЙ ЛИТЕРЫ  НА ВХОДЕ)

Переменная >IN в FORTH ИТЭФ называлась IN

Вот её определение:

            HEAD     202Q,'I',316Q,IN,$USE                ; IN
            DW 40Q

Ссылки[править]


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