Язык Форт и его реализации

         

Основные понятия


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

Язык Форт больше всего похож на язык ассемблера. Его синтаксис также максимально прост. Запись каждой конструкции (команды) состоит из одного слова — мнемонического обозначения, в качестве которото может выступать последовательность любых литер, не содержащая пробела. Простота синтаксиса является следствием того, что в качестве вычислительной модели используется стековая машина. Слова-команды этой машины снимают необходимые операнды со стека и оставляют свои результаты (если они есть) также на стеке. Таким образом, программа, написанная на языке Форт, выглядит как последовательность слов, каждое из которых подразумевает выполнение тех или иных действий. Слова разделяются любым числом пробелов и переходов на новую строку; ограничение накладывается только на длину слова — оно должно содержать не более 31 литеры. Стандарт языка определяет сравнительно небольшой набор из 132 «обязательных» слов. Среди них есть слова, позволяющие определять новые через уже имеющиеся и тем самым расширять исходный набор слов-команд в нужном для данной задачи направлении.


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