ИТФ «Технофорт» - Учебное пособие по языку ФОРТ
Название: | Учебное пособие по языку ФОРТ | |
Автор: | ИТФ «Технофорт» | |
Жанр: | Литература ХX века (эпоха Социальных революций), Современные российские издания, Программирование: прочее, Forth | |
Изадано в серии: | неизвестно | |
Издательство: | ИТФ «Технофорт» | |
Год издания: | 1993 | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Учебное пособие по языку ФОРТ"
Язык программирования Форт (от английского FORTH) был изобретен Чарльзом Муром в 70-x годах для создания программного обеспечения управляющих устройств. В настоящее время Форт широко используется при решении следующих задач:
• разработка и тестирование встроенного оборудования;
• управление станками, роботами, медицинскими приборами;
• разработка трансляторов и операционных систем;
• системы управления базами данных;
• задачи машинной графики;
• экспертные системы, в том числе экспертные системы реального времени.
ИТФ «Технофорт», Санкт-Петербург 1993 Б. Посадская, д.9А Тел./факс: 233-34-10 тел. 238-82-88 эл. почта: Forth@forthi.spb.su
Читаем онлайн "Учебное пособие по языку ФОРТ". [Страница - 10]
просто эквивалентен тексту "имя".
Предлагаемое средство - это способ выполнять слова не непосредственно, вводя их имена, а косвенно. Заводится какая-нибудь переменная, например "УКАЗАТЕЛЬ", в которой с помощью апострофа можно запомнить адрес поля кода некоторого слова и в дальнейшем даже менять ее содержимое; а исполнение слова задается текстом:
УКАЗАТЕЛЬ @ EXECUTE
Подменяя адреса поля кода, можно изменить выполняемые действия некоторого слова уже после того, как оно скомпилировано. Обычно на этом принципе основаны определения слов для интерфейса с внешними устройствами. Только учтите, что слово "EXECUTE" не проверяет, допустим ли заданный на стеке адрес. А неверный адрес почти всегда влечет нарушение работы системы.
Если надо указать внутри определения через ":", что действие апострофа должно относиться к следующему слову в теле определения, то используют слово "[']". Иначе во время исполнения того определенного через двоеточие слова апостроф 'займется' очередным словом из входного потока.
17. Слова-генераторы
В отличие от других языков Форт позволяет программисту создавать собственные определяющие слова. Это дает возможность создавать семейства слов с похожими свойствами. Одинаковые признаки задаются не в каждом члене, а в самом определяющем слове. Благодаря этому сокращается текст программ, они легче читаются и модифицируются. При умелом использовании таких конструкций эффект может быть очень значительным. Определяющие слова будем также называть словами-генераторами или мета-определяющими словами. С помощью собственных генераторов можно образовывать новые структуры данных, например, многомерные массивы.Слова-генераторы описываются с помощью слов "CREATE" и "DOES>" в конструкции
: имя-генератора CREATE <часть-create>
DOES> <часть-does> ;
и употребляются в конструкции
имя-генератора имя (*)
для определения слова "имя".
Слово "CREATE" в определении генератора указывает начало действий, выполняемых в период компиляции будущего определяемого слова; слово "DOES>" — начало действий во время исполнения этого нового слова.
При выполнении конструкции (*) слово "CREATE" создает в кодофайле словарную статью для слова "имя", но при этом память под поле параметров не выделяется. После этого исполняется текст <часть-create>, который может создать поле параметров определяемого слова. B дальнейшем при исполнении слова "имя" на стек кладется адрес его поля параметров и выполняется текст <часть-does>.
Например, генератор для определения констант выглядит так:
: CONSTANT CREATE , ( слово "," резервирует 2 байта )
( и кладет в них число из стека )
DOES> ( на стеке адрес этих двух байтов )
@ ; ( значение помещается в стек )
B качестве упражнения разберите устройство генератора одномерных массивов. Слово "ARRAY" берет из стека целое число n и резервирует в кодофайле место для n чисел, связывая с ними следующее за "ARRAY" слово как имя этого массива. В дальнейшем при выполнении имени массива из стека берется индекс, проверяется его принадлежность диапазону от 1 до n и, если все в порядке, в стек помещается адрес соответствующего элемента массива.
: ARRAY ( в стеке лежит число элементов )
CREATE DUP , ( это число помещается в поле параметров )
2* ALLOT ( захват места для массива )
DOES> ( при вызове в стеке лежит индекс )
( и помещается адрес захваченной памяти )
OVER 1 <
IF ." ИНДЕКС МЕНЬШЕ 1" 2DROP
ELSE 2DUP @ > IF ." ИНДЕКС БОЛЬШЕ ЧЕМ НАДО" 2DROP
ELSE 1+ SWAP 2* + THEN THEN ;
18. Управление режимами
В каждый момент Форт-система может находиться в одном из двух состояний — ИСПОЛНЕНИЯ или КОМПИЛЯЦИИ. При загрузке системы устанавливается режим исполнения. Появление во входном тексте определяющего слова ":" переводит систему в режим компиляции на период обработки определения. Слово ";" завершает компиляцию и возвращает систему в прежний режим. То есть, само это слово исполняется при режиме компиляции. Дело в том, что слово ";" является --">Книги схожие с «Учебное пособие по языку ФОРТ» по жанру, серии, автору или названию:
Владимир Павлович Дьяконов - Форт-системы программирования персональных ЭВМ Жанр: Литература ХX века (эпоха Социальных революций) Год издания: 1992 |
Владимир Осипович Гордон, Михаил Алексеевич Семенцов-Огиевский - Курс начертательной геометрии: Учебное пособие. 23-е изд., перераб. Жанр: Учебники и пособия ВУЗов Год издания: 1988 |
Сергей Николаевич Баранов, Николай Романович Ноздрунов - Язык Форт и его реализации Жанр: Литература ХX века (эпоха Социальных революций) Год издания: 1988 Серия: ЭВМ в производстве |