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

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


== Детали реализации ==
== Детали реализации ==
Слово TRUE названо константой по его действию. В [[Каллисто]] оно не имеет отношения к порождающему слову [[CONSTANT]] и является [[примитив]]ом.
Слово TRUE названо константой по его действию. В [[Каллисто]] оно не имеет отношения к порождающему слову [[CONSTANT]] и является [[примитив]]ом. Такой подход делает исполняемый код короче и быстрее, а также ускоряет время компиляции программы — существенный плюс для [[Каллисто]].
 
== TRUE в стандарте ANS Forth ==
<PRE>
6.2.2298  TRUE                                                        CORE EXT
            ( -- true )
            Возвращает флаг true, значение одна-ячейка со всеми установленными
            битами.
 
        См.: 3.1.3.1 Флаги.
 
A.6.2.2298  TRUE
TRUE эквивалентно фразе 0 0=.
</PRE>


== История ==
== История ==
Ещё в раннем Форте было подмечено, что некоторые числа используются в программах чаще других. Чтобы сделать исполняемый код короче и быстрее, под такие числа были заведены отдельные слова — засылающие их в стек в обход механизма литералов. Это также ускоряет время компиляции программы, существенный плюс для [[Каллисто]].
Значение TRUE стало -1 в Форте-83, в этом виде и вошло в [[Каллисто]]. Если на [[Каллисто]] переносятся более древние программы, надо учитывать, что значение истины тогда равнялось единице.
 
=== Значение TRUE в Форте-83 ===
          true
              A non-zero value represents the true state of a flag.  Any
              non-zero value will be accepted by a standard word as
              'true'; all standard words return a 16-bit value with all
              bits set to one when returning a 'true' flag.
 
=== Значение TRUE в Форте-79 ===
<PRE>
true
 
    A non-zero value represents the true condition flag.  Any non-
    zero value will be accepted by a standard word as 'true';  all
    standard words return one when leaving a ' true' flag.
</PRE>


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

Версия от 15:51, 6 июня 2016

TRUE («истина») — встроенное слово Каллисто. Константа -1.

TRUE           ( -- -1 )                       Истина. Число -1.

Примитив TRUE кладёт на стек число -1.

Ввод слова TRUE

В режиме ЛАТ нажмите  2   ×   3   ИП 

Детали реализации

Слово TRUE названо константой по его действию. В Каллисто оно не имеет отношения к порождающему слову CONSTANT и является примитивом. Такой подход делает исполняемый код короче и быстрее, а также ускоряет время компиляции программы — существенный плюс для Каллисто.

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

6.2.2298   TRUE                                                        CORE EXT
            ( -- true )
            Возвращает флаг true, значение одна-ячейка со всеми установленными 
            битами.

        См.: 3.1.3.1 Флаги.

A.6.2.2298   TRUE
TRUE эквивалентно фразе 0 0=.

История

Значение TRUE стало -1 в Форте-83, в этом виде и вошло в Каллисто. Если на Каллисто переносятся более древние программы, надо учитывать, что значение истины тогда равнялось единице.

Значение TRUE в Форте-83

         true
              A non-zero value represents the true state of a flag.  Any
              non-zero value will be accepted by a standard word as
              'true'; all standard words return a 16-bit value with all
              bits set to one when returning a 'true' flag.

Значение TRUE в Форте-79

true

     A non-zero value represents the true condition flag.  Any non-
     zero value will be accepted by a standard word as 'true';  all
     standard words return one when leaving a ' true' flag.

Реализация

Определение константы 3 в FORTH ИТЭФ:

            HEAD     201Q,,263Q,THREE,$CON                ; 3
            DW 3

Ссылки


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