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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 26: Строка 26:
         This is usually used to copy a value just before IF, to eliminate
         This is usually used to copy a value just before IF, to eliminate
         the need for an ELSE part to drop it.
         the need for an ELSE part to drop it.
== Реализация ?DUP ==
У Баранова-Ноздрунова приводится следующее описание слова ?DUP (стр. 29):
  : ?DUP  ( A ---> A,A / 0 )    ↑ IF ↑ THEN ;


== История ==
== История ==

Версия от 06:28, 10 сентября 2015

?DUP — стандартное слово Каллисто.

Осуществляет операцию если x<>0


?DUP в стандарте ANS Forth

6.1.0630   ?DUP                           "question-dupe"                  CORE
           ( x -- 0 | x x )
           Дублирует x, если оно ненулевое.


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

     ?DUP         16b -- 16b 16b                79     "question-dupe"
          or      0 -- 0
          Duplicate 16b if it is non-zero.


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

?DUP           n -- n ( n )                  184       "query-dupe"
    Duplicate n if it is non-zero.


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

-DUP n1 -- n1 (if zero) n1 -- n1 n1 (non-zero)        L0
       Reproduce n1 only if it is non-zero.
       This is usually used to copy a value just before IF, to eliminate
       the need for an ELSE part to drop it.


Реализация ?DUP

У Баранова-Ноздрунова приводится следующее описание слова ?DUP (стр. 29):

 : ?DUP   ( A ---> A,A / 0 )    ↑ IF ↑ THEN ;


История

Программы, написанные для fig-Форта, должны заменить старое наименование −DUP на новое ?DUP


Ссылки


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


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