Слово ;

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

; (точка с запятой) — стандартное слово Каллисто.

Закончить определение через двоеточие.


; в стандарте ANS Forth

6.1.0460   ;                                 "semicolon"                   CORE
       Интерпретация: Семантика интерпретации для этого слова не определена.
       Компиляция: ( C: colon-sys -- )
           Добавляет семантику времени-выполнения ниже к текущему определению. 
           Заканчивает текущее определение, позволяя ему быть найденным в 
           словаре, и вводит состояние интерпретации, потребляя colon-sys. 
           Если указатель области данных не выровненный, резервирует 
           достаточно области данных для его выравнивания.
       Время-выполнения: ( -- )  ( R:  nest-sys -- )
           Возвращение к вызывающему определению, определенному nest-sys.
       См.: 3.4 Интерпретатор текста Forth, 3.4.5 Компиляция.
A.6.1.0460   ;
Типичное использование:
       : name ... ;
Одна функция, выполняемая ; и ;CODE это позволить текущему определению быть 
найденным в словаре. Если текущее определение было создано с помощью :NONAME 
текущее определение не имеет имя определения и таким образом не может быть 
найдено в словаре. Если :NONAME реализовано, компилятор Forth должен сохранить 
достаточно информации о текущем определении, чтобы позволить ; и ;CODE 
определить, действительно ли должно быть предпринято какое либо действие, чтобы 
позволить ему быть найденным.


; в предыдущем стандарте Forth-83 (англ.)

     ;            --                            C,I,79    "semi-colon"
                  sys --   (compiling)
          Stops compilation of a colon definition, allows the <name>
          of this colon definition to be found in the dictionary, sets
          interpret state and compiles EXIT (or a system dependent
          word which performs an equivalent function).  sys is
          balanced with its corresponding : .  See:  EXIT  :  "stack,
          return"  "9.4 Compilation"


; в стандарте Forth-79 (англ.)

;                                            I,C,196   "semi-colon"
    Terminate  a  colon  definition  and  stop  compilation.    If
    compiling  from mass storage and the input stream is exhausted
    before encountering ; an error condition exists.


; в fig-FORTH Release 1 glossary, май 1979 (англ.)

;                                           P,C,L0
       Terminate a colon-definition and stop further compilation. Compiles
       the run-time ;S.


Реализация ;

Юрий Семёнов приводит следующее описание слова ; (стр. 138):

 : ;   ?CSP COMPILE EXIT   ( завершает описание слова, записав в
                        PFA нового слова ссылку на оператор EXIT)
       SMUDGE [ ; IMMEDIATE

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

: ;  ( ---> )   COMPILE  EXIT  [COMPILE]  [  ;
                                     IMMEDIATE

В 11-й главе Starting FORTH слово ; определяется так:

  : ;  POSTPONE EXIT  SMUDGE POSTPONE [ ; IMMEDIATE

Ссылки


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


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