diff --git a/doc/assoc.eps b/doc/assoc.eps new file mode 100644 index 0000000000..f68370f5c4 --- /dev/null +++ b/doc/assoc.eps @@ -0,0 +1,293 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: assoc.fig +%%Creator: fig2dev Version 3.2 Patchlevel 4 +%%CreationDate: Wed Apr 27 23:52:59 2005 +%%For: slava@emu.localdomain (Slava) +%%BoundingBox: 0 0 389 141 +%%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def + +end +save +newpath 0 141 moveto 0 0 lineto 389 0 lineto 389 141 lineto closepath clip newpath +-0.4 139.5 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def +/reencdict 12 dict def /ReEncode { reencdict begin +/newcodesandnames exch def /newfontname exch def /basefontname exch def +/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def +basefontdict { exch dup /FID ne { dup /Encoding eq +{ exch dup length array copy newfont 3 1 roll put } +{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall +newfont /FontName newfontname put newcodesandnames aload pop +128 1 255 { newfont /Encoding get exch /.notdef put } for +newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat +newfontname newfont definefont pop end } def +/isovec [ +8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde +8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis +8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron +8#220 /dotlessi 8#230 /oe 8#231 /OE +8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling +8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis +8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot +8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus +8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph +8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine +8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf +8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute +8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring +8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute +8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute +8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve +8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply +8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex +8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave +8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring +8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute +8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute +8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve +8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide +8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex +8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def +/Courier /Courier-iso isovec ReEncode +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +10 setmiterlimit +0 slj 0 slc + 0.06000 0.06000 sc +% +% Fig objects follow +% +% +% here starts figure with depth 50 +/Courier-iso ff 270.00 scf sf +5550 2325 m +gs 1 -1 sc ("Extra Hot") dup sw pop 2 div neg 0 rm col0 sh gr +% Polyline +7.500 slw +n 1350 0 m 2100 0 l 2100 450 l 1350 450 l + cp gs col0 s gr +% Polyline +n 2700 0 m 3450 0 l 3450 450 l 2700 450 l + cp gs col0 s gr +% Polyline +n 3450 0 m 4200 0 l 4200 450 l 3450 450 l + cp gs col0 s gr +% Polyline +n 4800 0 m 5550 0 l 5550 450 l 4800 450 l + cp gs col0 s gr +% Polyline +n 5550 0 m 6300 0 l 6300 450 l 5550 450 l + cp gs col0 s gr +% Polyline +n 225 975 m 975 975 l 975 1425 l 225 1425 l + cp gs col0 s gr +% Polyline +n 975 975 m 1725 975 l 1725 1425 l 975 1425 l + cp gs col0 s gr +% Polyline +n 2325 975 m 3075 975 l 3075 1425 l 2325 1425 l + cp gs col0 s gr +% Polyline +n 3075 975 m 3825 975 l 3825 1425 l 3075 1425 l + cp gs col0 s gr +% Polyline +n 4425 975 m 5175 975 l 5175 1425 l 4425 1425 l + cp gs col0 s gr +% Polyline +n 5175 975 m 5925 975 l 5925 1425 l 5175 1425 l + cp gs col0 s gr +% Polyline +gs clippath +945 990 m 1005 990 l 1005 838 l 975 958 l 945 838 l cp +eoclip +n 975 225 m + 975 975 l gs col0 s gr gr + +% arrowhead +n 945 838 m 975 958 l 1005 838 l col0 s +% Polyline +gs clippath +3045 990 m 3105 990 l 3105 838 l 3075 958 l 3045 838 l cp +eoclip +n 3075 225 m + 3075 975 l gs col0 s gr gr + +% arrowhead +n 3045 838 m 3075 958 l 3105 838 l col0 s +% Polyline +gs clippath +5145 990 m 5205 990 l 5205 838 l 5175 958 l 5145 838 l cp +eoclip +n 5175 225 m + 5175 975 l gs col0 s gr gr + +% arrowhead +n 5145 838 m 5175 958 l 5205 838 l col0 s +% Polyline +gs clippath +2715 255 m 2715 195 l 2563 195 l 2683 225 l 2563 255 l cp +eoclip +n 1725 225 m + 2700 225 l gs col0 s gr gr + +% arrowhead +n 2563 255 m 2683 225 l 2563 195 l col0 s +% Polyline +gs clippath +4815 255 m 4815 195 l 4663 195 l 4783 225 l 4663 255 l cp +eoclip +n 3825 225 m + 4800 225 l gs col0 s gr gr + +% arrowhead +n 4663 255 m 4783 225 l 4663 195 l col0 s +% Polyline +n 5550 450 m + 6300 0 l gs col0 s gr +% Polyline +gs clippath +570 1740 m 630 1740 l 630 1588 l 600 1708 l 570 1588 l cp +eoclip +n 600 1200 m + 600 1725 l gs col0 s gr gr + +% arrowhead +n 570 1588 m 600 1708 l 630 1588 l col0 s +% Polyline +gs clippath +1320 2115 m 1380 2115 l 1380 1963 l 1350 2083 l 1320 1963 l cp +eoclip +n 1350 1200 m + 1350 2100 l gs col0 s gr gr + +% arrowhead +n 1320 1963 m 1350 2083 l 1380 1963 l col0 s +% Polyline +gs clippath +2670 1740 m 2730 1740 l 2730 1588 l 2700 1708 l 2670 1588 l cp +eoclip +n 2700 1200 m + 2700 1725 l gs col0 s gr gr + +% arrowhead +n 2670 1588 m 2700 1708 l 2730 1588 l col0 s +% Polyline +gs clippath +3420 2115 m 3480 2115 l 3480 1963 l 3450 2083 l 3420 1963 l cp +eoclip +n 3450 1200 m + 3450 2100 l gs col0 s gr gr + +% arrowhead +n 3420 1963 m 3450 2083 l 3480 1963 l col0 s +% Polyline +gs clippath +4770 1740 m 4830 1740 l 4830 1588 l 4800 1708 l 4770 1588 l cp +eoclip +n 4800 1200 m + 4800 1725 l gs col0 s gr gr + +% arrowhead +n 4770 1588 m 4800 1708 l 4830 1588 l col0 s +% Polyline +gs clippath +5520 2115 m 5580 2115 l 5580 1963 l 5550 2083 l 5520 1963 l cp +eoclip +n 5550 1200 m + 5550 2100 l gs col0 s gr gr + +% arrowhead +n 5520 1963 m 5550 2083 l 5580 1963 l col0 s +/Courier-iso ff 270.00 scf sf +600 1950 m +gs 1 -1 sc ("Salsa") dup sw pop 2 div neg 0 rm col0 sh gr +/Courier-iso ff 270.00 scf sf +2550 1950 m +gs 1 -1 sc ("Stir-Fry") dup sw pop 2 div neg 0 rm col0 sh gr +/Courier-iso ff 270.00 scf sf +4725 1950 m +gs 1 -1 sc ("Peppers") dup sw pop 2 div neg 0 rm col0 sh gr +/Courier-iso ff 270.00 scf sf +1350 2325 m +gs 1 -1 sc ("Hot") dup sw pop 2 div neg 0 rm col0 sh gr +/Courier-iso ff 270.00 scf sf +3450 2325 m +gs 1 -1 sc ("Medium") dup sw pop 2 div neg 0 rm col0 sh gr +% Polyline +n 600 0 m 1350 0 l 1350 450 l 600 450 l + cp gs col0 s gr +% here ends figure; +$F2psEnd +rs +showpage diff --git a/doc/catchstack.eps b/doc/catchstack.eps new file mode 100644 index 0000000000..506528a00f --- /dev/null +++ b/doc/catchstack.eps @@ -0,0 +1,274 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: catchstack.fig +%%Creator: fig2dev Version 3.2 Patchlevel 4 +%%CreationDate: Thu Apr 28 21:42:33 2005 +%%For: slava@emu.localdomain (Slava) +%%BoundingBox: 0 0 591 297 +%%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def +/col32 {0.773 0.715 0.590 srgb} bind def +/col33 {0.934 0.969 0.996 srgb} bind def +/col34 {0.859 0.793 0.648 srgb} bind def +/col35 {0.250 0.250 0.250 srgb} bind def +/col36 {0.500 0.500 0.500 srgb} bind def +/col37 {0.750 0.750 0.750 srgb} bind def +/col38 {0.875 0.875 0.875 srgb} bind def +/col39 {0.555 0.559 0.555 srgb} bind def +/col40 {0.664 0.664 0.664 srgb} bind def +/col41 {0.332 0.332 0.332 srgb} bind def +/col42 {0.555 0.555 0.555 srgb} bind def +/col43 {0.840 0.840 0.840 srgb} bind def +/col44 {0.680 0.680 0.680 srgb} bind def +/col45 {0.742 0.742 0.742 srgb} bind def +/col46 {0.316 0.316 0.316 srgb} bind def +/col47 {0.902 0.887 0.902 srgb} bind def +/col48 {0.000 0.000 0.285 srgb} bind def +/col49 {0.473 0.473 0.473 srgb} bind def +/col50 {0.188 0.203 0.188 srgb} bind def +/col51 {0.254 0.254 0.254 srgb} bind def +/col52 {0.777 0.711 0.586 srgb} bind def +/col53 {0.254 0.270 0.254 srgb} bind def +/col54 {0.387 0.387 0.387 srgb} bind def +/col55 {0.801 0.801 0.801 srgb} bind def +/col56 {0.422 0.422 0.422 srgb} bind def + +end +save +newpath 0 297 moveto 0 0 lineto 591 0 lineto 591 297 lineto closepath clip newpath +0.7 295.9 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +10 setmiterlimit +0 slj 0 slc + 0.06000 0.06000 sc +% +% Fig objects follow +% +% +% here starts figure with depth 50 +/Courier ff 270.00 scf sf +0 4125 m +gs 1 -1 sc ([ "foe's catch block" print rethrow ]) col0 sh gr +% Polyline +7.500 slw +n 1650 600 m 2400 600 l 2400 1050 l 1650 1050 l + cp gs col0 s gr +% Polyline +n 3075 600 m 3825 600 l 3825 1050 l 3075 1050 l + cp gs col0 s gr +% Polyline +n 3825 600 m 4575 600 l 4575 1050 l 3825 1050 l + cp gs col0 s gr +% Polyline +n 5250 600 m 6000 600 l 6000 1050 l 5250 1050 l + cp gs col0 s gr +% Polyline +n 6000 600 m 6750 600 l 6750 1050 l 6000 1050 l + cp gs col0 s gr +% Polyline +2 slj +gs clippath +1396 617 m 1456 612 l 1444 461 l 1424 583 l 1384 465 l cp +eoclip +n 0 0 m 1 0 l 4 0 l 9 0 l 18 0 l 29 0 l + 44 0 l 63 1 l 86 1 l 112 1 l 142 2 l + 174 3 l 209 4 l 246 6 l 285 7 l 326 9 l + 367 12 l 410 15 l 452 18 l 496 22 l 540 27 l + 584 32 l 629 39 l 674 46 l 720 54 l 767 64 l + 814 74 l 861 86 l 909 100 l 957 115 l 1004 132 l + 1050 150 l 1103 174 l 1150 199 l 1192 224 l 1229 249 l + 1261 273 l 1289 298 l 1312 322 l 1332 345 l 1349 369 l + 1364 392 l 1376 415 l 1386 437 l 1395 459 l 1402 481 l + 1407 501 l 1412 520 l 1416 538 l 1419 553 l 1421 567 l + 1423 578 l 1424 587 l + 1425 600 l gs col0 s gr gr + +% arrowhead +0 slj +n 1384 465 m 1424 583 l 1444 461 l col0 s +% Polyline +gs clippath +3090 855 m 3090 795 l 2938 795 l 3058 825 l 2938 855 l cp +eoclip +n 2025 825 m + 3075 825 l gs col0 s gr gr + +% arrowhead +n 2938 855 m 3058 825 l 2938 795 l col0 s +% Polyline +gs clippath +5595 2040 m 5655 2040 l 5655 1888 l 5625 2008 l 5595 1888 l cp +eoclip +n 5625 825 m + 5625 2025 l gs col0 s gr gr + +% arrowhead +n 5595 1888 m 5625 2008 l 5655 1888 l col0 s +% Polyline +n 6000 1050 m + 6750 600 l gs col0 s gr +% Polyline +gs clippath +5265 855 m 5265 795 l 5113 795 l 5233 825 l 5113 855 l cp +eoclip +n 4200 825 m + 5250 825 l gs col0 s gr gr + +% arrowhead +n 5113 855 m 5233 825 l 5113 795 l col0 s +% Polyline +gs clippath +3420 3015 m 3480 3015 l 3480 2863 l 3450 2983 l 3420 2863 l cp +eoclip +n 3450 825 m + 3450 3000 l gs col0 s gr gr + +% arrowhead +n 3420 2863 m 3450 2983 l 3480 2863 l col0 s +% Polyline +gs clippath +1245 3990 m 1305 3990 l 1305 3838 l 1275 3958 l 1245 3838 l cp +eoclip +n 1275 825 m + 1275 3975 l gs col0 s gr gr + +% arrowhead +n 1245 3838 m 1275 3958 l 1305 3838 l col0 s +% Polyline +2 slj +gs clippath +7734 2442 m 7693 2486 l 7804 2589 l 7737 2486 l 7845 2545 l cp +eoclip +n 6900 3300 m 6901 3301 l 6904 3302 l 6909 3304 l 6917 3308 l 6928 3314 l + 6944 3321 l 6964 3330 l 6988 3342 l 7016 3355 l 7049 3371 l + 7087 3389 l 7129 3408 l 7175 3430 l 7225 3453 l 7278 3477 l + 7334 3503 l 7393 3529 l 7453 3556 l 7515 3584 l 7579 3612 l + 7643 3640 l 7708 3667 l 7772 3695 l 7837 3721 l 7901 3747 l + 7965 3772 l 8028 3796 l 8089 3819 l 8150 3840 l 8209 3860 l + 8267 3878 l 8323 3894 l 8378 3908 l 8431 3921 l 8481 3931 l + 8530 3938 l 8576 3943 l 8619 3944 l 8658 3943 l 8694 3938 l + 8726 3929 l 8753 3917 l 8775 3900 l 8791 3878 l 8801 3852 l + 8805 3823 l 8804 3791 l 8797 3756 l 8786 3719 l 8770 3680 l + 8750 3639 l 8727 3597 l 8700 3554 l 8671 3509 l 8638 3463 l + 8604 3417 l 8566 3369 l 8527 3321 l 8486 3272 l 8443 3222 l + 8399 3172 l 8354 3122 l 8308 3071 l 8262 3021 l 8215 2971 l + 8168 2922 l 8122 2875 l 8077 2828 l 8034 2783 l 7992 2741 l + 7952 2701 l 7915 2663 l 7881 2629 l 7850 2598 l 7823 2571 l + 7799 2548 l 7779 2528 l 7762 2512 l 7749 2499 l 7740 2489 l + + 7725 2475 l gs col0 s gr gr + +% arrowhead +0 slj +n 7845 2545 m 7737 2486 l 7804 2589 l col0 s +% Polyline +2 slj +gs clippath +6234 3417 m 6193 3461 l 6304 3564 l 6237 3461 l 6345 3520 l cp +eoclip +n 5400 4275 m 5401 4276 l 5404 4277 l 5409 4279 l 5417 4283 l 5428 4289 l + 5444 4296 l 5464 4305 l 5488 4317 l 5516 4330 l 5549 4346 l + 5587 4364 l 5629 4383 l 5675 4405 l 5725 4428 l 5778 4452 l + 5834 4478 l 5893 4504 l 5953 4531 l 6015 4559 l 6079 4587 l + 6143 4615 l 6208 4642 l 6272 4670 l 6337 4696 l 6401 4722 l + 6465 4747 l 6528 4771 l 6589 4794 l 6650 4815 l 6709 4835 l + 6767 4853 l 6823 4869 l 6878 4883 l 6931 4896 l 6981 4906 l + 7030 4913 l 7076 4918 l 7119 4919 l 7158 4918 l 7194 4913 l + 7226 4904 l 7253 4892 l 7275 4875 l 7291 4853 l 7301 4827 l + 7305 4798 l 7304 4766 l 7297 4731 l 7286 4694 l 7270 4655 l + 7250 4614 l 7227 4572 l 7200 4529 l 7171 4484 l 7138 4438 l + 7104 4392 l 7066 4344 l 7027 4296 l 6986 4247 l 6943 4197 l + 6899 4147 l 6854 4097 l 6808 4046 l 6762 3996 l 6715 3946 l + 6668 3897 l 6622 3850 l 6577 3803 l 6534 3758 l 6492 3716 l + 6452 3676 l 6415 3638 l 6381 3604 l 6350 3573 l 6323 3546 l + 6299 3523 l 6279 3503 l 6262 3487 l 6249 3474 l 6240 3464 l + + 6225 3450 l gs col0 s gr gr + +% arrowhead +0 slj +n 6345 3520 m 6237 3461 l 6304 3564 l col0 s +/Courier ff 270.00 scf sf +3900 2325 m +gs 1 -1 sc ([ [ "Exception: " write . ] when* ]) col0 sh gr +/Courier ff 270.00 scf sf +1650 3225 m +gs 1 -1 sc ([ "fie's catch block" print rethrow ]) col0 sh gr +% Polyline +n 900 600 m 1650 600 l 1650 1050 l 900 1050 l + cp gs col0 s gr +% here ends figure; +$F2psEnd +rs +showpage diff --git a/doc/catchstack.fig b/doc/catchstack.fig new file mode 100644 index 0000000000..4b0662a788 --- /dev/null +++ b/doc/catchstack.fig @@ -0,0 +1,88 @@ +#FIG 3.2 +Landscape +Center +Inches +Letter +100.00 +Single +-2 +1200 2 +0 32 #c6b797 +0 33 #eff8ff +0 34 #dccba6 +0 35 #404040 +0 36 #808080 +0 37 #c0c0c0 +0 38 #e0e0e0 +0 39 #8e8f8e +0 40 #aaaaaa +0 41 #555555 +0 42 #8e8e8e +0 43 #d7d7d7 +0 44 #aeaeae +0 45 #bebebe +0 46 #515151 +0 47 #e7e3e7 +0 48 #000049 +0 49 #797979 +0 50 #303430 +0 51 #414141 +0 52 #c7b696 +0 53 #414541 +0 54 #636363 +0 55 #cdcdcd +0 56 #6c6c6c +6 0 0 9675 5100 +6 900 600 2400 1050 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 900 600 1650 600 1650 1050 900 1050 900 600 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 1650 600 2400 600 2400 1050 1650 1050 1650 600 +-6 +6 3075 600 4575 1050 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 3075 600 3825 600 3825 1050 3075 1050 3075 600 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 3825 600 4575 600 4575 1050 3825 1050 3825 600 +-6 +6 5250 600 6750 1050 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 5250 600 6000 600 6000 1050 5250 1050 5250 600 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 6000 600 6750 600 6750 1050 6000 1050 6000 600 +-6 +6 0 0 1425 600 +3 2 0 1 0 7 50 -1 -1 0.000 0 1 0 3 + 0 0 1.00 60.00 120.00 + 0 0 1050 150 1425 600 + 0.000 -1.000 0.000 +-6 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 0 0 1.00 60.00 120.00 + 2025 825 3075 825 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 0 0 1.00 60.00 120.00 + 5625 825 5625 2025 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 6000 1050 6750 600 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 0 0 1.00 60.00 120.00 + 4200 825 5250 825 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 0 0 1.00 60.00 120.00 + 3450 825 3450 3000 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 0 0 1.00 60.00 120.00 + 1275 825 1275 3975 +3 2 0 1 0 7 50 -1 -1 0.000 0 1 0 3 + 0 0 1.00 60.00 120.00 + 6900 3300 8775 3900 7725 2475 + 0.000 -1.000 0.000 +3 2 0 1 0 7 50 -1 -1 0.000 0 1 0 3 + 0 0 1.00 60.00 120.00 + 5400 4275 7275 4875 6225 3450 + 0.000 -1.000 0.000 +4 0 0 50 -1 12 18 0.0000 4 225 5775 3900 2325 [ [ "Exception: " write . ] when* ]\001 +4 0 0 50 -1 12 18 0.0000 4 225 6105 1650 3225 [ "fie's catch block" print rethrow ]\001 +4 0 0 50 -1 12 18 0.0000 4 225 6105 0 4125 [ "foe's catch block" print rethrow ]\001 +-6 diff --git a/doc/cons.eps b/doc/cons.eps new file mode 100644 index 0000000000..9e340f424b --- /dev/null +++ b/doc/cons.eps @@ -0,0 +1,147 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: cons.fig +%%Creator: fig2dev Version 3.2 Patchlevel 4 +%%CreationDate: Wed Apr 27 21:12:41 2005 +%%For: slava@emu.localdomain (Slava) +%%BoundingBox: 0 0 182 137 +%%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def + +end +save +newpath 0 137 moveto 0 0 lineto 182 0 lineto 182 137 lineto closepath clip newpath +0.7 135.7 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +10 setmiterlimit +0 slj 0 slc + 0.06000 0.06000 sc +% +% Fig objects follow +% +% +% here starts figure with depth 50 +/Courier ff 540.00 scf sf +225 375 m +gs 1 -1 sc (1) col0 sh gr +% Polyline +7.500 slw +gs clippath +1095 915 m 1155 915 l 1155 763 l 1125 883 l 1095 763 l cp +eoclip +n 1125 225 m + 1125 900 l gs col0 s gr gr + +% arrowhead +n 1095 763 m 1125 883 l 1155 763 l col0 s +% Polyline +n 0 0 m 750 0 l 750 450 l 0 450 l + cp gs col0 s gr +% Polyline +n 1500 900 m 2250 900 l 2250 1350 l 1500 1350 l + cp gs col0 s gr +% Polyline +gs clippath +1845 1815 m 1905 1815 l 1905 1663 l 1875 1783 l 1845 1663 l cp +eoclip +n 1875 1125 m + 1875 1800 l gs col0 s gr gr + +% arrowhead +n 1845 1663 m 1875 1783 l 1905 1663 l col0 s +% Polyline +n 750 900 m 1500 900 l 1500 1350 l 750 1350 l + cp gs col0 s gr +% Polyline +n 1500 1800 m 2250 1800 l 2250 2250 l 1500 2250 l + cp gs col0 s gr +% Polyline +n 2250 1800 m 3000 1800 l 3000 2250 l 2250 2250 l + cp gs col0 s gr +% Polyline +n 2250 2250 m + 3000 1800 l gs col0 s gr +/Courier ff 540.00 scf sf +975 1275 m +gs 1 -1 sc (2) col0 sh gr +/Courier ff 540.00 scf sf +1725 2175 m +gs 1 -1 sc (3) col0 sh gr +% Polyline +n 750 0 m 1500 0 l 1500 450 l 750 450 l + cp gs col0 s gr +% here ends figure; +$F2psEnd +rs +showpage diff --git a/doc/interpreter.eps b/doc/interpreter.eps new file mode 100644 index 0000000000..2fbe308608 --- /dev/null +++ b/doc/interpreter.eps @@ -0,0 +1,505 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: interpreter.dia +%%Creator: Dia v0.94 +%%CreationDate: Wed Apr 27 23:34:54 2005 +%%For: slava +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 578 592 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/Times-Roman-latin1 + /Times-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-Italic-latin1 + /Times-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-Bold-latin1 + /Times-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-BoldItalic-latin1 + /Times-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-Book-latin1 + /AvantGarde-Book findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-BookOblique-latin1 + /AvantGarde-BookOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-Demi-latin1 + /AvantGarde-Demi findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-DemiOblique-latin1 + /AvantGarde-DemiOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-Light-latin1 + /Bookman-Light findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-LightItalic-latin1 + /Bookman-LightItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-Demi-latin1 + /Bookman-Demi findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-DemiItalic-latin1 + /Bookman-DemiItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-latin1 + /Courier findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-Oblique-latin1 + /Courier-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-Bold-latin1 + /Courier-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-BoldOblique-latin1 + /Courier-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-latin1 + /Helvetica findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Oblique-latin1 + /Helvetica-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Bold-latin1 + /Helvetica-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-BoldOblique-latin1 + /Helvetica-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-latin1 + /Helvetica-Narrow findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-Oblique-latin1 + /Helvetica-Narrow-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-Bold-latin1 + /Helvetica-Narrow-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-BoldOblique-latin1 + /Helvetica-Narrow-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Roman-latin1 + /NewCenturySchoolbook-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Italic-latin1 + /NewCenturySchoolbook-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Bold-latin1 + /NewCenturySchoolbook-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-BoldItalic-latin1 + /NewCenturySchoolbook-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Roman-latin1 + /Palatino-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Italic-latin1 + /Palatino-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Bold-latin1 + /Palatino-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-BoldItalic-latin1 + /Palatino-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Symbol-latin1 + /Symbol findfont +definefont pop +/ZapfChancery-MediumItalic-latin1 + /ZapfChancery-MediumItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/ZapfDingbats-latin1 + /ZapfDingbats findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +28.346000 -28.346000 scale +1.050000 -22.149700 translate +%%EndProlog + + +1.000000 1.000000 1.000000 srgb +n 7.417767 1.333300 m 15.185534 3.275242 l 7.417767 5.217183 l -0.350000 3.275242 l ef +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 7.417767 1.333300 m 15.185534 3.275242 l 7.417767 5.217183 l -0.350000 3.275242 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Is the callframe equal to f?) dup sw 2 div 7.417767 ex sub 3.475242 m gs 1 -1 sc sh gr +1.000000 1.000000 1.000000 srgb +n 13.204300 6.315370 m 13.204300 9.015370 l 18.654300 9.015370 l 18.654300 6.315370 l f +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 13.204300 6.315370 m 13.204300 9.015370 l 18.654300 9.015370 l 18.654300 6.315370 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Pop call stack) dup sw 2 div 15.929300 ex sub 7.465370 m gs 1 -1 sc sh gr +(into callframe) dup sw 2 div 15.929300 ex sub 8.265370 m gs 1 -1 sc sh gr +1.000000 1.000000 1.000000 srgb +n 7.430363 7.787500 m 14.488729 9.949211 l 7.430363 12.110922 l 0.371996 9.949211 l ef +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 7.430363 7.787500 m 14.488729 9.949211 l 7.430363 12.110922 l 0.371996 9.949211 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Is the car of the) dup sw 2 div 7.430363 ex sub 9.749211 m gs 1 -1 sc sh gr +(callframe a word?) dup sw 2 div 7.430363 ex sub 10.549211 m gs 1 -1 sc sh gr +1.000000 1.000000 1.000000 srgb +n 1.481360 13.637600 m 1.481360 16.337600 l 6.331360 16.337600 l 6.331360 13.637600 l f +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 1.481360 13.637600 m 1.481360 16.337600 l 6.331360 16.337600 l 6.331360 13.637600 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Push car on) dup sw 2 div 3.906360 ex sub 14.787600 m gs 1 -1 sc sh gr +(data stack) dup sw 2 div 3.906360 ex sub 15.587600 m gs 1 -1 sc sh gr +1.000000 1.000000 1.000000 srgb +n 8.004240 12.950000 m 8.004240 17.250000 l 13.954240 17.250000 l 13.954240 12.950000 l f +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 8.004240 12.950000 m 8.004240 17.250000 l 13.954240 17.250000 l 13.954240 12.950000 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Execute car:) dup sw 2 div 10.979240 ex sub 14.100000 m gs 1 -1 sc sh gr +(compound defs) dup sw 2 div 10.979240 ex sub 14.900000 m gs 1 -1 sc sh gr +(symbols) dup sw 2 div 10.979240 ex sub 15.700000 m gs 1 -1 sc sh gr +(primitives) dup sw 2 div 10.979240 ex sub 16.500000 m gs 1 -1 sc sh gr +1.000000 1.000000 1.000000 srgb +n 4.025000 18.750000 m 4.025000 21.450000 l 10.275000 21.450000 l 10.275000 18.750000 l f +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 4.025000 18.750000 m 4.025000 21.450000 l 10.275000 21.450000 l 10.275000 18.750000 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Set call frame to) dup sw 2 div 7.150000 ex sub 19.900000 m gs 1 -1 sc sh gr +(call frame's cdr) dup sw 2 div 7.150000 ex sub 20.700000 m gs 1 -1 sc sh gr +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.417770 5.217190 m 7.429265 7.563896 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 7.177366 7.176928 m 7.429812 7.675698 l 7.677360 7.174479 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.959500 11.030100 m 10.976941 12.726405 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 10.722963 12.340799 m 10.978091 12.838203 l 11.222937 12.335659 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.901180 11.030100 m 3.905916 13.413994 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 3.655145 13.026294 m 3.906138 13.525797 l 4.155144 13.025301 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.979240 17.250000 m 8.898975 18.626602 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 9.084744 18.203888 m 8.805737 18.688301 l 9.360671 18.620859 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 3.906360 16.337600 m 5.459655 18.566545 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 5.032599 18.390990 m 5.523578 18.658273 l 5.442816 18.105120 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 7.150000 21.450000 m 7.150000 22.099700 l -1.000000 22.099700 l -1.000000 1.319040 l 3.533880 1.319040 l 3.533880 2.080663 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 3.283880 1.692467 m 3.533880 2.192467 l 3.783880 1.692467 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 11.301700 4.246220 m 14.377925 6.195677 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 13.916206 6.199050 m 14.472363 6.255523 l 14.183847 5.776714 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 15.929300 9.015370 m 15.929300 9.639660 l 19.267400 9.639660 l 19.267400 1.319040 l 11.301700 1.319040 l 11.301700 2.080663 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 11.051700 1.692467 m 11.301700 2.192467 l 11.551700 1.692467 l s +/Helvetica-latin1 ff 0.560000 scf sf +(No) 6.450000 6.519040 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(Yes) 13.350000 5.119040 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(Yes) 11.300000 12.019040 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(No) 2.750000 12.069040 m gs 1 -1 sc sh gr +showpage diff --git a/doc/namestack.eps b/doc/namestack.eps new file mode 100644 index 0000000000..539ba1cffe --- /dev/null +++ b/doc/namestack.eps @@ -0,0 +1,271 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: /usr/home/slava/work/Factor/doc/namestack.fig +%%Creator: fig2dev Version 3.2 Patchlevel 4 +%%CreationDate: Thu Apr 28 02:45:07 2005 +%%For: slava@emu.localdomain (Slava) +%%BoundingBox: 0 0 447 162 +%%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def +/col32 {0.773 0.715 0.590 srgb} bind def +/col33 {0.934 0.969 0.996 srgb} bind def +/col34 {0.859 0.793 0.648 srgb} bind def +/col35 {0.250 0.250 0.250 srgb} bind def +/col36 {0.500 0.500 0.500 srgb} bind def +/col37 {0.750 0.750 0.750 srgb} bind def +/col38 {0.875 0.875 0.875 srgb} bind def +/col39 {0.555 0.559 0.555 srgb} bind def +/col40 {0.664 0.664 0.664 srgb} bind def +/col41 {0.332 0.332 0.332 srgb} bind def +/col42 {0.555 0.555 0.555 srgb} bind def +/col43 {0.840 0.840 0.840 srgb} bind def +/col44 {0.680 0.680 0.680 srgb} bind def +/col45 {0.742 0.742 0.742 srgb} bind def +/col46 {0.316 0.316 0.316 srgb} bind def +/col47 {0.902 0.887 0.902 srgb} bind def +/col48 {0.000 0.000 0.285 srgb} bind def +/col49 {0.473 0.473 0.473 srgb} bind def +/col50 {0.188 0.203 0.188 srgb} bind def +/col51 {0.254 0.254 0.254 srgb} bind def +/col52 {0.777 0.711 0.586 srgb} bind def +/col53 {0.254 0.270 0.254 srgb} bind def +/col54 {0.387 0.387 0.387 srgb} bind def +/col55 {0.801 0.801 0.801 srgb} bind def +/col56 {0.422 0.422 0.422 srgb} bind def + +end +save +newpath 0 162 moveto 0 0 lineto 447 0 lineto 447 162 lineto closepath clip newpath +-0.0 161.0 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +10 setmiterlimit +0 slj 0 slc + 0.06000 0.06000 sc +% +% Fig objects follow +% +% +% here starts figure with depth 50 +/Courier ff 270.00 scf sf +0 2250 m +gs 1 -1 sc (rand) col0 sh gr +% Polyline +7.500 slw +n 2325 600 m 3075 600 l 3075 1050 l 2325 1050 l + cp gs col0 s gr +% Polyline +n 5925 600 m 6675 600 l 6675 1050 l 5925 1050 l + cp gs col0 s gr +% Polyline +n 6675 600 m 7425 600 l 7425 1050 l 6675 1050 l + cp gs col0 s gr +% Polyline +n 3750 600 m 4500 600 l 4500 1050 l 3750 1050 l + cp gs col0 s gr +% Polyline +n 4500 600 m 5250 600 l 5250 1050 l 4500 1050 l + cp gs col0 s gr +% Polyline +n 3525 1650 m 4800 1650 l 4800 2250 l 3525 2250 l + cp gs col0 s gr +/Courier ff 270.00 scf sf +3600 1875 m +gs 1 -1 sc (rand 4) col0 sh gr +/Courier ff 270.00 scf sf +3600 2175 m +gs 1 -1 sc (rator 5) col0 sh gr +% Polyline +n 5700 1650 m 6975 1650 l 6975 2250 l 5700 2250 l + cp gs col0 s gr +/Courier ff 270.00 scf sf +5775 1875 m +gs 1 -1 sc (gator 2) col0 sh gr +/Courier ff 270.00 scf sf +5775 2175 m +gs 1 -1 sc (rand 3) col0 sh gr +% Polyline +n 1350 1650 m 2625 1650 l 2625 1950 l 1350 1950 l + cp gs col0 s gr +/Courier ff 270.00 scf sf +1425 1875 m +gs 1 -1 sc (rator 8) col0 sh gr +% Polyline +n 6675 1050 m + 7425 600 l gs col0 s gr +% Polyline +gs clippath +1920 1665 m 1980 1665 l 1980 1513 l 1950 1633 l 1920 1513 l cp +eoclip +n 1950 825 m + 1950 1650 l gs col0 s gr gr + +% arrowhead +n 1920 1513 m 1950 1633 l 1980 1513 l col0 s +% Polyline +gs clippath +4095 1665 m 4155 1665 l 4155 1513 l 4125 1633 l 4095 1513 l cp +eoclip +n 4125 825 m + 4125 1650 l gs col0 s gr gr + +% arrowhead +n 4095 1513 m 4125 1633 l 4155 1513 l col0 s +% Polyline +gs clippath +6270 1665 m 6330 1665 l 6330 1513 l 6300 1633 l 6270 1513 l cp +eoclip +n 6300 825 m + 6300 1650 l gs col0 s gr gr + +% arrowhead +n 6270 1513 m 6300 1633 l 6330 1513 l col0 s +% Polyline +gs clippath +3765 855 m 3765 795 l 3613 795 l 3733 825 l 3613 855 l cp +eoclip +n 2700 825 m + 3750 825 l gs col0 s gr gr + +% arrowhead +n 3613 855 m 3733 825 l 3613 795 l col0 s +% Polyline +gs clippath +5940 855 m 5940 795 l 5788 795 l 5908 825 l 5788 855 l cp +eoclip +n 4875 825 m + 5925 825 l gs col0 s gr gr + +% arrowhead +n 5788 855 m 5908 825 l 5788 795 l col0 s +% Polyline +gs clippath +1365 1830 m 1365 1770 l 1213 1770 l 1333 1800 l 1213 1830 l cp +eoclip +n 900 1800 m + 1350 1800 l gs col0 s gr gr + +% arrowhead +n 1213 1830 m 1333 1800 l 1213 1770 l col0 s +% Polyline +gs clippath +3540 1830 m 3540 1770 l 3388 1770 l 3508 1800 l 3388 1830 l cp +eoclip +n 900 2175 m 3000 2175 l 3000 1800 l + 3525 1800 l gs col0 s gr gr + +% arrowhead +n 3388 1830 m 3508 1800 l 3388 1770 l col0 s +% Polyline +gs clippath +5715 1830 m 5715 1770 l 5563 1770 l 5683 1800 l 5563 1830 l cp +eoclip +n 900 2550 m 5175 2550 l 5175 1800 l + 5700 1800 l gs col0 s gr gr + +% arrowhead +n 5563 1830 m 5683 1800 l 5563 1770 l col0 s +% Polyline +2 slj +gs clippath +2071 617 m 2131 612 l 2119 461 l 2099 583 l 2059 465 l cp +eoclip +n 675 0 m 676 0 l 679 0 l 684 0 l 693 0 l 704 0 l + 719 0 l 738 1 l 761 1 l 787 1 l 817 2 l + 849 3 l 884 4 l 921 6 l 960 7 l 1001 9 l + 1042 12 l 1085 15 l 1127 18 l 1171 22 l 1215 27 l + 1259 32 l 1304 39 l 1349 46 l 1395 54 l 1442 64 l + 1489 74 l 1536 86 l 1584 100 l 1632 115 l 1679 132 l + 1725 150 l 1778 174 l 1825 199 l 1867 224 l 1904 249 l + 1936 273 l 1964 298 l 1987 322 l 2007 345 l 2024 369 l + 2039 392 l 2051 415 l 2061 437 l 2070 459 l 2077 481 l + 2082 501 l 2087 520 l 2091 538 l 2094 553 l 2096 567 l + 2098 578 l 2099 587 l + 2100 600 l gs col0 s gr gr + +% arrowhead +0 slj +n 2059 465 m 2099 583 l 2119 461 l col0 s +/Courier ff 270.00 scf sf +0 2625 m +gs 1 -1 sc (gator) col0 sh gr +/Courier ff 270.00 scf sf +0 1875 m +gs 1 -1 sc (rator) col0 sh gr +% Polyline +n 1575 600 m 2325 600 l 2325 1050 l 1575 1050 l + cp gs col0 s gr +% here ends figure; +$F2psEnd +rs +showpage diff --git a/doc/namestack.fig b/doc/namestack.fig new file mode 100644 index 0000000000..f22858a497 --- /dev/null +++ b/doc/namestack.fig @@ -0,0 +1,114 @@ +#FIG 3.2 +Landscape +Center +Inches +Letter +100.00 +Single +-2 +1200 2 +0 32 #c6b797 +0 33 #eff8ff +0 34 #dccba6 +0 35 #404040 +0 36 #808080 +0 37 #c0c0c0 +0 38 #e0e0e0 +0 39 #8e8f8e +0 40 #aaaaaa +0 41 #555555 +0 42 #8e8e8e +0 43 #d7d7d7 +0 44 #aeaeae +0 45 #bebebe +0 46 #515151 +0 47 #e7e3e7 +0 48 #000049 +0 49 #797979 +0 50 #303430 +0 51 #414141 +0 52 #c7b696 +0 53 #414541 +0 54 #636363 +0 55 #cdcdcd +0 56 #6c6c6c +6 1575 600 3075 1050 +6 1575 600 3075 1050 +6 1575 600 3075 1050 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 1575 600 2325 600 2325 1050 1575 1050 1575 600 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 2325 600 3075 600 3075 1050 2325 1050 2325 600 +-6 +-6 +-6 +6 5925 600 7425 1050 +6 5925 600 7425 1050 +6 5925 600 7425 1050 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 5925 600 6675 600 6675 1050 5925 1050 5925 600 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 6675 600 7425 600 7425 1050 6675 1050 6675 600 +-6 +-6 +-6 +6 3750 600 5250 1050 +6 3750 600 5250 1050 +6 3750 600 5250 1050 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 3750 600 4500 600 4500 1050 3750 1050 3750 600 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 4500 600 5250 600 5250 1050 4500 1050 4500 600 +-6 +-6 +-6 +6 3525 1650 4800 2250 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 3525 1650 4800 1650 4800 2250 3525 2250 3525 1650 +4 0 0 50 -1 12 18 0.0000 4 165 1155 3600 1875 rand 4\001 +4 0 0 50 -1 12 18 0.0000 4 165 1155 3600 2175 rator 5\001 +-6 +6 5700 1650 6975 2250 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 5700 1650 6975 1650 6975 2250 5700 2250 5700 1650 +4 0 0 50 -1 12 18 0.0000 4 210 1155 5775 1875 gator 2\001 +4 0 0 50 -1 12 18 0.0000 4 165 1155 5775 2175 rand 3\001 +-6 +6 1350 1650 2625 1950 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 1350 1650 2625 1650 2625 1950 1350 1950 1350 1650 +4 0 0 50 -1 12 18 0.0000 4 165 1155 1425 1875 rator 8\001 +-6 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 6675 1050 7425 600 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 0 0 1.00 60.00 120.00 + 1950 825 1950 1650 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 0 0 1.00 60.00 120.00 + 4125 825 4125 1650 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 0 0 1.00 60.00 120.00 + 6300 825 6300 1650 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 0 0 1.00 60.00 120.00 + 2700 825 3750 825 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 0 0 1.00 60.00 120.00 + 4875 825 5925 825 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 0 0 1.00 60.00 120.00 + 900 1800 1350 1800 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4 + 0 0 1.00 60.00 120.00 + 900 2175 3000 2175 3000 1800 3525 1800 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4 + 0 0 1.00 60.00 120.00 + 900 2550 5175 2550 5175 1800 5700 1800 +3 2 0 1 0 7 50 -1 -1 0.000 0 1 0 3 + 0 0 1.00 60.00 120.00 + 675 0 1725 150 2100 600 + 0.000 -1.000 0.000 +4 0 0 50 -1 12 18 0.0000 4 195 825 0 2625 gator\001 +4 0 0 50 -1 12 18 0.0000 4 150 825 0 1875 rator\001 +4 0 0 50 -1 12 18 0.0000 4 165 660 0 2250 rand\001 diff --git a/doc/number.eps b/doc/number.eps new file mode 100644 index 0000000000..25a0d5d49b --- /dev/null +++ b/doc/number.eps @@ -0,0 +1,198 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: number.fig +%%Creator: fig2dev Version 3.2 Patchlevel 4 +%%CreationDate: Wed Apr 27 22:37:31 2005 +%%For: slava@emu.localdomain (Slava) +%%BoundingBox: 0 0 336 302 +%%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def + +end +save +newpath 0 302 moveto 0 0 lineto 336 0 lineto 336 302 lineto closepath clip newpath +-1.0 305.5 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +10 setmiterlimit +0 slj 0 slc + 0.06000 0.06000 sc +% +% Fig objects follow +% +% +% here starts figure with depth 50 +/Courier ff 270.00 scf sf +3225 1425 m +gs 1 -1 sc (real) dup sw pop 2 div neg 0 rm col0 sh gr +% Polyline +7.500 slw +gs clippath +3214 3631 m 3256 3589 l 3149 3481 l 3213 3588 l 3106 3524 l cp +eoclip +n 2325 2700 m + 3225 3600 l gs col0 s gr gr + +% arrowhead +n 3106 3524 m 3213 3588 l 3149 3481 l col0 s +% Polyline +gs clippath +493 4789 m 535 4831 l 643 4724 l 537 4788 l 600 4681 l cp +eoclip +n 1425 3900 m + 525 4800 l gs col0 s gr gr + +% arrowhead +n 600 4681 m 537 4788 l 643 4724 l col0 s +% Polyline +gs clippath +2314 4831 m 2356 4789 l 2249 4681 l 2313 4788 l 2206 4724 l cp +eoclip +n 1425 3900 m + 2325 4800 l gs col0 s gr gr + +% arrowhead +n 2206 4724 m 2313 4788 l 2249 4681 l col0 s +% Polyline +gs clippath +4114 2431 m 4156 2389 l 4049 2281 l 4113 2388 l 4006 2324 l cp +eoclip +n 3225 1500 m + 4125 2400 l gs col0 s gr gr + +% arrowhead +n 4006 2324 m 4113 2388 l 4049 2281 l col0 s +% Polyline +gs clippath +2293 2389 m 2335 2431 l 2443 2324 l 2337 2388 l 2400 2281 l cp +eoclip +n 3225 1500 m + 2325 2400 l gs col0 s gr gr + +% arrowhead +n 2400 2281 m 2337 2388 l 2443 2324 l col0 s +% Polyline +gs clippath +3193 1189 m 3235 1231 l 3343 1124 l 3237 1188 l 3300 1081 l cp +eoclip +n 4125 300 m + 3225 1200 l gs col0 s gr gr + +% arrowhead +n 3300 1081 m 3237 1188 l 3343 1124 l col0 s +% Polyline +gs clippath +5014 1231 m 5056 1189 l 4949 1081 l 5013 1188 l 4906 1124 l cp +eoclip +n 4125 300 m + 5025 1200 l gs col0 s gr gr + +% arrowhead +n 4906 1124 m 5013 1188 l 4949 1081 l col0 s +/Courier ff 270.00 scf sf +1425 3825 m +gs 1 -1 sc (integer) dup sw pop 2 div neg 0 rm col0 sh gr +/Courier ff 270.00 scf sf +2325 5025 m +gs 1 -1 sc (bignum) dup sw pop 2 div neg 0 rm col0 sh gr +/Courier ff 270.00 scf sf +525 5025 m +gs 1 -1 sc (fixnum) dup sw pop 2 div neg 0 rm col0 sh gr +/Courier ff 270.00 scf sf +3225 3825 m +gs 1 -1 sc (ratio) dup sw pop 2 div neg 0 rm col0 sh gr +/Courier ff 270.00 scf sf +2325 2625 m +gs 1 -1 sc (rational) dup sw pop 2 div neg 0 rm col0 sh gr +/Courier ff 270.00 scf sf +4125 2625 m +gs 1 -1 sc (float) dup sw pop 2 div neg 0 rm col0 sh gr +/Courier ff 270.00 scf sf +4125 225 m +gs 1 -1 sc (number) dup sw pop 2 div neg 0 rm col0 sh gr +/Courier ff 270.00 scf sf +5025 1425 m +gs 1 -1 sc (complex) dup sw pop 2 div neg 0 rm col0 sh gr +% Polyline +gs clippath +1393 3589 m 1435 3631 l 1543 3524 l 1437 3588 l 1500 3481 l cp +eoclip +n 2325 2700 m + 1425 3600 l gs col0 s gr gr + +% arrowhead +n 1500 3481 m 1437 3588 l 1543 3524 l col0 s +% here ends figure; +$F2psEnd +rs +showpage diff --git a/doc/parser.eps b/doc/parser.eps new file mode 100644 index 0000000000..32ba149bf7 --- /dev/null +++ b/doc/parser.eps @@ -0,0 +1,647 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: /usr/home/slava/Factor/doc/parser.dia +%%Creator: Dia v0.94 +%%CreationDate: Wed Apr 27 23:20:53 2005 +%%For: slava +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 764 1201 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /A /B /C /D /E +/F /G /H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W /X /Y +/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c +/d /e /f /g /h /i /j /k /l /m +/n /o /p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/Times-Roman-latin1 + /Times-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-Italic-latin1 + /Times-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-Bold-latin1 + /Times-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Times-BoldItalic-latin1 + /Times-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-Book-latin1 + /AvantGarde-Book findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-BookOblique-latin1 + /AvantGarde-BookOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-Demi-latin1 + /AvantGarde-Demi findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/AvantGarde-DemiOblique-latin1 + /AvantGarde-DemiOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-Light-latin1 + /Bookman-Light findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-LightItalic-latin1 + /Bookman-LightItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-Demi-latin1 + /Bookman-Demi findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Bookman-DemiItalic-latin1 + /Bookman-DemiItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-latin1 + /Courier findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-Oblique-latin1 + /Courier-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-Bold-latin1 + /Courier-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Courier-BoldOblique-latin1 + /Courier-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-latin1 + /Helvetica findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Oblique-latin1 + /Helvetica-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Bold-latin1 + /Helvetica-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-BoldOblique-latin1 + /Helvetica-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-latin1 + /Helvetica-Narrow findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-Oblique-latin1 + /Helvetica-Narrow-Oblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-Bold-latin1 + /Helvetica-Narrow-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Helvetica-Narrow-BoldOblique-latin1 + /Helvetica-Narrow-BoldOblique findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Roman-latin1 + /NewCenturySchoolbook-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Italic-latin1 + /NewCenturySchoolbook-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-Bold-latin1 + /NewCenturySchoolbook-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/NewCenturySchoolbook-BoldItalic-latin1 + /NewCenturySchoolbook-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Roman-latin1 + /Palatino-Roman findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Italic-latin1 + /Palatino-Italic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-Bold-latin1 + /Palatino-Bold findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Palatino-BoldItalic-latin1 + /Palatino-BoldItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/Symbol-latin1 + /Symbol findfont +definefont pop +/ZapfChancery-MediumItalic-latin1 + /ZapfChancery-MediumItalic findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +/ZapfDingbats-latin1 + /ZapfDingbats findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding isolatin1encoding def + currentdict end +definefont pop +28.346000 -28.346000 scale +-2.000000 -31.626100 translate +%%EndProlog + + +1.000000 1.000000 1.000000 srgb +n 15.386947 -0.282107 m 22.303000 2.772277 l 15.386947 5.826661 l 8.470894 2.772277 l ef +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 15.386947 -0.282107 m 22.303000 2.772277 l 15.386947 5.826661 l 8.470894 2.772277 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Is the current character) dup sw 2 div 15.386947 ex sub 2.572277 m gs 1 -1 sc sh gr +(a quotation mark \("\)?) dup sw 2 div 15.386947 ex sub 3.372277 m gs 1 -1 sc sh gr +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 18.844974 4.299469 m 22.977248 8.320714 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 22.524686 8.229148 m 23.057374 8.398687 l 22.873393 7.870813 l s +1.000000 1.000000 1.000000 srgb +n 19.725000 8.476660 m 19.725000 10.376660 l 26.550000 10.376660 l 26.550000 8.476660 l f +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 19.725000 8.476660 m 19.725000 10.376660 l 26.550000 10.376660 l 26.550000 8.476660 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Parse string literal) dup sw 2 div 23.137500 ex sub 9.626660 m gs 1 -1 sc sh gr +1.000000 1.000000 1.000000 srgb +n 12.310336 -4.485840 m 12.310336 -2.585840 l 18.460336 -2.585840 l 18.460336 -4.485840 l f +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 12.310336 -4.485840 m 12.310336 -2.585840 l 18.460336 -2.585840 l 18.460336 -4.485840 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Skip whitespace) dup sw 2 div 15.385336 ex sub -3.335840 m gs 1 -1 sc sh gr +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 15.385336 -2.585840 m 15.386791 -0.505714 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 15.136519 -0.893735 m 15.386869 -0.393910 l 15.636519 -0.894085 l s +1.000000 1.000000 1.000000 srgb +n 11.775000 8.064170 m 11.775000 10.764170 l 18.975000 10.764170 l 18.975000 8.064170 l f +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 11.775000 8.064170 m 11.775000 10.764170 l 18.975000 10.764170 l 18.975000 8.064170 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Read next token,) dup sw 2 div 15.375000 ex sub 9.214170 m gs 1 -1 sc sh gr +(lookup in dictionary) dup sw 2 div 15.375000 ex sub 10.014170 m gs 1 -1 sc sh gr +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 15.386947 5.826661 m 15.376194 7.840566 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 15.128270 7.451040 m 15.375597 7.952368 l 15.628263 7.453710 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 23.137500 10.376700 m 23.137500 11.013600 l 27.300000 11.013600 l 27.300000 -6.048330 l 16.922836 -6.048330 l 16.922836 -4.709447 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 16.672836 -5.097643 m 16.922836 -4.597643 l 17.172836 -5.097643 l s +1.000000 1.000000 1.000000 srgb +n 15.376148 12.901700 m 19.927296 14.547115 l 15.376148 16.192530 l 10.825000 14.547115 l ef +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 15.376148 12.901700 m 19.927296 14.547115 l 15.376148 16.192530 l 10.825000 14.547115 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Word found?) dup sw 2 div 15.376148 ex sub 14.747115 m gs 1 -1 sc sh gr +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 15.375000 10.764170 m 15.375985 12.678093 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 15.125785 12.290025 m 15.376042 12.789897 l 15.625785 12.289768 l s +1.000000 1.000000 1.000000 srgb +n 21.318809 17.001700 m 26.137617 18.711075 l 21.318809 20.420449 l 16.500000 18.711075 l ef +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 21.318809 17.001700 m 26.137617 18.711075 l 21.318809 20.420449 l 16.500000 18.711075 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Parsing word?) dup sw 2 div 21.318809 ex sub 18.911075 m gs 1 -1 sc sh gr +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 17.651700 15.369800 m 18.808477 17.656864 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 18.410179 17.423293 m 18.858938 17.756632 l 18.856355 17.197621 l s +1.000000 1.000000 1.000000 srgb +n 6.150000 17.376700 m 6.150000 19.276700 l 14.750000 19.276700 l 14.750000 17.376700 l f +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 6.150000 17.376700 m 6.150000 19.276700 l 14.750000 19.276700 l 14.750000 17.376700 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Try parsing as a number) dup sw 2 div 10.450000 ex sub 18.526700 m gs 1 -1 sc sh gr +1.000000 1.000000 1.000000 srgb +n 10.445199 21.426700 m 15.525733 23.861123 l 10.445199 26.295545 l 5.364664 23.861123 l ef +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 10.445199 21.426700 m 15.525733 23.861123 l 10.445199 26.295545 l 5.364664 23.861123 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Token is a number?) dup sw 2 div 10.445199 ex sub 24.061123 m gs 1 -1 sc sh gr +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 13.100600 15.369800 m 10.628272 17.241722 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 10.786853 16.808076 m 10.539136 17.309211 l 11.088674 17.206704 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 10.450000 19.276700 m 10.445698 21.203094 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 10.196566 20.814340 m 10.445448 21.314897 l 10.696564 20.815456 l s +1.000000 1.000000 1.000000 srgb +n 11.452940 28.789200 m 19.594117 28.789200 l 18.866176 30.789200 l 10.725000 30.789200 l ef +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 11.452940 28.789200 m 19.594117 28.789200 l 18.866176 30.789200 l 10.725000 30.789200 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Append to parse tree) dup sw 2 div 15.159558 ex sub 29.989200 m gs 1 -1 sc sh gr +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 12.985466 25.078334 m 13.458181 28.567617 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 13.158329 28.216497 m 13.473190 28.678409 l 13.653802 28.149372 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0 slj +0 slc +0 slj +[] 0 sd +1.000000 1.000000 1.000000 srgb +n 6.271450 28.739200 m 8.628557 28.739200 l 8.628557 30.667728 l 8.157135 30.346307 7.921425 30.346307 7.450003 30.667728 c 6.978582 30.989149 6.742871 30.989149 6.271450 30.667728 c 6.271450 28.739200 l ef +0.000000 0.000000 0.000000 srgb +n 6.271450 28.739200 m 8.628557 28.739200 l 8.628557 30.667728 l 8.157135 30.346307 7.921425 30.346307 7.450003 30.667728 c 6.978582 30.989149 6.742871 30.989149 6.271450 30.667728 c 6.271450 28.739200 l s +/Helvetica-latin1 ff 0.560000 scf sf +(Error) dup sw 2 div 7.450003 ex sub 29.742753 m gs 1 -1 sc sh gr +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.904931 25.078334 m 7.477575 28.517300 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 7.277356 28.101236 m 7.463788 28.628250 l 7.773539 28.162897 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 18.909400 19.565700 m 17.591197 28.567953 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 17.400079 28.147631 m 17.574999 28.678576 l 17.894803 28.220073 l s +1.000000 1.000000 1.000000 srgb +n 21.827940 22.189200 m 27.419117 22.189200 l 26.691176 24.189200 l 21.100000 24.189200 l ef +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 21.827940 22.189200 m 27.419117 22.189200 l 26.691176 24.189200 l 21.100000 24.189200 l cp s +/Helvetica-latin1 ff 0.560000 scf sf +(Execute word) dup sw 2 div 24.259558 ex sub 23.389200 m gs 1 -1 sc sh gr +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 23.728200 19.565700 m 24.205977 21.944970 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 23.884442 21.613590 m 24.227988 22.054585 l 24.374656 21.515151 l s +/Helvetica-latin1 ff 0.560000 scf sf +(Yes) 24.550000 20.839200 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(No) 17.400000 22.789200 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(Yes) 13.450000 26.589200 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(No) 6.400000 26.589200 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(No) 10.850000 16.239200 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(Yes) 18.300000 16.239200 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(No) 14.150000 7.126860 m gs 1 -1 sc sh gr +/Helvetica-latin1 ff 0.560000 scf sf +(Yes) 21.100000 6.264170 m gs 1 -1 sc sh gr +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 14.795588 30.789200 m 14.795588 31.576100 l 2.050000 31.576100 l 2.050000 -5.998330 l 13.847836 -5.998330 l 13.847836 -4.709447 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 13.597836 -5.097643 m 13.847836 -4.597643 l 14.097836 -5.097643 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0 slc +n 23.895600 24.189200 m 23.895600 24.964200 l 28.900000 24.964200 l 28.900000 -6.885830 l 15.385336 -6.885830 l 15.385336 -4.709447 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 15.135336 -5.097643 m 15.385336 -4.597643 l 15.635336 -5.097643 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0 slj +0 slc +0 slj +[] 0 sd +1.000000 1.000000 1.000000 srgb +n 14.204089 -10.686400 m 16.561196 -10.686400 l 16.914762 -10.364979 17.032617 -10.204268 17.032617 -9.882847 c 17.032617 -9.561425 16.914762 -9.400715 16.561196 -9.079293 c 14.204089 -9.079293 l 13.732668 -9.882847 l 14.204089 -10.686400 l ef +0.000000 0.000000 0.000000 srgb +n 14.204089 -10.686400 m 16.561196 -10.686400 l 16.914762 -10.364979 17.032617 -10.204268 17.032617 -9.882847 c 17.032617 -9.561425 16.914762 -9.400715 16.561196 -9.079293 c 14.204089 -9.079293 l 13.732668 -9.882847 l 14.204089 -10.686400 l s +/Helvetica-latin1 ff 0.560000 scf sf +(Start) dup sw 2 div 15.382643 ex sub -9.682847 m gs 1 -1 sc sh gr +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 15.382643 -9.079293 m 15.385205 -4.709447 l s +0.100000 slw +[] 0 sd +0 slj +0 slc +n 15.134977 -5.097497 m 15.385270 -4.597643 l 15.634977 -5.097790 l s +showpage