CREATE: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 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


Ссылки


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.