DEFINITIONS

Материал из ПМК вики
Перейти к навигации Перейти к поиску

DEFINITIONS (определения) — стандартное слово Каллисто.

DEFINITIONS    ( −− )                               Делает контекстный набор слов текущим.
                                                    Новые слова добавляются в него.

Контекстный набор слов становится текущим, все последующие создаваемые словарные статьи добавляются в этот набор.

Обычно слово DEFINITIONS используется для красивого изменения значения переменной CURRENT, см. например классическую фразу EDITOR DEFINITIONS.

Ввод слова DEFINITIONS[править]

В режиме ЛАТ последовательно нажмите клавиши  K   ИП   П   7   4   7   2   7   5   4   1 

DEFINITIONS в стандарте ANS Forth[править]

 16.6.1.1180   DEFINITIONS                                                SEARCH
            ( -- )
            Делает список слов компиляции таким же, как первый список слов в 
            порядке поиска. Определяет, что имена последующих определений будут 
            помещены в список слов компиляции. Последующие изменения в порядке 
            поиска не будут затрагивать список слов компиляции.

        См.: 16.3.3 Поиск имен определений.

История[править]

DEFINITIONS в предыдущем стандарте Forth-83 (англ.)[править]

      DEFINITIONS  --                            79
           The compilation vocabulary is changed to be the same as the
           first vocabulary in the search order.  See:  "vocabulary,
           compilation"

      DEFINITIONS  --                            ONLY
           Select the transient vocabulary as the current vocabulary
           into which subsequent definitions will be added.

DEFINITIONS в стандарте Forth-79 (англ.)[править]

DEFINITIONS                                  155
    Set  CURRENT  to  the CONTEXT vocabulary  so  that  subsequent
    definitions  will  be  created in  the  vocabulary  previously
    selected as CONTEXT.

DEFINITIONS в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]

DEFINITIONS                                    L1
       Used in the form:
                       cccc DEFINITIONS
       Set the CURRENT vocabulary to the CONTEXT vocabulary. In the
       example, executing vocabulary name cccc made it the CONTEXT
       vocabulary and executing DEFINITIONS made both specify vocabulary
       cccc.

Реализация[править]

2433 ;#DEFINITIONS
2434 ; DEFINITIONS      ( −− )                               Сделать контекстный набор слов текущим. Новые слова добавляются в него.
2435 ; Это старинный способ менять значение переменной CURRENT.
2436 LDEFIN:         .DB     11
2437                 .TEXT   "DEFINITIONS"
2438                 .DW     LUPPER
2439 DEFIN:          .DW CALL, CONT,UAT, CURR,STORE, EXIT

Реализация из SP-Forth 4.20:

: DEFINITIONS ( -- ) \ 94 SEARCH
\ Сделать списком компиляции тот же список слов, что и первый список в порядке 
\ поиска. Имена последующих определений будут помещаться в список компиляции.
\ Последующие изменения порядка поиска не влияют на список компиляции.
  CONTEXT @ SET-CURRENT
;

Советская реализация[править]

У Баранова-Ноздрунова определение слова DEFINITIONS выглядит так (стр. 62):

: DEFINITIONS  ( ---> )   CONTEXT @  CURRENT !  ;

Описание и определение слова DEFINITIONS в ядре ФОРТ-ЕС:

DEFINITIONS ->  УСТАНОВИТЬ СПИСОК "CURRENT" НА "CONTEXT"   31

                     Экран номер 31
( 31.03.86    LATEST DEFINITIONS SMUDGE UNSMUDGE IMMEDIATE ID.)

: DEFINITIONS ( ->) CONTEXT @ CURRENT ! ;

В FORTH ИТЭФ слово DEFINITIONS было примитивом, вот его определение:

            HEAD     213Q,'DEFINITION',323Q,DEFIN      ; DEFINITIONS
            MOV  AX, 50Q[DI]
            MOV  52Q[DI],AX
            NEXT

Ссылки[править]


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


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