Стек и арифметические операции
Элементы данных в языке PostScript называются объектами
(числа, массивы, строки, символы). Над объектами можно производить различные действия, но если в других языках объекты помещаются в переменные и адресуются указанием имени переменной, то PostScript работает с данными напрямую, используя механизм стека.
Занесение чисел в стек. Любое число, появившееся в исходном файле PostScript-программы заносится в стек. Например, строка -8 10.4 +77...
Интерпретатор по мере ее чтения слева направо выполнит следующие действия:
1. Заносит в стек число -8; перемещает указатель на следующую свободную позицию.
2. Заносит в стек число 10.4; перемещает указатель на следующую позицию и т. д.
рисунок
Теперь в вершине стека число 77 и оно может быть использовано первым в какой либо операции. Остальные числа используются в порядке обратном порядку их занесения в стек.
Таким же образом в стек могут быть занесены PostScript-объекты любого вида: массивы, строки и такие экзотические объекты этого языка как словари.
Для упрощения объяснений рассмотрим сначала операции в стеке над числами. Обратите внимание, что пробелы, символы табуляции и новой строки являются в PostScript-программе разделителями объектов, другие символы типа круглых и квадратных скобок в некоторых случаях также могут быть разделителями.