ИТФ «Технофорт» - Учебное пособие по языку ФОРТ
Название: | Учебное пособие по языку ФОРТ | |
Автор: | ИТФ «Технофорт» | |
Жанр: | Литература ХX века (эпоха Социальных революций), Современные российские издания, Программирование: прочее, Forth | |
Изадано в серии: | неизвестно | |
Издательство: | ИТФ «Технофорт» | |
Год издания: | 1993 | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Учебное пособие по языку ФОРТ"
Язык программирования Форт (от английского FORTH) был изобретен Чарльзом Муром в 70-x годах для создания программного обеспечения управляющих устройств. В настоящее время Форт широко используется при решении следующих задач:
• разработка и тестирование встроенного оборудования;
• управление станками, роботами, медицинскими приборами;
• разработка трансляторов и операционных систем;
• системы управления базами данных;
• задачи машинной графики;
• экспертные системы, в том числе экспертные системы реального времени.
ИТФ «Технофорт», Санкт-Петербург 1993 Б. Посадская, д.9А Тел./факс: 233-34-10 тел. 238-82-88 эл. почта: Forth@forthi.spb.su
Читаем онлайн "Учебное пособие по языку ФОРТ". [Страница - 5]
Специфическое для языка Форт преимущество использования в программе констант состоит в следующем. Скомпилированное определение, содержащее константу, занимает меньший объем памяти, чем то же определение с изображением самого числа. При неоднократном появлении числа в программе это становится существенным.
Как правило, в базовом наборе слов определены константы:
0 CONSTANT FALSE и 1 CONSTANT TRUE
0 CONSTANT 0 и 1 CONSTANT 1
Определяющее слово "VARIABLE", которое используется в тексте
VARIABLE имя
резервирует в словаре 2 байта под значение переменной "имя". Исполнение слова "имя" кладет в стек число - адрес зарезервированного места. Этот адрес может использоваться другими словами.
Пример. Текст
A @ 5 + B ! (A и B - переменные)
соответствует оператору "B:=A+5" других языков программирования.
Специального слова для организации привычной по другим алгоритмическим языкам конструкции массива в языке Форт нет. Ниже приводится один из возможных способов:
1. слово "2ALLOT" резервирует в кодофайле память под n чисел (число n берется со стека) и кладет в стек адрес начала зарезервированного места
: 2ALLOT ( ... n --> ... a )
HERE SWAP
2* ALLOT ;
2. слово для формирования элемента массива:
: [I] ( ... i a --> ... a[i] )
OVER + + ;
3. заводится нужный массив
N ( N - константа - число элементов массива )
2ALLOT ( на стеке будет адрес начала массива )
CONSTANT B ( B - имя массива )
Если, например, поместить в стек номер нужного элемента в массиве B, то при выполнении текста "B [I]" на стеке окажется адрес этого элемента.
Обратите внимание, что проверку корректности номера элемента массива этот способ не обеспечивает и что элементы массива надо нумеровать с нуля.
8. Символы
Для представления символьной информации отводится по одному байту памяти на каждый символ. Таким образом, каждому символу сопоставляется число от 0 до 255, которое называется его КОДОМ. В разных ЭВМ используются разные кодировки.Имеются слова для работы с отдельными символами. Надо учитывать, что код символа в стеке хранится в младшем байте ячейки.
C@ ... addr --> ... c
B стек помещается число, равное содержимому байта по адресу addr.
C! ... c addr --> ...
B байт по адресу addr записывается символ "c".
C, ... c --> ...
Слово, аналогичное слову "," (запятая), но резервирующее (и записывающее) только один байт.
KEY ... --> ... c (ожидание)
При выполнении этого слова Форт-система переходит в режим ожидания, пока не будет нажата клавиша какой-либо литеры на клавиатуре дисплея. Код этой литеры и кладется в стек.
EMIT ... c --> ...
Символ "c" будет напечатан.
Константа "BL" помещает в стек код пробела.
Слово "C"" помещает в стек код первой следующей за ним литеры, не являющейся пробелом. Слово "C"" делает текст более наглядным, чем при непосредственном использовании кодов. Например, чтобы напечатать знак плюс, нужно выполнить текст
C" + EMIT
9. Работа с участками памяти
Часто приходится выполнять действия сразу над большими участками памяти. Участок памяти в таких действиях определяется адресом его начального байта и длиной.FILL ... addr n c --> ...
Содержимое n байтов начиная с адреса addr заполняется кодом "с".
BLANK ... addr n --> ...
Эквивалентно "FILL" c заполнением кодом пробела.
ERASE ... addr n --> ...
Эквивалентно тексту "0 FILL".
CMOVE ... addr1 addr2 n --> ...
Побайтное копирование участка в n байтов с началом addr1 по адресу addr2 в сторону увеличения адресов.
Слово "CMOVE>" отличается от "CMOVE" тем, что начинает запись с ПОСЛЕДНЕГО байта участков. Различие этих слов существенно при перекрытии участков. Вот небольшой пример. Пусть на вершине --">Книги схожие с «Учебное пособие по языку ФОРТ» по жанру, серии, автору или названию:
Е. Т. Семенова - Язык программирования Lisp 1.5: Учебное пособие Жанр: Lisp, Scheme Год издания: 1977 |
Иван Иннокентьевич Устюгов - Детали машин: Учеб. пособие для учащихся техникумов. — 2-е изд., перераб. и доп. Жанр: Детали машин Год издания: 1981 |
Мэлон Келли, Николас Спайс - Язык программирования Форт Жанр: Forth Год издания: 1993 |