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

Б. Терминология


Этот глоссарий включает в себя терминологию Форта, используемую в этой книге, а также общепринятую терминологию из области технологии ЭВМ. Заметьте, что применение и значение определенных терминов в Форте отличаются от общепринятых в вычислительной технике. Глоссарий предназначен для помощи при работе с текстом книги, он не является полным и исчерпывающим.

16-bit-number. 16-битовое число. Число (со знаком или без), которое может быть записано в 16 битов памяти. 16-битовое число без знака может представлять числа в диапазоне 0 - 65.535, а со знаком - в интервале -32.768 - 32.767. Для представления чисел со знаком используется дополнение по модулю два. См. также числа со знаком; числа без знака; дополнение по модулю два.

32-bit-number. 32-битовое число. Число (со знаком или без), которое может быть записано в 32 битах памяти. 32-битовое число без знака может представлять число в диапазоне 0 - 4.294.967.295, а со знаком - в интервале -2.147.483.648 - 2.147.483.647. Для представления чисел со знаком используется дополнение до модулю два. См. также числа со знаком; числа без знака; дополнение по модулю два.

Address. Адрес. Позиция в памяти ЭВМ. Адреса в большинстве микроЭВМ нумеруются байт-за-байтом, начиная с 0 до предельного адреса, который задается разрядностью адресной шины. Восьмибитовые микропроцессоры, такие как Z-80 и 8080, имеют 16 адресных шин и предельный адрес 65.535 (2^16). Шестнадцатибитовые микропроцессоры, такие как 8086, 8088 и 68000 часто имеют 20, 24 или даже 32 адресные шины и могут использовать очень большие памяти. Выражение "Z-80 может адресоваться к 65535 байтам памяти" означает, что максимальное значение адреса равно 65534.

Address interpreter. Интерпретатор адресов. Машинная программа Форта, которая осуществляет исполнение программы путем пошагового перехода по списку адресов других машинных программ, включающих в себя откомпилированные Форт-программы. Называется также внутренним интерпретатором, в противоположность внешнему интерпретатору.
См. также поле параметров.

Address space. Адресное пространство. Область памяти ЭВМ. к которой ЭВМ может адресоваться непосредственно. В большинстве микропроцессоров адресное пространство ограничено основной (полупроводниковой) памятью, но в ЭВМ с виртуальной памятью адресное пространство может распространятся на массовую память.

Algebraic notation. Алгебраическая нотация. Обычная нотация в алгебре. Система отображения математических соотношений, использующая произвольные символы в качестве операндов, инфиксную нотацию для операторов и скобки для задания очередности операций. В более широком толковании - любое выражение, использующее те же правила формирования. Противостоит постфиксной и префиксной нотации.

Algorithm. Алгоритм. Набор правил, которые определяют, как достичь желаемого результата. Все программы ЭВМ явно или неявно написаны так, чтобы реализовать один или несколько алгоритмов.

Arguament(s) Аргумент(ы). Величина (или величины), необходимая программе для выполнение ее функций. В форте аргументы помещаются в стек параметров для последующего использования их Форт-словами. Если слово CUBE в форте описано так, чтобы вычислять куб числа, то число 5 в примере 5 CUBE является аргументом. См. также операнд.

Arithmetic coprocessor. Арифметический сопроцессор. Специальная микросхема, используемая совместно с центральным процессорным устройством для ускоренного вычисления арифметических и трансцендентных, функций. Арифметический сопроцессор 8087 спроектирован для совместной работы с процессорами 8086 и 8088.

Arithmetic overflow. Арифметическое переполнение. Ошибка, которая происходит, когда арифметическая операция выдает результат, не соответствующий разрядности памяти. Например, если два числа одинарной длины перемножены с помощью * и получен результат более 65535 (2^16-1), этот результат ошибочен, так как * игнорирует часть произведения, не укладывающуюся в 16 битов. В случае работы с операторами смешанного типа для результата будет выделено 32 разряда.





См. также числа одинарной длины; числа двойной длины.

Array. Массив. Совокупность чисел, строк или другой информации, где каждый информационный объект называется элементом, а элементам поставлены в соответствие числа или индексы. Вектор представляет собой одномерный или линейный массив с одним индексом, матрица - двумерный массив, уложенный в ряды и столбцы с двумя индексами (хотя матрица с одним рядом идентична вектору); массивы большей размерности также возможны.

ASCII. Обозначение для Американского стандартного кода для обмена информацией. ASCII первоначально был разработан для стандартизации обмена между телетайпными терминалами. ASCII-код определяет набор управляющих символов (со значениями 0 - 31 и 127), чисел, букв и других символов (со значениями 32 - 126). (См. приложение Д, где приведена таблица ASCII-символов.) Заметим, что ASCII определяет только набор символов для младших 7 битов байта, так что коды между 128 и 255 8- битового байта не определены в ASCII и их использование на разных ЭВМ сильно варьируется.

Assembler language. Ассемблер. Язык программирования низкого уровня, использующий мнемонику, которая может быть непосредственно транслирована в исполняемую машинную программу. Форт-ассемблер состоит из слов словаря ASSEMBLER, которые описывают мнемонику и компилируют машинные программы. См. также набор инструкций, машинные инструкции.

Base (number). Основание (числа). См. основание системы счисления. Baud rate. Скорость передачи (в бодах). Телекоммуникационный термин, часто используется неверно в значении "бит в секунду". Скорость передачи в бодах в действительности равна числу раз в секунду, когда телекоммуникационный канал меняет свое состояние, что в зависимости от схемы кодирования может давать число битов в секунду значительно больше, чем скорость передачи в бодах.

Baudot code. Код Бодо. Старый телекоммуникационный код, названный в честь Эмиля Бодо. В этом коде представления символов на телетайпе используется только 5 битов в верхнем и нижнем регистрах (поэтому возможно представление более чем 32 символов).


Код Бодо используется также для некоторых других целей, таких как передача данных о погоде и для связи между глухими.

Binary notation. Двоичное представление. Система представления чисел, использующая основание 2. Существует только две двоичные цифры, 0 и 1. Внутреннее представление чисел в ЭВМ только двоичное, так как бистабильные электронные схемы хорошо приспособлены для представления двоичных цифр. Вход и выход системы Форта может быть сделан двоичным с помощью 2 BASE ! См. также бит.

Bit. Бит. Самая малая единица информации, имеющая только два состояния 0 и 1. Бит - это сокращение термина "binary digit" (двоичная цифра) и т.о. является цифрой двоичного представления. См. также байт.

Bit mask. Бит-маска. Число, используемое для извлечения или изменения битов другого числа. Бит-маски широко используются для манипулирования битами в памяти, а также используются с булевыми операторами, позволяя в одном байте хранить восемь отдельных флагов. Называется также просто маской.

Block. Блок. В Форте - часть массовой памяти, которая содержит 1024 (1К) байтов. Блоки нумеруются последовательно и загружаются в память словом BLOCK. Для переноса блока из памяти на диск используется UPDATE и FLUSH (или SAVE-BUFFERS). Называется также экраном, в особенности если содержит только алфавитно-цифровую информацию. См. также блочный буфер; кэш диска; виртуальная память.

Block buffer. Блочный буфер. Область в основной памяти для хранения блоков форта при обмене с диском. Блок заносится в блочный буфер с помощью слова BLOCK, которое оставляет в стеке адрес первого байта блочного буфера. Активный s данный момент блочный буфер помечается для последующей переписи на диск с помощью слова UPDATE. Перенос осуществляется при необходимости перезаписи в блочный буфер или при использовании слов FLUSH или SAVE-BUFFERS. См. также блок; кэш диска; виртуальная память.

Boolean flag.Булев флаг. Число, используемое для описания логического состояния. Истинно в Форт-79 равно-1, в то время как в форт-83 - -1 (FFFF HEX или все биты равны 1).


В обоих стандартах 0 соответствует ложно. Условные операторы Форта распознают любое ненулевое число в стеке как булев флаг истинно. Часто называется просто флагом. Назван в честь британского математика Джоржа Буля.

Buffer. Буфер. Область памяти, зарезервированная для временного хранения информации. В Форте блочные буферы используются для пересылки 1024 байтов с диска и на диск, а входной буфер воспринимает данные, поступающие с клавиатуры. Byte. Байт. Группа из 8 битов, которая чаще всего рассматривается 'как элемент памяти. Байт может принимать значение О - 255 (в десятичном представлении) или 0 - FF в шестнадцатеричном. См. также бит; килобайт; мегабайт.

Case-construct. CASE- конструкция. Структура программы, которая позволяет при исполнении осуществлять переход на одну из нескольких программ в зависимости от того, какая совокупность условий удовлетворена. CASE- конструкция может быть реализована через систему встроенных структур IF...ELSE...THEN, но часто используются специальные Форт-слова, такие как ACASE и NCASE в MMSFORTH. См. также векторное исполнение.

Cell. Ячейка. В Форте размер ячейки равен 16 битам. Ячейка в форте предпочтительнее, чем более распространенный термин "слово" (что означает для большинства микро ЭВМ то же самое), чтобы избежать путаницы с форт-термином "слово". Ячейка может содержать ровно одно число одинарной длины. См. также длина слова.

Central processing unit. Центральный процессор. Часть ЭВМ, которая интерпретирует и исполняет машинные инструкции. В микро ЭВМ - это одна микросхема, называемая микропроцессором. Часто используется сокращение ЦП, иногда называется просто процессор. CFA. Обозначение для адреса поля программы.

Code-field. Поле программы. Часть откомпилированного Форт-описания, содержимое которого указывает на машинную программу, которая исполняется, когда исполняется описанное слово. См. также адрес поля программы.

Code-field-address. Адрес поля программы. Адрес поля программы откомпилированного Форт-описания.


Поле параметров типа двоеточие содержит список адресов полей программы слов, содержащихся в описании, но не адрес, содержащийся в поле программы. Обычно обозначается сокращением CFA. См. также поле программы.

Colon-definition. Описание-двоеточие. Описание слова Форта, созданное оператором :. Часто используется синоним слово-двоеточие.

Colon-word. Слово-двоеточие. Слово Форта, описанное словом описателем :. Слова-двоеточие, кстати, являются наиболее часто встречающимися словами Форта. Часто используется синоним описание двоеточие.

Comparison operator. Оператор сравнения. Оператор, который определяет соотношение между двумя числами и выдает булев флаг, характеризующий это соотношение. Например, оператор сравнения может определить, является ли величина меньше, больше или равна 0, меньше, больше или равна другой величине. Операторы сравнения могут комбинироваться, чтобы сформировать такие проверки, как меньше или равно, больше или равно и т. д. Примерами могут служить слова Форта , = и 0=.

Compilation. Компиляция. Процесс трансляции исходного текста программы в форму, пригодную для исполнения на ЭВМ. В большинстве языков (таких как Фортран) компиляция состоит в формировании машинной программы из исходного текста высокого уровня. Описания-двоеточия в Форте при компиляции образуют список адресов полей программы, которые указывают интерпретатору исполнительные адреса. Мнемоника Форт-ассемблера компилируется в машинные инструкции, которые ЭВМ может исполнить немедленно.

Compile mode. Режим компиляции. Режим, при котором внешний интерпретатор Форта компилирует слова в Форт-описания, а не исполняет их. Это происходит, когда переменная STATE не равна 0. Если в режиме компиляции встретится слово немедленного исполнения, оно выполняется. Противостоит режиму исполнения.

Compiled code. Откомпилированная программа. Результат компиляции. Ассемблер компилирует выполнимую машинную программу. Форт-компилятор формирует список адресов, который может исполнить интерпретатор адресов.


См. также режим компиляции; поле параметров.

Concatenate. Присоединить. Сформировать "стык-в-стык" цепочку из строк, списков величин или Других наборов информации;

Conditional operator. Условный оператор. Элемент программы, который вызывает передачу управления (ветвление) по указанному адресу или выполнение заданной функции, если выполнено определенное условие. Примерами из Форта могут служить IF, WHILE, UNTIL и ABORT", каждый из которых предполагает наличие в стеке флага, который- и определяет, что делать. См. также булев флаг.

Control character. Управляющий символ. ASCII-символ, который выполняет управление терминалом. ASCII-символы имеют коды от 1 до 31 и 127. Например, слово Форта CR выдает символ "возврат каретки" иди 13. См. также ASCII; управляющая клавиша. См. приложение Г.

Control key. Клавиша CTRL. Клавиша, расположенная на терминале ЭВМ и большинства микрокомпьютеров, которая при , совместном нажатии с другой клавишей формирует ASCH-CTRL- символ. Например, CTRL H выдаст ASCII-код 8 (возвращение курсора на одну позицию). См. приложение Г.

Controlled reference word. Слово из контролируемого списка. В стандарте Форт-83 слова, которые, хотя и не входят в обязательный список, если присутствуют в стандартной системе, должны быть описаны в соответствии со спецификациями стандарта. Противоположно слову из расширяющего набора слов; слову из обязательного списка и словам из "неконтролируемого" списка.

Count (siring). Счетчик (строки). Байт, размещенный непосредственно перед строкой алфавитно-цифровых символов и со держащий число символов в строке (0-255). См. также счетная строка.

Counted string. Счетная строка. Формат, обычно используемый в Форте для записи строк символов. Счетная строка состоит из байта-счетчика (однобайтовое число), за которым непосредственно следует строка символов. Байт-счетчик определяет число символов в теле строки. См. также счетчик (строки).

CPU. ЦПБ. Сокращение, означающее "центральный процессорный блок."



Crosscompiler. Кросскомпилятор. Программа, которая позволяет откомпилировать программу на одной ЭВМ ,так, что она сможет работать на другой. В Форте разновидностью кросскомпилятора является метакомпилятор или целевой компилятор, который позволяет преобразовывать всю систему Форта так, что она сможет работать на другой ЭВМ, часто со специальными функциями.

Data stack. Стек данных. Синоним стека параметров.

