Начальный курс программирования на языке Форт

         

ОСНОВНЫЕ ТЕРМИНЫ


Выполнение. Применительно к слову —- это выполнение операций, заданных в скомпилированном определении данного слова.

Входной поток Текст, который должен быть прочитан текстовым интерпретатором Это может быть текст, только что набранный на терминале или ранее записанный на диск.

Глоссарий Список слов, определенных в Форте, с их стековыми нотациями (какого рода информация помещается в стек перед выполнением слова и что остается в стеке в качестве результата).

Интерпретация. Чтение из входного потока при обращении к интерпретатору текста и поиск каждого встретившегося слова в словаре. В случае неудачи это слово трактуется как число.

Инфиксная запись. Метод записи: знак операции располагается между операндами, над которыми она выполняется, например 2 + 5.

Компиляция. Генерация по исходному тексту элемента словаря (внутренняя форма определения). Следует отличать от EXECUTE.

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

Постфиксная запись. Метод записи: знак операции следует за операндами, над которыми эта операция выполняется, например 2 5 + Также известен как обратная польская запись.

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

Расширяемость. Характеристика языка, означающая, что программист может добавлять новые средства или модифицировать существующие.

Словарь. В Форте это перечень слов и определений, включающий в себя как «системные» определения (созданные при генерации системы), так и «пользовательские» (которые создаете вы сами). Словарь размещается в памяти компьютера в компилируемой форме.

Слово. В Форте это имя определения.

Стек. Участок памяти,» в который данные помещаются и из которого они удаляются по принципу «последним пришел — первым обслужен» (LIFO).



LIFO. Принцип функционирования стека (последним пришел — первым обслужен). Так, коробка для хранения теннисных мячей имеет структуру LIFO: последний помещенный в нее мяч вы выбираете первым.


Виртуальная память. Использование внешней памяти (например, диска), так как если бы она была оперативной, включая те средства операционной системы, которые обеспечивают эту возможность.

Ожидание. Приостановка исполнения программы для ожидания ввода с клавиатуры (в противоположность сканированию)

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

Сканирование. «Заглядывание» вперед по входному потоку с целью просмотра оставшегося текста или поиска фрагмента, ограниченного заданным символом.

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

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




Бит использования во время компиляции. Бит элемента словаря, который определяет, будет ли слово во время компиляции выполняться, а не компилироваться.

D-схема. Графическое представление логической структуры некоторой программы, а в случае Форта - некоторого определения.

Компилирующее слово. Слово, используемое внутри определения через двоеточие для выполнения действий во время компиляции.

Немедленно исполняемое слово. Словарная статья, где установлен бит непосредственного использования, что вызывает во время компиляции не компилирование данного слова, а его выполнение.

Определяющее слово. Слово, которое при своем выполнении создает новый элемент словаря. Определяющее слово задает функции периода-компиляции и периода-выполнения для каждого члена семейства слов, определяемых этим словом.

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

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



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