Использованные здесь численные значения могут показаться непонятными, однако некоторые операторы, вроде moveto и lineto, нам уже знакомы. Отметим, что каждая команда появляется после своих параметров. Такой способ записи называется «постфиксной нотацией (записью)» («postfix notation*); иногда ее называют «обратной польской (бесскобочной) записью» в честь его создателя, польского математика Яна Лукашевича (Jan Lukasiewicz). Это означает запись 3 4 * вместо 3 * 4или 5.0 sqrt вместо sqrt(5.0). Само название PostScript является намеком на использование постфиксной нотации.

Как мы увидим, постфиксная нотация имеет некоторые преимущества. Одно из них состоит в том, что для группирования частей математического выражения никогда не требуются скобки. (Поэтому PostScript может вкладывать в использование скобок смысл, отличный от привычного.) Другое преимущество заключается в том, что выражения при постфиксной записи обычно короче. Кроме того, PostScript побуждает думать в терминах объектов, располагаемых в «стеке». Многим такая ментальная модель выполнения основных математических операций представляется более удобной; так как при таком подходе им намного проще отслеживать подробности вычислений.

П. О языке PostScript

Сценарии на PostScript являются удобочитаемыми; это означает, что в них содержатся только «печатаемые» символы и не придается смысла другим символам, вроде escape или control-G. Вследствие этого сценарии легко печатать и редактировать. Это обстоятельство также способствует передаче файлов PostScript по сети, где в других случаях некоторые служебные символы могли бы нарушить передачу.

Г1.1. Некоторые предварительные замечания Символы, появляющиеся в сценарии, могут употребляться в различных смыслах. Начнем с некоторых простых правил.

Комментарии. Все символы, начиная с «%» и до конца текущей строки, являются комментариями и игнорируются интерпретатором. Комментарии воспринимаются как ровно один пробел.

1 Ghostscript доступен по адресу http://www.cs.wisc.edu./-ghost/. См. также web-сайт данной книги.


⇐ Предыдущая| |Следующая ⇒