."
Перейти к навигации
Перейти к поиску
." (точка и кавычка) — стандартное слово Каллисто. Начало сообщения.
." ( −− ) При исполнении вывести строку, ограниченную кавычкой.
При исполнении напечатать на индикаторе следующие литеры до кавычки исключительно.
Ввод слова ."
В режиме NUM последовательно нажмите три клавиши /−/ F 2
." в стандарте ANS Forth
6.1.0190 ." "dot-quote" CORE Интерпретация: Семантика интерпретации для этого слова не определена. Компиляция: ( "ccc<quote>" -- ) Выделяет ccc, ограниченную " (двойная кавычка). Добавляет семантику времени-выполнения данную ниже к текущему определению. Время-выполнения: ( -- ) Отображает ccc. См.: 3.4.1 Синтаксический анализ, 6.2.0200 .(. A.6.1.0190 ." Типичное использование: : X ... ." ccc" ... ; Реализация может определять семантику интерпретации для ." если желательно. В одной вероятной реализации, интерпретация ." отобразила бы разграниченное сообщение. В другой вероятной реализации, интерпретация ." компилировала бы код для отображения сообщения позже. В еще другой вероятной реализации, интерпретация ." была бы обработана как исключение. Обусловленная этими вариантами Стандартная Программа не может использовать ." при интерпретации. Точно так же Стандартная Программа не может компилировать POSTPONE ." внутри нового слова, и затем использовать это слово при интерпретации.
История
Начиная с Форта-83, слово ." применимо только при компиляции. Для вывода строки при исполнении используйте слово .(
В некоторых старинных Фортах слово ." называлось " (одна литера).
." в предыдущем стандарте Forth-83 (англ.)
." -- C,I,83 "dot-quote" -- (compiling) Used in the form: ." ccc" Later execution will display the characters ccc up to but not including the delimiting " (close-quote). The blank following ." is not part of ccc.
." в стандарте Forth-79 (англ.)
." I,133 "dot-quote" Interpreted or used in a colon definition in the form: ." ccc" Accept the following text from the input stream, terminated by " (double-quote). If executing, transmit this text to the selected output device. If compiling, compile so that later execution will transmit the text to the selected output device. At least 127 characters are allowed in the text. If the input stream is exhausted before the terminating double- quote, an error condition exists.
." в fig-FORTH Release 1 glossary, май 1979 (англ.)
." P,L0 Used in the form: .', cccc" Compiles an in-line string cccc (delimited by the trailing ") with an execution proceedure to transmit the text to the selected output device. If executed outside a definition, ." will immediately print the text until the final ',. The maximum number of characters may be an installation dependent value. See (.").
Реализация
3111 ;#Dotq 3112 ; ." I ( −− ) При исполнении вывести строку, ограниченную кавычкой. 3113 ; ." XXX" выводит строку XXX на индикатор во время выполнения определяемого слова. Код " завершает строку. 3114 ; Это слово нельзя употреблять вне определения через двоеточие. 3115 LDOTQ: .DB 82H 3116 .TEXT "." ; ." 3117 .DB 34 3118 .DW LPDOTQ 3119 DOTQ: .DW CALL, COMP,PDOTQ,LITB 3120 .DB 34 ; '"' 3121 .DW WORD,CAT,ONEP,ALLOT, EXIT
Реализации из SP-Forth 4.20:
: ." \ 94 \ Интерпретация: семантика неопределена. \ Компиляция: ( "ccc<quote>" -- ) \ Выделить ccc, ограниченное " (двойными кавычками). Добавить семантику времени \ выполнения, данную ниже, к текущему определению. \ Время выполнения: ( -- ) \ Вывести ccc на экран. ?COMP ['] _CLITERAL-CODE COMPILE, [CHAR] " PARSE DUP C, CHARS HERE SWAP DUP ALLOT MOVE 0 C, ['] (.") COMPILE, ; IMMEDIATE
: ." CLITERAL-CODE COMPILE, [CHAR] " PARSE DUP C, DP @ SWAP DUP ALLOT MOVE 0 C, (.")-CODE COMPILE, ; IMMEDIATE
Советская реализация
Описание и определение слова ." в ядре ФОРТ-ЕС:
Экран номер 28 ( 31.03.86 LIT" COUNT ," " ". (."/ ." C" ( ,( QUIT ABORT ) : ," ( -> ) C" " WORD С@ 2+ ALLOT ALIGNH ; : ." ( -> ) ?COMP COMPILE (.") ," ; IMMEDIATE
Определение слова ." в FORTH ИТЭФ:
HEAD 302Q,'.',242Q,DOTQ,$COL ; ." DW LIT,34,STATE,AT,ZBRAN,XT-$ DW COMP,PDOTQ,$WORD,HERE,CAT,ONEP DW ALLOT, SEMI XT: DW $WORD,HERE,COUNT,$TYPE,SEMI
Ссылки
- Исходный текст слова ." в Каллисто Классик 1.0
- Слово ." (dot-quote) и комментарий к нему в стандарте ANS Forth (англ.)
- Слово ." (dot-quote) и комментарий к нему в черновике Forth 200x (англ.)
- ОСНОВЫ ФОРТА в книге Л.Броуди «Начальный курс программирования на языке Форт»
- РАСШИРЕНИЕ КОМПИЛЯТОРА: ОПРЕДЕЛЯЮЩИЕ И КОМПИЛИРУЮЩИЕ СЛОВА в книге Л.Броуди «Начальный курс программирования на языке Форт»
- Fundamental Forth в книге Leo Brodie Starting Forth (англ.)
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |