LAST

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

LAST (последний) — фортовское слово Каллисто.

LAST           ( −− a )                             Дать NFA последней созданной статьи.

Дать NFA последней созданной словарной статьи.

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

В режиме ЛАТ последовательно нажмите четыре клавиши     ШГ←   1   2 

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

В Каллисто предпочтительней представлять слово в стеке адресом поля имени. Интересно, что слово LAST возвращало адрес поля имени не только в Каллисто, но и в Форте. Возможно, поэтому слово LAST в 1994 году было исключено из стандарта.

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

     LAST         -- addr                       U
          A variable containing the address of the beginning of the
          last dictionary entry made, which may not yet be a complete
          or valid entry.

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

LAST           -- addr
    A variable containing the address of the beginning of the last
    dictionary  entry  made,  which may not yet be a  complete  or
    valid entry.

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

LATEST          --- addr
       Leave the name field address of the topmost word in the CURRENT
       vocabulary.

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

2960 ;#LAST
2961 ; LAST             ( −− a )                             Дать NFA последней созданной статьи.
2962 LLATES:         .DB     4
2963                 .TEXT   "LAST"                          ; ( −− NFA )
2964                 .DW     LDCOMMA
2965 LATES:          .DW CALL, CURR,UAT,UAT, EXIT            ; Дать ссылку на слово, определённое последним в текущем наборе слов.

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

USER LAST     \ указывает на поле имени последней
              \ скомпилированной словарной статьи
              \ в отличие от LATEST, которое дает
              \ адрес последнего слова в CURRENT
…
: LATEST ( -> NFA )
  CURRENT @ @
;

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

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

: LAST  ( ---> NFA )   CURRENT  @  @  ;

В ядре ФОРТ-ЕС слово LAST называлось LATEST

Вот его описание и определение:

LATEST    *  ->NFA ДАТЬ NFA ПОСЛЕДНЕЙ СОЗДАННОЙ СТАТЬИ          31

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

: LATEST   ( ->NFA)   CURRENT @ @ ;  ( (;CODE/ RECURSE)

В FORTH ИТЭФ слово LAST также называлось LATEST и было примитивом, вот его определение:

            HEAD     206Q,'LATES',324Q,LATES              ; LATEST
            MOV  BX, [DI+52Q]
            PUSH [BX]
            NEXT

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


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


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