<> <> <> <> _ &streams _ ViewerIO.CreateViewerStreams["PostScript"] _ PSLanguage1Impl.Create[&streams.in, &streams.out] <> <> <> <> <> <> <> <> <<0 1 2 3 altflag altin altname altout altprint appletalkclose appletalkopen batchidleproc baud25 baud9 commhash dexch exchdef execjob exitserver fontname hashcommparams initprinter intidleproc parity25 parity9 printerstatus protect saveswitch sccok secretdict sendctrld server setnulldevice setrealdevice setsccstreams setstreams settimeouts specialswitch startpage stdin stdname stdout switchclose switchopen transparent warmedup watchstreams wtimeout >> <> systemdict { dup type /operatortype eq { pop pop } { exch ==print ==print (def\n) = } ifelse } forall userdict { exch ==print ==print (def\n) = } forall systemdict { type /operatortype eq { pop } { dup xcheck { = } { pop } ifelse } ifelse } forall <<% VM consumption by dictionaries:>> /vmused { vmstatus pop exch pop } def /vm { vmused = } def /dictvm { 0 begin /max exch def /vcur vmused def /dcur 0 def 1 1 max { dup dict pop /vprev vcur def /dprev dcur def /vcur vmused def /dcur vcur vprev sub def dup =print (: ) print dcur =print (, ) print dcur dprev sub =print ( [) print dcur exch div =print (]\n) print } for end } dup 0 10 dict put def <<% VM consumption by arrays:>> /vmused { vmstatus pop exch pop } def /arrayvm { 0 begin /max exch def /vcur vmused def /dcur 0 def 1 1 max { dup array pop /vprev vcur def /dprev dcur def /vcur vmused def /dcur vcur vprev sub def dup =print (: ) print dcur =print (, ) print dcur dprev sub =print ( [) print dcur exch div =print (]\n) print } for end } dup 0 10 dict put def <<% VM consumption by packedarrays:>> <<% small integers [-1..18] take 1 byte>> <<% reals 0.0, 1.0, -1.0 take 1 byte>> <<% booleans take 1 byte>> <<% strings of length [1..32] take 3 bytes>> <<% names take 2 bytes>> <<% operators take 2 bytes>> <<% everything else takes 9 bytes>> <<>> /vmused { vmstatus pop exch pop } def /packedarrayvm { 0 begin /ob exch def /max exch def /vprev 0 def /dprev 0 def /dcur 0 def /n 0 def /vcur vmused def 1 1 max { /n exch def n { /ob load } repeat n packedarray pop /vprev vcur def /dprev dcur def /vcur vmused def /dcur vcur vprev sub def n =print (: ) print dcur =print (, ) print dcur dprev sub =print ( [) print dcur n div =print (]\n) print } for end } dup 0 10 dict put def <<% serverdict contents:>> <> <> <<0 { clearinterrupt^ disableinterrupt^ -dict- begin^ /watchstreams load^ UseIdleTime setrealdevice -dict- begin^ /idleproc { /idleproc { } readonly def^ -dict- begin^ 0 defaulttimeouts^ pop^ exch^ pop^ 0 settimeouts end^ } readonly def^ end^ protect defaulttimeouts^ settimeouts enableinterrupt^ stdin end^ cvx^ exec^ disableinterrupt^ } readonly def>> <<1 { clearinterrupt^ disableinterrupt^ -dict- begin^ /watchstreams load^ UseIdleTime setrealdevice -dict- begin^ /idleproc { /idleproc { } readonly def^ -dict- begin^ 0 defaulttimeouts^ pop^ exch^ pop^ 0 settimeouts end^ } readonly def^ end^ protect defaulttimeouts^ settimeouts enableinterrupt^ stdin end^ cvx^ exec^ disableinterrupt^ } readonly def>> <> <> <> <<2 { 58 eescratch^ dup^ -dict- exch^ known^ { } readonly { pop^ 0 } readonly ifelse^ -dict- exch^ get^ exec^ } readonly def>> <> <> <> <<3 { clearinterrupt^ disableinterrupt^ -dict- begin^ /watchstreams load^ UseIdleTime setrealdevice -dict- begin^ /idleproc { /idleproc { } readonly def^ -dict- begin^ 0 defaulttimeouts^ pop^ exch^ pop^ 0 settimeouts end^ } readonly def^ end^ protect defaulttimeouts^ settimeouts enableinterrupt^ stdin end^ cvx^ exec^ disableinterrupt^ } readonly def>> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <<>>