Decimal notation. Десятичная система представления. Представление чисел в привычной десятичной системе счисления, которая использует цифры 0 - 9. В Форте десятичный ввод и вывод задаются словом DECIMAL.

Decompiler. Декомпилятор. Программа Форта, которая "декомпилирует" откомпилированные описания-двоеточие так, что они приобретают вид, напоминающий исходный текст. Декомпилятор показывает, как были описаны откомпилированные слова.

Deferred compilation. Отложенная компиляция. Термин Форта, описывающий действие COMPILE и других родственных слов. Когда внутри слова-двоеточие исполняется оператор COMPILE, он компилирует CFA слова, следующего за ним, в описание слова-двоеточие таким образом, что, когда слово-двоеточие исполняется, это CFA будет скомпилировано в словарь. Таким образом компиляция слова, следующего за COMPILE, откладывается до исполнения COMPILE. Например, LITERAL содержит COMPILE LIT, причем это слово немедленного исполнения, так что. когда LITERAL встречается в описании,.оно компилирует LIT и число из стека в словарь.

Defining word. Слово-описатель. Слово Форта, которое служит для описания новых (производных) слов. Любое слово-двоеточие, которое описано с помощью CREATE, является словом-описателем. Общеизвестными примерами могут служить CONSTANT и VARIABLE. Новые слова-описатели могут быть созданы с помощью конструкции CREATE...DOES>.

