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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показано 19 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''CURRENT''' (текущий) — стандартное слово [[Каллисто]].
'''CURRENT''' (текущий) — фортовская переменная [[Каллисто]].
CURRENT        ( −− a )                            Переменная, текущий пополняемый набор слов.
Переменная указывает [[VOCABULARY|набор слов]], в который добавляются определения новых слов.


Переменная указывает список [[VOCABULARY]], в который вводятся определения новых слов.
К переменной CURRENT редко обращаются по имени. Обычно её значение меняют с помощью слова [[DEFINITIONS]].


== Ввод слова CURRENT ==
== Ввод слова CURRENT ==
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша 3|{{Серая клавиша|3}}]] [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша 4|{{Серая клавиша|4}}]] [[Клавиша 2|{{Серая клавиша|2}}]]
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша 3|{{Серая клавиша|3}}]] [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша 4|{{Серая клавиша|4}}]] [[Клавиша 2|{{Серая клавиша|2}}]]


== CURRENT в предыдущем стандарте Forth-83 (англ.) ==
== GET-CURRENT и SET-CURRENT в стандарте ANS Forth ==
<PRE>
16.6.1.1643  GET-CURRENT                                                SEARCH
            ( -- wid )
            Возвращает wid, идентификатор списка слов компиляции.
 
16.6.1.2195  SET-CURRENT                                                SEARCH
            ( wid -- )
            Устанавливает список слов компиляции на список слов,
            идентифицированный wid.
</PRE>
 
== История ==
Слово из стандарта Forth 83. Было исключено из стандарта ANS Forth в пользу механизма ALSO/ONLY.
 
=== CURRENT в предыдущем стандарте Forth-83 (англ.) ===
       CURRENT      -- addr                      U,79
       CURRENT      -- addr                      U,79
           The address of a variable specifying the vocabulary in which
           The address of a variable specifying the vocabulary in which
           new word definitions are appended.
           new word definitions are appended.


 
=== CURRENT в стандарте Forth-79 (англ.) ===
== CURRENT в стандарте Forth-79 (англ.) ==
  CURRENT        -- addr                      U,137
  CURRENT        -- addr                      U,137
     Leave the address of a variable specifying the vocabulary into
     Leave the address of a variable specifying the vocabulary into
     which new word definitions are to be entered.
     which new word definitions are to be entered.


== GET-CURRENT в стандарте ANS Forth ==
== Реализация ==
  16.6.1.1643   GET-CURRENT                                               SEARCH
<pre>
            ( -- wid )
  93 rrCURRENT      .EQU    1106                  ; 11106 CURRENT − Указатель, к какому словарю будет отнесено новое слово
            Возвращает wid, идентификатор списка слов компиляции.
  94 pCURRENT        .EQU      106
  95 rlCURRENT      .EQU    1107
2849 ;#CURRENT
2850 ; CURRENT          ( −− a )                            Переменная, текущий пополняемый список слов.
2851 LCURRENT:      .DB    7
2852                .TEXT   "CURRENT"
2853                .DW    LCONTEXT
2854 CURR:          .DW    SUSE
2855                .DB pCURRENT                    ; Переменная указывает список слов, в который вводятся определения новых слов.
</pre>
Реализация из SP-Forth 4.20:
<pre>
  USER CURRENT     \ дает wid текущего словаря компиляции
: SET-CURRENT ( wid -- ) \ 94 SEARCH
\ Установить список компиляции на список, идентифицируемый wid.
  CURRENT !
;


: GET-CURRENT ( -- wid ) \ 94 SEARCH
\ Возвращает wid - идентификатор списка компиляции.
  CURRENT @
;
</pre>


== SET-CURRENT в стандарте ANS Forth ==
=== Советская реализация ===
16.6.1.2195  SET-CURRENT                                               SEARCH
Описание и определение переменной CURRENT в ядре ФОРТ-ЕС:
            ( wid -- )
<PRE>
            Устанавливает список слов компиляции на список слов,
CURRENT П->А ПЕРЕМЕННАЯ - СПИСОК ДЛЯ ДОБАВЛЕНИЯ СЛОВ          7
            идентифицированный wid.


                      Экран номер 7
( 09.09.86 КОНСТАНТЫ И СИСТЕМНЫЕ ПЕРЕМЕННЫЕ      )


== История ==
VARIABLE  CURRENT    ( ТЕКУЩИЙ СПИСОК - КУДА ДОБАВЛЯЕМ)
Слово из стандарта Forth 83. Было исключено из стандарта ANS Forth в пользу механизма ALSO/ONLY.
</PRE>
 
Определение переменной CURRENT в FORTH ИТЭФ:
<PRE>
            HEAD    207Q, 'CURREN',324Q,CURR,$USE        ; CURRENT
            DW 52Q
</PRE>


== Ссылки ==
== Ссылки ==
* [http://forth.sourceforge.net/standard/dpans/dpans16.htm#16.6.1.1643 Слово GET-CURRENT в стандарте ANS Forth] ''(англ.)''
* {{Исходник|CURRENT|CURRENT}}
* [http://forth.sourceforge.net/standard/dpans/dpans16.htm#16.6.1.2195 Слово SET-CURRENT в стандарте ANS Forth] ''(англ.)''
* Слова [http://forth.sourceforge.net/standard/dpans/dpans16.htm#16.6.1.1643 GET-CURRENT] и [http://forth.sourceforge.net/standard/dpans/dpans16.htm#16.6.1.2195 SET-CURRENT] в стандарте ANS Forth ''(англ.)''
* [http://www.forth200x.org/documents/html/search.html#search:GET-CURRENT Слово GET-CURRENT в черновике Forth 200x] ''(англ.)''
* Слова [http://forth-standard.org/standard/search/GET-CURRENT GET-CURRENT] и [http://forth-standard.org/standard/search/SET-CURRENT SET-CURRENT] в черновике Forth 200x ''(англ.)''
* [http://www.forth200x.org/documents/html/search.html#search:SET-CURRENT Слово SET-CURRENT в черновике Forth 200x] ''(англ.)''
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\09.FUNKZIONIROWANIE%20FORT-SISTEMY ФУНКЦИОНИРОВАНИЕ ФОРТ-СИСТЕМЫ] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»]




Строка 44: Строка 88:
{{заготовка}}
{{заготовка}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Стандартные переменные Каллисто]]
[[Категория:Переменные USER]]
[[Категория:Управление поиском слов Каллисто]]
[[Категория:Встроенные переменные Каллисто]]
[[Категория:Слова Каллисто без стековых диаграмм]]
[[Категория:Управление поиском слов]]
[[Категория:Фортовские слова]]

Текущая версия от 18:34, 10 ноября 2017

CURRENT (текущий) — фортовская переменная Каллисто.

CURRENT        ( −− a )                             Переменная, текущий пополняемый набор слов.

Переменная указывает набор слов, в который добавляются определения новых слов.

К переменной CURRENT редко обращаются по имени. Обычно её значение меняют с помощью слова DEFINITIONS.

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

В режиме ЛАТ последовательно нажмите клавиши  С/П   3   ×   ×   ИП   4   2 

GET-CURRENT и SET-CURRENT в стандарте ANS Forth[править]

 16.6.1.1643   GET-CURRENT                                                SEARCH
            ( -- wid )
            Возвращает wid, идентификатор списка слов компиляции.

 16.6.1.2195   SET-CURRENT                                                SEARCH
            ( wid -- )
            Устанавливает список слов компиляции на список слов, 
            идентифицированный wid.

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

Слово из стандарта Forth 83. Было исключено из стандарта ANS Forth в пользу механизма ALSO/ONLY.

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

     CURRENT      -- addr                       U,79
          The address of a variable specifying the vocabulary in which
          new word definitions are appended.

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

CURRENT        -- addr                       U,137
    Leave the address of a variable specifying the vocabulary into
    which new word definitions are to be entered.

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

  93 rrCURRENT       .EQU     1106                   ; 11106  CURRENT − Указатель, к какому словарю будет отнесено новое слово
  94 pCURRENT        .EQU      106
  95 rlCURRENT       .EQU     1107
…
2849 ;#CURRENT
2850 ; CURRENT          ( −− a )                             Переменная, текущий пополняемый список слов.
2851 LCURRENT:       .DB     7
2852                 .TEXT   "CURRENT"
2853                 .DW     LCONTEXT
2854 CURR:           .DW     SUSE
2855                 .DB pCURRENT                    ; Переменная указывает список слов, в который вводятся определения новых слов.

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

  USER CURRENT     \ дает wid текущего словаря компиляции
…
: SET-CURRENT ( wid -- ) \ 94 SEARCH
\ Установить список компиляции на список, идентифицируемый wid.
  CURRENT !
;

: GET-CURRENT ( -- wid ) \ 94 SEARCH
\ Возвращает wid - идентификатор списка компиляции.
  CURRENT @
;

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

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

CURRENT  П->А ПЕРЕМЕННАЯ - СПИСОК ДЛЯ ДОБАВЛЕНИЯ СЛОВ           7

                      Экран номер 7
( 09.09.86 КОНСТАНТЫ И СИСТЕМНЫЕ ПЕРЕМЕННЫЕ      )

VARIABLE  CURRENT     ( ТЕКУЩИЙ СПИСОК - КУДА ДОБАВЛЯЕМ)

Определение переменной CURRENT в FORTH ИТЭФ:

            HEAD     207Q, 'CURREN',324Q,CURR,$USE        ; CURRENT
            DW 52Q

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


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


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