Редактирование: ⟩IN

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

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

Текущая версия Ваш текст
Строка 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:
             входного буфера до начала области анализа.
             входного буфера до начала области анализа.


== История ==
== &gt;IN в предыдущем стандарте Forth-83 (англ.) ==
При переносе на [[Каллисто]] программ, написанных для fig-Форта, имя переменной IN должно быть исправлено на &gt;IN
 
=== &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
Строка 26: Строка 23:
           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
Строка 32: Строка 29:
     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
         text buffer (terminal or disc) from which the next text will be
         text buffer (terminal or disc) from which the next text will be
         accepted. WORD uses and moves the value of IN.
         accepted. WORD uses and moves the value of IN.
== История ==
В программах, написанных для fig-Форта, имя переменной IN должно быть исправлено на &gt;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>
=== Советская реализация ===
Описание и определение переменной &gt;IN в ядре ФОРТ-ЕС:
Описание и определение переменной &gt;IN в ядре ФОРТ-ЕС:
<PRE>
<PRE>
Строка 68: Строка 48:


VARIABLE  >IN  (  ПОЗИЦИЯ ОЧЕРЕДНОЙ ЛИТЕРЫ  НА ВХОДЕ)
VARIABLE  >IN  (  ПОЗИЦИЯ ОЧЕРЕДНОЙ ЛИТЕРЫ  НА ВХОДЕ)
</PRE>
Переменная &gt;IN в FORTH ИТЭФ называлась IN
Вот её определение:
<PRE>
            HEAD    202Q,'I',316Q,IN,$USE                ; IN
            DW 40Q
</PRE>
</PRE>


== Ссылки ==
== Ссылки ==
* {{Исходник|toIN|&gt;IN}}
* См. слова [[BLK]], [[LOAD]], [[TIB]] и [[QUERY]]
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0560 &gt;IN (to-in)] в стандарте ANS Forth ''(англ.)''
* Слово [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://www.forth200x.org/documents/html3/core/toIN.html &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://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/sf9/sf9.html Under the Hood] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''
Строка 90: Строка 61:
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Переменные USER]]
[[Категория:Переменные USER]]
[[Категория:Встроенные переменные Каллисто]]
[[Категория:Стандартные переменные Каллисто]]
[[Категория:Интерпретация входного потока Каллисто]]
[[Категория:Интерпретация входного потока Каллисто]]
[[Категория:Стандартные слова]]
[[Категория:Слова Каллисто без стековых диаграмм]]
[[Категория:1994 CORE]]
[[Категория:2012 CORE]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)
Источник — https://pmk.the-hacker.ru/⟩IN