Семь уроков по PostScript


Основные понятия - часть 3


Позиция на  текущей PostScript-странице описывается в системе координат пользователя (или в пространстве пользователя), которая не зависит от пространства устройства. Координаты PostScript-программе перед печатью текущей страницы автоматически преобразуются из пространства пользователя в пространство устройства. Пространство пользователя таким образом представляет систему координат, внутри которой страница может быть описана независимо от конкретной машины, где эта страница будет напечатана.

Пространство пользователя может быть изменено тремя способами:

1) начало его системы координат может быть перенесено в любую точку пространства пользователя;

2) оси могут быть повернуты в любом направлении;

3) масштаб по каждой оси может быть произвольно изменен, т. е. может быть задано любое линейное преобразование из пространства пользователя в пространство устройства.

 

Набор символов

Все виды скобок (круглые, квадратные, фигурные, угловые) и знак процента являются для PostScript специальными знаками. Остальные символы -- подмножество кода ASCII используются в программе без ограничений и называются регулярными символами.

Стек. PostScript резервирует для обрабатываемых данных часть памяти именуемую стеком. Данные, помещаемые в стек, извлекаются из него в обратном порядке, т. е. последнее записанное туда число удаляется первым. Такая дисциплина обслуживания называется LIFO. На самом деле PostScript оперирует четырьмя различными стеками: операндов, словарей, выполнения и состояния графики.

Стек операндов - содержит собственно объекты PostScript и результаты действий над ними. Операторы PostScript получают  операнды только через стек.

Постфиксная нотация (обратная польская запись).

Операции над данными в PostScript требуют, чтобы их операнды сначала были помещены в стек. Такой стиль программирования, при котором операнды задаются до операции над ними (оператора) называется постфиксной нотацией. Так запись операции сложения двух чисел, допустим 4+5, в PostScript будет выглядеть так:




- Начало -  - Назад -  - Вперед -