%!PS-Adobe-2.0 EPSF-1.2 %%BoundingBox: -5 155 200 305 %%Creator: Reini Urban (Copyright 2009) %require "common.ps" %require "box.ps" %require "rect.ps" %require "ptr.ps" %require "mws.ps" % start and root pointing to the "optree" linked list with args pointing to pads and ops % enter nextstate gvsv const add gvsv sassign leave % $b 42 $a /Courier 10 SF 0 304 15 sub M (main_root) show 0 304 30 sub M (main_start) show 65 292.5 80 292.5 ptrn 65 292.5 15 sub 80 292.5 15 sub ptrn 80 300 9 box %% better would be a small space between, as it is a linked list, no struct /Helvetica 11 SF 85 303 15 sub M [()(enter)(nextstate)(gvsv)(const)(add)(gvsv)(sassign)(leave)] { gsave currentpoint 30 mws pop grestore 0 -15 rmoveto } forall 160 292.5 15 3 mul sub 130 292.5 15 3 mul sub ptrn % gvsv 160 292.5 15 4 mul sub 130 292.5 15 4 mul sub ptrn % const 160 292.5 15 6 mul sub 130 292.5 15 6 mul sub ptrn % const 165 303 15 sub 15 3 mul sub M (SV $b) show 165 303 15 sub 15 4 mul sub M (IV 42) show 165 303 15 sub 15 6 mul sub M (SV $a) show