Delimiter. Разделитель. Любой код, обычно ASCII-символ, который используется для выделения элементов данных. Например, слово." использует в качестве разделителя " (двойные кавычки), а слово ( использует >



(закрывающую скобку), форт распознает пробел (ASCII 32) в качестве разделителя между форт-словами и числами во входном потоке. Для отделения последовательностей символов различной длины в файле могут использоваться один или несколько разделителей. См. также разбор.

Dictionary. Словарь. В Форте - это связанный список откомпилированных описаний, которые могут быть исполнены интерпретатором адресов Форта. Читаемый ЭВМ набор слов Форта, которые могут быть исполнены или откомпилированы. Форт помечает начало словаря и адрес его "вершины", последний заносится в стек с помощью HERE.

Dictionary pointer. Указатель словаря. Переменная (иногда называемая DP), значение которой указывает на первый свободный байт выше словаря. Значение указателя словаря засылается в стек оператором HERE.

Disassembler. Дисассемблер. Служебная программа, которая отображает машинную программу в читаемой форме мнемоники ассемблера. Дисассемблер рассматривает группу из одного или нескольких байтов и отображает мнемонику ассемблера и аргументы, которые были бы необходимы для их генерации.

Disk cache. Кэш диска. Метод управления дисковой памятью, в котором часто используемая информация находится в памяти, а не считывается с диска каждый раз, когда необходима. Блочный буфер Форта является разновидностью кэш-буфера. См. также виртуальная память; буфер; блок.

Disk operating system. Дисковая операционная система. Набор программ или служебных средств для обеспечения взаимодействия между оператором, ЭВМ и другими элементами, такими как принтер, интерфейс RS-232 и дисковая память. Дисковая операционная система контролирует также многие функции ЭВМ. СР/М и MS-DOS являются типичными примерами ДОС для микроЭВМ. Автономная версия Форта несет в себе элементы дисковой операционной системы.

Do-loop. do-loop. Программная конструкция, которая заставляет определенную часть программы выполняться заданное число раз. do-loop в Форте реализуется с помощью DO-LOOP или DO...+LOOP. См. также цикл; бесконечный цикл.



DOS. ДОС. Сокращение для "дисковая операционная система".

Double-length-number. Число двойной длины. Целое 32- разрядное число. Числа двойной длины без знака лежат в диапазоне 0 - 4.294.967.295, а числа двойной длины со знаком - от 2.147.483.648 до 2.147.483.647. Называются также двойными числами и числами двойной точности (хотя последнее нетипично, это должно относиться только к числам с плавающей запятой). Противоположно числам одинарной длины.

Double-number. Двойное число. Синоним числа двойной длины, что предпочтительнее.

Double-precision number. Число двойной точности. Синоним числа двойной длины, последний термин предпочтительнее. Более правильно - число с плавающей запятой с двойным числом значащих цифр.

Editor. Редактор. Программа для ввода и модификации данных, обычно исходного текста программы. Форт-редактор Используется для модификации содержимого блоков Форта.

Element (array). Элемент (массива). Часть массива, обычно число или строка, доступ к которой возможен с помощью индекса массива. См. также индекс (массива).

Escape key. Клавиша ESC. Клавиша, присутствующая на многих терминалах для инициации ESC-последовательностей. Она формирует ASCII код 27.

Escape-seguencc. ESC-последовательность, Последовательность символов, начинающая с символа ESC (ASCII 27). ESC-последовательность используется для управления внешними устройствами, такими как терминал или принтер. См. также клавиша ESC.

Execute mode. Режим исполнения. Режим работы в Форте, в котором слова, встретившиеся во входном потоке, немедленно исполняются и в котором числа кладутся в стек, а не компилируются, форт устанавливается в режим исполнения, когда значение переменной STATE равно 0. Противоположен режиму компиляции. Execution. Исполнение. Действие, при котором ЭВМ выполняет операции, заданные программой (или Форт-словом). Исполнение в Форте происходит, когда значение переменной STATE равно 0, и осуществляется интерпретатором адресов. См. также режим исполнения; режим компиляции.



Exponential notation. Показательное представление. Способ представления чисел с плавающей запятой в виде мантиссы и показателя степени. Так, число с плавающей запятой 1024. может быть представлено как 1,024*10^3 или, как обычно, на выходе ЭВМ 1.024Е3, 1.024 - мантисса, а 3 -- показатель. Показатель равен показателю степени, в которую нужно возвести 10, после чего умножить результат на мантиссу, чтобы получить правильную величину числа. Научная нотация является формой показательного представления.

Extension word set. Расширяющий набор слов. Набор слое, которые могут быть добавлены к системе для расширения ее возможностей. Как в стандарте Форт-79, так и в Форт-83 эти слова не являются обязательными, но если они вводятся в систему, они должны соответствовать стандартному описанию. Стандартные расширяющие наборы включают в себя библиотеку для работы с числами двойной длины, ассемблер и системные расширения. Нестандартные наборы часто содержат графику, библиотеку для работы с числами с плавающей запятой, декомпилятор, слова для работы со строками и т. д.

Extensible language. Расширяемый язык. Любой язык, такой как Форт. который может расширить свои возможности с помощью своих собственных средств, в противоположность таким языкам, как Фортран, Паскаль или Бейсик, которые используются для написания программ, не имеющих ничего общего с самим языком.

Factoring. Факторизация. В Форте процесс разбиения задачи на более мелкие задачи, которые могут быть эффективно запрограммированы на Форте. Длинные описания слов могут (и обычно должны) быть для ясности разложены не несколько более коротких описаний. Этот процесс аналогичен факторизации сложных уравнений в набор более простых.

False (flag). Ложно (флаг). Булев флаг, который устанавливается, когда при проверке выясняется, что некоторое условие не выполняется. Противоположно флагу истинно. См. также условный оператор.

Field (file). Поле (в файле). Заданная область памяти в пределах записи а файле, обычно содержащая один элемент информации.


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

File. Файл. Упорядоченная совокупность данных в массовой памяти. Файл обычно состоит из одной или более записей, каждая из которых содержит одно или более полей.

Flag. Флаг- число, часто один бит, которое индицирует состояние определенного условия. Если флаг имеет только два возможных состояния, называемых истинно и ложно, то это булев флаг.

Flag register. Регистр флагов. Регистр ЦПБ, разряды которого индицируют условия, соответствующие результату выполнения самой последней инструкции, например произошло или нет арифметическое переполнение. Разряды этого регистра анализируются при выполнении условных операций машинной программы.

Floating-point notation. Представление чисел с плавающей запятой. Способ показа того, что число имеет целую и дробную , части: целую часть - слева от десятичной запятой и дробную часть - справа. Так, 12,34 равно 12 + 34/100. Положение десятичной запятой корректируется автоматически (плавает) в зависимости от результата арифметической операции. См. также показательное представление.

Flowchart. Блок-схема. Диаграмма, которая графически демонстрирует процесс выполнения программы. Блок-схема является часто хорошим способом прояснить структуру программы.

FORTH-standart. Стандарт Форта. Минимально необходимый набор слов Форта и их специфированных функций, а также описанных функций слов, которые не являются обязательными. Цель стандарта - позволить стандартным Форт-программам работать на самых разных ЭВМ. Двумя главными стандартами Форта являются Форт-79 и Форт-83, были предложены и другие более ранние стандарты, но они не получили широкого распространения. См. также слово из контролируемого списка: слово из расширяющего набора; слово из обязательного списка; слово из неконтролируемого списка.

Hash code. Хэш-код. См. хэширование.

Hashing. Хэширование. Метод, при котором входной код используется для того, чтобы определить, где этот код должен быть записан в память или файл.


Определяется хэш-код, который используется для вычисления адреса в памяти. Тот же самый хэш-код (и, следовательно, тот же адрес) генерируется при поиске кода. ускоряя таким образом доступ к информации. Хэширование - это метод кодирования строки или числа, обычно для того, чтобы сэкономить память. В Форте хэширование используется лишь иногда, чтобы приписать слова к различным маршрутам поиска, таким образом ускоряя поиск в словаре и компиляцию.

HEX. Жаргонное слово, обозначающее шестнадцатеричную систему представления.

Hexadecimal notation. Шестнадцатеричное представление. Представление чисел при основании системы счисления 16. Шестнадцатеричные цифры лежат в диапазоне 0 - 9 и для представления десятичных чисел от 10 до 15 - от A до F. 31 в десятичном представлении равно 1F в шестнадцатеричном. Противостоит двоичному, восьмеричному и десятичному представлению.

High-level language. Язык высокого уровня. Языки программирования (такой как Бейсик, Кобол, Фортран и, конечно. Форт), которые используют слова и (в какой-то степени) синтаксис человеческого языка. Все языки высокого уровня должны идти на некоторый компромисс между использованием памяти и быстродействием с целью облегчения программирования для людей. Форт требует меньшего компромисса, чем большинство других языков. Противостоит языкам низкого уровня.

Immediate word. Слово немедленного исполнения. Слово Форта, которое будет исполнено даже в режиме компиляции, на пример, во время компиляции описания. Слова немедленного исполнения помечаются с помощью установки специального бита в заголовке. Примерами таких слов могут служить (, IF, BEGIN,.(, и LITERAL. См. также отложенная компиляция; лидирующий бит.

Incremental compiler. Инкрементный компилятор. Тип компилятора, который интерпретирует исходный текст элемент-за-элементом и последовательно формирует исполняемую машинную программу. Компиляция в Форте производится инкрементно.

Indefinite loop. Бесконечный цикл. Программная структура, которая вызывает повторное исполнение выделенной части программы бесконечное число раз, пока не будет выполнено определенное условие.


ВEGIN...WHILE...REPEAT и BEGIN- UNTIL являются конструкциями, организующими бесконечные циклы в Форте. См. также цикл. Противостоит do-loop.

Index (array). Индекс (массива). Одно или более чисел, которое определяет номер элемента массива. См. также вектор; матрица.

Index (loop). Индекс (цикла). В структуре do-loop счетчик числа циклов. В DO...LOOP в Форте значение индекса заносится в стек параметров оператором I.

Index line. Индексная строка. Верхняя строка блоков Форта, согласно договоренности используется для комментариев содержимого блока, таких как дата, автор, список описанных слов и т. д.

Infix notation. Инфиксная нотация. Представление математических функций, при котором операторы помещаются между операндами. Алгебраическая нотация является формой инфиксной нотации. Инфиксная нотация требует использования скобок для определения порядка операций. Противостоит префиксной и постфиксной нотации.

Inner interpreter. Внутренний интерпретатор. Короткая машинная программа, которая осуществляет выполнение скомпилированного списка адресов-заданий из описаний словаря Форт. Синоним интерпретатора адресов. См. также поле программы; поле параметров.

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

Instruction set. Набор инструкций. Полный набор команд машинного языка (двоичных чисел s памяти), которые может исполнить центральный процессор. Полный ассемблер включает мнемонику полного набора инструкций процессора.

Interpretation. Интерпретация. В Форте существует два различных значения, которые следует понимать из контекста.


Видном случае интерпретация - это процесс, при котором исходный текст программы или данных воспринимается из входного потока внешним или текстовым интерпретатором и обрабатывается. Если система Форт находится в режиме исполнения, слова немедленно исполняются, а числа заносятся в стек. В режиме компиляции входные данные используются для описания новых слов. Под интерпретацией понимается также декодирование и исполнение слов, описанных в словаре Форта, что производится внутренними или адресным интерпретатором. Эти значения отличаются от общепринятых в вычислительной технике, где под "интерпретацией" подразумевается работа интерпретатора, при которой в случае языков высокого уровня исходный текст исполняется элемент за элементом через машинные программы без формирования полного объектного образа программы (Бейсик использует обычно интерпретатор). Поскольку Форт способен как немедленно исполнять слова при их вводе, так и компилировать новые слова и программы, он сочетает в себе преимущества интерпретатора и компилятора, обеспечивая немедленную реакцию первого и быстродействие последнего. См. также цепной интерпретивный язык.

Interpreter. Интерпретатор. В вычислительной технике применения языка высокого уровня, в котором исходный текст преобразуется в машинную программу и исполняется элемент за элементом без построения полного объектного образа программы (Бейсик использует обычно интерпретатор). В Форте смысл сходен, но отличен как в случае внешнего (текстового), так и внутреннего (адресного) интерпретатора. Первый воспринимает и исполняет или компилирует текст, в то время как последний декодирует и исполняет описание в Форт-словаре. Форт работает, вообще говоря, как интерпретатор, только когда входная программа исполняется внешним интерпретатором. См. также интерпретация.

Irrational number. Иррациональное число. Число, такое как "Пи" или е, которое не может быть выражено через какое-либо отношение двух целых чисел. См. также рациональное приближение.



Kernel. Ядро. Набор форт-примитивов (последовательности машинных программ) в "нижней" части словаря, который является базисом всех последующих Форт-описаний.

Kilobyte. Килобайт. 1024 (2^10) 8-битовых байтов информации, обычно я памяти или на диске. См. также байт; мегабайт.

Last-in-first-out stack. Стековая структура LIFO. Любой стек, где число, введенное последним, окажется выведено первым, в Форте как стек параметров так и стек возвратов относятся к этому типу. Least significant bit. Младший бит. Бит любого числа, который является младшим при двоичном представлении. В двоичном числе 101 самая правая единица является младшим битом.

Least significant byte. Младший байт. Байт любого числа, который является младшим при шестнадцатеричном представлении. В шестнадцатеричном числе 12AF AF-младший байт.

Least significant digit. Младшая значащая цифра. Цифра в любом числе, которая отображает наименее значимую величину. Самая правая цифра. В десятичном представлении 5 в 1295 представляет собой младшую значащую цифру.

Least significant number. Младшее число. В Форт-числе двойной длины - это число одинарной длины, которое представляет младшую его часть. В шестнадцатеричном представлении F25F в числе 129CF25F является младшим.

LFA. Обозначение для "адреса поля связи".

Linear array. Линейный массив. Структура данных, которые могут быть представлены в виде линейки элементов массива. Массив с элементами, пронумерованными последовательно от N1 до Nn с помощью одного индекса. Отдельная строка или колонка матрицы является линейным массивом. Вектор. Противоположность матрицы.

Link-field. Поле связи. Часть откомпилированного Форт-описания, которая содержит адрес или связь, определяющие следующее слово, которое будет просмотрено при поиске в словаре.

Link-field address. Адрес поля связи. Адрес поля связи в откомпилированном Форт-описании. Содержимое этого адреса указывает на слово, которое при поиске в словаре будет просмотрено следующим. Но не адрес в поле связи.



Literal. Литерал. В Форте это число, которое скомпилировано в описание-двоеточие (либо в результате распознания числа во входном потоке, либо словом LITERAL) и которое при исполнении слова, куда оно было скомпилировано, заносится в стек. В некоторых версиях разрешено использовать в качестве литералов байты и числа двойной длины. В вычислительной технике это слово имеет другое значение и относится к прямому числовому представлению величины числа в противоположность символьному представлению. В строке Бейсик A=5+6,5 и 6 - литералы.

Load block. Загрузочный блок. В Форте блок, используемый для загрузки других блоков. Загрузочный блок является удобным средством для контроля за порядком загрузки последовательности блоков, при загрузке, например, различных дополнений и частей программы.

Loop. Цикл. Программная структура, которая вызывает повторное исполнение определенной части программы. Число повторений цикла может быть задано (конечные циклы или do-loop) или не определено (бесконечный цикл).

Low-level language. Язык низкого уровня. Язык программирования, который транслируется непосредственно или почти напрямую на машинный язык. Ассемблер является наиболее распространенным языком низкого уровня, мнемоника которого непосредственно преобразуется в машинные инструкции. Форт, позволяя описание слов с использованием ассемблера, комбинирует преимущества языков высокого и низкого уровней.

LSB - в контексте младший бит или байт какого-либо числа.

Machine code. Машинная программа. Набор двоичных кодов, которые будучи загруженными резидентно в память могут быть непосредственно исполнены центральным процессором. Все языки в конечном итоге транслируют инструкции высокого уровня в машинную программу.

Machine instruction. Машинная инструкция. Двоичное число в машинной программе, которое предписывает центральному процессору выполнить специфическую функцию. См. также набор инструкций; машинная программа; машинный язык; ассемблер; мнемоника.

Machine language. Машинный язык.


Язык, состоящий из машинных программ, которые непосредственно исполнимы центральным процессором. Обычно представляются в виде байтов в шестнадцатеричном счислении. Метод программирования - путем загрузки набора двоичных кодов, которые могут быть исполнены ЭВМ. Противостоит языку высокого уровня; языкам низкого уровня; ассемблеру.

Mask (bit). Маска. См, также бит-маска.

Mass storage. Массовая память. Устройство долговременной памяти данных вне основной (полупроводниковой) памяти. Типичными устройствами массовой памяти являются гибкий и жесткий магнитные диски, магнитофон и память на магнитных доменах.

Matrix. Матрица. Двумерный массив, который может быть представлен о виде таблицы данных, изображенной на плоскости. Элементы образуют строки и столбцы и адресуются с помощью двух индексов. Вектор или линейный массив могут рассматриваться как матрица (только с одной строкой или столбцом). Квадратная матрица имеет равное число строк и столбцов. Megabyte. Мегабайт. 1.048.576 (2^20) 8-битовых байтов в памяти или на диске. См. также килобайт.

Memory. Память. Часть ЭВМ, в которой запоминаются данные и программа. Внутренняя память адресуема центральным процессором непосредственно. Существуют постоянные запоминающие устройства (ПЗУ), содержимое которых центральный процессор может прочесть, но не может изменить, имеются также запоминающие устройства с произвольной выборкой (ЗУПВ), для которых осуществимо как чтение, так и запись. Внешняя память содержит информацию, которая должна быть считана в основную память, прежде чем будет использована процессором. Внешняя память - это массовая память, включающая в себя такие устройства, как магнитофоны или диски. См. также адресное пространство; массовая память; виртуальная память.

Memory map. Карта памяти. Визуальное представление того, где размещаются различные части системы и как используется память для тех или иных функций ЭВМ. Карта памяти полезна при описании функций программы, языка или ЭВМ.

Metacompiler. Метакомпилятор.


Разновидность кросскомпилятора, которая используется для написания других компиляторов. В Форте метакомпилятор - это Форт-программа, которая может компилировать полную форт-систему и запускать ее на той же или другой ЭВМ. Называется также целевым компилятором.

Microprocessor. Микропроцессор. Центральный процессор в виде одной микросхемы. Центральный процессор микроЭВМ.

Mixed-mode arithmetic. "Смешанная" арифметика. Арифметические операции, которые используют операнды как двойной, так и одинарной длины или выдают результат другой длины, чем операнды. Операторы смешанного типа используются для того, чтобы избежать арифметического переполнения.

Mixed-mode operator. Оператор смешанного типа. Арифметический оператор, который работает со "смешанной" арифметикой.

Mnemonic. Мнемоника. Техника помощи человеческой памяти, более конкретно-читаемое сокращение, состоящее из первых букв или частей последовательности слов. В терминологии вычислительной техники - последовательность букв, которая образует инструкцию, используемую ассемблером для компиляции одной машинной команды. Мнемоники в форт-ассемблере - Это слова, которые компилируют машинную программу.

Modulus. Модуль. Остаток целочисленного деления.

Most significant bit. Старший бит. Бит любого числа, который при двоичном представлении обозначает самую старшую цифру. В двоичном числе 101 самая левая единица является старшим битом.

Most significant byte. Старший байт. Байт любого числа, который при шестнадцатеричном представлении является старшим. В шестнадцатеричном числе 12AF 12 является старшим байтом.

Most significant digit. Старшая цифра. Цифра любого числа, которая отображает наиболее значимую величину. В десятичном представлении 1 в 1295 является старшей цифрой.

Most significant number. Старшее число. В числе двойной длины число одинарной длины, в котором записана старшая часть двойного числа. В шестнадцатеричном числе A34B9C5D А34В является старшим числом.

Name field. Поле имени.


Часть откомпилированного Форт-описания в словаре, которая содержит имя слова и другую информацию. См. также адрес поля имени.

Name-field address. Адрес поля имени. Адрес первого байта поля имени откомпилированного Форт-описания. Адрес поля имени - это не адрес, хранящийся в поле имени.

NFA - сокращение для name-field address (адрес поля имени).

Nibble. Полубайт 4 бита. Number. Число, в Форте - 16-битовое число, т.е. целое число одинарной длины или в зависимости от контекста любое числовое значение.

Number base. Основание числа. Основание системы счисления. Число символов, первый из которых 0, используемое для представления цифры в числе. В шестнадцатеричных числах (числах с основанием 16) диапазон символов простирается от О до 9 и от А до F, в то время как в восьмеричной (основание 8) - от 0 до 7. В Форте основание системы счисления при вводе и выводе может изменяться от 2 до 70 путем изменения содержимого переменной BASE.

Object code. Объектный код. Исполняемая программа, обычно синоним машинной программы, полученной в результате трансляции исходного текста посредством компилятора или ассемблера. Объектный код, полученный в результате компиляции Форт-ассемблером, является исполняемой машинной программой. Другие компилированные Форт-программы представляют собой список адресов и(или) чисел, исполняемых только интерпретатором адресов Форта, и. хотя это не объектный код в строгом смысле этого слова, его иногда называют объектным кодом Форта.

Octal notation. Восьмеричное представление- Представление чисел при основании системы счисления 8. Восьмеричные цифры лежат в диапазоне 0 - 7. Каждая восьмеричная цифра представляется тремя битами. Восьмеричное представление бывает полезным для понимания структуры машинных инструкций процессора.

One-dimeniional array. Одномерный массив. Синоним вектора или линейного массива.

Ones complement. Дополнение по модулю один. Дополнение числа по модулю один получается путем инверсии всех битов числа, т.е. все биты равные 1 1 сбрасываются в 0, а все нулевые биты делаются равными 1.


Дополнение по модули один числа 10011001 равно 01100110. См. также дополнение по модулю два.

Op-code. - жаргонное выражение для operation code (код операции).

Operand. Операнд. Объект, с которым работает оператор. В Форте в выражении 3 4 + 3 и 4 являются операндами, используемыми оператором.

Operation system. Операционная система. См. дисковая операционная система.

Operation code. Код операции. Машинная инструкция, иногда называется КОП.

Operator. Оператор. Символ или слово Форта, которые выполняют математическую операцию. В Форт выражении 3 4 + + является оператором, а 3 и 4 - операндами.

Outer interpreter. Внешний интерпретатор. Часть Форт-системы, которая интерпретирует входной поток, исполняя слова и числа или компилируя их в описания новых слов или, менее часто, производя разбор входных данных. Называется также текстовым интерпретатором. Противостоит интерпретатору адресов; внутреннему интерпретатору.

Overflow (data). Переполнение (данных). Ошибка, когда результат операции превосходит по размеру место, выделенное для его записи. Например, результат операции над числами одинарной длины дает переполнение, если он требует для своей записи более 16 битов. См. также арифметическое переполнение.

Overflow (stack). Переполнение стека. Переполнение стека происходит, когда место в памяти, выделенное для него, оказывается полностью использовано. В Форте это обычно случается, когда указатель стека параметров начинает указывать на верх словаря.

Parameter-field. Поле параметров. Часть откомпилированного Форт-описания, которое содержит информацию, определяющую специфическое поведение слова. Поле параметров слова-двоеточие содержит список адресов полей программы слов в описании. Поле параметров переменной содержит значение этой переменной. Поле параметров слова-примитива содержит машинную программу, исполняемую этим примитивом.

Parameter field address. Адрес поля параметров. Адрес начала поля параметров в Форт-описании. Но не адрес, содержащийся в поле параметров.



Parameter stack. Стек параметров. Стек типа LIFO, с которым манипулируют Форт-программы. Называется также стеком данных. Противостоит стеку возвратов.

Parsing. Разбор. Процесс разбиения входного потока Форта на алфавитно-цифровые последовательности, разделенные символами-разделителями. Внешний интерпретатор. Форта обычно производит выделение чисел или слов Форта в виде лексем, используя пробел в качестве разделителя. Строки данных могут также подвергаться разбору, в каждом случае могут использоваться разные разделители. Разбор обычно производится словом WORD. Вообще в вычислительной технике - это прием исходного текста программы и подготовка его для интерпретации или компиляции.

PFA. Обозначение адреса поля параметров.

Polish notation. Польская нотация. См. префиксная нотация.

Postfix notation. Постфиксная нотация. Форма математической нотации, в которой операторы следуют за операндами. Алгебраическое выражение (2+3) * (4+5) в постфиксной нотации должно выглядеть как 2 3 + 4 5 + * Форт использует постфиксную нотацию, так как ее легче совместить с LIFO-стеком. Синоним инверсной польской нотации. Противоположно алгебраической нотации префиксной нотации; инфиксной нотации.

Precedence bit. Лидирующий бит. Бит поля имени слова Форта, который определяет, является ли оно словом немедленного исполнения и, следовательно, должно ли слово исполняться в режиме компиляции. См. также "слово немедленного исполнения".

Prefix notation. Префиксная нотация. Форма математической нотации, при которой оператор предшествует своим операндам. Алгебраическое выражение (3+4) * (5+6) в префиксной нотации должно выглядеть как * + 3 4 + 5 6 То же, что и польская нотация. Противоположно алгебраической нотации; инфиксной нотации; постфиксной нотации.

Primitive. Примитив. Тип слов Форта, которые непосредственно исполняют машинную программу, в частности слова из ядра Форта. Содержимое поля программы примитива указывает на поле параметров этого же слова, которое содержит исполняемую машинную программу.



Processor. Процессор. Центральный процессор или микропроцессор.

PUSH. Операция занесения числа в стек (см. также POP)

Radix. Основание системы считывания (см. также BASE)

RAM. Память с произвольным доступом (ППД)

Random access memory. Память с произвольным доступом. Главная (полупроводниковая) память, которая позволяет центральному процессору как чтение, так и запись. Сокращение ППД. Противоположна постоянной памяти. Технически памятью с произвольным доступом может быть любая память, к которой может обратиться центральный процессор, но обычно терминологически ПЗУ исключается. См. также память.

Rational approximation. Рациональная аппроксимация. Аппроксимация иррациональных чисел с помощью отношений целых чисел. Так, Пи (3.1415926...) может быть аппроксимировало с точностью трех десятичных знаков отношением 22/7 (3.1428571...), в то время как 355/113 (3.1415929...) является аппроксимацией Пи с точностью до семи десятичных знаков.

Read-only memory. Постоянная память. Основная (полупроводниковая) память, которая может быть прочитана, но содержимое которой не может быть изменено центральным процессором. Сокращение - ПЗУ. Противоположна памяти, с произвольным доступом. См. также память.

Record (file). Запись (в файле). Группа связанных элементов информации, которые могут рассматриваться в файле как единое целое. Например, типовой файл платежной ведомости должен содержать набор записей, включающих имя, зарплату и другие необходимые данные, относящиеся к конкретному сотруднику. Место, выделенное для каждого элемента информации в записи, называется полем.

Recursion. Рекурсия. Способность программы обращаться к самой себе. Рекурсия в Форте заключается в том, чтобы слово могло обратиться к самому себе из своего описания, что может быть сделано с помощью слов MYSELF или RECUBSE или имени самого слова, в зависимости от версии.

Register. Регистр. Одна из нескольких ячеек памяти, используемых центральным процессором для различных целей.

Required word. Слово из обязательного списка.


Слово Форта, которое должно присутствовать в стандартах Форт-79, или в Форт-83, или в обоих. Обязательные слова образуют ядро стандартной системы форта и должны использоваться в описании всех слов, которые можно назвать "стандартными". То же самое, что и стандартное слово. Противостоит словам из контролируемого списка; словам из неконтролируемого списка; расширяющему набору слов.

Return stack. Стек возвратов. LIFO-стек Форта, который используется для хранения адресов слов, ожидающих завершения исполнения, и извлечения их в процессе исполнения Форт-программы. Стек возвратов обычно скрыт от программиста, но он может быть использован для временного хранения данных с помощью слов >R, R@ и R>. Стек возвратов используется также обычно для хранения индекса и предела в do-loop.

Reverse Polish notation. Инверсная польская нотация. Синоним постфиксной нотации. Названа в честь Яна Лукашевича, польского математика. Противостоит алгебраической нотации; инфиксной нотации; префиксной нотации.

Run-time code. Исполнительная программа. Машинная программа, на которую указывает адрес, содержащийся в поле программы слова Форта. Исполнительная программа определяет, как будет исполняться слово Форта. Каждое слово-описатель (такое как ;, CONSTANT и VARIABLE) кладет адрес исполнительной программы, специфической для этого слова-описателя,-во все производные слова. Исполнительная программа примитива - это машинная программа, лежащая в его поле параметров.

Scaling. Масштабирование. Процесс преобразования одного числа в другое с использованием фиксированного коэффициента (масштабного коэффициента). Обычно это делается для того, чтобы не потерять точность или не допустить переполнения. Преобразование 12.34 в целое 1234 является примером масштабирования также преобразования миль в футы. Масштабирование особенно важно, когда используются целые числа, представляющие величины, обычно характеризуемые числами с плавающей запятой. Выбор правильного коэффициента крайне важен для того, чтобы не потерять точность при арифметических расчетах.


См. также масштабный коэффициент.

Scaling operator. Масштабный оператор. Одно из слов Форта, таких как */ и */MOD, которые используются для масштабирования чисел. Масштабные операторы Форта, чтобы сохранить точность, используют для промежуточных результатов числа двойной длины.

Screen. Экран. Наиболее распространенный, в том числе и в этой книге, синоним выражения "блок Форта, который может быть отображен на терминале", хотя значение и несколько варьируется. Чаще всего используется в отношении исходного текста программы. Также, конечно, дисплей видеотерминала.

Search path. Путь поиска. Последовательность, в соответствии с которой производится просмотр одного или нескольких контекстных словарей. Метод просмотра варьируется от версии к версии очень широко.

Shadow block. Теневой блок. Блок комментариев и пояснений, который составляет пару с блоком, где размещен текст исходной программы.

Signed number. Число со знаком. Целое число, в котором старший бит определяет его знак. Число представляется в виде дополнения по модулю два. Если старший бит равен 1, число отрицательно.

Single-length number. Число одинарной длины. 16- битовое число со знаком или без. См. также 16-битовое число.

Smudge bit. Бит-метка. Во многих версиях Форта этот бит определяет, может ли быть данное число найдено в словаре. Бит-метка используется, чтобы предотвратить обнаружение в словаре слов, которые не скомпилированы должным образом, хотя это и плохая практика, так как приводит к тому, что ошибки занимают место в памяти.

Source code. Исходный текст программы. В любом языке ЭВМ - это исходный текст программы, который последовательно транслируется в форму (машинного, объектного кода), которая может быть непосредственно исполнена ЭВМ. Исходный текст Форта состоит из описаний слов, которые обычно записаны в блоках или экранах. См. также язык высокого уровня; язык низкого уровня; ассемблер; машинная программа, объектный код.

Stack. Стек. Последовательность ячеек памяти, используемая для временного хранения чисел.


LIFO-стек (так как это сделано в Форте) определяет последовательность, в которой одни команды заносят числа в отек, а другие извлекают их из стека. Стек управляется указателем стека, который указывает на верх стека. При записи и извлечении чисел указатель изменяется таким образом, что он указывает на число, которое доступно в данный момент. Стек является очень эффективным способом запоминания и извлечения обрабатываемой информации. Стек параметров (данных) используется для пересылки чисел между словами. В форте имеется множество слов для манипулирования последовательностями чисел в стеке параметров. Отдельный стек (возвратов) контролирует исполнение слов и, как правило, циклов do-loop, хотя он может хранить и ограниченное число кодов. Центральный процессор также использует стек параметров как временную память при выполнении машинных программ. См. также LIFO-стек; стек параметров; стек возвратов.

Stack chart. Отображение стека. В Форте принято отображать содержимое стека параметров до начала и после завершения исполнения слова Форта. Изменение в содержимое стека, вносимое словом, отображается слева направо, самое правое число лежит на верху стека. Исполнение слова отмечается "-" или "->". Пример отображения стека для слова SWAP: (n1 n2 - n2 n1) или ( n1 n2 -> n2 n1)

Slack-manipulation word. Слово, манипулирующее стеком. Слово Форта, которое изменяет порядок кодов или их число в стеке. Примерами слов, манипулирующих стеком, являются DROP, DUP, SWAP, OVER. ROT, PICK и ROLL.

Standard word. Стандартное слово. Синоним выражения "слово из обязательного списка" (в стандартах Форта).

State-smart word. Слово, зависящее от STATE. Слово Форта, работающее по разному в зависимости от значения STATE, которое определяет, находится ли Форт в режиме исполнения или компиляции. Примерами таких слов в Форт-79 являются ." и '. В Форт-83 отсутствуют слова из обязательного списка, зависящие от STATE.

String. Строка. Последовательность алфавитно-цифровых символов.


Строки используются для записи ASCII-текстов, См. также: счетная строка; сепаратор; ASCII.

Structured programming. Структурное программирование. Философия программирования, при которой каждая последовательность команд в программе представляет собой модуль только с одной точкой входа и выхода и которая по завершении возвращает управление в точку, откуда произошел вызов. Программы должны писаться для того, чтобы они были исполнены, с единственным исключением, когда условный оператор может выбрать один из альтернативных маршрутов исполнения, условие может определить и время завершения цикла. Структурное программирование препятствует созданию текстов про грамм, которые трудно понять, модифицировать и исправлять. Форт сам обеспечивает структурное программирование, но без ограничений, присущих многим другим языкам, таким как Паскаль.

Stub. Подставка. Слово-подставка, описанное в Форте, не используется в окончательной версии программы, но оно определяется временно для того, чтобы проверить функции, которые могут использоваться в главной программе.

Target compilation. Целевая компиляция. В Форте - процесс компиляции элементов словаря в область памяти, не совпадающую с верхом словаря. Целевая компиляция может использоваться для создания полной системы Форта, которая будет работать в произвольной области памяти или которая может быть перенесена в другую ЭВМ. Часто используется синоним "метакомпилятор". См. также кросскомпилятор; метакомпилятор.

Text-input buffer. Текстовый входной буфер. Область памяти в системе Форта, которая зарезервирована для приема информации от клавиатуры. См. также буфер; входной поток.

Text interpreter. Текстовый интерпретатор. Синоним внешнего интерпретатора.

Thread. Цепочка, В Форте - последовательность слов и машинных программ-примитивов, которые исполняются, когда исполняется слово из входного потока. Иногда используется в смысле последовательности слов, просматриваемых при поиске в словаре.

Threaded interpretive language.


Цепной интерпретивный язык. Цепной интерпретивный язык подобен обычному интерпретивному языку, в котором исходная программа может быть исполнена без формирования объектного модуля или программы, обеспечивающей оперативное и удобное взаимодействие между оператором и ЭВМ. Но в отличие от других интерпретивных языков группы имеющихся коротких машинных программ сцепляются вместе, чтобы обеспечить последовательность выполнения, что много быстрее, чем способы, используемые в большинстве интерпретивных языков. В Форте это делается, когда слово или последовательность слов выполняется с пульта или другого входного устройства с последующим исполнением машинных программ, специфицированных при описании этих слов. Но в отличие от других интерпретивных языков эти цепочки описаны в процессе написания программы, т.е.. когда слово Форта описано, оно компилирует машинные программы, подлежащие исполнению, задавая тем самым цепочку выполнения данного слова. Программы на цепном интерпретивном языке исполняются фактически так же быстро, как откомпилированные программы, и обычно требуют меньше памяти, Форт - наиболее популярный цепной интерпретивный язык. См. также компиляция; цепочка.

Token. Лексема. В Форте группа символов, которая выделена из входного потока внешним интерпретатором, и интерпретируемая как число или имя слова. См. также разбор.

Translation table. Таблица преобразования. Линейный массив, используемый для преобразования одного числа в другое. Обычно число - это индекс массива, который при обращении заменяется элементом массива. Примером могла бы служить таблица преобразования ASCII-символов в другие коды.

True (flag). Истинно (флаг). Число, полученное в результате проверки условия. В Форт-79 истинно соответствует 1, а в Форт-83 - -1 (все 16 битов равны 1). См. также булев флаг; флаг ложно.

Tuos-complement notation. Представление в виде дополнения по модулю два. Метод представления отрицательных чисел путем взятия дополнения по модулю 1 от их абсолютной величины и добавления к нему 1.


Это дает тот же результат, что и вычитание абсолютной величины из нуля. Дополнение по модулю два упрощает некоторые арифметические операции в двоичной арифметике. См. также дополнение по модулю один; числа со знаком.

Uncontrolled reference word. Слово из неконтролируемого списка. Слово, специфицированное в стандарте Форт-83, которое имеет уже определенную функцию в других версиях. Изменение функции не рекомендуется, но не запрещается. См. также слово из обязательного списка; слово из контролируемого списка.

Unsigned number. Число без знака. Число, где все биты используются для кодировки двоичного кода. Противоположно числу со знаком, где старший бит равен 1, если число отрицательно. См. также дополнение по модулю 2.

User stack. Стек пользователя. Синоним стека параметров.

User variable. Переменная пользователя. Форт-переменная, которая является частью базовой Форт-системы. Хотя она используется подобно остальным переменным, она отличается от них способом запоминания. В описании такой переменной хранится не ее величина, а указание на адрес. Переменные пользователя в многопользовательских версиях при идентичных именах имеют разные значения для разных пользователей. Примерами таких слов являются BASE, STATE, CURRENT и CONTEXT.

Vector. Вектор. Синоним линейного или одномерного массива.

Vectored execution. Векторное исполнение. Если вектор (линейный массив) содержит список адресов полей программы слов, тогда эти слова могут быть исполнены путем занесения соответствующего элемента массива в стек и использования EXECUTE. В Форте этот термин относится также к возможности изменить работу слова путем изменения содержимого первого элемента поля параметров, заменяя его на CFA нового слова. Так, если EMIT описан как : EMIT ; и существует другое слово , тогда EMIT можно заставить выполнять другую функцию, выполнив FIND ' EMIT ! в Форт-79 или ' ' EMIT >BODY ! в Форт-83.

Virtual memory. Виртуальная память. Массовая память (обычно диск), которая с помощью некоторой схемы может быть переведена в состояние, когда она может рассматриваться как часть основной памяти.


Техника перемещения блоков в буфер и обратно и последующая адресация к буферам являются простой формой виртуальной памяти в Форте. См. также дисковый кэш.

Vocabulary. Контекстный словарь. Связанный список - из словаря Форта. Контекстные словари используются для управления порядком поиска слов Форта внешним интерпретатором. Применение различных контекстных словарей позволяет использовать одно и то же имя в различных контекстах без конфликта.

Word (Forth usage). Слово (использование в Форте). Фундаментальный элемент программирования в форте и статья в словаре. Слово Форта обычно содержит имя, связь с другим словом в словаре, указатель машинной программы, которая определяет, как будет выполняться слово, и один или более параметров (чисел, машинную программу, или список адресов других Форт-слов). Слова Форта вызываются по имени и аналогичны подпрограммам в других языках. Форт-программирование состоит в описании новых слов через ранее описанные или с помощью машинных программ. Это определение слова отличается терминологически от того, что принято в вычислительной технике, где слова - это последовательность битов, минимальное число битов в памяти, к которому возможна адресация со стороны центрального процессора. См. также.словарь; поле имени; поле связи; поле программы; поле параметров; длина слова.

Word length. Длина слова. В вычислительной технике минимальное число битов, к которому может непосредственно обращаться центральный процессор. Длина слова для большинства микропроцессоров равна 8-битовому байту, хотя используются и 16- битовые слова; длина слова в базовой ЭВМ может быть равна 64 битам и более. Противостоит значению слова Форта.


Содержание раздела