Редактирование: ⟩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
Строка 38: Строка 35:
         accepted. WORD uses and moves the value of IN.
         accepted. WORD uses and moves the value of IN.


== Реализация ==
== История ==
<pre>
В программах, написанных для fig-Форта, имя переменной должно быть исправлено на &gt;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
</pre>
Реализация из SP-Forth 4.20:
<pre>
USER >IN ( -- a-addr ) \ 94
\ a-addr - адрес ячейки, содержащей смещение очередной литеры во входном
\ текстовом буфере.
</pre>
 
=== Советская реализация ===
Описание и определение переменной &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>


== Ссылки ==
== Ссылки ==
* {{Исходник|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/sf10/sf10.html I/O and You] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''




Строка 90: Строка 47:
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Переменные USER]]
[[Категория:Переменные USER]]
[[Категория:Встроенные переменные Каллисто]]
[[Категория:Стандартные переменные Каллисто]]
[[Категория:Интерпретация входного потока Каллисто]]
[[Категория:Интерпретация входного потока Каллисто]]
[[Категория:Стандартные слова]]
[[Категория:Слова Каллисто без стековых диаграмм]]
[[Категория:1994 CORE]]
[[Категория:2012 CORE]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

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

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