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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Строка 43: Строка 43:
* См. также статью [[Векторное поле кода]]
* См. также статью [[Векторное поле кода]]
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.2.2405 VALUE] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.2.2405 комментарий к нему] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.2.2405 VALUE] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.2.2405 комментарий к нему] в стандарте ANS Forth ''(англ.)''
* Слово [http://www.forth200x.org/documents/html3/core/VALUE.html VALUE] и [http://www.forth200x.org/documents/html3/rationale.html#rat:core:VALUE комментарий к нему] в черновике Forth 200x ''(англ.)''
* Слово [http://forth-standard.org/standard/core/VALUE VALUE] и [http://forth-standard.org/standard/rationale#rat:core:VALUE комментарий к нему] в черновике Forth 200x ''(англ.)''
* Слово [http://www.forth200x.org/documents/html3/floating/FVALUE.html FVALUE (f-value)] в черновике Forth 200x ''(англ.)''
* Слово [http://forth-standard.org/standard/float/FVALUE FVALUE (f-value)] в черновике Forth 200x ''(англ.)''





Версия от 09:57, 29 марта 2016

Пример работы слова VALUE

VALUE (величина) — стандартное порождающее слово Каллисто.

Определить следующее слово как десятичную величину, которая хранит десятичное число.

Ввод слова VALUE

В режиме ЛАТ последовательно нажмите клавиши     ШГ←      3   ИП 

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

Слово VALUE резервирует десятичный регистр и присваивает ему имя, по которому из Каллисто будет производиться обращение к этому регистру, а также начальное значение.

Для записи в отведённый десятичный регистр в Каллисто используется слово TO.

Создающая часть слова VALUE является высокоуровневой. Для ускорения исполнения величин обе исполняющие части слова VALUE написаны на языке МК.

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

6.2.2405   VALUE                                                       CORE EXT
           ( x "<spaces>name" -- )
           Пропускает ведущие разделители пробелы. Выделяет name, ограниченное 
           пробелом. Создает определение для name с семантикой выполнения, 
           определенной ниже, с начальным значением равным x.
           name определено как "value".
       name Выполнение: ( -- x )
           Помещает x на стек. Значение x - то что задано, при создании name, 
           до тех пор пока не выполнена фраза  x TO name, задающая новое 
           значение x, связанное с name.
       См.: 3.4.1 Синтаксический анализ.
A.6.2.2405   VALUE
Типичное использование:
       0 VALUE DATA
       : EXCHANGE ( n1 -- n2 ) DATA SWAP TO DATA ;
EXCHANGE оставляет n1 в DATA и возвращает предшествующее значение n2.

Ссылки


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