PostScriptというページ記述言語で書かれた文書はそのまま文字列としてプ リンターに送られます。その文字列がPostScriptプリンターによって解読され て紙の上の線やパターン、文字などに変換されていきます。文字列の表すコマ ンドは一種独特の文法にしたがっています。逆ポーランド記法と呼ばれるもの です。
通常の計算機言語やシェルコマンドではまずコマンドを与えて、文字で書く ならその左側に必要なパラメータや引数を与えます。ところが逆ポーランド記 法では全く違う発想で引数を与えます。スタックという概念があります。Last In First Outといってもいいでしょう。最後にいれたデータが最初に取り出さ れるような棚を考えます。別に特殊なものではありません。あなたの机の上の その書類の山もスタックです。最後に乗せた書類が最初に取り出せるわけです から。逆ポーランド記法ではこのスタックを引数のやり取りに使います。ある コマンドはスタックからデータを取り出してそれを引数として使うと決まって います。そのコマンドを使うときはあらかじめスタックに引数を入れておく必 要があります。
具体的な例で考えましょう。座標X=100、Y=200まで線を引きましょう。 linetoというコマンドが使えます。このlinetoコマンドはスタックからデータ を取り出しそれをY座標とします。つぎにもう一つスタックからデータを取り 出しX座標とします。そのうえでその点( X,Y)まで線を引きます。これを次の ように表現します。
100 200 lineto
最初に100と書いてあります。これは値100をスタックに押し込むことを表しま す(プッシュするともいいます)。次の200も同様にスタックに突っ込まれます。 この結果スタックの一番上に200が、その下に100が入っています。linetoコマ ンドが解読されるとまずスタックの一番上に入っている200が取り出されます (ポップするともいいます)。その結果スタックの一番上は100になります。次 にスタックから100を取り出して線を引きます。この段階ではスタックは空に なります。
この一風かわった文法でこの章は書かれています。スタックにいくつデータ が入っているかを間違えるととんでもないことになってきます。文法的にはそ のような間違いを検出する方法がないのでプログラミング言語としては好まし いものではありません。人間が手で書くための言語というよりは計算機がプロ グラムで自動生成するためのものと考えたほうがよいでしょう。