Whitespace を PostScript に変換するには
多倍長整数が面倒なのだけど、それは放置するとして、フロー制御の部分をどう置き換えればいいか考えてみた。全く確かめていないので正しさの保証は 0 である。
- Whitespace プログラムの開始前
- /heap 65535 array def /main{
- Whitespace プログラムの終わり
- }def main
- label A
- A}def/A{
- call A
- A
- jump A
- A}def/C{
- jz A
- 0 eq{A}{B}ifelse}def/B{
- jn A
- 0 lt{A}{B}ifelse}def/B{
- return
- }def/C{
- exit
- quit}def/C{
/A はラベルと一対一対応。/B は一意な名前を適当に。/C{...}def は恐らく使われない。