Библиотека knigago >> Компьютеры: Языки и системы программирования >> Forth >> Учебное пособие по языку ФОРТ


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1627, книга: Предание Темных
автор: Кейси Эшли Доуз

Ребята, это книга, которая реально останется в моей памяти! Автор просто превзошел все мои ожидания и заставил меня по-настоящему испытать страх и трепет. "Предание Темных" - это как разрыв в самом пространстве-времени, соединяющий мрачную эпоху Средневековья с нашим современным миром. Такая связь времён очень интересная, но и опасная штука. Мне очень понравился мрачный и зловещий тон книги. Автор мастерски создал атмосферу беспокойства и безысходности, которая просто не отпускала...

СЛУЧАЙНАЯ КНИГА

ИТФ «Технофорт» - Учебное пособие по языку ФОРТ

Учебное пособие по языку ФОРТ
Книга - Учебное пособие по языку ФОРТ.   ИТФ «Технофорт»  - прочитать полностью в библиотеке КнигаГо
Название:
Учебное пособие по языку ФОРТ
ИТФ «Технофорт»

Жанр:

Литература ХX века (эпоха Социальных революций), Современные российские издания, Программирование: прочее, Forth

Изадано в серии:

неизвестно

Издательство:

ИТФ «Технофорт»

Год издания:

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Учебное пособие по языку ФОРТ"

Язык программирования Форт (от английского FORTH) был изобретен Чарльзом Муром в 70-x годах для создания программного обеспечения управляющих устройств. В настоящее время Форт широко используется при решении следующих задач:

• разработка и тестирование встроенного оборудования;

• управление станками, роботами, медицинскими приборами;

• разработка трансляторов и операционных систем;

• системы управления базами данных;

• задачи машинной графики;

• экспертные системы, в том числе экспертные системы реального времени.

ИТФ «Технофорт», Санкт-Петербург 1993 Б. Посадская, д.9А Тел./факс: 233-34-10 тел. 238-82-88 эл. почта: Forth@forthi.spb.su

Читаем онлайн "Учебное пособие по языку ФОРТ". [Страница - 12]

в стеке возвратов. Режим "CALL" завершается первым вызовом режима "NEXT".

Режим "NEXT" передает управление по адресу, записанному в поле параметров, на которое указывает "IP", одновременно передвигая "IP" на следующий элемент поля (т. е. прибавляя к нему 2).

Такие вложенные вызовы продолжаются до тех пор, пока управление не передано на машинную подпрограмму, которая и будет исполнена. B конце каждой машинной программы записан вызов режима "NEXT" адресного интерпретатора.

B конце поля параметров каждой словарной статьи записан вызов третьего режима интерпретатора — режима "RETURN" (его компилирует туда слово ";"). Режим "RETURN" обеспечивает выход на предыдущий уровень: загружает "IP" значением, снимаемым co стека возвратов, и вызывает режим "NEXT".

После возврата на самый верхний уровень интерпретации специальное системное слово восстанавливает диалог.

В системе имеется слово "EXIT", которое сразу вызывает режим "RETURN". То есть "EXIT" можно использовать внутри определения некоторого слова, чтобы задать немедленное прекращение его исполнения (это удобно в условных операторах). Однако внутри перечислительного цикла использовать "EXIT" нельзя!

20. Переменные типа "QUAN" и "VECT"

Переменная типа "QUAN" отличается от стандартной переменной типа "VARIABLE" тем, что объединяет свойства константы и переменной. При исполнении переменная типа "VARIABLE" оставляет на стеке адрес ячейки, в которой хранится ее значение. Но этот адрес обычно используется либо для получения самого значения с помощью слова "@", либо для засылки в переменную нового значения с помощью слова "!". Так вот слово "QUAN" создает переменную, исполнение имени которой в зависимости от контекста имеет один из трех результатов: получение текущего значения, засылка нового значения и получение адреса значения.

Переменная типа "QUAN" определяется следующим образом:

                           QUAN  имя

Слово "IS", употребленное перед именем переменной, засылает в переменную новое значение, взятое с вершины стека.

Слово "AT", употребленное перед именем переменной, записывает в стек адрес ее значения.

Слова "IS" и "AT" назовем префиксами к имени переменной.

При использовании имени переменной без префиксов на стек будет помещено ее текущее значение (свойство константы). Заметим, что использование "чистого" имени эквивалентно: AT имя @ a засылка при помощи "IS" эквивалентна выражению: AT имя !

Слово для реализации переменной типа "QUAN" имеет три поля кода:

1. поле кода для получения значения (2/3 байта)

2. поле кода для засылки значения (2/3 байта)

3. поле кода для получения адреса значения (2/3 байта)

4. значение переменной (2 байта)

Длина поля кода зависит от типа шитого кода, но в любом случае требуются два дополнительных поля кода. Эти затраты памяти на описание переменной компенсируются при ее использовании, так как каждое обращение к переменной занимает два байта и к тому же работает быстрее, чем обращение к переменной типа "VARIABLE". Это объясняется тем, что на месте использования переменной типа "QUAN" компилируется адрес одного из трех полей ее кода в зависимости от указанного префиксом (или его отсутствием) действия:

-------------------------------------------------------------

действие             для QUAN                 для VARIABLE

-------------------------------------------------------------

значение          имя        (2 байта)      имя @  (4 байта)

присваивание   IS имя        (2 байта)      имя !  (4 байта)

адрес          AT имя        (2 байта)      имя    (2 байта)

-------------------------------------------------------------

По аналогии co словом "QUAN" используется слово "VECT", создающее слово с векторизованным исполнением. Его можно рассматривать как переменную типа "QUAN", значением которой являются другие слова. Например, после выполнения текста

              VECT имя

              ' DUP  IS имя

последующее исполнение слова "имя" равносильно исполнению "DUP". Таким образом, созданные при помощи "VECT" слова можно рассматривать как слова co сменной семантикой. Отличие реализаций "VECT" и "QUAN" состоит лишь в следующем: исполнение имени переменной типа "VECT" вызывает выполнение слова, адрес поля кода которого содержит переменная. Префиксы используются аналогичным образом.

21. Внешняя память

Памяти микрокомпьютера обычно недостаточно для запоминания всех необходимых данных и программ. Для этого используется память на внешних носителях. B основном, это память на магнитном диске.

--">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.