⟩IN: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) (→Ссылки) |
AtH (обсуждение | вклад) |
||
(не показано 9 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
'''>IN''' (указатель ввода, читается «в-ин») — стандартная переменная [[Каллисто]]. | |||
>IN ( −− a ) Переменная, внутренний указатель входного буфера (0..3071). | |||
[[Файл:imb.gif|thumb|right|408px|Входной буфер и переменная >IN<br>Картинка из книги Лео Броди «Starting FORTH»]] | [[Файл:imb.gif|thumb|right|408px|Входной буфер и переменная >IN<br>Картинка из книги Лео Броди «Starting FORTH»]] | ||
Переменная, смещение очередной литеры во [[Входной буфер терминала|входном текстовом буфере]] или [[экран]]е. | Переменная, смещение очередной литеры во [[Входной буфер терминала|входном текстовом буфере]] или [[экран]]е. | ||
Указатель на содержимое входного буфера, терминального или экранного в зависимости от значения [[BLK]]. | |||
== Ввод слова >IN == | == Ввод слова >IN == | ||
Строка 17: | Строка 17: | ||
входного буфера до начала области анализа. | входного буфера до начала области анализа. | ||
== >IN в предыдущем стандарте Forth-83 (англ.) == | == История == | ||
При переносе на [[Каллисто]] программ, написанных для fig-Форта, имя переменной IN должно быть исправлено на >IN | |||
=== >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 | ||
Строка 23: | Строка 26: | ||
characters in the input stream}. See: WORD | characters in the input stream}. See: WORD | ||
== >IN в стандарте Forth-79 (англ.) == | === >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 | ||
Строка 29: | Строка 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 | ||
Строка 35: | Строка 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> | |||
== | === Советская реализация === | ||
Описание и определение переменной >IN в ядре ФОРТ-ЕС: | Описание и определение переменной >IN в ядре ФОРТ-ЕС: | ||
<PRE> | <PRE> | ||
Строка 58: | Строка 78: | ||
== Ссылки == | == Ссылки == | ||
* {{Исходник|toIN|>IN}} | |||
* См. слова [[BLK]], [[LOAD]], [[TIB]] и [[QUERY]] | |||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0560 >IN (to-in)] в стандарте ANS Forth ''(англ.)'' | * Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0560 >IN (to-in)] в стандарте ANS Forth ''(англ.)'' | ||
* Слово [http://forth-standard.org/standard/core/toIN >IN (to-in)] в черновике Forth 200x ''(англ.)'' | * Слово [http://forth-standard.org/standard/core/toIN >IN (to-in)] в черновике Forth 200x ''(англ.)'' | ||
Строка 68: | Строка 90: | ||
[[Категория:Слова Каллисто]] | [[Категория:Слова Каллисто]] | ||
[[Категория:Переменные USER]] | [[Категория:Переменные USER]] | ||
[[Категория: | [[Категория:Встроенные переменные Каллисто]] | ||
[[Категория:Интерпретация входного потока Каллисто]] | [[Категория:Интерпретация входного потока Каллисто]] | ||
[[Категория: | [[Категория:Стандартные слова]] | ||
[[Категория:1994 CORE]] | |||
[[Категория:2012 CORE]] |
Текущая версия от 18:23, 10 ноября 2017
>IN (указатель ввода, читается «в-ин») — стандартная переменная Каллисто.
>IN ( −− a ) Переменная, внутренний указатель входного буфера (0..3071).
Переменная, смещение очередной литеры во входном текстовом буфере или экране.
Указатель на содержимое входного буфера, терминального или экранного в зависимости от значения 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
Ссылки[править]
- Исходный текст слова >IN в Каллисто Классик 1.0
- См. слова BLK, LOAD, TIB и QUERY
- Слово >IN (to-in) в стандарте ANS Forth (англ.)
- Слово >IN (to-in) в черновике Forth 200x (англ.)
- ВВОД-ВЫВОД в книге Л.Броуди «Начальный курс программирования на языке Форт»
- Under the Hood в книге Leo Brodie Starting Forth (англ.)
- I/O and You в книге Leo Brodie Starting Forth (англ.)
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |