Илья Тарасов - Руководство по программированию на Форте
Название: | Руководство по программированию на Форте | |
Автор: | Илья Тарасов | |
Жанр: | Руководства и инструкции, Самиздат, сетевая литература, Литература ХXI века (эпоха Глобализации экономики), Программирование: прочее, Forth | |
Изадано в серии: | неизвестно | |
Издательство: | Интернет-издательство «Stribog» | |
Год издания: | 2022 | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Руководство по программированию на Форте"
Краткое введение в современный Форт.
Читаем онлайн "Руководство по программированию на Форте". [Страница - 4]
Хотя слова, приведенные в последней таблице, позволяют проводить со стеком практически любые манипуляции, все же следует иметь в виду, что частые перестановки чисел на стеке свидетельствуют о плохом стиле программирования. Кроме того, манипулирование стеком отнимает дополнительное процессорное время.
Введение стека данных, вообще говоря, преследовало цель освобождения программиста от необходимости слежения за стеком возвратов. Однако одним из основных принципов Форта является предоставление программисту полного контроля над исполнением программы. В соответствии с этим принципом, в состав словаря входят слова для работы со стеком возвратов.
Имя
Стековая нотация
Описание
RDROP
( R: A → R : )
Удаляет число со стека возвратов
R>
( R : A → A)
Перемещает число со стека возвратов на стек данных (со стека возвратов число при этом удаляется)
>R
( A → R : A)
Перемещает число со стека данных на стек возвратов (со стека данных число при этом удаляется)
R@
( R: A → A, R : A )
Копирует число со стека возвратов на стек данных
Буква R в записи R : A означает, что число A находится на стеке возвратов (от Return Stack).
Из приведенной таблицы видно, что программист имеет возможность модифицировать стек возвратов по своему усмотрению, например, принудительно записать в него нужный ему адрес возврата или использовать содержимое стека для определения адреса вызывающего слова. Набор слов для работы со стеком возвратов не такой большой, как для стека данных, однако его вполне достаточно для реализации основных операций. В действительности активное манипулирование стеком возвратов совершенно нехарактерно для Форта.
В состав словаря, естественно, входят и арифметико-логические операции. Они точно так же, как все слова Форта, получают свои параметры со стека и возвращают результат на стек. Вот их список:
Имя
Стековая нотация
Описание
+
( A, B → A + B )
Заменяет два верхних числа со стека данных их суммой.
–
( A, B → A - B )
Заменяет два верхних числа со стека данных их разностью.
*
( A, B → A * B )
Заменяет два верхних числа со стека данных их произведением.
/
( A, B → A / B )
Заменяет два верхних числа со стека данных частным от их деления.
MOD
( A, B → A mod B )
Заменяет два верхних числа со стека данных остатком от их деления.
/MOD
( A, B → A / B, A mod B)
Заменяет два верхних числа со стека данных частным и остатком от их деления.
ABS
( A → |A| )
Заменяет число его модулем (абсолютным значением).
NEGATE
( A → –A )
Изменяет знак числа на противоположный.
AND
( A, B → A and B )
Заменяет два верхних числа со стека данных их побитным логическим И.
OR
( A, B → A or B )
Заменяет два верхних числа со стека данных их побитным логическим ИЛИ.
XOR
( A, B → A xor B )
Заменяет два верхних числа со стека данных их побитным логическим ИСКЛЮЧАЮЩИМ ИЛИ.
NOT
( A → not A )
Заменяет число со стека данных его логическим отрицанием.
Из таблицы видно, что все арифметические операции должны выполняться уже после того, как соответствующие числа оказались на стеке. В этом Форт не делает исключений. Результатом же такого правила является необходимость использования постфиксной, или обратной польской, записи формул. Вначале записываются числа в том порядке, как это указано в стековой нотации, а затем идет слово – арифметическая операция. Например, 2 + 2 на Форте будет выглядеть как 2 2 +
Приведем еще несколько примеров записи арифметических выражений:
Обычная запись
Постфиксная запись
4 – 3
4 3 –
6 * 7
6 7 *
(2 + 3) * 5 – 6
2 3 + 5 * 6 –
Можно сделать одно важное наблюдение: постфиксная запись не требует скобок. Сколь угодно сложное математическое выражение может быть записано путем последовательного перечисления переменных и операций над ними.
Книги схожие с «Руководство по программированию на Форте» по жанру, серии, автору или названию:
Елена Александровна Разумовская - Как быстро развить память для запоминания иностранных слов, цифр и любой информации Жанр: Руководства и инструкции |
Лоуренс Гонсалес - Остаться в живых Жанр: Руководства и инструкции Год издания: 2014 |
Федор Михайлович Жигарев, Сергей Иванович Карзинкин - Мотоциклы Жанр: Руководства и инструкции Год издания: 1956 |