Библиотека knigago >> Справочная литература >> Руководства и инструкции >> Руководство по программированию на Форте


В своей книге "Математическое обеспечение сложного эксперимента" Иван Ляшко предоставляет комплексный и всеобъемлющий обзор математических методов и алгоритмов, используемых для планирования, проведения и анализа сложных экспериментов. Эта книга является ценным ресурсом для исследователей, инженеров и практиков, которым необходимо разрабатывать и оптимизировать сложные экспериментальные проекты. В первой части книги автор излагает основы экспериментального проектирования. Он...

Илья Тарасов - Руководство по программированию на Форте

Руководство по программированию на Форте
Книга - Руководство по программированию на Форте.  Илья Тарасов  - прочитать полностью в библиотеке КнигаГо
Название:
Руководство по программированию на Форте
Илья Тарасов

Жанр:

Руководства и инструкции, Самиздат, сетевая литература, Литература ХXI века (эпоха Глобализации экономики), Программирование: прочее, Forth

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

неизвестно

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

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

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

Рейтинг:

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

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

Краткое содержание книги "Руководство по программированию на Форте"

Краткое введение в современный Форт.

Читаем онлайн "Руководство по программированию на Форте". [Страница - 3]

комплексным действием. Базовые слова Форта, изначально определенные в его словаре, как правило, весьма просты. Вообще одним из основных принципов Форта является предоставление программисту полной свободы в использовании ресурсов компьютера и самого языка. В Форт можно было бы ввести, например, контроль типов переменных, однако вместо этого любое число можно использовать в качестве аргумента любого слова. Такой подход, конечно, может затруднить процесс отладки разрабатываемой программы, но только в том случае, если подходить к написанию программ с позиций процедурных языков, использующих строгий контроль типов.
При всех достоинствах и недостатках Форт, несомненно, представляет собой весьма интересное направление в программировании. Независимо от уровня практической потребности в написании программ, знание принципов этого языка может оказаться весьма полезным. Кроме того, не следует рассматривать Форт как некий готовый программный продукт, или «черный ящик». Некоторые технологии, принципы взаимодействия программных модулей, интерпретации текста и т.д., могут оказаться полезными для реализации их в программах, разрабатываемых с использованием других языков программирования.
2. Работа со стеком и арифметические операции.

Стек – это основной элемент Форта, обеспечивающий передачу данных между отдельными словами. Он представляет собой массив данных, организованный по принципу «первым зашел – последним вышел». Наглядно такую структуру можно представить в виде стопки листов бумаги, когда наверху находится лист, положенный туда последним. Все слова Форта работают с данными, оставленными для них на вершине стека. При этом механизм, с помощью которого данные попали на стек, совершенно неважен. Таким образом, числа на стеке могут рассматриваться как некоторый аналог аргументов, передаваемых функциям таких языков программирования, как Си или Паскаль.
Каждое слово Форта ожидает получить на стеке данные в определенном порядке. Поэтому Форт имеет в своем составе группу слов, предназначенных специально для манипуляций числами на стеке. Эти слова являются своеобразной «визитной карточкой» Форта, поскольку знакомство с языком обычно начинают именно с них, и сложно представить программу, в которой они бы не использовались. Результатом работы слов является изменение состояния стека. Поэтому перед рассмотрением первой группы слов введем понятие стековой нотации. Под этим термином понимается запись состояния стека до выполнения слова и после выполнения. Например, запись ( A, B  C ) означает, что до исполнения некоторого слова на стеке находились числа A и B, причем B было сверху. После исполнения (справа от стрелки), эти числа оказались удалены, а на стек было помещено число C. Содержимое стека ниже числа A при этом не изменяется, в противном случае изменения отражаются в стековой нотации. Скобки являются естественным обрамлением для стековой нотации, поскольку таким образом в программу на Форте вводятся комментарии.
Если в результате работы слова состояние стека может изменяться различным образом, возможные варианты записывают через вертикальную разделительную черту (символ «|»).
Итак, рассмотрим группу слов, предназначенных для изменения состояния стека.

Имя
Стековая нотация
Описание
DUP
( A  A, A )
Дублирует верхнее число стека
DROP
( A  )
Удаляет верхнее число со стека
SWAP
( A, B  B, A )
Меняет местами два верхних числа
OVER
( A, B  A, B, A )
Кладет на стек второе сверху число
ROT
( A, B, C  B, C, A )
Вращает три верхних числа в соответствии с приведенной стековой нотацией
DEPTH
( A )
Возвращает глубину стека – количество чисел на нем до выполнения слова DEPTH
?DUP
( A  A | A, A )
Если верхнее число стека равно нулю, оставляет стек без изменений, иначе дублирует верхнее число стека.

Можно заметить, что идентичные числа обозначаются в стековой нотации одним и тем же символом. Например, в случае слова DUP видно, что поверх уже существующего числа кладется точно такое же.
Многие реализации Форта поддерживают так называемое расширение ядра (Core Extension). Оно позволяет работать с дополнительными словами:

Имя
Стековая нотация
Описание
NIP
( A, B  B )
Удаляет из стека второе сверху число, сдвигая вершину на его место
TUCK
( A, B  B, A, B)
Копирует верхнее число на третью сверху позицию
PICK
( N  AN )
Копирует на вершину стека N-е сверху число. 0 PICK аналогично --">

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


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