Специфичные для языка детали

Эта страница более подробно описывает PostScript как язык программирования. Здесь обсуждается использование операторов, словарей и стека.

Операторы

Каждый компьютерный язык имеет ряд предопределенных команд. В PostScript они называются операторами . Вот несколько примеров операторов PostScript:

div – разделить два числа
lineto – нарисовать линию
setlinewidth – определяет толщину линий
showpage – напечатать обработанную в данный момент страницу

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

Тот факт, что приложения (или спулеры, OPI-системы или драйверы) могут создавать свои собственные операторы, затрудняет отладку кода PostScript. Если что-то пойдет не так с конкретным оператором, может быть трудно определить, в какое приложение добавлен код ошибки.

Словари

Группы операторов могут храниться в словаре. Многие приложения, а также драйверы принтеров используют свои собственные словари. Если вы печатаете страницу из QuarkXPress на принтер, то и используемый драйвер принтера, и сам QuarkXPress добавляют свои словари к данным PostScript, которые отправляются на устройство вывода. Иногда эти дополнительные данные вызывают проблемы. Вот почему часто рекомендуется заменить драйверы или пропустить дополнительные шаги в процессе вывода для устранения ошибок PostScript.

Стековый язык

PostScript – это основанный на стеке язык, который работает аналогично калькуляторам, использующим обратную польскую запись. HP славится продажей таких калькуляторов. Предположим, вы хотите добавить 12 к 15. В PostScript это делается так:

15 12 add

Сначала оба числа помещаются в стек. Затем интерпретатор читает оператор «add», который говорит ему «вытолкнуть» два верхних числа из стека, сложить их и «поместить» полученное значение обратно в стек.

Излишне говорить, что RPN значительно усложняет нам, простым людям, просмотр кода PostScript и его осмысление.

Оценок пока нет.