Учебное пособие по языку ФОРТ

ИТФ «Технофорт»
100
10
(1 голос)
0 0

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

Книга добавлена:
23-10-2022, 00:43
0
320
21
Учебное пособие по языку ФОРТ

Читать книгу "Учебное пособие по языку ФОРТ"



3. Арифметический стек

B языке Форт арифметическим или основным стеком (или просто стеком) называется участок оперативной памяти, используемый для размещения ЦЕЛЫХ чисел — аргументов и результатов операций языка.

Ha каждое число в стеке отводится 2 байта. Числа на стеке могут восприниматься различным образом в зависимости от того, какое слово их использует. Обычно они трактуются как числа из диапазона от -2**15 до 2**15-1, но есть слова, которые воспринимают их как числа от 0 до 2**16-1.

Хранимые в стеке числа упорядочены по положению. Стек функционирует по принципу "последним занесен - первым выбран" (LIFO). Будем говорить, что при добавлении числа оно заносится СПРАВА от имеющихся, начиная от ДНА стека; при удалении снимается крайнее правое число с ВЕРШИНЫ стека.

При пользовании стеком вся ответственность за его состояние ложится на программиста. Для того чтобы зрительно согласовать стековые изменения при выполнении слов, удобно применять так называемую стековую нотацию. Действие слов будем показывать на диаграмме

стек ДО операции --> стек ПОСЛЕ операции

причем не затрагиваемую операцией часть стека будем изображать многоточием. Для содержимого стека введем следующие обозначения:

малая латинская буква - значение в общем смысле

n - число

d - число двойной длины

c - символ

addr - адрес памяти

Выполнение слова, представляющего собой запись числа, добавляет в стек это число. Слово "." (точка) снимает число с вершины стека и печатает его. Очень полезное слово ".S" печатает весь стек, оставляя его неизменным.

Некоторые операции со стеком:

DUP ... a --> ... a a

DROP ... a --> ...

SWAP ... a b --> ... b a

OVER ... a b --> ... a b a

ROT ... a b e --> ... e e a

-ROT ... a b e --> ... e a b

NIP ... a b --> ... b

TUCK ... a b --> ... b a b

2DROP ... a b --> ...

2DUP ... a b --> ... a b a b

2SWAP ... a b e f --> ... e f a b

2OVER ... a b e f --> ... a b e f a b

PICK ... a {n чисел} n --> ... a {те же n чисел} a

ROLL ... a {n чисел} n --> ... {те же n чисел} a

B частности, "0 PICK" эквивалентно "DUP", a "1 PICK" слову "OVER"; "1 ROLL" эквивалентно "SWAP", a "2 ROLL" слову "ROT".

Слово "DEPTH" кладет в стек число, равное глубине стека - количеству элементов, находившихся в стеке перед исполнением этого слова.

Проследим, например, выполнение следующего текста:

1 2 3 DUP DEPTH -ROT 2OVER .S

Выпишем текст в столбик, сопровождая каждое слово состоянием стека после его исполнения:

1 ( 1 )

2 ( 1 2 )

3 ( 1 2 3 )

DUP ( 1 2 3 3 )

DEPTH ( 1 2 3 3 4 )

-ROT ( 1 2 4 3 3 )

2OVER ( 1 2 4 3 3 2 4 )

Иногда данные на стеке, сформированные одним словом и используемые потом другим словом, будем называть параметрами.


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


100
10
Оцени книгу:
0 0
Комментарии
Минимальная длина комментария - 7 знаков.
Книжка.орг » Современные российские издания » Учебное пособие по языку ФОРТ
Внимание