QUERY
Перейти к навигации
Перейти к поиску
QUERY (запрос) — стандартное слово Каллисто.
QUERY ( −− ) Ввести строку с пульта в TIB, ограничив её двумя нулями.
Осуществляет ввод строки символов с клавиатуры во входной буфер TIB.
Ввод слова QUERY
В режиме ЛАТ последовательно нажмите клавиши + 3 ИП × ,
QUERY в стандарте ANS Forth
6.2.2040 QUERY CORE EXT ( -- ) Делает пользовательское устройство ввода данных входным источником. Получает ввод в буфер ввода терминала, заменяя любое предыдущее содержимое. Делает результат, чей адрес возвращается TIB, входным буфером. Установить >IN в ноль. Примечание: Это слово устаревшее и включено как уступка существующим реализациям. A.6.2.2040 QUERY Функция QUERY может быть выполнена с ACCEPT и EVALUATE.
История
В стандарте Форта 1994 года слово QUERY было определено, как устаревшее. Его нет в черновике стандарта 200x года.
Форт−79 устанавливает максимальный размер входной строки 80 символов. В Каллисто максимальный размер строки 94 символа, не считая двух завершающих нулей.
QUERY в предыдущем стандарте Forth-83 (англ.)
QUERY -- M,83 Characters are received and transferred into the memory area addressed by TIB . The transfer terminates when either a "return" is received or the number of characters transferred reaches the size of the area addressed by TIB . The values of >IN and BLK are set to zero and the value of #TIB is set to the value of SPAN . WORD may be used to accept text from this buffer. See: EXPECT "input stream"
QUERY в стандарте Forth-79 (англ.)
QUERY 235 Accept input of up to 80 characters (or until a 'return') from the operator's terminal, into the terminal input buffer. WORD may be used to accept text from this buffer as the input stream, by setting >IN and BLK to zero.
QUERY в fig-FORTH Release 1 glossary, май 1979 (англ.)
QUERY Input 80 characters of text (or until a "return") from the operators terminal. Text is positioned at the address contained in TIB with IN set to zero.
Реализация
3134 ;#QUERY 3135 ; QUERY ( −− ) Ввести строку с пульта в TIB, ограничив её двумя нулями. 3136 ; Осуществляет ввод строки литер с клавиатуры. 3137 ; Ввод прекращается, если нажата клавиша Ввод или заполнен входной буфер. 3138 ; Максимальный размер строки 94 литеры. 3139 LQUERY: .DB 5 3140 .TEXT "QUERY" 3141 .DW LCOMQ 3142 QUERY: .DW CALL, ZERO,TIB,DUP,LITB 3143 .DB 94 3144 .DW ACCE,PLUS,STORE, IN,ZSTORE, BRAN,RSPACE
Советская реализация
Юрий Семёнов приводит следующее определение слова QUERY через слово EXPECT (стр. 31):
: QUERY TIB @ 120 EXPECT 0 >IN ! ↵ ;
Определение и описание слова QUERY в ядре ФОРТ-ЕС:
QUERY * -> ВВЕСТИ С ТЕРМИНАЛА ЛИТЕРЫ В БУФЕР "TIB" ; 40 ЧИСЛО ВВЕДЕННЫХ ЛИТЕР ЗАСЛАТЬ В "#TIB" Экран номер 40 ( 31.03.84 EXPECT OUERY INTERPRET ФОРТ-СИСТЕМА X ) : QUERY ( ->) TIB 80 EXPECT >IN 0! BLK 0! SPAN @ #TIB ! ;
Определение слова QUERY в FORTH ИТЭФ:
HEAD 205Q,'QUER',331Q,QUERY,$COL ; QUERY DW TIB,AT,CFA,LIT,120Q,EXPE,ZERO,IN,STORE,CR,SEMI
Ссылки
- Исходный текст слова QUERY в Каллисто Классик 1.0
- См. слова TIB, ACCEPT, >IN и BLK
- Слово QUERY упоминается в главах «Функционирование Форт-системы» и «Ввод-вывод» книги Л.Броуди «Начальный курс программирования на языке Форт»
- Слово QUERY и комментарий к нему в стандарте ANS Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |