Язык программирования Форт



         

Приложение А. Глоссарий (список слов Форта) - часть 14


При исполнении в форме.. : ... ; формирует статью словаря с именем в текущем контекстном словаре и переключает STATE в режим компиляции, вызывая компиляцию последующих слов и чисел из входного потока. не может быть найдено в словаре до тех пор, пока не будет успешно обработан соответствующий оператор ; или ;CODE. Оператор : устанавливает такой порядок поиска, при котором первым просматривается контекстный словарь, который заменен словарем компиляции. Словарь компиляции не изменяется. Слово-двоеточие - главное средство программирования на Форте. См. также ;, ;CODE. ; "semi-colon" "точка с запятой" 83REQ 79REQ ( --) Прекращает компиляцию описания-двоеточие. При исполнении в форме : ... ; разрешает нахождение имени в словаре, компилирует EXIT (или зависящее от системы слово, которое выполняет аналогичное действие), устанавливает STATE в режим исполнения. При использовании его исполнение завершается словом EXIT и управление передается слову, которое обратилось к . См. также :,;CODE. ;CODE "semi-colon-code" 83ASM 79ASM ( --) Слово-описатель-терминатор, которое может использоваться только в режиме компиляции. При исполнении в форме : ... CREATE ... ;CODE ... END-CODE прерывает компиляцию, завершает работу слова-описателя и исполняет слово ASSEMBLER. Это разрешает использование мнемоники ассемблера для компиляции программы между ;CODE и END-CODE. При исполнении для формирования

поле программы будет содержать адрес машинной программы, которая размещена сразу после ;CODE в . Таким образом, ;CODE позволяет создавать слова-описатели, которые формируют производные слова, функция которых определена последовательностью мнемокодов ассемблера, размещенных между ;CODE и END-CODE в описании . По своему действию подобно DOES>. См. также CODE; END-CODE; CREATE; DOES>; и обсуждение в гл. 15. < "less-lhan" "меньше чем" 83REQ 79REQ (n1 n2 - флаг) Сравнивает числа n1 и n2 и засылает в стек флаг истинно ( так в тексте) ; #S; HOLD; SIGN. "not-equal" "неравно" 83UNC 79RES MMS (n1 n2 - флаг) Сравнивает числа nl и n2 и засылает в стек флаг истинно, если nl не равно n2. , а число переносимых байтов задается числом без знака.


Содержание  Назад  Вперед