CREATE: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 49: | Строка 49: | ||
executed, the address of the first byte of <name>'s parameter | executed, the address of the first byte of <name>'s parameter | ||
field is left on the stack. | field is left on the stack. | ||
== CREATE в fig-FORTH Release 1 glossary, май 1979 (англ.) == | |||
CREATE | |||
A defining word used in the form: | |||
CREATE cccc | |||
by such words as CODE and CONSTANT to create a dictionary header for | |||
a Forth definition. The code field contains the address of the words | |||
parameter field. The new word is created in the CURRENT vocabulary. | |||
Версия от 20:19, 7 сентября 2015
CREATE — стандартное слово Каллисто.
Формирует слово с именем XXX (заголовок и CFA), оставляя его поле параметров пустым.
CREATE в стандарте ANS Forth
6.1.1000 CREATE CORE ( "<spaces>name" -- ) Пропускает ведущие разделители пробелы. Выделяет name, ограниченное пробелом. Создает определение для name с семантикой выполнения, определенной ниже. Если указатель области данных не выровнен, резервирует достаточно области данных для его выравнивания. Новый указатель области данных определяет поле данных name. CREATE не распределяет область данных в поле данных name.
name Выполнение: ( -- a-addr ) a-addr - адрес поля данных name. Семантика выполнения name может быть расширена использованием DOES>.
См.: 3.3.3 Область данных, 6.1.1250 DOES>.
A.6.1.1000 CREATE Адрес области данных слова, определенного CREATE, дается указателем области данных немедленно после выполнения CREATE. Резервирование пространства поля данных типично делается с помощью ALLOT.
Типичное использование: ... CREATE SOMETHING ...
CREATE в предыдущем стандарте Forth-83 (англ.)
CREATE -- M,79 A defining word executed in the form: CREATE <name> Creates a dictionary entry for <name>. After <name> is created, the next available dictionary location is the first byte of <name>'s parameter field. When <name> is subsequently executed, the address of the first byte of <name>'s parameter field is left on the stack. CREATE does not allocate space in <name>'s parameter field.
CREATE в стандарте Forth-79 (англ.)
CREATE 239 A defining word used in the form: CREATE <name> to create a dictionary entry for <name>, without allocating any parameter field memory. When <name> is subsequently executed, the address of the first byte of <name>'s parameter field is left on the stack.
CREATE в fig-FORTH Release 1 glossary, май 1979 (англ.)
CREATE A defining word used in the form: CREATE cccc by such words as CODE and CONSTANT to create a dictionary header for a Forth definition. The code field contains the address of the words parameter field. The new word is created in the CURRENT vocabulary.
История
Если CREATE используется, как часть конструкции CREATE…DOES> — в большинстве случаев при переносе такого определения слова на Каллисто достаточно просто заменить CREATE на <BUILDS
Ссылки
- Слово CREATE в стандарте ANS Forth (англ.) и комментарий к нему (англ.)
- Слово CREATE в черновике Forth 200x (англ.) и комментарий к нему (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |