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
Ссылки[править]
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |