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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 15: Строка 15:
             flag - true, если и только если r1 - меньше чем r2.
             flag - true, если и только если r1 - меньше чем r2.


== < в предыдущем стандарте Forth-83 (англ.) ==
== История ==
Слово < является одним из самых древних в Форте.
 
Оно появилось в программе CURVE, написанной Чак Муром на Алголе для Burroughs B5500 в 1964 году ([https://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BB%D0%B0%D0%B1%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8%D1%8F_SLAC Национальная ускорительная лаборатория SLAC], [https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%8D%D0%BD%D1%84%D0%BE%D1%80%D0%B4%D1%81%D0%BA%D0%B8%D0%B9_%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%82%D0%B5%D1%82 Стэнфордский университет]).
 
Вместе со словом < появилось соглашение оставлять значение истинности на стеке, 1 для «истина» и 0 для «ложь».
 
=== < в предыдущем стандарте Forth-83 (англ.) ===
       <            n1 n2 -- flag                83        "less-than"
       <            n1 n2 -- flag                83        "less-than"
           flag is true if n1 is less than n2.
           flag is true if n1 is less than n2.
Строка 21: Строка 28:
                   -32768 0 < must return true.
                   -32768 0 < must return true.


== &lt; в стандарте Forth-79 (англ.) ==
=== &lt; в стандарте Forth-79 (англ.) ===
  <              n1 n2 -- flag                139        "less-than"
  <              n1 n2 -- flag                139        "less-than"
     True if n1 is less than n2.
     True if n1 is less than n2.
Строка 28: Строка 35:
     -32768 0 <  must be distinguished.
     -32768 0 <  must be distinguished.


== &lt; в fig-FORTH Release 1 glossary, май 1979 (англ.) ==
=== &lt; в fig-FORTH Release 1 glossary, май 1979 (англ.) ===
  <            n1  n2  ---  f                  L0
  <            n1  n2  ---  f                  L0
         Leave a true flag if n1 is less than n2; otherwise leave a false
         Leave a true flag if n1 is less than n2; otherwise leave a false
         flag.
         flag.
== История ==
Слово &lt; является одним из самых древних в Форте.
Оно появилось в программе CURVE, написанной Чак Муром на Алголе для Burroughs B5500 в 1964 году ([https://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BB%D0%B0%D0%B1%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8%D1%8F_SLAC Национальная ускорительная лаборатория SLAC], [https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%8D%D0%BD%D1%84%D0%BE%D1%80%D0%B4%D1%81%D0%BA%D0%B8%D0%B9_%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%82%D0%B5%D1%82 Стэнфордский университет]).
Вместе со словом &lt; появилось соглашение оставлять значение истинности на стеке, 1 для «истина» и 0 для «ложь».


== Реализация ==
== Реализация ==

Версия от 16:21, 5 июня 2016

< (меньше) — стандартное слово Каллисто.

<              ( x1 x2 −− f )                       Меньше. f равно −1 если и только если x1 меньше, чем x2.

Ввод слова <

В режиме NUM последовательно нажмите две клавиши  F   ШГ→ 

< и F< в стандарте ANS Forth

6.1.0480   <                                 "less-than"                   CORE
           ( n1 n2 -- flag )
           flag - true, если и только если n1 - меньше чем n2.
       См.: 6.1.2340 U<.
12.6.1.1460   F<                         "f-less-than"                 FLOATING
           ( -- flag ) ( F: r1 r2 -- ) or ( r1 r2 -- flag )
           flag - true, если и только если r1 - меньше чем r2.

История

Слово < является одним из самых древних в Форте.

Оно появилось в программе CURVE, написанной Чак Муром на Алголе для Burroughs B5500 в 1964 году (Национальная ускорительная лаборатория SLAC, Стэнфордский университет).

Вместе со словом < появилось соглашение оставлять значение истинности на стеке, 1 для «истина» и 0 для «ложь».

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

     <            n1 n2 -- flag                 83         "less-than"
          flag is true if n1 is less than n2.
                  -32678 32767 < must return true.
                  -32768 0 < must return true.

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

<              n1 n2 -- flag                 139        "less-than"
    True if n1 is less than n2.
    -32768 32767 <  must return true.
    -32768 0 <  must be distinguished.

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

<             n1  n2  ---  f                   L0
       Leave a true flag if n1 is less than n2; otherwise leave a false
       flag.

Реализация

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

 : <   ( A,B ---> A < B )    - 0< ;

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

  <           N1,N2->F                      F НЕ НУЛЬ, ЕСЛИ N1 МЕНЬШЕ N2  49

                     Экран номер 19
( 31.03.86   CPАBHEHИЯ И РАЗРЕШЕНИЯ В ШИТОМ КОДЕ)

: <  ( N1,N2->F)    - 0< ;

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

             HEAD    201Q,,274Q,LESS                      ; <
             POP   AX
             POP   CX
             CMP   AX, CX
             JG    TRUE
             JMP   FALSE

Метки TRUE и FALSE см. в определении слова 0=

Ссылки


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


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