Редактирование:
STATE
(раздел)
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
== STATE в стандарте ANS Forth == <PRE> 6.1.2250 STATE CORE ( -- a-addr ) a-addr - адрес ячейки, содержащей флаг состояния компиляции. STATE - true когда в состояния компиляции, иначе false. Значение true в STATE ненулевое, но - иначе определенное реализацией. Только следующие стандартные слова изменяют значение в STATE: : (двоеточие), ; (Точка с запятой), ABORT, QUIT, :NONAME, [ (левая скобка), и ] (правая скобка). Обратите внимание: Программа непосредственно не должна изменять содержание STATE. См.: 3.4 Интерпретатор текста Forth, 6.1.0450 :, 6.1.0460 ;, 6.1.0670 ABORT, 6.1.2050 QUIT, 6.1.2500 [, 6.1.2540 ], 6.2.0455 :NONAME, 15.6.2.2250 STATE. A.6.1.2250 STATE Хотя EVALUATE, LOAD, INCLUDE-FILE, и INCLUDED не перечислены как слова, которые изменяют STATE, текст, интерпретируемый любым из этих слов, может включать одно или более слов, которые явно изменяют STATE. EVALUATE, LOAD, INCLUDE-FILE, и INCLUDED сами не делают изменения в STATE. STATE не вложено при вложении текстового интерпретатора. Например, последовательность кода: : FOO S" ]" EVALUATE ; FOO оставит систему в состоянии компиляции. Точно так же после выполнения LOAD с блоком содержащим ], система будет в состоянии компиляции. Заметьте, что ] не затрагивает область анализа и что единственное влияние которое : оказывает на область анализа, это выделить слово. Это дает право программе использовать эти слова для установки состояния с известными побочными эффектами на область анализа. Например: : NOP : POSTPONE ; IMMEDIATE ; NOP ALIGN NOP ALIGNED Некоторые не-ANS Forth совместимые системы имеют ] вызывающее цикл компилятора в дополнение к установке STATE. Такая система неуместно пыталась бы компилировать второе использование NOP. Также заметьте, что ничто в Стандарте не мешает программе искать идентификаторы исполнения ] или [ и использовать их для изменения STATE. Эти факты предлагают, что реализации ] будут делать только установку STATE и единственный цикл интерпретатора/компилятора будет контролировать STATE. 15.6.2.2250 STATE TOOLS EXT ( -- a-addr ) Расширьте семантику 6.1.2250 STATE, чтобы позволить ;CODE, изменить значение в STATE. Программа непосредственно не должна изменять содержимое STATE. См.: 3.4 Интерпретатор текста Forth, 6.1.0450 :, 6.1.0460 ;, 6.1.0670 ABORT, 6.1.2050 QUIT, 6.1.2250 STATE, 6.1.2500 [, 6.1.2540 ], 6.2.0455 :NONAME, 15.6.2.0470 ;CODE. </PRE>
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Pmkwiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
История
Ещё
Поиск
Навигация
Заглавная страница
Свежие правки
Случайная страница
Справка по MediaWiki
Инструменты
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице