COMPILE: различия между версиями
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
'''COMPILE''' (компилировать, скомпилировать) — | '''COMPILE''' (компилировать, скомпилировать) — встроенное слово [[Каллисто]]. Скомпилировать [[CFA|токен]]. | ||
COMPILE ( −− ) Скомпилировать 16−битное слово, следующее за оператором. | |||
Слово COMPILE [[Слово ,|компилирует]] (т.е. добавляет) на вершину словаря 16-битное значение, следующее в [[Шитый код|шитом коде]] непосредственно за [[CFA|токеном]] COMPILE. Обычно это [[CFA|токен]] другого слова. | |||
Слово COMPILE компилирует (т.е. добавляет) на вершину словаря значение, | |||
== Ввод слова COMPILE == | == Ввод слова COMPILE == | ||
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша 5|{{Серая клавиша|5}}]] [[Клавиша ÷|{{Серая клавиша|÷}}]] [[Клавиша 6|{{Серая клавиша|6}}]] [[Клавиша 7|{{Серая клавиша|7}}]] [[Клавиша -|{{Серая клавиша|−}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] | В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша 5|{{Серая клавиша|5}}]] [[Клавиша ÷|{{Серая клавиша|÷}}]] [[Клавиша 6|{{Серая клавиша|6}}]] [[Клавиша 7|{{Серая клавиша|7}}]] [[Клавиша -|{{Серая клавиша|−}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] | ||
== COMPILE в предыдущем стандарте Forth-83 (англ.) == | == История == | ||
Слово COMPILE взято в [[Каллисто]] из стандарта Forth 83, т.к. широко «засветилось» в русской литературе по Форту. Оно было исключено из стандарта ANS Forth в пользу слова POSTPONE, которое планируется к реализации в [[Каллисто 2.0]]. | |||
=== COMPILE в предыдущем стандарте Forth-83 (англ.) === | |||
COMPILE -- C,83 | COMPILE -- C,83 | ||
Typically used in the form: | Typically used in the form: | ||
Строка 17: | Строка 18: | ||
See: "compilation" | See: "compilation" | ||
== COMPILE в стандарте Forth-79 (англ.) == | === COMPILE в стандарте Forth-79 (англ.) === | ||
COMPILE C,146 | COMPILE C,146 | ||
When a word containing COMPILE executes, the 16-bit value | When a word containing COMPILE executes, the 16-bit value | ||
Строка 25: | Строка 26: | ||
COMPILE [ 0 , ] will copy zero. | COMPILE [ 0 , ] will copy zero. | ||
== COMPILE в fig-FORTH Release 1 glossary, май 1979 (англ.) == | === COMPILE в fig-FORTH Release 1 glossary, май 1979 (англ.) === | ||
COMPILE C2 | COMPILE C2 | ||
When the word containing COMPILE executes, the execution address of | When the word containing COMPILE executes, the execution address of | ||
Строка 55: | Строка 56: | ||
DW QCOMP,I,FROMR,TWOP,TOR,AT,COMMA,SEMI | DW QCOMP,I,FROMR,TWOP,TOR,AT,COMMA,SEMI | ||
</PRE> | </PRE> | ||
== Ссылки == | == Ссылки == | ||
* {{Исходник|COMPILE|COMPILE}} | |||
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\11.RASSIRENIE%20KOMPILATORA:%20OPREDELAUSIE%20I%20KOMPILIRUUSIE%20SLOWA РАСШИРЕНИЕ КОМПИЛЯТОРА: ОПРЕДЕЛЯЮЩИЕ И КОМПИЛИРУЮЩИЕ СЛОВА] в книге [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\11.RASSIRENIE%20KOMPILATORA:%20OPREDELAUSIE%20I%20KOMPILIRUUSIE%20SLOWA РАСШИРЕНИЕ КОМПИЛЯТОРА: ОПРЕДЕЛЯЮЩИЕ И КОМПИЛИРУЮЩИЕ СЛОВА] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»] | ||
Строка 68: | Строка 67: | ||
[[Категория:Слова высокого уровня]] | [[Категория:Слова высокого уровня]] | ||
[[Категория:Работа со словарём Каллисто]] | [[Категория:Работа со словарём Каллисто]] | ||
Версия от 22:21, 6 июня 2016
COMPILE (компилировать, скомпилировать) — встроенное слово Каллисто. Скомпилировать токен.
COMPILE ( −− ) Скомпилировать 16−битное слово, следующее за оператором.
Слово COMPILE компилирует (т.е. добавляет) на вершину словаря 16-битное значение, следующее в шитом коде непосредственно за токеном COMPILE. Обычно это токен другого слова.
Ввод слова COMPILE
В режиме ЛАТ последовательно нажмите клавиши С/П 5 ÷ 6 7 − ИП
История
Слово COMPILE взято в Каллисто из стандарта Forth 83, т.к. широко «засветилось» в русской литературе по Форту. Оно было исключено из стандарта ANS Forth в пользу слова POSTPONE, которое планируется к реализации в Каллисто 2.0.
COMPILE в предыдущем стандарте Forth-83 (англ.)
COMPILE -- C,83 Typically used in the form: : <name> ... COMPILE <namex> ... ; When <name> is executed, the compilation address compiled for <namex> is compiled and not executed. <name> is typically immediate and <namex> is typically not immediate. See: "compilation"
COMPILE в стандарте Forth-79 (англ.)
COMPILE C,146 When a word containing COMPILE executes, the 16-bit value following the compilation address of COMPILE is copied (compiled) into the dictionary. i.e., COMPILE DUP will copy the compilation address of DUP. COMPILE [ 0 , ] will copy zero.
COMPILE в fig-FORTH Release 1 glossary, май 1979 (англ.)
COMPILE C2 When the word containing COMPILE executes, the execution address of the word following COMPILE is copied (compiled) into the dictionary. This allows specific compilation situations to be handled in addition to simply compiling an execution address (which the interpreter already does).
Реализация
Юрий Семёнов приводит следующее определение слова COMPILE (стр. 140):
: COMPILE ?COMP I R> 2+ >R @ , ;
У Баранова-Ноздрунова приводится следующее определение слова COMPILE (стр. 54):
: COMPILE ( ---> ) I @ , R> 2+ >R ;
Описание и определение слова COMPILE в ядре ФОРТ-ЕС:
COMPILE К-> КОМПИЛИРОВАТЬ СЛЕДУЮЩИЙ АДРЕС 22 Экран номер 22 ( 31.03.86 FILL ERASE BLANK COMPILE [ ] MIN MAX HEX DECIMAL) : COMPILE ( -> ) R> DUP 2+ >R @ , ;
Определение слова COMPILE в FORTH ИТЭФ:
HEAD 207Q,'COMPIL',305Q,COMP,$COL ; COMPILE ; Компиляция исполнительного адреса, следующего за оператором DW QCOMP,I,FROMR,TWOP,TOR,AT,COMMA,SEMI
Ссылки
- Исходный текст слова COMPILE в Каллисто Классик 1.0
- РАСШИРЕНИЕ КОМПИЛЯТОРА: ОПРЕДЕЛЯЮЩИЕ И КОМПИЛИРУЮЩИЕ СЛОВА в книге Л.Броуди «Начальный курс программирования на языке Форт»
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |