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


Траектория отсечения - часть 6


Как правило, объект имеет неограниченный доступ. Это означает, что допускается применение к нему всех операторов, какие определены для работы с ним. Объекты с атрибутом "только чтение" не допускают модификацию своего значения и могут быть только считаны или выполнены. Аналогично, атрибут "только исполнение" определяет, что объект не может быть прочитан, а только исполнен интерпретатором. И наконец, объекты с атрибутом "без доступа" служат для каких-то внутренних целей, о которых я в данный момент ничего не знаю. Понятно, что они не используются программами напрямую. Для получения типа объекта служит оператор type.

Синтаксис: объект type à имя_типа

Результатом операции может быть одно из перечисленных имен:

arraytype        booleantype        dicttype

filetype         fonttype           integertype

marktype         nametype           nulltype

operatortype     realtype           savetype

stringtype

 

Следующие три оператора проверяют соответственно тип доступа объекта: wcheck - возвращает true, если объект имеет атрибут ulimited; xcheck – возвращает true, если объект исполняемый, и false, если литерал; rcheck – возвращает true, если объект "только для чтения".

Синтаксис у них одинаковый. Например, для wcheck он выглядит так:

объект

wcheck à

лог_значение

 

Операторы cvlit и cvx позволяют изменить атрибут объекта, находящегося в вершине стека операндов, с исполняемого на литеральный и наоборот.

Синтаксис: объект cvlit à объект

       объект cvx à объект

 

Виртуальная память

 

Виртуальной памятью (обозначается VM) называется область памяти, в которой хранятся значения составных объектов. В некоторых реализациях PostScript может сохранять VM в файле в конце сеанса и восстанавливать её в начале следующего. Сохранить и восстановить текущее состояние VM во время выполнения программы можно также с помощью операторов save и restore, а проверить состояние VM – с помощью оператора vmstatus.




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