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



         

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


Когда будет введено 255 символов или поступит код "возврата каретки", введенная последовательность будет записана в виде счетной строки в PAD, адрес которого будет занесен в стек как "адр". : $IN PAD 1+ 255 2DUP BLANK ." ? " 2DUP EXPECT -TRAILING PAD C! 1- ; См. также IN$, $SWAP "string-swap" "поменять строки местами" ТХТ (адр1 адр2 --) Меняет местами счетные строки с адресами "адр1" и "адр2". Строки должны иметь равную максимальную зарезервированную длину. : $SWAP DUP DUP С@ 1+ >R PAD SWAP R@ CMOVE SWAP DUP ROT R@ CMOVE PAD SWAP R> CMOVE ; См. также $XCHG. $VARIABLE "string-variable" "строка-переменная" MMS Слово-описатель, которое создает строки-переменные. При использовании в форме n VARIABLE

формирует статью в словаре с именем и резервирует n+1 байтов для запоминания счетной строки (в исходный момент байт-счетчик равен 0). При исполнении в стек заносится адрес, где лежит эта строка. $XCHG "string-exchange" "обмен строками" MMS ( адр1 адр2 --) Меняет местами счетные строки по адресам "адр1" и "адр2". Строки должны иметь идентичные максимальные длины. См. также $SWAP. ' "tick" "апостроф" I (79) 83REQ 79REQ Определения ' (апостроф) в Форт-79 и Форт-83 отличаются существенно. В Форт83 при использовании '

в стек заносится адрес поля программы слова . В Форт-83 ' не является словом немедленного действия и обычно используется в режиме исполнения. Противостоит [']. В Форт-79 ' выполняет одну из двух операций в зависимости от того, в режиме компиляции или исполнения находится система. В режиме исполнения '

засылает в стек адрес поля параметров слова , в то время как в режиме компиляции адрес поля параметров компилируется в качестве литерала, который при последующем исполнении скомпилированного слова помещается в стек. В Форт-79 ' является словом немедленного исполнения. В обоих стандартах при отсутствии в словаре дается сообщение об ошибке.


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