Execute>
Execute>演算子は、次に示す1個のオペランドをとる。
<x: Any>
]]>
<x: 任意>
そして、そのオペランドの型に応じて、次に示す結果を返す。
x is of type Operator, it is executed.
]]>
xの型が演算子>型である場合、xを実行する。
xの型が手続き>型である場合、その手続き中のトークン列を、それが
内容中に出現した場合と同様に解釈する。
xの型が識別子>型であり、かつその実行可能性属性が実行可能>で
ある場合、その識別子を、それが内容中に場合と同様に解釈する。
xの型が識別子>型でありかつその実行可能性属性がリテラル>で
ある場合、又はxの型がその他の型である場合、xをオペランドスタックに積む。
Exit>
Exit>演算子は、オペランドをとらず、結果も返さない。
繰り返し演算子Repeat>、Loop>、For>又はForAll>
によって解釈されている手続き中でExit>演算子を解釈すると、
その繰り返し演算子の解釈が終了する。
繰り返し演算子が入れ子になっている場合、Exit>演算子を含む手続きを
解釈している演算子の解釈だけが終了する。
Exit>演算子が、Repeat>、Loop>、For>、又は
ForAll>演算子によって解釈されている手続きの中以外の任意の文脈に出
現した場合、InvalidExit>をオペランドとしてRaiseError>を実行する。
For>
For>演算子は、次に示す4個のオペランドをとる。
<proc: Procedure>
<limit: Number>
<increment: Number>
<initial: Number>
]]>
<proc: 手続き>
<limit: 数>
<increment: 数>
<initial: 数>
結果は返さない。
この演算子は手続きを、Execute>演算子の場合と同様に、しかし繰り返
し
解釈する。
procの1回ごとの解釈に先立ち、1個の値をprocオペランドとしてオペラン
ドスタックに積む。この値は、initialから始まってlimitまで、1回の解釈につ
きincrementずつ変化する。
For>演算子の解釈は、proc>のオペランドとしてオペランドスタック
に置くべき値が、limit>より大きいとき(increment>が正の場合)、又は
limit>より小さいとき(increment>が負の場合)、終了する。
For>演算子の解釈は、proc>の解釈中にExit>演算子が出現した
場合、limit>に達する前であっても終了する。
ForAll>
ForAll>演算子は、次に示す2個のオペランドをとる。
<proc: Procedure>
<x: VectorReference, DictionaryReference, or
OctetStringReference>
]]>
<proc: 手続き>
<x: ベクタ参照、辞書参照又はオクテット列参照>
結果は返さない。
xによって参照されるオブジェクトの要素(xが辞書参照>
である場合には参照する辞書>中のキーと値との対)を列挙し、それらの
要素(又はキーと値との対)のそれぞれについて1回ずつprocを解釈する。
この演算子は、手続きを、Execute>演算子の場合と同様に、しかし
繰り返し解釈する。
参照)。
ForAll>演算子の解釈は、
ForAll>演算子の解釈は、procの解釈中にExit>演算子が出現し
た場合、xのすべての要素(又はキーと値との対)が列挙され終わる前であっても、
終了する。
GetDeviceDescription>
GetDeviceDescription>演算子はオペランドをとらず、次に示す1個の
結果を返す。
<devdict: DictionaryReference>
]]>
<devdict: 辞書参照>
ここで、devdictはDeviceDescription>状態変数の現在の値とする
(参照)。
If>
If>演算子は、次に示す2個のオペランドをとる。
<proc: Procedure>
<cond: Boolean>
]]>
<proc: 手続き>
<cond: 論理>
結果は返さない。しかし、procを解釈した場合、その結果がオペランドスタッ
ク上に残ってもよい。
この演算子は、condの値が真である場合、Execute>演算子の場合と同様
に手続きを解釈する。
この演算子は、IfElse>
IfElse>演算子は、次に示す3個のオペランドをとる。
<proc1:
Procedure>
<proc0:
Procedure>
<cond: Boolean>
]]>
<proc1:
手続き>
<proc0:
手続き;
<cond: 論理>
proc
0 or proc1 may leave results
on the operand stack.
]]>
結果は返さない。しかし、proc0又はproc1がその結果をオペランドスタッ
ク上に残してもよい。
proc
0 is interpreted as though by
the Execute operator.
]]>
この演算子は、Execute>演算子の場合と同様
にproc0を解釈する。
proc
1 is interpreted as though by
the Execute operator.
]]>
この演算子は、Execute>演算子の場合と同様
にproc1を解釈する。
Loop>
Loop>演算子は、次に示す1個のオペランドをとる。
<proc: Procedure>
]]>
<proc: 手続き>
結果は返さない。
この演算子は、手続きを、Execute>演算子の場合と同様に、しかし
proc>の解釈中にExit>演算子が出現するまで、繰り返し解釈する。
Noop>
Noop>演算子は、オペランドをとらず、結果も返さない。
この演算子は仮想機械の状態にはなんら影響を与えない。
Repeat>
Repeat>演算子は、次に示す2個のオペランドをとる。
<proc: Procedure>
<n: Cardinal>
]]>
<proc: 手続き>
<n: 非負整数>
結果は返さない。
この演算子は、手続きを、Execute>演算子の場合と同様に、ただし
n>回順次解釈するが、Exit>演算子が出現するとそこで解釈を終了する。
RestoreGraphicsState>
RestoreGraphicsState>演算子は、オペランドをとらず、結果も返さない。
RestoreGraphicsState operator causes
the entire graphics
state, including the values of all state variables (see
), to be restored
from the last Graphics State saved by interpretation of the SaveGraphicsState
operator.
]]>
refid=meddocprは恐らくrefid=hstvarの間違い。(高橋)
RestoreGraphicsState>演算子は、すべての状態変数(参照)
の値も含め全作図状態を、SaveGraphicsState>演算子の解釈によって
退避された最後の作図状態に復元する。
RestoreGraphicsState>演算子の解釈は、通常、作図状態スタックを
ポップすることになる。
ただし、作図状態スタックの上端にある退避された作図状態がSaveState>
演算子によって暗黙的に作られた場合、又は最も近い上位のブロックの開始時
に作られた場合、作図状態スタックのポップは行なわれず、作図状態スタックは
変化しない。
RestoreState>演算子だけが、SaveState>演算子によって作られた
作図状態スタック上の項目を取り除くことができる。
RestoreGraphicsStateXCP>
RestoreGraphicsStateXCP>演算子は、オペランドをとらず、結果も返さ
ない。
RestoreGraphicsStateXCP operator
causes the entire graphics
state, including the values of all state variables except CurrentPosition
(see ), to be restored
from the last Graphics State saved by interpretation of the SaveGraphicsState
operator.
]]>
refid=meddocprは恐らくrefid=hstvarの間違い。(高橋)
RestoreGraphicsStateXCP>演算子の解釈は、CurrentPosition>
(参照)以外のすべての状態変数を含めた全作図状態を、
SaveGraphicsState>演算子の解釈によって退避された最後の作図状態に
復元する。
RestoreGraphicsStateXCP>演算子の解釈は、通常、作図状態スタックを
ポップすることになる。
作図状態スタックの上端にある退避された作図状態がSaveState>演算
子により暗黙的に作られた場合、すなわち最も近い上位のブロックの開始時に
作られた場合、作図状態スタックのポップは行なわれず作図状態スタックは変
化しない。
RestoreSavedGraphicsState>
RestoreSavedGraphicsState>演算子は、オペランドをとらず結果も返さ
ない。
RestoreSavedGraphicsState>演算子の解釈は、すべての状態変数の値
(参照)も含め全作図状態を退避する。
RestoreSavedGraphicsState>演算子は、SaveState>演算子によっ
て退避された作図状態にいきつくまで、又は作図状態スタック(16.2参照)
の底にある作図状態にいきつくまで、繰り返し、作図状態スタックをポップする。
その後、その作図状態に復元するためにRestoreGraphicsState>演算子を
暗黙的に実行する。
復元された作図状態は作図状態スタックに残る。
RestoreState>
RestoreState>演算子は、次に示す1個のオペランドをとる。
<s: 退避オブジェクト>
結果は返さない。
RestoreState>演算子の作用は、作図状態、作図状態スタック、状態変数
群及び被参照オブジェクトの集合を、s>が退避された時点における状態に復元す
ることとする(参照)。
文脈スタック又はオペランドスタックが、InvalidRestore>をオペラン
ドとしてRaiseError>を実行する。
RestoreState>演算子は、その作図状態を復元するために
RestoreSavedGraphicsState>演算子を暗黙的に実行する。その後、作図
状態スタックをポップし、sを作ったSaveState>演算子がそこに置いた項
目を取り除く。
SaveGraphicsState>
SaveGraphicsState>演算子は、オペランドをとらず、結果も返さない。
SaveGraphicsState>演算子の解釈は、すべての状態変数の値
(参照)
も含め全作図状態を作図状態スタックに退避する。
SaveState>
SaveState>演算子は、オペランドをとらず、次に示す1個の結果を返す。
<s: SaveObject>
]]>
<s: 退避オブジェクト>
SaveState>演算子の作用は、作図状態の現状態を作図状態スタックに退
避し、作図状態スタック、状態変数群及び被参照オブジェクトの集合
を含む退避オブジェクトs>を作ることとする(参照)。
SaveState>演算子は、SaveGraphicsState>演算子を論理的に実行
することにより作図状態を退避する。