diff options
Diffstat (limited to 'web/funnelweb/0stoppress/fw_hack_manual.ps')
-rw-r--r-- | web/funnelweb/0stoppress/fw_hack_manual.ps | 32255 |
1 files changed, 32255 insertions, 0 deletions
diff --git a/web/funnelweb/0stoppress/fw_hack_manual.ps b/web/funnelweb/0stoppress/fw_hack_manual.ps new file mode 100644 index 0000000000..df6679452b --- /dev/null +++ b/web/funnelweb/0stoppress/fw_hack_manual.ps @@ -0,0 +1,32255 @@ +%! +% This is the prolog used by OzTeX 1.6 to convert a DVI file into PostScript. + +% Set dev to "LW" if LaserWriter, "LINO" if Linotronic, or "?" if unknown: + +/dev (?) def +statusdict /product known { + statusdict /product get + (LaserWriter) anchorsearch { pop pop /dev (LW) def } { pop } ifelse + statusdict /product get + (Linotype) anchorsearch { pop pop /dev (LINO) def } { pop } ifelse +} if + +/@setup { % set up OzTeX's coordinate system + +/res exch def % desired resolution (defines dots per inch) +/voff exch def % vertical offset (in dots) +/hoff exch def % horizontal offset (in dots) +/ht exch def % paper height (in dots) +/wd exch def % paper width (in dots) + +/land wd ht gt def % print in landscape orientation? +/oshift ht res sub neg def % vertical shift (in dots) for portrait origin + +dev (?) eq % unknown device? +{ land + { % landscape + 90 rotate % rotate axes 90deg anticlockwise + 72 res div dup neg scale % units now device dots + res dup translate % move to TeX origin + voff neg hoff translate % adjust TeX origin if necessary + } + { % portrait + 72 res div dup neg scale % units now device dots + res oshift translate % move to TeX origin + hoff voff translate % adjust TeX origin if necessary + } ifelse +} if + +dev (LW) eq % LaserWriter? +{ + % Display model and version in OzTeX window: + % (\rmodel = ) print statusdict /product get print + % (\rversion = ) print version print (\r) print flush + + land + { % landscape + 90 rotate % rotate axes 90deg anticlockwise + 72 res div dup neg scale % units now device dots + res dup translate % move to TeX origin + voff neg hoff translate % adjust TeX origin if necessary + + % Model-specific adjustments to origin can be made here: + statusdict /product get (LaserWriter) eq + { -90 0 translate % move left a bit + } + { statusdict /product get (LaserWriter Plus) eq + { -32 0 translate % move left a bit + } + { statusdict /product get (LaserWriter II NTX) eq + { -20 0 translate % move left a bit + } + { statusdict /product get (LaserWriter IIg) eq + { 0 0 translate + } + { % some other model + 0 0 translate + } + ifelse } ifelse } ifelse } ifelse + } + { % portrait + 72 res div dup neg scale % units now device dots + res oshift translate % move to TeX origin + hoff voff translate % adjust TeX origin if necessary + + % Model-specific adjustments to origin can be made here: + statusdict /product get (LaserWriter) eq + { 0 22 translate % move down a bit + } + { statusdict /product get (LaserWriter Plus) eq + { 0 0 translate + } + { statusdict /product get (LaserWriter II NTX) eq + { 0 14 translate % move down a bit + } + { statusdict /product get (LaserWriter IIg) eq + { 0 0 translate + } + { % some other model + 0 0 translate + } + ifelse } ifelse } ifelse } ifelse + } ifelse + + % The matrix produced above can cause scaling problems, + % so round each matrix value to nearest integer and use setmatrix: + matrix currentmatrix + dup dup 0 get round cvi 0 exch put + dup dup 1 get round cvi 1 exch put + dup dup 2 get round cvi 2 exch put + dup dup 3 get round cvi 3 exch put + dup dup 4 get round cvi 4 exch put + dup dup 5 get round cvi 5 exch put + setmatrix + + % Display new matrix in OzTeX window: + % matrix currentmatrix + % dup 0 get ( ) cvs print ( ) print + % dup 1 get ( ) cvs print ( ) print + % dup 2 get ( ) cvs print ( ) print + % dup 3 get ( ) cvs print ( ) print + % dup 4 get ( ) cvs print ( ) print + % dup 5 get ( ) cvs print (\r) print flush + % pop +} if + +dev (LINO) eq % Linotronic? +{ land + { % landscape + 90 rotate % rotate axes 90deg anticlockwise + 72 res div dup neg scale % units now device dots + res dup translate % move to TeX origin + voff neg hoff translate % adjust TeX origin if necessary + } + { % portrait + newpath clippath pathbbox % push LLx LLy URx URy (URy = ht in pts) + /paperht exch 72 div def % paper height in inches + pop pop pop % remove URx LLy LLx + 72 res div dup neg scale % units now device dots + res paperht res mul neg res add + translate % move to TeX origin + hoff voff translate % adjust TeX origin if necessary + } ifelse +} if + +% Some fine-tuning of the code used to draw a rule is necessary. +% Use page 18 in nasty.dvi to check results: + +dev (LW) eq % LaserWriter? +{ version cvr 38.0 le % early model? + { land + { % landscape + /r % set a wd by ht rule at h,v + { newpath + moveto % move to h,v + /ht exch 1 sub def % reduce height by 1 + /wd exch 1 sub def % ditto for width + wd 0 rlineto + 0 ht neg rlineto + wd neg 0 rlineto + fill + } bind def + } + { % portrait + /r % set a wd by ht rule at h,v + { newpath + 1 add moveto % move to h,v+1 + /ht exch 1 sub def % reduce height by 1 + /wd exch 1 sub def % ditto for width + wd 0 rlineto + 0 ht neg rlineto + wd neg 0 rlineto + fill + } bind def + } ifelse + } if + version cvr 2000.0 gt % IIg or newer model? + { + /r % set a wd by ht rule at h,v + { newpath + 1 add moveto % move to h,v+1 + /ht exch def % set height + /wd exch def % set width + wd 0 rlineto + 0 ht neg rlineto + wd neg 0 rlineto + fill + } bind def + } if +} if + +/mtrx 6 array def +mtrx currentmatrix pop % save our new transformation matrix + +} def % end of @setup + +% @saveVM and @restoreVM are only used if we are conserving VM +% by downloading font bitmaps more often: + +/@saveVM {/prefontVM save def} def +/@restoreVM {prefontVM restore} def + +/@newfont % create new font dict +{ /maxchcode exch def + /fontid exch def + fontid 7 dict def + fontid load begin + /FontType 3 def + /FontMatrix [1 0 0 -1 0 0] def % -1 because y scale is negative + /FontBBox [0 0 1 1] def + /BitMaps maxchcode 1 add array def + /BuildChar {CharBuilder} def + + /Encoding 256 array def + 0 1 255 {Encoding exch /.notdef put} for + + % The above 2 lines fix a definefont error that occurs on some printers + % (eg. the LaserWriter NTX-J). If you have an old LaserWriter and + % now get VM errors then you might want to revert to the old code: + % + % /Encoding maxchcode 1 add array def + % 0 1 maxchcode {Encoding exch /.notdef put} for + + end + fontid fontid load definefont pop +} def + +% The char data, a bitmap descriptor, is an array with 6 elements; +% element 0 is either a hex string or an array of hex strings (the latter +% is required for large PK chars with more than 65535 hex digits): + +/ch-image {ch-data 0 get dup type /stringtype ne {N get /N N 1 add def} if + } def % hex string +/ch-width {ch-data 1 get} def % the number of pixels across +/ch-height {ch-data 2 get} def % the number of pixels tall +/ch-xoff {ch-data 3 get} def % number of pixels to left of origin +/ch-yoff {ch-data 4 get} def % number of pixels below origin +/ch-advw {ch-data 5 get} def % advance width + +% The following character builder looks up the char data in the BitMaps array +% and paints the character: + +/CharBuilder % image one char +{ /ch-code exch def % save the char code + /font-dict exch def % and the font dict + /ch-data font-dict /BitMaps get + ch-code get def + /N 0 def + ch-advw 0 + ch-xoff neg ch-height ch-yoff sub 1 sub neg % -xo , -(ht-yo-1) + ch-width ch-xoff sub 1 sub ch-yoff % (wd-xo-1) , yo + setcachedevice + ch-width ch-height true + [1 0 0 -1 ch-xoff ch-yoff] % bitmap sent top to bottom + {ch-image} + imagemask +} def + +/sf {setfont} def % set current font + +/dc % define new character +{ /ch-code exch def + /ch-data exch def + + % The following code should be enabled if you have an old LaserWriter. + % It attempts to overcome a bug that causes the printer to crash + % and print a test page rather then report a VMerror. + % + % vmstatus % returns: savelevel vmused vmmax + % 10000 sub gt % is vmused > (vmmax-10000)? + % { pop VMERROR } % causes error message (avoiding crash) + % { pop } % pop savelevel + % ifelse + + currentfont /BitMaps get ch-code ch-data put + currentfont /Encoding get ch-code + dup ( ) cvs cvn put % generate unique name +} bind def + +/@bop0 {pop} def % begin DVI page n + +/@bop1 % begin setting DVI page n +{ pop % throw away page number + initgraphics % start with a clean slate + mtrx setmatrix % switch to our TeX coordinate system + /prepageVM save def % save state of VM at start of page +} def + +/@eop % end DVI page n +{ pop % throw away page number + prepageVM restore % restore VM to state at start of page + showpage +} def + +/@end { } def % end of file + +% h and s are used to typeset downloaded bitmap fonts: + +/h {exch 0 rmoveto show} bind def % move right by dh and show (...) + +/s {3 1 roll moveto show} bind def % move to h,v and show (...) + +% H and S are used to typeset PostScript fonts. +% We can't use relative horizontal positioning because the advance widths in +% a PostScript font are not integers and rounding errors would accumulate: + +/H {exch v moveto show} bind def % move to h,v and show (...) + +/S % ditto, and save v position +{ 3 1 roll + 1 add % v+1 to match baseline of bitmap fonts + dup /v exch def + moveto show +} bind def + +% r is used to typeset a rule: + +/r % set a wd by ht rule at h,v +{ newpath + moveto % move to h,v + /ht exch 1 sub def % reduce height by 1 + /wd exch 1 sub def % ditto for width + wd 0 rlineto + 0 ht neg rlineto + wd neg 0 rlineto + fill +} bind def + +% Following procedures are invoked as the result of \special{file}. +% We change all scaling and graphics back to defaults, but shift the origin +% to the current position on the page: + +/@bsp +{ /vmag exch def % vertical scaling + /hmag exch def % horizontal scaling + moveto % move to h,v + gsave + /prespecialVM save def % save showpage, TeX procedures etc. + currentpoint transform + initgraphics itransform translate + hmag vmag scale + land { 90 rotate } if % rotate axes if landscape + /showpage { } def % user does not have to remove showpage +} bind def + +/@esp +{ prespecialVM restore % restore saved showpage value etc. + grestore +} bind def + +% Following procedures are invoked as the result of \special{epsf=file}. +% Note that @bepsf and @eepsf are currently identical to @bsp and @esp +% but it is a good idea to allow for future changes: + +/@bepsf +{ /vmag exch def % vertical scaling + /hmag exch def % horizontal scaling + moveto % move to h,v + gsave + /prespecialVM save def % save showpage, TeX procedures etc. + currentpoint transform + initgraphics itransform translate + hmag vmag scale + land { 90 rotate } if % rotate axes if landscape + /showpage { } def % user does not have to remove showpage +} bind def + +/@eepsf +{ prespecialVM restore % restore saved showpage value etc. + grestore +} bind def + +% Here is the code to handle bitmaps generated by PICT/PNTG \specials: + +/@bitmap +{ /vmag exch def % vertical scaling + /hmag exch def % horizontal scaling + /vres exch def % vertical resolution of bitmap + /hres exch def % horizontal resolution of bitmap + /ht exch def % height + /wd exch def % width + /hexstring ht string def + gsave + 1 add translate % set origin to h,v+1 + res hres div wd mul hmag mul + res vres div ht mul vmag mul neg scale + wd ht true + [ wd 0 0 ht neg 0 ht ] + { currentfile hexstring readhexstring pop } + imagemask + grestore +} def + +% Here are the definitions needed to handle PostScript fonts: + +/sp % scaled pts to device dots +{ 16#10000 div % scaled pts to pts + res mul 72.27 div % pts to device dots +} bind def + +/PSfont +{ /fontname exch def % printer font name + /dotsize exch def % scaled dot size + /done false def + + % check if fontname is one of the special printer font names + % appearing in the current config file's PS font list: + fontname /Slanted-Times-Roman eq + { /Times-Roman findfont [1 0 .167 -1 0 0] makefont + dotsize scalefont setfont + /done true def + } if + + % other nice tricks can be included here if the appropriate PS font + % specification is added to the current config file: + % fontname /Extended-Times-Roman eq + % { /Times-Roman findfont [1.2 0 0 -1 0 0] makefont + % dotsize scalefont setfont + % /done true def + % } if + + done not + { fontname findfont [1 0 0 -1 0 0] makefont + dotsize scalefont setfont + } if +} bind def + +% count 0 gt +% { (\r *** Bug in DVItoPS.ps: stuff left on stack *** \r) print flush +% } if + +% --------------- end of OzTeX's prolog --------------- + +2480 3496 0 0 300 @setup +1 @bop0 +/cmr10.746 127 @newfont +/cmr17.300 127 @newfont +/cmr10.432 127 @newfont +cmr17.300 sf +[<FFFFFF000000FFFFFFF0000007E001FC000003E0003E000003E0001F800003E00007C0 +0003E00007E00003E00003E00003E00003F00003E00001F00003E00001F80003E00001F8 +0003E00001F80003E00001F80003E00001F80003E00001F80003E00001F00003E00003F0 +0003E00003E00003E00007C00003E0000F800003E0001F000003E0003C000003E001F000 +0003FFFF00000003E003E0000003E00078000003E0003C000003E0001E000003E0000F00 +0003E0000F800003E00007800003E00007C00003E00007C00003E00007C00003E00007C0 +0003E00007C00003E00007E00003E00007E00003E00007E00003E00007E00003E00007E0 +0003E00007E00803E00007F00803E00003F00803E00003F00807F00001F010FFFF8000F8 +10FFFF80007C60000000000F80> +48 50 -4 48 49] 82 dc +[<001FC00000F0780001C01C00070007000F0007801E0003C01C0001C03C0001E03C0001 +E0780000F0780000F0780000F0F80000F8F80000F8F80000F8F80000F8F80000F8F80000 +F8F80000F8F80000F8780000F07C0001F03C0001E03C0001E01E0003C01E0003C00F0007 +8007800F0001C01C0000F07800001FC000> +32 31 -2 30 33] 111 dc +[<01FC100E03301800F0300070600030E00030E00010E00010E00010F00010F800007E00 +003FF0001FFF000FFFC003FFE0003FF00001F80000F880003C80003C80001CC0001CC000 +1CE0001CE00018F00038F00030EC0060C301C080FE00> +24 31 -2 30 26] 115 dc +[<FFE00007FFC0FFF00007FFC003F000007C0002F80000380002FC00001000027C000010 +00023E00001000023E00001000021F00001000021F80001000020F800010000207C00010 +000207E00010000203E00010000203F00010000201F00010000200F80010000200FC0010 +0002007C00100002007E00100002003E00100002001F00100002001F80100002000F8010 +0002000FC01000020007C01000020003E01000020003F01000020001F01000020000F810 +00020000F810000200007C10000200007E10000200003E10000200001F10000200001F10 +000200000F90000200000FD00002000007D00002000003F00002000003F00002000001F0 +0002000001F00002000000F0000200000070000700000070000F8000003000FFF8000030 +00FFF800001000> +48 49 -4 48 50] 78 dc +[<78FCFCFCFC78> +8 6 -6 5 18] 46 dc +[<FFFE003FFF8001FFC0FFFE003FFF8001FFC00FE00003F800007E0007C00001F000003C +0007C00001F00000180003E00000F80000100003E00000F80000100003E00000F8000010 +0001F00000FC0000200001F00000FC0000200001F00000FC0000200000F800013E000040 +0000F800013E0000400000F800013E0000400000FC00033F0000C000007C00021F000080 +00007C00021F00008000007E00021F80008000003E00040F80010000003E00040F800100 +00003E00040F80010000001F000807C0020000001F000807C0020000001F000807C00200 +00000F801003E0040000000F801003E0040000000F801003E0040000000FC02001F00C00 +000007C02001F00800000007C02001F00800000007E02001F80800000003E04000F81000 +000003E04000F81000000003E04000F81000000001F080007C2000000001F080007C2000 +000001F080007C2000000000F900003E4000000000F900003E4000000000F900003E4000 +0000007E00001F80000000007E00001F80000000007E00001F80000000007E00001F8000 +0000003C00000F00000000003C00000F00000000003C00000F0000000000180000060000 +00000018000006000000000018000006000000> +72 50 -1 48 68] 87 dc +[<07000F801F801F800F8007000000000000000000000000000000000000000000000001 +801F80FF80FF800F80078007800780078007800780078007800780078007800780078007 +800780078007800780078007800780078007800FC0FFF8FFF8> +16 48 -2 47 18] 105 dc +[<01803F80FF80FF800F8007800780078007800780078007800780078007800780078007 +800780078007800780078007800780078007800780078007800780078007800780078007 +80078007800780078007800780078007800780078007800FC0FFFCFFFC> +16 50 -2 49 18] 108 dc +[<00FE00000303C0000C00E00010007000100038003C003C003E001C003E001E003E001E +0008001E0000001E0000001E0000001E00000FFE0000FC1E0003E01E000F801E001F001E +003E001E003C001E007C001E00F8001E04F8001E04F8001E04F8003E04F8003E0478003E +047C005E043E008F080F0307F003FC03E0> +32 31 -3 30 33] 97 dc +[<0180FE001FC0003F83078060F000FF8C03C1807800FF9001E2003C000FA001E4003C00 +07A000F4001E0007C000F8001E0007C000F8001E00078000F0001E00078000F0001E0007 +8000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E000780 +00F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000 +F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0 +001E00078000F0001E00078000F0001E000FC001F8003F00FFFC1FFF83FFF0FFFC1FFF83 +FFF0> +56 31 -2 30 56] 109 dc +cmr10.746 sf +[<FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00007FF800001FFF00003FF0 +000001FF80001FF00000007F80001FF00000003F80001FF00000001F80001FF00000000F +80001FF00000000780001FF00000000780001FF00000000380001FF000000003C0001FF0 +00000003C0001FF000000001C0001FF000000001C0001FF000000001C0001FF000000001 +C0001FF000000001C0001FF000000000E0001FF000000000E0001FF000000000E0001FF0 +0001C000E0001FF00001C00000001FF00001C00000001FF00001C00000001FF00001C000 +00001FF00001C00000001FF00001C00000001FF00003C00000001FF00003C00000001FF0 +0007C00000001FF0000FC00000001FF0003FC00000001FFFFFFFC00000001FFFFFFFC000 +00001FFFFFFFC00000001FF0003FC00000001FF0000FC00000001FF00007C00000001FF0 +0003C00000001FF00003C00000001FF00001C00000001FF00001C00000001FF00001C000 +00001FF00001C00000001FF00001C00000001FF00001C00000001FF00001C00000001FF0 +0000000000001FF00000000000001FF00000000000001FF00000000000001FF000000000 +00001FF00000000000001FF00000000000001FF00000000000001FF00000000000001FF0 +0000000000001FF00000000000001FF00000000000001FF00000000000001FF000000000 +00001FF00000000000001FF00000000000001FF00000000000003FF80000000000007FFE +0000000000FFFFFFFF80000000FFFFFFFF80000000FFFFFFFF80000000> +64 71 -3 70 67] 70 dc +[<01FE00003FC000FFFE001FFFC000FFFE001FFFC000FFFE001FFFC00003FE00007FC000 +01FE00003FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE00001FC00000 +FE00001FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE +00001FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE00 +001FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE0000 +1FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE00001F +C00000FE00001FC00000FE00001FC00000FE00003FC00000FE00003FC00000FE00003FC0 +0000FE00007FC000007E00007FC000007E0000FFC000007F0000DFC000003F0001DFE000 +001F80039FF000000FC0071FFFC00007F01E1FFFC00001FFF81FFFC000003FE01FE000> +56 46 -4 44 57] 117 dc +[<01FC007F800000FFFC03FFF00000FFFC0781FC0000FFFC1E00FE000003FC38007F0000 +01FC70003F000000FCE0003F800000FCC0003F800000FDC0001FC00000FD80001FC00000 +FF80001FC00000FF00001FC00000FF00001FC00000FF00001FC00000FE00001FC00000FE +00001FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE00 +001FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE0000 +1FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE00001F +C00000FE00001FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE00001FC0 +0000FE00001FC00000FE00001FC00000FE00001FC00000FE00001FC00000FE00001FC000 +03FF80007FF000FFFFFE1FFFFFC0FFFFFE1FFFFFC0FFFFFE1FFFFFC0> +56 45 -4 44 57] 110 dc +[<00007F80000003FFF000000FC0FC00003F003F00007E001F8001FC000FC003F8000FE0 +07F00007F007F00003F00FE00003F81FE00003F81FC00001FC3FC00001FC3FC00001FC7F +C00001FC7F800001FE7F800000FE7F800000FEFF800000FEFF800000FEFFFFFFFFFEFFFF +FFFFFEFF80000000FF80000000FF80000000FF80000000FF80000000FF80000000FF8000 +00007F800000007F800000007FC00000003FC00000003FC000000E3FC000000E1FE00000 +1E0FE000001C0FF000003C07F000003803F800007801FC0000F000FC0001E0007F0003C0 +001F8007800007E03E000001FFF80000003FC000> +40 47 -3 45 46] 101 dc +[<01FE00FFFE00FFFE00FFFE0003FE0001FE0000FE0000FE0000FE0000FE0000FE0000FE +0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE +0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE +0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE +0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE +0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0003FF80FFFFFEFFFFFEFFFF +FE> +24 72 -3 71 28] 108 dc +[<FFFFFFE003FFFFFF8001FFFFF8FFFFFFE003FFFFFF8001FFFFF8FFFFFFE003FFFFFF80 +01FFFFF803FFF800000FFFE000001FFF8000FFE0000003FF80000007FE0000FFC0000001 +FF00000001FC00007FC0000001FF00000001F800007FC0000001FF80000000F000003FE0 +000000FF80000000F000003FE0000000FF80000000E000003FE0000000FF80000000E000 +001FF00000007FC0000001C000001FF00000007FC0000001C000001FF00000007FC00000 +01C000001FF8000000FFE0000003C000000FF8000000FFE00000038000000FF8000000FF +E00000038000000FFC000001DFF000000780000007FC000001DFF000000700000007FC00 +0001DFF000000700000007FE0000038FF800000F00000003FE0000038FF800000E000000 +03FE0000038FF800000E00000003FF0000078FFC00001E00000001FF00000707FC00001C +00000001FF00000707FC00001C00000001FF00000F07FE00001C00000000FF80000E03FE +00003800000000FF80000E03FE00003800000000FF80001E03FF000038000000007FC000 +1C01FF000070000000007FC0001C01FF000070000000007FC0003C01FF80007000000000 +3FE0003800FF8000E0000000003FE0003800FF8000E0000000003FE0003800FF8000E000 +0000001FF00070007FC001C0000000001FF00070007FC001C0000000001FF00070007FC0 +01C0000000001FF800E0003FE003C0000000000FF800E0003FE00380000000000FF800E0 +003FE00380000000000FFC01C0001FF007800000000007FC01C0001FF007000000000007 +FC01C0001FF007000000000007FE0380000FF80F000000000003FE0380000FF80E000000 +000003FE0380000FF80E000000000003FF0780000FFC1E000000000001FF07000007FC1C +000000000001FF07000007FC1C000000000001FF0F000007FE1C000000000000FF8E0000 +03FE38000000000000FF8E000003FE38000000000000FF9E000003FF380000000000007F +DC000001FF700000000000007FDC000001FF700000000000007FFC000001FFF000000000 +00003FF8000000FFE00000000000003FF8000000FFE00000000000003FF8000000FFE000 +00000000001FF00000007FC00000000000001FF00000007FC00000000000001FF0000000 +7FC00000000000001FE00000003FC00000000000000FE00000003F800000000000000FE0 +0000003F800000000000000FC00000001F8000000000000007C00000001F000000000000 +0007C00000001F0000000000000007800000000F0000000000000003800000000E000000 +00> +104 72 -2 70 106] 87 dc +[<01FE0000000000FFFE0000000000FFFE0000000000FFFE000000000003FE0000000000 +01FE000000000000FE000000000000FE000000000000FE000000000000FE000000000000 +FE000000000000FE000000000000FE000000000000FE000000000000FE000000000000FE +000000000000FE000000000000FE000000000000FE000000000000FE000000000000FE00 +0000000000FE000000000000FE000000000000FE000000000000FE000000000000FE0000 +00000000FE000000000000FE00FF00000000FE07FFF0000000FE1F01FC000000FE78007F +000000FEF0001F800000FFE0000FC00000FFC00007E00000FF800007F00000FF000003F8 +0000FF000001FC0000FE000001FE0000FE000001FE0000FE000000FF0000FE000000FF00 +00FE000000FF8000FE000000FF8000FE0000007F8000FE0000007F8000FE0000007FC000 +FE0000007FC000FE0000007FC000FE0000007FC000FE0000007FC000FE0000007FC000FE +0000007FC000FE0000007FC000FE0000007FC000FE0000007FC000FE0000007F8000FE00 +00007F8000FE000000FF8000FE000000FF0000FE000000FF0000FE000000FF0000FE0000 +01FE0000FE000001FC0000FF000003FC0000FF000003F80000FF800007F00000FFC0000F +E00000F9E0001FC00000F8F0003F800000F078007E000000F01E03F8000000E00FFFE000 +00000001FE000000> +56 73 -3 71 57] 98 dc +[<FFFFFFFE01FFFFFFFCFFFFFFFE01FFFFFFFCFFFFFFFE01FFFFFFFC007FFC000000FFF8 +00003FF80000007FF000001FF00000003FE000001FF00000003FE000001FF00000003FE0 +00001FF00000003FE000001FF00000003FE000001FF00000003FE000001FF00000003FE0 +00001FF00000003FE000001FF00000003FE000001FF00000003FE000001FF00000003FE0 +00001FF00000003FE000001FF00000003FE000001FF00000003FE000001FF00000003FE0 +00001FF00000003FE000001FF00000003FE000001FF00000003FE000001FF00000003FE0 +00001FF00000003FE000001FF00000003FE000001FF00000003FE000001FF00000003FE0 +00001FF00000003FE000001FF00000003FE000001FF00000003FE000001FF00000003FE0 +00001FF00000003FE000001FFFFFFFFFFFE000001FFFFFFFFFFFE000001FFFFFFFFFFFE0 +00001FF00000003FE000001FF00000003FE000001FF00000003FE000001FF00000003FE0 +00001FF00000003FE000001FF00000003FE000001FF00000003FE000001FF00000003FE0 +00001FF00000003FE000001FF00000003FE000001FF00000003FE000001FF00000003FE0 +00001FF00000003FE000001FF00000003FE000001FF00000003FE000001FF00000003FE0 +00001FF00000003FE000001FF00000003FE000001FF00000003FE000001FF00000003FE0 +00001FF00000003FE000001FF00000003FE000001FF00000003FE000001FF00000003FE0 +00001FF00000003FE000001FF00000003FE000001FF00000003FE000001FF00000003FE0 +00001FF00000003FE000001FF00000003FE000003FF80000007FF000007FFC000000FFF8 +00FFFFFFFE01FFFFFFFCFFFFFFFE01FFFFFFFCFFFFFFFE01FFFFFFFC> +72 71 -3 70 77] 72 dc +[<0003FE000000001FFFC00000007E03F0000001F000FC000003C0007E00000780003F00 +0007C0003F80000FF0001FC0000FF8000FE0000FF8000FE0000FF8000FE0000FF80007F0 +000FF80007F00007F00007F00001C00007F00000000007F00000000007F00000000007F0 +0000000007F000000001FFF00000007FFFF0000003FF87F000001FF007F000007F8007F0 +0001FE0007F00003FC0007F0000FF80007F0001FF00007F0001FE00007F0003FC00007F0 +007FC00007F0007F800007F01C7F800007F01CFF000007F01CFF000007F01CFF000007F0 +1CFF00000FF01CFF00000FF01CFF00001FF01CFF80001BF01C7F80003BF01C3FC00071F8 +381FE000E1F8380FF001C0FC7003FC0780FFE000FFFE003FC0001FF8001F80> +48 47 -4 45 52] 97 dc +[<00003FE0000001FFFE000007E01F80001F8003C0007F0000F000FE00007801FC0000F8 +03F80003FC07F00007FC0FF00007FC0FE00007FC1FE00007FC1FE00007FC3FC00003F83F +C00000E07FC00000007FC00000007F800000007F80000000FF80000000FF80000000FF80 +000000FF80000000FF80000000FF80000000FF80000000FF80000000FF80000000FF8000 +00007F800000007FC00000007FC00000007FC00000003FC000000E3FE000000E1FE00000 +1E1FE000001C0FF000001C07F000003803F800007801FC00007000FE0000E0007F0003C0 +001F800780000FE03F000001FFFC0000003FE000> +40 47 -3 45 46] 99 dc +[<01FE0000000000FFFE0000000000FFFE0000000000FFFE000000000003FE0000000000 +01FE000000000000FE000000000000FE000000000000FE000000000000FE000000000000 +FE000000000000FE000000000000FE000000000000FE000000000000FE000000000000FE +000000000000FE000000000000FE000000000000FE000000000000FE000000000000FE00 +0000000000FE000000000000FE000000000000FE000000000000FE000000000000FE0000 +00000000FE000000000000FE000000000000FE001FFFFE0000FE001FFFFE0000FE001FFF +FE0000FE0007FFE00000FE0003FF000000FE0003FC000000FE0003F8000000FE0003E000 +0000FE0007C0000000FE000F80000000FE001F00000000FE003E00000000FE007C000000 +00FE00F000000000FE01E000000000FE03C000000000FE0FC000000000FE1FE000000000 +FE3FE000000000FE7FF000000000FEFFF800000000FFE3F800000000FFC1FC00000000FF +81FE00000000FF00FF00000000FE007F00000000FC007F80000000FC003FC0000000FC00 +1FC0000000FC001FE0000000FC000FF0000000FC0007F0000000FC0003F8000000FC0003 +FC000000FC0001FC000000FC0000FE000000FC0000FF000000FC00007F800000FC00007F +C00000FC00007FE00003FF0000FFF000FFFFFC07FFFF80FFFFFC07FFFF80FFFFFC07FFFF +80> +56 72 -3 71 55] 107 dc +[<01FC01F800FFFC0FFE00FFFC1E1F00FFFC383F8003FC707FC001FCE07FC000FCC07FC0 +00FDC07FC000FD807FC000FD803F8000FF800E0000FF00000000FF00000000FF00000000 +FF00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE +00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00 +000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000 +0000FE00000000FE00000000FE00000000FE00000000FF00000003FF800000FFFFFF8000 +FFFFFF8000FFFFFF8000> +40 45 -3 44 40] 114 dc +[<1F003F807FC0FFE0FFE0FFE0FFF0FFF07FF03FB01F3000300030003000300070006000 +60006000E000C001C001800380030007000E000C001C0038003000> +16 31 -9 71 29] 39 dc +[<001FF8060000FFFF0E0003F007FE000F8001FE001F0000FE003E00007E003C00003E00 +7C00003E007800001E00F800001E00F800000E00F800000E00FC00000E00FC00000E00FE +00000E00FF000000007FC00000007FF80000003FFFE000003FFFFE00001FFFFF800007FF +FFE00003FFFFF80000FFFFFC00001FFFFE000001FFFF0000000FFF00000001FF80000000 +7F80E000003FC0E000001FC0E000000FC0F000000FC0F0000007C0F0000007C0F8000007 +C0F8000007C0FC00000780FC00000F80FE00000F80FE00000F00FF00001E00FF80003C00 +F9E0007800F0F803F000E03FFFC000C007FC0000> +40 47 -3 45 41] 115 dc +[<FFFFF800000000001FFFFFFFFFF800000000001FFFFFFFFFF800000000001FFFFF007F +FC00000000003FFE00003FFC00000000003FFC00001DFE000000000077F800001DFE0000 +00000077F800001DFE000000000077F800001CFF0000000000E7F800001CFF0000000000 +E7F800001C7F8000000001C7F800001C7F8000000001C7F800001C7F8000000001C7F800 +001C3FC00000000387F800001C3FC00000000387F800001C1FE00000000707F800001C1F +E00000000707F800001C1FE00000000707F800001C0FF00000000E07F800001C0FF00000 +000E07F800001C0FF00000000E07F800001C07F80000001C07F800001C07F80000001C07 +F800001C03FC0000003807F800001C03FC0000003807F800001C03FC0000003807F80000 +1C01FE0000007007F800001C01FE0000007007F800001C00FF000000E007F800001C00FF +000000E007F800001C00FF000000E007F800001C007F800001C007F800001C007F800001 +C007F800001C007F800001C007F800001C003FC000038007F800001C003FC000038007F8 +00001C001FE000070007F800001C001FE000070007F800001C001FE000070007F800001C +000FF0000E0007F800001C000FF0000E0007F800001C0007F8001C0007F800001C0007F8 +001C0007F800001C0007F8001C0007F800001C0003FC00380007F800001C0003FC003800 +07F800001C0001FE00700007F800001C0001FE00700007F800001C0001FE00700007F800 +001C0000FF00E00007F800001C0000FF00E00007F800001C0000FF00E00007F800001C00 +007F81C00007F800001C00007F81C00007F800001C00003FC3800007F800001C00003FC3 +800007F800001C00003FC3800007F800001C00001FE7000007F800001C00001FE7000007 +F800001C00000FFE000007F800001C00000FFE000007F800001C00000FFE000007F80000 +1C000007FC000007F800001C000007FC000007F800003E000007FC000007F800007F0000 +03F8000007F80000FF800003F800000FFC0003FFE00001F000001FFE00FFFFFF8001F000 +3FFFFFFFFFFFFF8001F0003FFFFFFFFFFFFF8000E0003FFFFFFF> +88 71 -3 70 95] 77 dc +cmr10.432 sf +[<FFFF0003FFC0FFFF0003FFC007F000007E0003E00000380003E00000100001F0000020 +0001F00000200001F00000200000F80000400000F80000400000FC0000C000007C000080 +00007C00008000003E00010000003E00010000003F00010000001F00020000001F000200 +00001F80060000000F80040000000F800400000007C00800000007C00800000007E00800 +000003E01000000003E01000000001F02000000001F02000000001F02000000000F84000 +000000F84000000000FCC0000000007C80000000007C80000000003F00000000003F0000 +0000003F00000000001E00000000001E00000000000C00000000000C00000000000C0000 +00> +48 42 -1 40 45] 86 dc +[<00100000700001F0000FF000FEF000F0F00000F00000F00000F00000F00000F00000F0 +0000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0 +0000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0 +0000F00001F8007FFFE07FFFE0> +24 40 -5 39 30] 49 dc +[<78FCFCFCFC78> +8 6 -5 5 17] 46 dc +[<007F000001C1C0000780F0000F0078000E0038001C001C003C001E003C001E003C001E +0078000F0078000F0078000F0078000F00F8000F80F8000F80F8000F80F8000F80F8000F +80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F +80F8000F8078000F0078000F0078000F0078000F003C001E003C001E003C001E001C001C +000E0038000F0078000780F00001C1C000007F0000> +32 41 -2 39 30] 48 dc +[<001F000070C000E1E001C3E003C3E00381C00780800780000780000780000780000780 +00078000078000078000078000FFFE00FFFE000780000780000780000780000780000780 +000780000780000780000780000780000780000780000780000780000780000780000780 +0007800007800007800007C000FFFE00FFFE00> +24 42 -1 41 18] 102 dc +[<007F000001C1C000070070000E0038001C001C003C001E003C001E0078000F0078000F +00F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F8078000F +0078000F003C001E003C001E001E003C000E0038000700700001C1C000007F0000> +32 26 -2 25 30] 111 dc +[<0787C0FF98E0FF91F00FA1F007C1F007C0E007C0000780000780000780000780000780 +0007800007800007800007800007800007800007800007800007800007800007800007C0 +00FFFE00FFFE00> +24 26 -1 25 23] 114 dc +[<FFFFFFFF00FFFFFFFF0007E0003F0003E000070003E000038003E000018003E0000180 +03E000008003E000008003E000008003E000008003E000004003E002004003E002004003 +E002000003E002000003E002000003E006000003E00E000003FFFE000003FFFE000003E0 +0E000003E006000003E002000003E002000003E002000003E002000003E002000003E000 +000003E000000003E000000003E000000003E000000003E000000003E000000003E00000 +0003E000000003E000000007F0000000FFFFE00000FFFFE00000> +40 41 -2 40 39] 70 dc +[<07800780FF80FF80FF80FF800F800F8007800780078007800780078007800780078007 +800780078007800780078007800780078007800780078007800780078007800780078007 +80078007800780078007800F8007800F800380178001C027C000E047FC003F87FC> +32 26 -1 25 33] 117 dc +[<0783F800FF8C1C00FF900E000FA0070007A0078007C0078007C0078007800780078007 +800780078007800780078007800780078007800780078007800780078007800780078007 +80078007800780078007800780078007800780078007800780FFFCFFFCFFFCFFFC> +32 26 -1 25 33] 110 dc +[<007E0003C3800700E00E00F01C00703C00783C003878003C78003CF8003CF8003CFFFF +FCF80000F80000F80000F80000F800007800007C00003C00043C00041E00080E00100700 +2001C0C0007F00> +24 26 -2 25 27] 101 dc +[<0780FF80FF800F80078007800780078007800780078007800780078007800780078007 +800780078007800780078007800780078007800780078007800780078007800780078007 +800780078007800780FFFCFFFC> +16 42 -1 41 17] 108 dc +[<FFFE03FFF803FFC0FFFE03FFF803FFC00FE0003F80007E0007C0001F0000180003E000 +1F0000180003E0000F8000100003E0000F8000100001F0000F8000200001F0000FC00020 +0001F0000FC000200000F8000FC000400000F80013E000400000F80013E000400000FC00 +13E000C000007C0033F0008000007C0021F0008000007E0021F0008000003E0021F80100 +00003E0040F8010000003E0040F8010000001F0040F8020000001F00807C020000001F00 +807C020000000F80807C040000000F81003E040000000F81003E0400000007C1003E0800 +000007C2001F0800000007C2001F0800000003E2001F1000000003E4000F9000000003E4 +000F9000000001F4000FA000000001F80007E000000001F80007E000000000F80007C000 +000000F00003C000000000F00003C0000000007000038000000000600001800000000060 +00018000000000600001800000> +64 42 -1 40 61] 87 dc +[<07800000FF800000FF8000000F80000007800000078000000780000007800000078000 +00078000000780000007800000078000000780000007800000078000000783F000078C1C +0007B0070007A0038007C003C0078001E0078001E0078000F0078000F0078000F8078000 +F8078000F8078000F8078000F8078000F8078000F8078000F0078000F0078001F0078001 +E0078001C007C003C00740078007200E0006181C000407E000> +32 42 -1 41 33] 98 dc +[<007F000003FFC0000701F0000C00F80010007C001C007C003E007E003E003E003E003E +001E003E000C007E0000007C0000007C00000078000000F0000000E0000001C000000700 +0000FF00000001E0000000F0000000780000003C0000003E0000001F0000001F0000001F +8000001F8030001F8078001F80FC001F80FC001F80FC001F00F8001F0040003F0040003E +0030007C001800F8000F01F00003FFC000007F0000> +32 41 -2 39 30] 51 dc +[<FFE0000003FFC0FFE0000003FFC007E0000003F80002F0000005F00002F0000005F000 +0278000009F0000278000009F0000278000009F000023C000011F000023C000011F00002 +1E000021F000021E000021F000021E000021F000020F000041F000020F000041F0000207 +800081F0000207800081F0000207800081F0000203C00101F0000203C00101F0000203E0 +0201F0000201E00201F0000201E00201F0000200F00401F0000200F00401F0000200F004 +01F0000200780801F0000200780801F00002003C1001F00002003C1001F00002003C1001 +F00002001E2001F00002001E2001F00002000F4001F00002000F4001F00002000F4001F0 +000200078001F0000700078001F0000F80030003F800FFF803007FFFC0FFF803007FFFC0> +56 41 -2 40 55] 77 dc +[<01FC00000E0780001001C0003C00E0003E00F0003E0078001C00780008007800000078 +000000780000007800007FF80003E078000F8078001F0078003E0078007C007800780078 +20F8007820F8007820F8007820F800F8207C00F8203C013C401F063FC007F80F00> +32 26 -2 25 30] 97 dc +[<FFF00FF8FFF00FF80F8003C0078003800780010003C0020003C0020003E0020001E004 +0001E0040000F0080000F0080000F818000078100000781000003C2000003C2000003E60 +00001E4000001E4000000F8000000F800000070000000700000007000000020000000200 +000004000000040000000400000008000070080000F8100000F8100000F8200000F04000 +00608000001F000000> +32 38 -1 25 32] 121 dc +[<007F000001FFC00007C1E0000F0070001E0038001C003C003C001C0078001E0078001E +00F8000F00F8000F00F8000F00F8000F00F8000F80F8000F80F8000F80F8000F8078000F +8078001F803C001F803C001F801C002F800E004F800700CF8003810F80007E0F8000000F +0000000F0000000F0000001E0000001E0000001E0000003C001C003C003E0078003E0070 +003C00E0001801C0001C0780000FFE000003F80000> +32 41 -2 39 30] 57 dc +[<00FE0007FF800E07E01803F02001F82000F840007C40007CF8007EFC007EFC003EFC00 +3EFC003E78007E00007E00007C00007C0000F80000F80001F00001E00003C00007800007 +00000E00001C0000380000700000600000C0000180020300020600040C00041800041000 +0C3FFFFC7FFFF8FFFFF8FFFFF8> +24 40 -3 39 30] 50 dc +1 @bop1 +cmr17.300 sf +603 1151(Ross)s +21(N.)h +21(Williams)h +cmr10.746 sf +206 823(F)s +-9(unnelW)h +-8(eb)h +36(Hac)h +-3(k)h +-3(er's)h +34(Man)h +-3(ual)h +cmr10.432 sf +519 1343(V1.0)s +19(for)h +20(F)h +-5(unnelW)h +-5(eb)h +20(V3.0)h +725 1536(Ma)s +-2(y)h +20(1992)h +1 @eop +2 @bop0 +/cmr10.300 127 @newfont +/cmsy10.300 127 @newfont +cmsy10.300 sf +[<0001FC0000000FFF8000003E03E00000F000780001C0001C000380000E000700000700 +0E000003801C000001C018000000C038000000E030000000607000000070600000003060 +00000030E000000038C000000018C000000018C000000018C000000018C000000018C000 +000018C000000018E0000000386000000030600000003070000000703000000060380000 +00E018000000C01C000001C00E0000038007000007000380000E0001C0001C0000F00078 +00003E03E000000FFF80000001FC0000> +40 39 -2 29 42] 13 dc +cmr10.300 sf +[<001F808000E0618001801980070007800E0003801C0003801C00018038000180780000 +807800008070000080F0000000F0000000F0000000F0000000F0000000F0000000F00000 +00F0000000700000807800008078000080380000801C0001001C0001000E000200070004 +000180080000E03000001FC000> +32 30 -2 28 30] 67 dc +[<03F0000E1C00180600300300700380600180E001C0E001C0E001C0E001C0E001C0E001 +C06001807003803003001806000E1C0003F000> +24 18 -1 17 21] 111 dc +[<FC7C001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00 +E01C01C01C01C01C01801E03001D06001CF8001C00001C00001C00001C00001C00001C00 +001C0000FF8000> +24 26 -1 17 23] 112 dc +[<FF07E03C03801C01001C01000E02000E020007040007040007040003880003880003D8 +0001D00001D00000E00000E00000E000004000004000008000008000F08000F10000F300 +006600003C0000> +24 26 -1 17 22] 121 dc +[<FCE01D301E781E781C301C001C001C001C001C001C001C001C001C001C001C001C00FF +C0> +16 18 -1 17 16] 114 dc +[<18003C003C0018000000000000000000000000000000FC001C001C001C001C001C001C +001C001C001C001C001C001C001C001C001C001C00FF80> +16 29 -1 28 12] 105 dc +[<00038003C4C00C38C01C3880181800381C00381C00381C00381C001818001C38000C30 +0013C0001000003000001800001FF8001FFF001FFF803003806001C0C000C0C000C0C000 +C06001803003001C0E0007F800> +24 28 -1 18 21] 103 dc +[<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C +001C87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03 +801C03801C03801C03801C0380FF9FF0> +24 29 -1 28 23] 104 dc +[<04000400040004000C000C001C003C00FFE01C001C001C001C001C001C001C001C001C +001C101C101C101C101C100C100E2003C0> +16 26 -1 25 16] 116 dc +[<07E00C301878307870306000E000E000E000E000E000E00060007004300418080C3007 +C0> +16 18 -2 17 18] 99 dc +[<030007003F00C700070007000700070007000700070007000700070007000700070007 +00070007000700070007000700070007000F80FFF8> +16 28 -4 27 21] 49 dc +[<03C00C301818300C700C600EE006E006E007E007E007E007E0076007700F300F18170C +2707C700060006000E300C780C78187010203030C00F80> +16 29 -2 27 21] 57 dc +[<07C01830201C400C400EF00FF80FF807F8077007000F000E000E001C001C0038007000 +6000C00180030006010C01180110023FFE7FFEFFFE> +16 28 -2 27 21] 50 dc +[<FFFF00000F01E0000F0078000F003C000F001C000F001E000F001E000F001E000F001E +000F001C000F003C000F0078000F01E0000FFF00000F03C0000F00E0000F00F0000F0078 +000F0078000F0078000F0078000F0078000F0078000F0078100F0078100F0038100F003C +20FFF01C20000007C0> +32 29 -2 27 31] 82 dc +[<1F9030704030C010C010E010F8007F803FE00FF000F880388018C018C018E010D0608F +C0> +16 18 -1 17 16] 115 dc +[<FF007FC00F800E000F8004000BC0040009E0040009E0040008F0040008F80400087804 +00083C0400083C0400081E0400080F0400080F0400080784000807C4000803C4000801E4 +000801E4000800F40008007C0008007C0008003C0008003C0008001C0008000C001C000C +00FF800400> +32 28 -2 27 31] 78 dc +[<60F0F060> +8 4 -4 3 12] 46 dc +[<FFE0FFE0FF1F001F003C1E001E00180F001F00100F001F00100F001F001007801F0020 +0780278020078027802003C027804003C043C04003C043C04003E043C04001E081E08001 +E081E08001E081E08000F100F10000F100F10000F100F100007900FA00007A007A00007A +007A00003E007C00003C003C00003C003C00003C003C0000180018000018001800001800 +1800> +40 29 -1 27 43] 87 dc +[<FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C +001C001C001C001C001C001C001C001C001C001C00FF80> +16 29 -1 28 12] 108 dc +[<1FC000307000783800781C00301C00001C00001C0001FC000F1C00381C00701C00601C +00E01C40E01C40E01C40603C40304E801F8700> +24 18 -2 17 21] 97 dc +[<FC7E07E0001C838838001D019018001E01E01C001C01C01C001C01C01C001C01C01C00 +1C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C +01C01C001C01C01C001C01C01C00FF8FF8FF80> +40 18 -1 17 36] 109 dc +[<FFFF800F00E00F00780F003C0F001C0F001E0F001E0F001E0F001E0F001E0F001C0F00 +3C0F00780F00E00FFF800F00000F00000F00000F00000F00000F00000F00000F00000F00 +000F00000F00000F0000FFF000> +24 28 -2 27 28] 80 dc +[<03E00C301818300C700E6006E006FFFEE000E000E000E00060007002300218040C1803 +E0> +16 18 -1 17 18] 101 dc +[<FC7C001C87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03 +801C03801C03801C03801C03801C0380FF9FF0> +24 18 -1 17 23] 110 dc +[<003F0000070000070000070000070000070000070000070000070000070000070003E7 +000C1700180F00300700700700600700E00700E00700E00700E00700E00700E007006007 +00700700300700180F000C370007C7E0> +24 29 -2 28 23] 100 dc +[<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C3F +C01C0F001C0C001C08001C10001C20001C40001CE0001DE0001E70001C78001C38001C3C +001C1C001C0E001C0F001C0F80FF9FE0> +24 29 -1 28 22] 107 dc +[<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C +001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C00 +C01C01C01C01801E030019060010F800> +24 29 -1 28 23] 98 dc +[<FC1F801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03 +801C03801C03801C07800C07800E1B8003E3F0> +24 18 -1 17 23] 117 dc +[<FF07E03C03801C01001C01000E02000E020007040007040007040003880003880003D8 +0001D00001D00000E00000E00000E000004000> +24 18 -1 17 22] 118 dc +[<00F8018C071E061E0E0C0E000E000E000E000E000E00FFE00E000E000E000E000E000E +000E000E000E000E000E000E000E000E000E000E007FE0> +16 29 0 28 13] 102 dc +2 @bop1 +cmsy10.300 sf +372 2675(\015)s +cmr10.300 sf +177 2675(Cop)s +-1(yrigh)h +-1(t)h +384 2674(c)s +428 2675(1992)s +12(Ross)h +14(N.)h +14(Willia)h +-1(m)h +-1(s.)h +177 2750(P)s +-1(ermission)h +17(is)h +17(gran)h +-1(ted)h +17(to)h +18(mak)h +-1(e)h +15(and)h +18(distribute)h +18(v)h +-1(erbatim)h +15(copies)h +18(of)h +17(this)h +18(man)h +-1(ual)h +14(pro)h +-1(vided)h +18(that)h +17(the)h +177 2800(cop)s +-1(yrigh)h +-1(t)h +14(notice)h +14(and)h +14(this)h +14(p)h +1(ermission)h +12(notice)h +15(are)h +14(preserv)h +-1(ed)h +16(on)h +14(all)h +12(copies.)h +1053 2940(1)s +1772 2 177 2597 r +1772 2 177 2835 r +2 @eop +3 @bop0 +3 @bop1 +cmr10.300 sf +1053 2940(2)s +3 @eop +4 @bop0 +/cmbx10.746 127 @newfont +/cmbx10.300 127 @newfont +/cmmi10.300 127 @newfont +cmbx10.746 sf +[<000000003FFE00000E0000000FFFFFC0001E0000007FFFFFF8003E000003FFFFFFFE00 +FE00000FFFFFFFFF81FE00003FFFF800FFC3FE0000FFFF80000FF7FE0001FFFC000003FF +FE0007FFF0000001FFFE000FFFC00000007FFE001FFF800000003FFE003FFF000000001F +FE007FFE000000000FFE00FFFC0000000007FE01FFF80000000007FE03FFF00000000003 +FE03FFF00000000001FE07FFE00000000001FE07FFE00000000000FE0FFFC00000000000 +FE0FFFC000000000007E1FFFC000000000007E1FFF8000000000007E3FFF800000000000 +7E3FFF8000000000003E3FFF8000000000003E7FFF8000000000003E7FFF000000000000 +3E7FFF000000000000007FFF00000000000000FFFF00000000000000FFFF000000000000 +00FFFF00000000000000FFFF00000000000000FFFF00000000000000FFFF000000000000 +00FFFF00000000000000FFFF00000000000000FFFF00000000000000FFFF000000000000 +00FFFF00000000000000FFFF00000000000000FFFF000000000000007FFF000000000000 +007FFF000000000000007FFF000000000000007FFF8000000000003E3FFF800000000000 +3E3FFF8000000000003E3FFF8000000000003E1FFF8000000000003E1FFFC00000000000 +3E0FFFC000000000007C0FFFC000000000007C07FFE000000000007C07FFE00000000000 +F803FFF00000000000F803FFF00000000001F801FFF80000000001F000FFFC0000000003 +E0007FFE0000000007E0003FFF000000000FC0001FFF800000001F80000FFFC00000003F +000007FFF0000000FE000001FFFC000001FC000000FFFF80000FF80000003FFFF8007FF0 +0000000FFFFFFFFFC000000003FFFFFFFF00000000007FFFFFFC00000000000FFFFFE000 +00000000003FFE000000> +72 73 -7 71 86] 67 dc +[<00000FFF0000000000FFFFF000000007FFFFFE0000001FFFFFFF8000003FFC03FFC000 +00FFE0007FF00001FF80001FF80003FF00000FFC0007FE000007FE000FFE000007FF000F +FC000003FF001FFC000003FF803FFC000003FFC03FF8000001FFC03FF8000001FFC07FF8 +000001FFE07FF8000001FFE07FF8000001FFE0FFF8000001FFF0FFF8000001FFF0FFF800 +0001FFF0FFF8000001FFF0FFF8000001FFF0FFF8000001FFF0FFF8000001FFF0FFF80000 +01FFF0FFF8000001FFF0FFF8000001FFF07FF8000001FFE07FF8000001FFE07FF8000001 +FFE07FF8000001FFE03FFC000003FFC03FFC000003FFC01FFC000003FF801FFE000007FF +800FFE000007FF0007FF00000FFE0003FF80001FFC0001FFC0003FF80000FFE0007FF000 +007FFC03FFE000001FFFFFFF80000007FFFFFE00000000FFFFF0000000000FFF000000> +56 46 -3 45 59] 111 dc +[<007FC001FFC00000FFFFC00FFFF80000FFFFC03FFFFE0000FFFFC0FFFFFF0000FFFFC1 +FC07FF8000FFFFC3E003FFC00003FFC7C001FFC00001FFCF0001FFE00001FFDE0000FFE0 +0001FFDC0000FFE00001FFFC0000FFF00001FFF80000FFF00001FFF00000FFF00001FFF0 +0000FFF00001FFF00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF0 +0001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE0 +0000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF0 +0001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE0 +0000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF0 +0001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE0 +0000FFF000FFFFFFC07FFFFFE0FFFFFFC07FFFFFE0FFFFFFC07FFFFFE0FFFFFFC07FFFFF +E0FFFFFFC07FFFFFE0> +64 46 -4 45 66] 110 dc +[<0001F000000001F000000001F000000001F000000001F000000001F000000003F00000 +0003F000000003F000000007F000000007F000000007F00000000FF00000000FF0000000 +1FF00000003FF00000003FF00000007FF0000001FFF0000003FFF000000FFFFFFFC0FFFF +FFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC000FFF0000000FFF0000000FFF0000000FFF0 +000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF000 +0000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF00000 +00FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF001F000FFF001F000 +FFF001F000FFF001F000FFF001F000FFF001F000FFF001F000FFF001F000FFF001F0007F +F001E0007FF803E0003FF803E0003FFC07C0001FFE0F80000FFFFF800007FFFE000001FF +FC0000001FF000> +40 66 -2 65 46] 116 dc +[<00001FFE00000001FFFFE0000007FFFFF800001FFFFFFE00007FFC07FF0000FFE001FF +8001FFC0007FC003FF80003FE007FF00003FF00FFE00001FF01FFE00000FF81FFC00000F +F83FFC00000FFC3FFC000007FC7FFC000007FC7FF8000007FC7FF8000007FE7FF8000007 +FEFFF8000007FEFFF8000007FEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFF +FCFFF800000000FFF800000000FFF800000000FFF8000000007FF8000000007FF8000000 +007FFC000000003FFC000000003FFC000000003FFC0000001C1FFE0000003E0FFE000000 +3E07FF0000007E07FF000000FC03FF800001F801FFC00003F0007FF0001FE0003FFE00FF +C0001FFFFFFF800007FFFFFE000000FFFFF80000000FFF8000> +48 46 -3 45 54] 101 dc +[<000FFF00E0007FFFF3E001FFFFFFE007FFFFFFE00FF800FFE01FC0001FE03F80000FE0 +3F000007E07F000003E07F000003E0FF000003E0FF000003E0FF800003E0FFC0000000FF +F0000000FFFE000000FFFFF800007FFFFFC0007FFFFFF0003FFFFFFC001FFFFFFF000FFF +FFFF8007FFFFFFC003FFFFFFE000FFFFFFF0003FFFFFF00003FFFFF800001FFFF8000000 +FFFC0000001FFC7800000FFCF8000007FCF8000003FCFC000003FCFC000003FCFE000003 +F8FE000003F8FF000003F8FF800007F0FFC0000FF0FFF0001FE0FFFC00FFC0FFFFFFFF80 +FC7FFFFE00F81FFFF800E003FF8000> +40 46 -4 45 47] 115 dc +cmbx10.300 sf +[<FFFFF800FFFFFE000FC03F800FC00F800FC007C00FC007E00FC007E00FC007E00FC007 +E00FC007E00FC007C00FC007C00FC00F800FC03F000FFFFC000FC000000FC000000FC000 +000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000FFFC00 +00FFFC0000> +32 28 -2 27 33] 80 dc +[<FE3E00FE47001E8F801E8F801E8F801F07001F00001F00001F00001F00001F00001F00 +001F00001F00001F00001F0000FFF000FFF000> +24 18 -1 17 20] 114 dc +[<01FC000F07001C03803C01C07801C07801E0F801E0F801E0FFFFE0F80000F80000F800 +007800007C00603C00601E00C00F038001FC00> +24 18 -1 17 22] 101 dc +[<007F0001E38003C7C00787C00F87C00F83800F80000F80000F80000F80000F8000FFF8 +00FFF8000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80 +000F80000F80000F80007FF8007FF800> +24 29 0 28 15] 102 dc +[<0FF8001C1E003E0F803E07803E07C01C07C00007C0007FC007E7C01F07C03C07C07C07 +C0F807C0F807C0F807C0780BC03E13F80FE1F8> +24 18 -1 17 23] 97 dc +[<03FC000E0E001C1F003C1F00781F00780E00F80000F80000F80000F80000F80000F800 +007800007801803C01801C03000E0E0003F800> +24 18 -2 17 21] 99 dc +[<1801801FFF001FFE001FFC001FF8001FC00018000018000018000018000019F8001E0E +00180F801007800007C00007E00007E00007E07807E0F807E0F807E0F807C0F007C0600F +80381F001FFE0007F000> +24 27 -2 26 24] 53 dc +[<00038000000380000007C0000007C0000007C000000FE000000FE000001FF000001BF0 +00001BF0000031F8000031F8000061FC000060FC0000E0FE0000C07E0000C07E0001803F +0001FFFF0003FFFF8003001F8003001F8006000FC006000FC00E000FE00C0007E0FFC07F +FEFFC07FFE> +32 28 -2 27 36] 65 dc +[<FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0F +F81F0FF81F03801F07001F0C001F18001F70001FF8001FFC001FBC001F3E001F1F001F0F +001F0F801F07C01F03E0FFC7FCFFC7FC> +24 29 -1 28 25] 107 dc +[<FF0FC0FF31E01F40F01F80F81F80F81F00F81F00F81F00F81F00F81F00F81F00F81F00 +F81F00F81F00F81F00F81F00F8FFE7FFFFE7FF> +24 18 -1 17 27] 110 dc +[<01FC000F07801C01C03C01E07800F07800F0F800F8F800F8F800F8F800F8F800F8F800 +F87800F07800F03C01E01E03C00F078001FC00> +24 18 -1 17 24] 111 dc +[<FF8FF8FEFF8FF8FE1F03E0301F03E0301F83E0700F83F0600F86F06007C6F0C007CEF8 +C007EC79C003EC7D8003F83D8001F83F0001F83F0001F01F0000F01E0000E00E0000E00E +00> +32 18 -1 17 34] 119 dc +[<FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F +001F001F001F001F001F001F001F001F001F00FFE0FFE0> +16 29 -1 28 14] 108 dc +[<000FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F001F9 +F00F07F01C03F03C01F07801F07801F0F801F0F801F0F801F0F801F0F801F0F801F07801 +F07801F03C01F01C03F00F0FFE03F9FE> +24 29 -2 28 27] 100 dc +[<03F8F00E0F381E0F381C07303C07803C07803C07803C07801C07001E0F000E0E001BF8 +001000001800001800001FFF001FFFC00FFFE01FFFF07801F8F00078F00078F000787000 +707800F01E03C007FF00> +24 27 -1 17 24] 103 dc +[<FF0FC07E00FF31E18F001F40F207801F80FC07C01F80FC07C01F00F807C01F00F807C0 +1F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F +00F807C01F00F807C0FFE7FF3FF8FFE7FF3FF8> +40 18 -1 17 40] 109 dc +[<0300030003000300070007000F000F003FFCFFFC1F001F001F001F001F001F001F001F +001F001F0C1F0C1F0C1F0C0F08079803F0> +16 26 -1 25 19] 116 dc +[<1FD830786018E018E018F000FF807FE07FF01FF807FC007CC01CC01CE01CE018F830CF +C0> +16 18 -2 17 19] 115 dc +[<6000007FFFE07FFFE07FFFC07FFF807FFF80E00300C00600C00C00C018000030000030 +0000600000E00000E00001E00001C00003C00003C00003C00003C00007C00007C00007C0 +0007C00007C00007C000038000> +24 28 -3 27 24] 55 dc +[<1E003F003F003F003F001E00000000000000000000000000FF00FF001F001F001F001F +001F001F001F001F001F001F001F001F001F001F00FFE0FFE0> +16 30 -1 29 14] 105 dc +[<FFE003FFFFE003FF0FF000300FF800300DFC00300CFE00300C7E00300C3F00300C1F80 +300C1FC0300C0FE0300C07F0300C03F0300C01F8300C01FC300C00FE300C007F300C003F +300C001FB00C001FF00C000FF00C0007F00C0003F00C0001F00C0000F00C0000F0FFC000 +70FFC00030> +32 28 -2 27 37] 78 dc +[<03F8000FFE001E0F003C07807807807803C0F803C0F803C0F803E0F803E0F803E0F803 +E07807E03807E03C0BE00E1BE003E3E00003E00003C00003C03807C07C07807C0700780F +00383C001FF8000FE000> +24 27 -2 26 24] 57 dc +[<00600001E0000FE000FFE000F3E00003E00003E00003E00003E00003E00003E00003E0 +0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0 +0003E0007FFF807FFF80> +24 27 -3 26 24] 49 dc +[<FFFFFF00FFFFFF000FC01F000FC007000FC003000FC003800FC003800FC001800FC181 +800FC181800FC180000FC180000FC380000FFF80000FFF80000FC380000FC180000FC180 +000FC180000FC180000FC000000FC000000FC000000FC000000FC000000FC00000FFFF00 +00FFFF0000> +32 28 -2 27 30] 70 dc +[<FF07F8FF07F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00 +F81F00F81F00F81F01F80F01F80786FF01F8FF> +24 18 -1 17 27] 117 dc +[<FFFC7FFE0FFCFFFC7FFE0FFC0FC007E000C00FC007F000C00FE003F001C007E003F001 +8007E007F8018003F007F8030003F007F8030003F80CFC070001F80CFC060001F81CFE06 +0001FC187E0E0000FC187E0C0000FC387F0C00007E303F1800007E303F1800007F601FB8 +00003F601FB000003FE01FF000003FC00FF000001FC00FE000001FC00FE000000F8007C0 +00000F8007C000000F0003C000000700038000000700038000> +48 28 -1 27 49] 87 dc +[<FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F3F +801FE1E01F80701F00781F003C1F003C1F003E1F003E1F003E1F003E1F003E1F003E1F00 +3C1F003C1F00781F80701EC1E01C3F00> +24 29 -1 28 27] 98 dc +[<FFFFF800FFFFFF000FC01FC00FC007E00FC001F00FC001F80FC000F80FC000FC0FC000 +7C0FC0007C0FC0007E0FC0007E0FC0007E0FC0007E0FC0007E0FC0007E0FC0007E0FC000 +7E0FC0007C0FC0007C0FC0007C0FC000F80FC000F80FC001F00FC007E00FC01FC0FFFFFF +00FFFFF800> +32 28 -2 27 37] 68 dc +[<07F8001FFE00383F80780FC0FC07C0FC07E0FC03E0FC03E07803E00007E00007C00007 +C0000F80001F00001E0000380000700000E0000180600300600600600800E01FFFC03FFF +C07FFFC0FFFFC0FFFFC0> +24 27 -2 26 24] 50 dc +[<FFFFFFFF07E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007 +E007E007E007E007E007E007E007E007E0FFFFFFFF> +16 28 -1 27 18] 73 dc +[<FF3F80FFE1E01F80F01F00781F007C1F003C1F003E1F003E1F003E1F003E1F003E1F00 +3E1F003C1F007C1F00781F80F01FC1E01F3F001F00001F00001F00001F00001F00001F00 +00FFE000FFE000> +24 26 -1 17 27] 112 dc +cmmi10.300 sf +[<60F0F060> +8 4 -4 3 12] 58 dc +cmr10.300 sf +[<FF8000FF800F8000F8000F8000F8000BC00178000BC00178000BC001780009E0027800 +09E002780008F004780008F004780008F004780008780878000878087800087808780008 +3C107800083C107800083C107800081E207800081E207800081E207800080F407800080F +40780008078078000807807800080780780008030078001C03007800FF8307FF80> +40 28 -2 27 38] 77 dc +[<FFFFF80F00780F00180F00080F00080F000C0F00040F00040F02040F02000F02000F02 +000F06000FFE000F06000F02000F02000F02000F02000F00000F00000F00000F00000F00 +000F00000F00000F8000FFF800> +24 28 -2 27 27] 70 dc +[<FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F +000F000F000F000F000F000F000F000F000F00FFF0> +16 28 -1 27 15] 73 dc +[<07E01830201C201C781E780E781E381E001C001C00180030006007E00030001C001C00 +0E000F000F700FF80FF80FF80FF00E401C201C183007E0> +16 29 -2 27 21] 51 dc +[<FF3FCFE03C0F03801C0701801C0701001C0B01000E0B82000E0B82000E1182000711C4 +000711C4000720C40003A0E80003A0E80003C0680001C0700001C0700001803000008020 +00> +32 18 -1 17 30] 119 dc +[<07E0801C1980300580700380600180E00180E00080E00080E00080F00000F800007C00 +007FC0003FF8001FFE0007FF0000FF80000F800007C00003C00001C08001C08001C08001 +C0C00180C00180E00300D00200CC0C0083F800> +24 30 -2 28 23] 83 dc +[<7F8FF00F03800F030007020003840001C80001D80000F00000700000780000F800009C +00010E00020E000607000403801E07C0FF0FF8> +24 18 0 17 22] 120 dc +[<000C00000C00001C00003C00003C00005C0000DC00009C00011C00031C00021C00041C +000C1C00081C00101C00301C00201C00401C00C01C00FFFFC0001C00001C00001C00001C +00001C00001C00001C0001FFC0> +24 28 -1 27 21] 52 dc +[<FFFFC0000F00F0000F003C000F000E000F0007000F0007000F0003800F0003C00F0001 +C00F0001C00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001 +E00F0001C00F0001C00F0003C00F0003800F0007800F0007000F000E000F001C000F0070 +00FFFFC000> +32 28 -2 27 32] 68 dc +[<007E0001C1800301800703C00E03C00E01800E00000E00000E00000E00000E0000FFFF +C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01 +C00E01C00E01C00E01C00E01C07F87F8> +24 29 0 28 23] 12 dc +[<00F0030C06040C0E181E301E300C700070006000E3E0E430E818F00CF00EE006E007E0 +07E007E007E007600760077006300E300C18180C3003E0> +16 29 -2 27 21] 54 dc +[<7FFC70386038407040F040E041C003C0038007000F040E041C043C0C380870087038FF +F8> +16 18 -1 17 18] 122 dc +[<300C3FF83FF03FC020002000200020002000200023E024302818301C200E000E000F00 +0F000F600FF00FF00FF00F800E401E401C2038187007C0> +16 29 -2 27 21] 53 dc +[<03E00C301008200C20066006600660067006780C3E083FB01FE007F007F818FC307E60 +1E600FC007C003C003C003C00360026004300C1C1007E0> +16 29 -2 27 21] 56 dc +[<000600000006000000060000000F0000000F0000000F00000017800000178000001780 +000023C0000023C0000023C0000041E0000041E0000041E0000080F0000080F0000180F8 +000100780001FFF80003007C0002003C0002003C0006003E0004001E0004001E000C001F +001E001F00FF80FFF0> +32 29 -1 28 31] 65 dc +[<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020800F0020800F00 +20000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00 +00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F80 +0003FFFC00> +32 28 -1 27 30] 84 dc +[<4000007FFF807FFF007FFF004002008004008004008008000010000010000020000060 +0000400000C00000C00001C0000180000180000380000380000380000380000780000780 +00078000078000078000078000030000> +24 29 -2 27 21] 55 dc +[<FFF8000F80000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00 +000F00000F00000F00000F00000F00000F00000F00080F00080F00080F00180F00180F00 +100F00300F00700F01F0FFFFF0> +24 28 -2 27 26] 76 dc +[<FFFFFC0F003C0F000C0F00040F00040F00060F00020F00020F02020F02000F02000F02 +000F06000FFE000F06000F02000F02000F02000F02010F00010F00020F00020F00020F00 +060F00060F000C0F003CFFFFFC> +24 28 -2 27 28] 69 dc +[<03C00C301818300C300C700E60066006E007E007E007E007E007E007E007E007E007E0 +07E007E007E00760066006700E300C300C18180C3007E0> +16 29 -2 27 21] 48 dc +[<FFFFC00F00F00F00380F003C0F001C0F001E0F001E0F001E0F001E0F001C0F003C0F00 +780F01F00FFFE00F00780F003C0F001E0F000E0F000F0F000F0F000F0F000F0F000F0F00 +1E0F001E0F003C0F0078FFFFE0> +24 28 -2 27 29] 66 dc +[<FFF3FFC00F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C +000F003C000F003C000F003C000F003C000FFFFC000F003C000F003C000F003C000F003C +000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C +00FFF3FFC0> +32 28 -2 27 31] 72 dc +[<60F0F8680808081010204080> +8 12 -4 28 12] 39 dc +[<FFF07FC00F000E000F0004000F0004000F0004000F0004000F0004000F0004000F0004 +000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004 +000F0004000F0004000F0004000F0004000700080007800800038010000180100000C020 +000070C000001F0000> +32 29 -2 27 31] 85 dc +4 @bop1 +cmbx10.746 sf +177 397(Con)s +-3(ten)h +-3(ts)h +cmbx10.300 sf +177 679(Preface)s +1592(5)h +177 794(Ac)s +-1(kno)h +-1(wledgemen)h +-2(ts)h +1349(7)h +177 909(Presen)s +-1(tati)h +-1(on)h +13(Notes)h +1347(9)h +177 1024(1)s +38(F)h +-4(unnelW)h +-4(eb)h +14(Design)h +1268(11)h +177 2466(2)s +38(F)h +-4(unnelW)h +-4(eb)h +14(Implemen)h +-2(tati)h +-1(on)h +1078(27)h +cmmi10.300 sf +833 1098(:)s +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +575 1172(:)s +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +898 1245(:)s +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +1124 1319(:)s +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +1027 1393(:)s +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +1318 1467(:)s +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +769 1540(:)s +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +1092 1614(:)s +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +930 1688(:)s +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +801 1761(:)s +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +801 1835(:)s +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +866 1909(:)s +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +866 1982(:)s +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +1092 2056(:)s +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +1382 2130(:)s +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +1608 2204(:)s +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +736 2277(:)s +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +543 2351(:)s +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +575 2540(:)s +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +1092 2614(:)s +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +1188 2687(:)s +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +607 2761(:)s +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +640 2835(:)s +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +cmr10.300 sf +239 1098(1.1)s +42(Motiv)h +-2(ation)h +12(for)h +14(F)h +-3(unnelW)h +-3(eb)h +1092(11)h +239 1172(1.2)s +42(Inden)h +-1(tation)h +1362(12)h +239 1245(1.3)s +42(Review)h +14(of)h +13(F)h +-3(unnelW)h +-3(eb)h +13(Syn)h +-1(tax)h +1037(14)h +335 1319(1.3.1)s +46(Review)h +13(of)h +14(Macro)h +14(De\014nition)h +13(Syn)h +-1(tax)h +800(14)h +335 1393(1.3.2)s +46(Review)h +13(of)h +14(Macro)h +14(Call)h +12(Syn)h +-1(tax)h +906(16)h +335 1467(1.3.3)s +46(Review)h +13(of)h +14(P)h +-1(arameterized)h +14(Macro)h +14(Call)h +13(Syn)h +-1(tax)h +631(16)h +239 1540(1.4)s +42(Do)h +1(cumen)h +-1(t)h +13(Structuring)h +1165(16)h +239 1614(1.5)s +42(Discussion)h +14(of)h +13(Some)h +13(Miscellaneous)h +14(Issues)h +845(18)h +239 1688(1.6)s +42(Automated)h +13(Regression)h +14(T)h +-3(esting)h +1015(18)h +239 1761(1.7)s +42(Comm)h +-1(and)h +12(Line)h +13(In)h +-1(terface)h +1122(18)h +239 1835(1.8)s +42(File)h +13(Name)h +13(Managemen)h +-1(t)h +1137(19)h +335 1909(1.8.1)s +46(Filename)h +12(Extensions)h +1065(20)h +335 1982(1.8.2)s +46(Filename)h +12(Inheritance)h +1057(20)h +335 2056(1.8.3)s +46(P)h +-1(ortable)h +14(Structure)h +15(of)h +14(File)h +13(Names)h +835(21)h +239 2130(1.9)s +42(Sp)h +1(ecifying)h +13(Constrain)h +-1(ts)h +15(on)h +13(the)h +15(Num)h +-1(b)h +1(er)h +13(of)h +13(Instan)h +-1(tiations)h +563(22)h +239 2204(1.10)s +21(The)h +14(Relationship)h +13(Bet)h +-1(w)h +-1(een)h +15(Do)h +1(cumen)h +-1(t)h +13(Structure)h +16(and)h +14(Macro)h +14(Structure)h +318(23)h +239 2277(1.11)s +21(Diagnostic)h +13(Messages)h +1203(25)h +239 2351(1.12)s +21(Summ)h +-1(ary)h +1396(25)h +239 2540(2.1)s +42(In)h +-1(tro)h +1(duction)h +1345(27)h +239 2614(2.2)s +42(History)h +14(of)h +13(F)h +-3(unnelW)h +-3(eb)h +13(Implemen)h +-1(tatio)h +-1(ns)h +856(27)h +239 2687(2.3)s +42(Wh)h +-1(y)h +13(F)h +-3(unnelW)h +-3(eb)h +14(W)h +-3(asn't)h +12(Used)h +15(to)h +14(W)h +-3(rite)h +14(Itself)h +754(28)h +239 2761(2.4)s +42(Co)h +1(ding)h +13(St)h +-1(yle)h +1338(28)h +239 2835(2.5)s +42(Use)h +15(of)h +13(Memory)h +1294(29)h +1053 2940(3)s +4 @eop +5 @bop0 +cmbx10.300 sf +[<03F8001FFE003C1F003C0F807C07C07E07C07C07C03807C0000F80000F80001E00003C +0003F800001E00000F800007C00007C00007E03007E07807E0FC07E0FC07E0FC07C0780F +80781F001FFE0007F800> +24 27 -2 26 24] 51 dc +[<FFC00003FFFFE00007FF0FE00007F00DF0000DF00DF0000DF00DF0000DF00CF80019F0 +0CF80019F00C7C0031F00C7C0031F00C3E0061F00C3E0061F00C1F00C1F00C1F00C1F00C +1F00C1F00C0F8181F00C0F8181F00C07C301F00C07C301F00C03E601F00C03E601F00C01 +FC01F00C01FC01F00C01FC01F00C00F801F00C00F801F0FFC0701FFFFFC0701FFF> +40 28 -2 27 45] 77 dc +[<003FC00001F0300003C0380007C07C000F807C000F807C000F8038000F8000000F8000 +000F8000000F800000FFFFFC00FFFFFC000F807C000F807C000F807C000F807C000F807C +000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C +007FE1FF807FE1FF80> +32 29 0 28 27] 12 dc +[<000180000380000780000F80001F80003F80006F8000CF80008F80018F80030F80060F +800C0F80180F80300F80600F80C00F80FFFFF8FFFFF8000F80000F80000F80000F80000F +80000F8001FFF801FFF8> +24 27 -1 26 24] 52 dc +[<000FF008007FFE3801FC07F807E001F80F8000781F0000783F0000383E0000387E0000 +187C000018FC000000FC000000FC000000FC000000FC000000FC000000FC007FFFFC007F +FF7C0001F87E0001F83E0001F83F0001F81F0001F80F8001F807E001F801FC07F8007FFE +78000FF818> +32 28 -3 27 38] 71 dc +[<FFFC03FFFFFC03FF0FC000300FC000300FC000300FC000300FC000300FC000300FC000 +300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC000 +300FC000300FC000300FC0003007C0003007C0006003E000E001F001C000FC0780007FFE +00000FF800> +32 28 -2 27 37] 85 dc +[<FFFF00FFFF000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0 +000FC0000FC0000FC0000FC0000FC0000FC0030FC0030FC0030FC0070FC0070FC0060FC0 +0E0FC01E0FC07EFFFFFEFFFFFE> +24 28 -2 27 29] 76 dc +[<FFFC01FF80FFFC01FF800FC000180007E000300007E000300007F000700003F0006000 +03F800E00001F800C00001FC00C00000FC01800000FC018000007E030000007E03000000 +7F070000003F060000003F8E0000001F8C0000001FCC0000000FD80000000FD800000007 +F000000007F000000007F000000003E000000003E000000001C000000001C00000> +40 28 -1 27 36] 86 dc +[<FFFFF800FFFFFF000FC01F800FC00FC00FC007C00FC007E00FC007E00FC007E00FC007 +E00FC007E00FC007C00FC00F800FC03F000FFFFE000FC00F800FC007C00FC007E00FC003 +E00FC003F00FC003F00FC003F00FC003F00FC003F00FC007E00FC007E00FC01FC0FFFFFF +00FFFFFC00> +32 28 -2 27 34] 66 dc +[<FFFFF00000FFFFFE00000FC03F00000FC00F80000FC007C0000FC007E0000FC007E000 +0FC007E0000FC007E0000FC007E0000FC007C0000FC00F80000FC03E00000FFFF000000F +C07C00000FC03E00000FC03F00000FC01F80000FC01F80000FC01F80000FC01F80000FC0 +1F80000FC01F80000FC01F81800FC01F81800FC00FC180FFFC07C300FFFC01FE00> +40 28 -2 27 36] 82 dc +[<FFC7FCFFC7FC1F81800F838007C70003EE0001FC0001F80000F800007C0000FE0001DF +00039F00070F800607C00C03E0FF07FCFF07FC> +24 18 -1 17 25] 120 dc +cmr10.300 sf +[<FFE00FF01F0003C00F0001800F0001000F800300078002000780020003C0040003C004 +0003C0040001E0080001E0080001F0080000F0100000F0100000F8300000782000007820 +00003C4000003C4000003C4000001E8000001E8000001F8000000F0000000F0000000600 +000006000000060000> +32 29 -1 27 31] 86 dc +[<003F800000E0E0000380380007001C000E000E001C0007003C00078038000380780003 +C0780003C0700001C0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001 +E0F00001E0700001C0780003C0780003C0380003803C0007801C0007000E000E0007001C +000380380000E0E000003F8000> +32 30 -2 28 32] 79 dc +[<003F07E00001C09C18000380F018000701F03C000E01E03C000E00E018000E00E00000 +0E00E000000E00E000000E00E000000E00E00000FFFFFFFC000E00E01C000E00E01C000E +00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00 +E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C007FC7FC +FF80> +40 29 0 28 35] 14 dc +[<001F808000E0618001801980070007800E0003801C0003801C00018038000180780000 +807800008070000080F0000000F0000000F0000000F0000000F0000000F0000000F000FF +F0F0000F80700007807800078078000780380007801C0007801C0007800E00078007000B +800180118000E06080001F8000> +32 30 -2 28 33] 71 dc +[<0FE03038401CE00EF00EF00EF00E000C001C0030006000C00080018001000100010001 +0001000100000000000000000000000300078007800300> +16 29 -2 28 20] 63 dc +[<00030003000700060006000E000C001C0018001800380030003000700060006000E000 +C000C001C001800380030003000700060006000E000C000C001C00180018003800300070 +0060006000E000C000C000> +16 41 -2 30 21] 47 dc +[<FFE0FFE0> +16 2 0 9 14] 45 dc +5 @bop1 +cmbx10.300 sf +177 382(3)s +38(F)h +-4(unnelW)h +-4(eb)h +14(Mo)h +1(di\014cation)h +1145(35)h +177 1171(4)s +38(F)h +-4(unnelW)h +-4(eb)h +14(F)h +-4(uture)h +1270(43)h +177 2482(A)s +26(GNU)h +16(General)h +14(Publi)h +-1(c)h +14(License)h +14(V)h +-4(ersion)h +14(2)h +841(49)h +177 2599(B)s +28(References)h +1436(57)h +177 2715(Index)s +1605(57)h +cmr10.300 sf +239 42(2.6)s +42(The)h +14(Heap)h +1394(29)h +239 116(2.7)s +42(The)h +14(Stac)h +-1(k)h +1388(30)h +239 191(2.8)s +42(Static)h +14(V)h +-3(ariables)h +1285(30)h +239 266(2.9)s +42(Implem)h +-1(en)h +-1(ting)h +12(T)h +-3(ext)h +14(Inden)h +-1(tation)h +1002(30)h +239 457(3.1)s +42(In)h +-1(tro)h +1(duction)h +1345(35)h +239 531(3.2)s +42(The)h +14(Danger)h +14(of)h +13(Mo)h +1(difying)h +13(Languages)h +906(35)h +239 606(3.3)s +42(Authorit)h +-1(y)h +14(vs)h +14(User)h +15(Securit)h +-1(y)h +1084(36)h +239 681(3.4)s +42(What)h +13(I)h +14(W)h +-3(an)h +-1(t)h +13(to)h +14(Protect)h +1131(37)h +239 756(3.5)s +42(Mo)h +1(difying)h +12(the)h +15(Man)h +-1(uals)h +1149(38)h +239 830(3.6)s +42(Ho)h +-1(w)h +13(Cop)h +-1(yrigh)h +-1(t)h +13(La)h +-1(w)h +14(W)h +-3(orks)h +1078(38)h +239 905(3.7)s +42(Managemen)h +-1(t)h +13(of)h +13(the)h +14(O\016cial)h +13(F)h +-3(unnelW)h +-3(eb)h +860(39)h +239 980(3.8)s +42(A)h +14(GNU)h +14(V)h +-3(ersion?)h +1264(41)h +239 1054(3.9)s +42(Summ)h +-1(ary)h +1396(41)h +239 1245(4.1)s +42(Do)h +1(cumen)h +-1(tation)h +1292(43)h +239 1320(4.2)s +42(Comm)h +-1(and)h +12(Line)h +13(In)h +-1(terface)h +1122(43)h +239 1395(4.3)s +42(Shell)h +13(In)h +-1(terpreter)h +1277(43)h +239 1469(4.4)s +42(Language)h +13(Design)h +1263(44)h +239 1544(4.5)s +42(Scanner/Mapp)h +1(er)h +1269(44)h +239 1619(4.6)s +42(P)h +-1(arser)h +1458(45)h +239 1694(4.7)s +42(Analyser)h +1413(45)h +239 1768(4.8)s +42(T)h +-3(angle)h +1450(45)h +239 1843(4.9)s +42(W)h +-3(ea)h +-1(v)h +-1(e)h +1455(45)h +239 1918(4.10)s +21(Lister)h +1468(46)h +239 1993(4.11)s +21(Diagnostics)h +1364(47)h +239 2067(4.12)s +21(Sp)h +1(eed)h +1466(47)h +239 2142(4.13)s +21(Correctness)h +1364(47)h +239 2217(4.14)s +21(T)h +-3(est)h +14(Suite)h +1389(47)h +239 2291(4.15)s +21(Mac)h +-1(hine-Sp)h +1(eci\014c)h +15(Changes)h +1103(48)h +239 2366(4.16)s +21(Summ)h +-1(ary)h +1396(48)h +1053 2940(4)s +cmmi10.300 sf +543 42(:)s +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +543 116(:)s +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +640 191(:)s +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +930 266(:)s +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +575 457(:)s +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +1027 531(:)s +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +866 606(:)s +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +801 681(:)s +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +769 756(:)s +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +866 830(:)s +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +1059 905(:)s +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +672 980(:)s +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +543 1054(:)s +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +640 1245(:)s +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +801 1320(:)s +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +672 1395(:)s +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +672 1469(:)s +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +672 1544(:)s +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +478 1619(:)s +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +510 1694(:)s +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +478 1768(:)s +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +478 1843(:)s +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +478 1918(:)s +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +575 1993(:)s +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +478 2067(:)s +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +575 2142(:)s +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +543 2217(:)s +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +833 2291(:)s +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +543 2366(:)s +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +21(:)h +20(:)h +20(:)h +5 @eop +6 @bop0 +cmbx10.746 sf +[<FFFFFFFFFFFF800000FFFFFFFFFFFFFC0000FFFFFFFFFFFFFF0000FFFFFFFFFFFFFFC0 +00FFFFFFFFFFFFFFF000001FFF80000FFFFC00001FFF800001FFFE00001FFF8000007FFF +00001FFF8000003FFF80001FFF8000001FFFC0001FFF8000000FFFC0001FFF8000000FFF +E0001FFF8000000FFFE0001FFF80000007FFF0001FFF80000007FFF0001FFF80000007FF +F0001FFF80000007FFF8001FFF80000007FFF8001FFF80000007FFF8001FFF80000007FF +F8001FFF80000007FFF8001FFF80000007FFF8001FFF80000007FFF8001FFF80000007FF +F8001FFF80000007FFF0001FFF80000007FFF0001FFF80000007FFF0001FFF8000000FFF +E0001FFF8000000FFFE0001FFF8000000FFFC0001FFF8000001FFF80001FFF8000003FFF +80001FFF8000007FFF00001FFF800001FFFE00001FFF80000FFFF800001FFFFFFFFFFFF0 +00001FFFFFFFFFFFC000001FFFFFFFFFFE0000001FFFFFFFFFF00000001FFFC000000000 +00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000 +00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000 +00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000 +00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000 +00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000 +00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000 +00001FFFC00000000000001FFFC00000000000FFFFFFFFF800000000FFFFFFFFF8000000 +00FFFFFFFFF800000000FFFFFFFFF800000000FFFFFFFFF800000000> +72 71 -4 70 81] 80 dc +[<00FF803F8000FFFF80FFF000FFFF83FFFC00FFFF87FFFE00FFFF8FC3FF00FFFF8F07FF +0003FF9E0FFF8001FFBC0FFF8001FFB80FFF8001FFF80FFF8001FFF00FFF8001FFF007FF +0001FFF007FF0001FFE003FE0001FFE000F80001FFE000000001FFE000000001FFC00000 +0001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC00000 +0001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC00000 +0001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC00000 +0001FFC000000001FFC000000001FFC000000001FFC000000001FFC0000000FFFFFFE000 +00FFFFFFE00000FFFFFFE00000FFFFFFE00000FFFFFFE00000> +48 46 -4 45 49] 114 dc +[<000000FFC000000007FFF80000003FFFFC000000FFFFFF000001FFC1FF000007FF03FF +80000FFC03FF80000FF807FFC0001FF807FFC0003FF007FFC0003FF007FFC0003FE003FF +80007FE003FF80007FE001FF00007FE000FE00007FE0003800007FE0000000007FE00000 +00007FE0000000007FE0000000007FE0000000007FE0000000007FE0000000007FE00000 +00007FE0000000007FE0000000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE00 +00FFFFFFFE0000007FF0000000007FF0000000007FF0000000007FF0000000007FF00000 +00007FF0000000007FF0000000007FF0000000007FF0000000007FF0000000007FF00000 +00007FF0000000007FF0000000007FF0000000007FF0000000007FF0000000007FF00000 +00007FF0000000007FF0000000007FF0000000007FF0000000007FF0000000007FF00000 +00007FF0000000007FF0000000007FF0000000007FF0000000007FF0000000007FF00000 +00007FF0000000007FF0000000007FF0000000007FF0000000007FF0000000007FF00000 +00007FF00000003FFFFFF800003FFFFFF800003FFFFFF800003FFFFFF800003FFFFFF800 +00> +48 72 -3 71 36] 102 dc +[<0007FFFC000000007FFFFFC0000001FFFFFFF8000003FFFFFFFE000007FE001FFF0000 +07FF0003FFC0000FFF8001FFE0000FFF8000FFF0000FFF80007FF0000FFF80007FF8000F +FF80007FF80007FF00003FFC0007FF00003FFC0003FE00003FFC0000F800003FFC000000 +00003FFC00000000003FFC00000000003FFC00000000003FFC00000007FFFFFC000000FF +FFFFFC000007FFFFFFFC00003FFFE03FFC0000FFFE003FFC0003FFF0003FFC0007FFC000 +3FFC000FFF00003FFC001FFE00003FFC003FFC00003FFC007FF800003FFC007FF800003F +FC00FFF000003FFC00FFF000003FFC00FFF000003FFC00FFF000003FFC00FFF000003FFC +00FFF000007FFC007FF80000FFFC007FF80001EFFC003FFC0003EFFC003FFF0007CFFF00 +0FFFC03F8FFFF807FFFFFF07FFFC01FFFFFC03FFFC007FFFF001FFFC0003FF80007FF8> +56 46 -3 45 58] 97 dc +[<00001FFFC0000000FFFFF8000007FFFFFE00001FFFFFFF80007FFC00FFC000FFE001FF +C001FFC003FFE003FF8003FFE007FF0003FFE00FFE0003FFE00FFE0003FFE01FFC0001FF +C01FFC0001FFC03FFC0000FF803FFC00003E007FF8000000007FF8000000007FF8000000 +00FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF8000000 +00FFF800000000FFF800000000FFF800000000FFF8000000007FF8000000007FF8000000 +007FFC000000003FFC000000003FFC000000001FFC000000F81FFE000000F80FFE000000 +F80FFF000001F007FF800003F003FFC00007E001FFE0000FC000FFF0001F80007FFE00FF +00001FFFFFFE000007FFFFF8000000FFFFE00000001FFE0000> +48 46 -4 45 53] 99 dc +cmbx10.300 sf +[<78FCFCFCFC78> +8 6 -3 5 13] 46 dc +[<78FCFCFEFE7A0202040408083040> +8 14 -3 5 13] 44 dc +[<FFC1FCFFC1FC1F00601F80E00F80C00FC0C007C18007C18003E30003E30001F70001F6 +0000FE0000FC0000FC00007800007800003000003000007000706000F86000F8C000F980 +007300003E0000> +24 26 -1 17 25] 121 dc +cmr10.300 sf +[<60F0F0F0F0F0F0F060606060606060606060606060000000000060F0F060> +8 30 -4 29 12] 33 dc +[<60F0F0701010101020204080> +8 12 -4 3 12] 44 dc +[<60F0F0600000000000000000000060F0F060> +8 18 -4 17 12] 58 dc +[<004000800100020006000C000C0018001800300030007000600060006000E000E000E0 +00E000E000E000E000E000E000E000E000E000600060006000700030003000180018000C +000C0006000200010000800040> +16 42 -3 30 16] 40 dc +[<800040002000100018000C000C000600060003000300038001800180018001C001C001 +C001C001C001C001C001C001C001C001C001C0018001800180038003000300060006000C +000C0018001000200040008000> +16 42 -2 30 16] 41 dc +6 @bop1 +cmbx10.746 sf +177 399(Preface)s +cmbx10.300 sf +177 1328(Ross)s +15(N.)h +17(Willi)h +-1(ams)h +177 1378(Adelaide,)s +14(Australi)h +-1(a)h +177 1428(Ma)s +-1(y)h +16(1992)h +cmr10.300 sf +177 639(This)s +15(man)h +-1(ual)h +12(is)h +15(for)h +14(hac)h +-1(k)h +-1(ers!)h +22(An)h +-1(y)h +-1(one)h +15(who)h +15(w)h +-1(an)h +-1(ts)h +14(to)h +15(bash,)h +15(diddle,)h +14(frob,)h +14(grind,)h +15(mangl)h +-1(e,)h +13(patc)h +-1(h,)h +15(p)h +1(ok)h +-1(e,)h +177 689(toggle,)s +13(t)h +-1(widdle,)h +13(zap,)h +14(or)h +13(generally)h +14(hac)h +-1(k)h +14(F)h +-3(unnelW)h +-3(eb)h +13(should)h +14(at)h +14(least)h +14(tak)h +-1(e)h +14(a)h +13(lo)h +1(ok)h +13(at)h +14(this)h +14(man)h +-1(ual)h +-1(.)h +177 764(This)s +14(do)h +1(cumen)h +-1(t)h +13(has)h +14(b)h +1(een)h +15(created)h +16(to)h +14(serv)h +-1(e)h +15(t)h +-1(w)h +-1(o)h +13(purp)h +1(oses:)h +228 880(1.)s +20(T)h +-3(o)h +12(act)h +13(as)h +12(a)h +13(rep)h +1(ository)h +13(for)h +12(sp)h +1(eci\014c)h +15(design)h +12(and)h +13(implem)h +-1(en)h +-1(tatio)h +-1(n)h +11(informati)h +-1(on)h +11(not)h +12(appropriate)h +13(to)h +281 930(b)s +1(e)h +14(included)h +14(in)h +14(program)h +12(commen)h +-1(ts.)h +228 1013(2.)s +20(T)h +-3(o)h +13(guide)h +14(those)h +14(in)h +-1(terested)h +16(in)h +13(mo)h +1(difying)h +11(the)h +15(program.)h +177 1129(As)s +13(a)h +13(result,)h +13(this)h +13(do)h +1(cumen)h +-1(t)h +12(has)h +13(gro)h +-1(wn)h +13(in)h +12(\014ts)h +14(and)h +12(starts.)h +19(This)h +13(man)h +-1(ual)h +10(is)h +13(not)h +12(a)h +13(particularly)h +12(p)h +1(olished)h +177 1179(or)s +13(w)h +-1(ell-balanced)h +11(do)h +1(cumen)h +-1(t)h +12(but)h +13(it)h +12(should)h +13(b)h +1(e)h +13(of)h +12(assistance)h +13(to)h +13(those)h +13(\(including)h +12(m)h +-1(yself)h +3(\))h +11(in)h +-1(v)h +-1(olv)h +-1(ed)h +11(with)h +177 1229(mo)s +1(difyi)h +-1(ng)h +12(F)h +-3(unnelW)h +-3(eb.)h +1053 2940(5)s +6 @eop +7 @bop0 +7 @bop1 +cmr10.300 sf +1053 2940(6)s +7 @eop +8 @bop0 +/cmtt10.300 127 @newfont +cmbx10.746 sf +[<0000000003E000000000000000000007F000000000000000000007F000000000000000 +00000FF80000000000000000000FF80000000000000000000FF80000000000000000001F +FC0000000000000000001FFC0000000000000000003FFE0000000000000000003FFE0000 +000000000000007FFF0000000000000000007FFF0000000000000000007FFF0000000000 +00000000FFFF800000000000000000FFFF800000000000000001FFFFC000000000000000 +01FFFFC00000000000000001FFFFC00000000000000003FFFFE00000000000000003EFFF +E00000000000000007EFFFF00000000000000007CFFFF00000000000000007C7FFF00000 +00000000000FC7FFF8000000000000000F83FFF8000000000000001F83FFFC0000000000 +00001F03FFFC000000000000001F01FFFC000000000000003F01FFFE000000000000003E +00FFFE000000000000007E00FFFF000000000000007C007FFF00000000000000FC007FFF +80000000000000F8007FFF80000000000000F8003FFF80000000000001F8003FFFC00000 +00000001F0001FFFC0000000000003F0001FFFE0000000000003E0001FFFE00000000000 +03E0000FFFE0000000000007E0000FFFF0000000000007C00007FFF000000000000FC000 +07FFF800000000000F800007FFF800000000000F800003FFF800000000001F800003FFFC +00000000001F000001FFFC00000000003FFFFFFFFFFE00000000003FFFFFFFFFFE000000 +00007FFFFFFFFFFF00000000007FFFFFFFFFFF00000000007FFFFFFFFFFF0000000000FC +0000007FFF8000000000F80000003FFF8000000001F80000003FFFC000000001F0000000 +3FFFC000000001F00000001FFFC000000003F00000001FFFE000000003E00000000FFFE0 +00000007E00000000FFFF000000007C00000000FFFF000000007C000000007FFF0000000 +0FC000000007FFF80000000F8000000003FFF80000001F8000000003FFFC0000001F0000 +000003FFFC0000007FC000000001FFFC0000FFFFFFC00007FFFFFFFF80FFFFFFC00007FF +FFFFFF80FFFFFFC00007FFFFFFFF80FFFFFFC00007FFFFFFFF80FFFFFFC00007FFFFFFFF +80> +88 72 -4 71 90] 65 dc +[<007FC000000000FFFFC000000000FFFFC000000000FFFFC000000000FFFFC000000000 +FFFFC00000000003FFC00000000001FFC00000000001FFC00000000001FFC00000000001 +FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FF +C00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0 +0000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000 +00000001FFC0007FFFF801FFC0007FFFF801FFC0007FFFF801FFC0007FFFF801FFC0007F +FFF801FFC0000FFE0001FFC00007F00001FFC0000FE00001FFC0003FC00001FFC0007F80 +0001FFC000FE000001FFC001FC000001FFC007F8000001FFC00FF0000001FFC01FC00000 +01FFC03F80000001FFC0FF00000001FFC1FE00000001FFC3FF00000001FFCFFF80000001 +FFDFFFC0000001FFFFFFC0000001FFFFFFE0000001FFFFFFF0000001FFFCFFF8000001FF +F87FFC000001FFE03FFC000001FFC01FFE000001FFC01FFF000001FFC00FFF800001FFC0 +07FFC00001FFC003FFC00001FFC001FFE00001FFC001FFF00001FFC000FFF80001FFC000 +7FFC0001FFC0003FFC0001FFC0001FFE0001FFC0000FFF0001FFC0000FFF8001FFC0000F +FFC0FFFFFF807FFFFFFFFFFF807FFFFFFFFFFF807FFFFFFFFFFF807FFFFFFFFFFF807FFF +FF> +56 72 -4 71 63] 107 dc +[<FFFFFF07FFFFE007FFFEFFFFFF07FFFFE007FFFEFFFFFF07FFFFE007FFFEFFFFFF07FF +FFE007FFFEFFFFFF07FFFFE007FFFE03FFC0001FFC00003FC003FFE0000FFC00001F8001 +FFE0000FFC00001F0001FFE0000FFE00001F0001FFF00007FE00003F0000FFF0000FFF00 +003E0000FFF8000FFF00007E00007FF8000FFF00007C00007FF8001FFF80007C00003FFC +001FFF8000F800003FFC003FFFC000F800003FFE003EFFC001F800001FFE003EFFC001F0 +00001FFE007EFFE003F000000FFF007C7FE003E000000FFF00FC7FF003E000000FFF80F8 +3FF007E0000007FF80F83FF007C0000007FF81F83FF80FC0000003FFC1F01FF80F800000 +03FFC3F01FFC0F80000003FFE3E00FFC1F80000001FFE3E00FFC1F00000001FFE7E00FFE +3F00000000FFF7C007FE3E00000000FFFFC007FF3E00000000FFFF8003FF7E000000007F +FF8003FF7C000000007FFF8003FFFC000000003FFF0001FFF8000000003FFF0001FFF800 +0000003FFE0000FFF8000000001FFE0000FFF0000000001FFE0000FFF0000000000FFC00 +007FE0000000000FFC00007FE0000000000FF800003FE00000000007F800003FC0000000 +0007F800003FC00000000003F000001F800000000001E000000F000000> +80 46 -3 45 86] 119 dc +[<007FC000FFFFC000FFFFC000FFFFC000FFFFC000FFFFC00003FFC00001FFC00001FFC0 +0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0 +0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0 +0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0 +0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0 +0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0 +0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0 +0001FFC00001FFC00001FFC00001FFC000FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF +80> +32 72 -4 71 32] 108 dc +[<00000000007FC00000000000FFFFC00000000000FFFFC00000000000FFFFC000000000 +00FFFFC00000000000FFFFC0000000000003FFC0000000000001FFC0000000000001FFC0 +000000000001FFC0000000000001FFC0000000000001FFC0000000000001FFC000000000 +0001FFC0000000000001FFC0000000000001FFC0000000000001FFC0000000000001FFC0 +000000000001FFC0000000000001FFC0000000000001FFC0000000000001FFC000000000 +0001FFC0000000000001FFC0000000000001FFC0000000000001FFC00000000FFC01FFC0 +000000FFFF81FFC0000007FFFFE1FFC000001FFFFFF9FFC000007FFC03FFFFC00000FFF0 +007FFFC00001FFC0001FFFC00003FF80000FFFC00007FF000007FFC0000FFE000003FFC0 +000FFE000003FFC0001FFC000003FFC0001FFC000003FFC0003FFC000003FFC0003FFC00 +0003FFC0007FF8000003FFC0007FF8000003FFC0007FF8000003FFC000FFF8000003FFC0 +00FFF8000003FFC000FFF8000003FFC000FFF8000003FFC000FFF8000003FFC000FFF800 +0003FFC000FFF8000003FFC000FFF8000003FFC000FFF8000003FFC000FFF8000003FFC0 +007FF8000003FFC0007FF8000003FFC0007FF8000003FFC0003FF8000003FFC0003FFC00 +0003FFC0003FFC000003FFC0001FFC000003FFC0001FFC000003FFC0000FFE000007FFC0 +0007FF00000FFFC00003FF00001FFFC00001FFC0003FFFC00000FFE000FFFFE000007FF8 +07FBFFFF80001FFFFFF3FFFF800007FFFFC3FFFF800001FFFF03FFFF8000001FF803FFFF +80> +64 72 -4 71 66] 100 dc +[<00000000001F8000007FF000FFE00007FFFF03FFF0001FFFFFC7FFF0007FFFFFFFC7F8 +00FFE03FFE0FF801FF800FFC0FF803FF0007FE0FF807FE0003FF07F007FE0003FF07F00F +FC0001FF81C00FFC0001FF80000FFC0001FF80001FFC0001FFC0001FFC0001FFC0001FFC +0001FFC0001FFC0001FFC0001FFC0001FFC0001FFC0001FFC0000FFC0001FF80000FFC00 +01FF80000FFC0001FF800007FE0003FF000007FE0003FF000003FF0007FE000001FF800F +FC000000FFE03FF8000001FFFFFFF0000001DFFFFFC0000003C7FFFF00000003C07FF000 +000007C0000000000007C0000000000007C0000000000007C0000000000007E000000000 +0007F0000000000007F8000000000007FFFFFFF0000007FFFFFFFF000003FFFFFFFFE000 +03FFFFFFFFF80001FFFFFFFFFE0001FFFFFFFFFF0000FFFFFFFFFF80007FFFFFFFFF8003 +FFFFFFFFFFC00FFFFFFFFFFFC01FF800001FFFE03FE0000001FFE07FC00000007FF07FC0 +0000003FF0FF800000001FF0FF800000001FF0FF800000001FF0FF800000001FF0FF8000 +00001FF07FC00000003FE07FC00000003FE03FE00000007FC03FF0000000FFC01FFC0000 +03FF800FFF00000FFF0003FFF000FFFC0000FFFFFFFFF000003FFFFFFFC0000007FFFFFE +000000003FFFC00000> +56 68 -3 46 59] 103 dc +[<007FC001FFC00000FFE00000FFFFC00FFFF80007FFFC0000FFFFC03FFFFE001FFFFF00 +00FFFFC0FFFFFF007FFFFF8000FFFFC1FC07FF80FE03FFC000FFFFC3E003FFC1F001FFE0 +0003FFC7C001FFC3E000FFE00001FFCF0001FFE78000FFF00001FFDE0000FFEF00007FF0 +0001FFDC0000FFEE00007FF00001FFFC0000FFFE00007FF80001FFF80000FFFC00007FF8 +0001FFF00000FFF800007FF80001FFF00000FFF800007FF80001FFF00000FFF800007FF8 +0001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF8 +0001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF8 +0001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF8 +0001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF8 +0001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF8 +0001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF8 +0001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF8 +0001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF8 +0001FFE00000FFF000007FF80001FFE00000FFF000007FF800FFFFFFC07FFFFFE03FFFFF +F0FFFFFFC07FFFFFE03FFFFFF0FFFFFFC07FFFFFE03FFFFFF0FFFFFFC07FFFFFE03FFFFF +F0FFFFFFC07FFFFFE03FFFFFF0> +96 46 -4 45 101] 109 dc +cmbx10.300 sf +[<FFC1FCFFC1FC1F00601F80E00F80C00FC0C007C18007C18003E30003E30001F60001F6 +0001FE0000FC0000FC00007800007800003000> +24 18 -1 17 25] 118 dc +[<FFFC3FFFFFFC3FFF0FC003F00FC003F00FC003F00FC003F00FC003F00FC003F00FC003 +F00FC003F00FC003F00FC003F00FFFFFF00FFFFFF00FC003F00FC003F00FC003F00FC003 +F00FC003F00FC003F00FC003F00FC003F00FC003F00FC003F00FC003F00FC003F0FFFC3F +FFFFFC3FFF> +32 28 -2 27 37] 72 dc +[<07F8201FFEE03C07E07801E07000E0F000E0F00060F00060F80000FE0000FFE0007FFE +003FFF003FFF800FFFC007FFE0007FE00003F00001F00000F0C000F0C000F0C000E0E000 +E0F001C0FC03C0EFFF0083FC00> +24 28 -3 27 27] 83 dc +[<07FFF007FFF0001F80001F80001F80001F80001F80001F80001F80001F80001F80001F +80001F80001F80001F80001F80001F80001F80001F80001F80301F80781F80FC1F80FC1F +80FC1F00783E00387C000FF000> +24 28 -1 27 25] 74 dc +cmtt10.300 sf +[<003F00007F00003F0000070000070000070000070003C7000FF7003FFF003C1F00780F +00F00700F00700E00700E00700E00700E00700F00700F00F00781F007C3F003FFFE01FF7 +F007C7E0> +24 25 -1 24 22] 100 dc +[<1FE0007FF8007FFC00783C00301E00000E00000E0003FE001FFE007E0E00F00E00E00E +00E00E00F01E00F83E007FFFE03FE7E00F83E0> +24 18 -2 17 22] 97 dc +[<7F1FC0FF1FE07F1FC01C07001E0F000E0E000E0E000E0E00071C00071C00071C00071C +0003B80003B80003B80001F00001F00000E000> +24 18 -1 17 22] 118 dc +[<03E00FF81FFC3C1E780E7007E007FFFFFFFFFFFFE000E000700778073C0F1FFE0FFC03 +F0> +16 18 -3 17 22] 101 dc +[<00F80003FE000FFF001F0F803E3F803C7F8078FFC071E7C0F1C3C0E3C3C0E381C0E381 +C0E381C0E381C0E381C0E3C3C0F1C38071E78078FF003C7E003E3C001F03C00FFFC003FF +0000FC00> +24 25 -2 24 22] 64 dc +[<03F80FFE1FFE3C1E780C7000F000E000E000E000E000F000700778073E0F1FFE0FFC03 +F0> +16 18 -3 17 22] 99 dc +[<0FEC3FFC7FFCF03CE01CE01CF0007F801FF007FC003EE00EE00EF00EF81EFFFCFFF8C7 +E0> +16 18 -3 17 22] 115 dc +[<70F8F8F870> +8 5 -8 4 22] 46 dc +[<FFC000FFC000FFC00001C00001C00001C00001C00001C00001C00001C00001C00001C0 +0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000FFFF80FFFF +80FFFF80> +24 25 -2 24 22] 108 dc +[<018003C003C0018000000000000000007FC07FC07FC001C001C001C001C001C001C001 +C001C001C001C001C001C07FFFFFFF7FFF> +16 26 -3 25 22] 105 dc +[<7E1F80FE3F807E1F800E03800E03800E03800E03800E03800E03800E03800E03800E03 +800E03800E07800F0F800FFFF007FFF803E3F0> +24 18 0 17 22] 117 dc +[<F9C380FFEFC0FFFFE03E7CE03C78E03870E03870E03870E03870E03870E03870E03870 +E03870E03870E03870E0FE7CF8FE7CF8FE3C78> +24 18 0 17 22] 109 dc +[<03E0000FF8001FFC003C1E00780F00700700E00380E00380E00380E00380E00380F007 +80700700780F003C1E001FFC000FF80003E000> +24 18 -2 17 22] 111 dc +[<7E3C00FEFF007FFF800F87800F03800F03800E03800E03800E03800E03800E03800E03 +800E03800E03800E03807FC7F0FFE7F87FC7F0> +24 18 0 17 22] 110 dc +[<0300000700000700000700000700007FFF00FFFF00FFFF000700000700000700000700 +0007000007000007000007010007038007038007078007878003FF0003FE0000F800> +24 23 -1 22 22] 116 dc +[<FF0FC0FF3FE0FF7FE007F04007E00007C0000780000780000700000700000700000700 +00070000070000070000FFFC00FFFC00FFFC00> +24 18 -1 17 22] 114 dc +[<003000780078003000000000000000001FF81FF81FF800380038003800380038003800 +380038003800380038003800380038003800380038003800386070F0F0FFE07FC03F80> +16 35 -2 25 22] 106 dc +[<7F1FC0FF9FE07F1FC01C07000E07000E0E000E0E00070E00071C00071C00039C00039C +0003980001B80001B80000F00000F00000F00000E00000E00000E00001C00079C0007BC0 +007F80003F00003C0000> +24 27 -1 17 22] 121 dc +[<FF1FE0FFBFE0FF1FE038038038038038038038038038E38019F30019F30019B3001DB7 +001DB7001DB7001DB7000F1E000F1E000F1E00> +24 18 -1 17 22] 119 dc +[<7E0000FE00007E00000E00000E00000E00000E00000E3E000EFF800FFFC00F83E00F01 +E00E00F00E00F00E00700E00700E00700E00700E00F00F00E00F01E00F83C00FFFC00EFF +00063C00> +24 25 0 24 22] 98 dc +[<7E0000FE00007E00000E00000E00000E00000E00000E7FE00E7FE00E7FE00E0F000E1E +000E3C000E78000EF0000FF0000FF8000FBC000F1E000E0E000E07000E07807F87F0FFCF +F07F87F0> +24 25 0 24 22] 107 dc +[<7E0000FE00007E00000E00000E00000E00000E00000E3C000EFF000FFF800F87800F03 +800F03800E03800E03800E03800E03800E03800E03800E03800E03800E03807FC7F0FFE7 +F87FC7F0> +24 25 0 24 22] 104 dc +cmr10.300 sf +[<00C001E001E000C000000000000000000000000000000FE000E000E000E000E000E000 +E000E000E000E000E000E000E000E000E000E000E000E000E000E000E060E0F0C0F1C061 +803E00> +16 37 3 28 13] 106 dc +[<7FF0FFC00FC03E000780180003C0180003E0100001E0200001F0600000F04000007880 +00007D8000003D0000001E0000001F0000000F0000000F8000000F80000013C0000023E0 +000021E0000041F00000C0F8000080780001007C0003003C0002001E0006001F001F003F +80FFC0FFF0> +32 28 -1 27 31] 88 dc +[<FFF03FE00F000F000F000C000F0008000F0010000F0020000F0040000F0080000F0100 +000F0200000F0400000F0E00000F1F00000F2F00000F2780000F4780000F83C0000F01E0 +000F01E0000F00F0000F00F8000F0078000F003C000F003C000F001E000F001F000F001F +80FFF07FF0> +32 28 -2 27 32] 75 dc +8 @bop1 +cmbx10.746 sf +177 399(Ac)s +-3(kno)h +-3(wledgemen)h +-3(ts)h +cmbx10.300 sf +488 645(Da)s +-1(vid)h +18(Hulse)h +430 1018(Simon)s +14(Hac)h +-1(k)h +-1(ett)h +438 1193(Jerem)s +-1(y)h +17(Begg)h +450 1317(Barry)s +57(Dwy)h +-1(er)h +772(Roger)h +57(Brissend)h +-1(en)h +177 1591(Ross)s +15(N.)h +17(Willi)h +-1(ams)h +177 1641(Adelaide,)s +14(Australi)h +-1(a)h +177 1691(Ma)s +-1(y)h +16(1992)h +cmtt10.300 sf +781 645(dave@cs.adela)s +-1(ide.e)h +-1(du.au)h +768 1018(simon@internod)s +-1(e.com)h +-1(.au)h +744 1193(jeremy@vsm.c)s +-1(om.au)h +832 1317(dwyer@cs.ad)s +-1(elaid)h +-1(e.edu)h +-1(.au)h +193 1367(rjb@koala.harv)s +-1(ard.e)h +-1(du)h +cmr10.300 sf +177 645(Man)s +-1(y)h +16(thanks)h +17(to)h +294(\()h +503(\))h +15(for)h +17(translating)h +16(the)h +17(original)h +15(v)h +-1(ersion)h +177 695(of)s +15(F)h +-3(unnelW)h +-3(eb)h +15(\(F)h +-3(unnelW)h +-3(eb)h +16(V1\))h +15(from)h +14(Ada)h +16(in)h +-1(to)h +15(C)h +15(and)h +16(getting)h +15(it)h +16(to)h +15(w)h +-1(ork)h +15(on)h +16(Unix)h +15(and)h +16(a)h +15(PC.)h +15(The)h +177 744(C)s +17(co)h +1(de)h +18(written)h +17(b)h +-1(y)h +17(Da)h +-1(vid)h +15(\(F)h +-3(unnelW)h +-3(eb)h +17(V2\))h +16(formed)h +16(the)h +17(basis)h +17(of)h +17(F)h +-3(unnelW)h +-3(eb)h +16(V3,)h +17(but)h +17(w)h +-1(as)h +17(en)h +-1(tirely)h +177 794(rewritten)s +18(during)h +17(the)h +18(in)h +-1(tensiv)h +-1(e)h +17(re\014nemen)h +-1(t)h +18(and)h +16(feature-injection)h +18(p)h +1(erio)h +1(d)h +17(leading)h +16(up)h +17(to)h +17(this)h +18(release)h +177 844(\(F)s +-3(unnelW)h +-3(eb)h +12(V3)h +12(is)h +11(ab)h +1(out)h +12(three)h +13(times)h +11(the)h +13(size)h +13(of)h +11(F)h +-3(unnelW)h +-3(eb)h +11(V2\).)h +18(Nev)h +-1(ertheless,)h +14(without)h +12(this)h +12(imp)h +1(or-)h +177 894(tan)s +-1(t)h +13(\014rst)h +15(translation)h +12(step,)h +14(I)h +14(w)h +-1(ould)h +12(probably)h +13(not)h +13(ha)h +-1(v)h +-1(e)h +13(found)h +13(the)h +14(motiv)h +-2(atio)h +-1(n)h +12(to)h +13(dev)h +-1(elop)h +13(F)h +-3(unnelW)h +-3(eb)h +177 944(to)s +14(its)h +14(presen)h +-1(t)h +15(state.)h +177 1018(Thanks)s +14(go)h +12(to)h +335(\()h +482(\))h +11(of)h +13(In)h +-1(terno)h +1(de)h +14(Systems)h +13(Pt)h +-1(y)h +14(Ltd)h +13(for)h +13(the)h +177 1068(use)s +18(of)h +16(his)h +17(Sun,)h +18(Mac,)h +18(and)h +16(PC,)h +17(for)h +17(assistance)h +18(in)h +17(p)h +1(orting)h +16(F)h +-3(unnelW)h +-3(eb)h +17(to)h +17(the)h +17(Sun)h +18(and)h +16(PC,)h +17(and)h +17(for)h +177 1118(helpful)s +13(discussions.)h +177 1193(Thanks)s +16(go)h +16(to)h +305(\()h +372(\))h +14(of)h +16(VSM)h +16(Soft)h +-1(w)h +-1(are)h +15(Services)h +18(for)h +15(the)h +17(use)h +17(of)h +15(his)h +177 1243(V)s +-5(AX,)h +14(and)h +14(for)h +14(assistance)h +15(with)h +13(the)h +15(VMS-sp)h +1(eci\014c)h +15(co)h +1(de.)h +177 1317(Thanks)s +50(to)h +417(\()h +525(\))h +48(and)h +177 1367(\()s +460(\))h +16(for)h +18(trying)h +18(out)h +18(F)h +-3(unnelW)h +-3(eb)h +18(V)h +-3(ersion)h +18(1)h +18(in)h +18(1987)h +17(and)h +18(pro)h +-1(viding)h +17(v)h +-2(aluable)h +177 1417(feedbac)s +-1(k.)h +177 1492(Thanks)s +14(to)h +14(Donald)h +13(Kn)h +-1(uth)h +14(for)h +13(establishing)h +14(the)h +14(idea)h +14(of)h +13(literate)h +14(programm)h +-1(ing)h +12(in)h +13(the)h +15(\014rst)h +14(place.)h +1053 2940(7)s +8 @eop +9 @bop0 +9 @bop1 +cmr10.300 sf +1053 2940(8)s +9 @eop +10 @bop0 +/cmti10.300 127 @newfont +/cmcsc10.300 127 @newfont +cmcsc10.300 sf +[<00200000700000700000700000B80000B80000B800011C00011C00011C00020E00020E +0004070004070007FF000803800803800803801801C03803C0FE0FF8> +24 21 -1 20 25] 97 dc +cmmi10.300 sf +[<0000038000000F0000003C000000F0000003C000000F0000003C000000F0000003C000 +000F0000003C000000F0000000F00000003C0000000F00000003C0000000F00000003C00 +00000F00000003C0000000F00000003C0000000F0000000380> +32 24 -3 21 32] 60 dc +[<E0000000780000001E0000000780000001E0000000780000001E0000000780000001E0 +000000780000001E00000007800000078000001E00000078000001E00000078000001E00 +000078000001E00000078000001E00000078000000E0000000> +32 24 -3 21 32] 62 dc +cmti10.300 sf +[<0001FC000703000C03001C07001C0300180000380000380000380000380000700007FF +FC00701C00701C00701C00E03800E03800E03800E03800E07001C07001C07001C07001C0 +E201C0E201C0E20380E4038064038038038000030000070000060000C60000E40000CC00 +00700000> +24 37 1 28 23] 12 dc +[<3C3C26C2468747078E068E000E000E001C001C001C001C003800380038003800700030 +00> +16 18 -4 17 18] 114 dc +[<01F006080C080C1C18181C001F001FC00FF007F0007800386030E030C030806060C01F +00> +16 18 -3 17 17] 115 dc +[<00C001C001C001C00380038003800380FFE00700070007000E000E000E000E001C001C +001C001C00384038403840388019000E00> +16 26 -3 25 14] 116 dc +[<03CC063C0C3C181C3838303870387038E070E070E070E070E0E2C0E2C0E261E462643C +38> +16 18 -5 17 21] 97 dc +[<1E0300270700470700470700870E00870E000E0E000E0E001C1C001C1C001C1C001C1C +003838803838801838801839001C5900078E00> +24 18 -4 17 22] 117 dc +[<0FC00001C00001C0000380000380000380000380000700000700000700000700000E78 +000E8C000F0E000E0E001C0E001C0E001C0E001C0E00381C00381C00381C003838007038 +80703880707080707100E03200601C00> +24 29 -3 28 21] 104 dc +[<01E007180C0C180C380C300E700E700EE01CE01CE01CE018E038E030E06060C031801E +00> +16 18 -5 17 21] 111 dc +[<1E03270747074707870E870E0E0E0E0E1C1C1C1C1C1C1C1C38383838183818381C7007 +F00070007000E0E0C0E1C0818047003C00> +16 26 -4 17 20] 121 dc +[<01E007100C1018083810701070607F80E000E000E000E000E000E0086010602030C01F +00> +16 18 -5 17 19] 101 dc +cmbx10.746 sf +[<00FC0001FF0003FF8007FFC00FFFC01FFFE01FFFE01FFFE01FFFE01FFFE01FFFE00FFF +C007FFC003FF8001FF0000FC000000000000000000000000000000000000000000000000 +00000000000000000000007FC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC003FFC001FFC001FF +C001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FF +C001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FF +C001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC0FFFFFFFFFFFFFFFFFFFFFF +FFFFFFFF> +24 73 -4 72 32] 105 dc +[<FFFFFFC0000000FFFFFFF0FFFFFFE0000000FFFFFFF0FFFFFFF0000000FFFFFFF0FFFF +FFF8000000FFFFFFF0FFFFFFFC000000FFFFFFF0001FFFFC000000007FE000001FFFFE00 +0000001F8000001FFFFF000000001F8000001FFFFF800000001F8000001FFFFFC0000000 +1F8000001FBFFFE00000001F8000001F9FFFE00000001F8000001F9FFFF00000001F8000 +001F8FFFF80000001F8000001F87FFFC0000001F8000001F83FFFE0000001F8000001F81 +FFFF0000001F8000001F80FFFF0000001F8000001F80FFFF8000001F8000001F807FFFC0 +00001F8000001F803FFFE000001F8000001F801FFFF000001F8000001F800FFFF800001F +8000001F8007FFF800001F8000001F8007FFFC00001F8000001F8003FFFE00001F800000 +1F8001FFFF00001F8000001F8000FFFF80001F8000001F80007FFFC0001F8000001F8000 +3FFFC0001F8000001F80003FFFE0001F8000001F80001FFFF0001F8000001F80000FFFF8 +001F8000001F800007FFFC001F8000001F800003FFFE001F8000001F800001FFFF001F80 +00001F800001FFFF001F8000001F800000FFFF801F8000001F8000007FFFC01F8000001F +8000003FFFE01F8000001F8000001FFFF01F8000001F8000000FFFF81F8000001F800000 +0FFFF81F8000001F80000007FFFC1F8000001F80000003FFFE1F8000001F80000001FFFF +1F8000001F80000000FFFF9F8000001F800000007FFFDF8000001F800000007FFFDF8000 +001F800000003FFFFF8000001F800000001FFFFF8000001F800000000FFFFF8000001F80 +00000007FFFF8000001F8000000003FFFF8000001F8000000003FFFF8000001F80000000 +01FFFF8000001F8000000000FFFF8000001F80000000007FFF8000001F80000000003FFF +8000001F80000000001FFF8000001F80000000001FFF8000001F80000000000FFF800000 +1F800000000007FF8000001F800000000003FF8000001F800000000001FF8000007FE000 +00000000FF8000FFFFFFF000000000FF8000FFFFFFF0000000007F8000FFFFFFF0000000 +003F8000FFFFFFF0000000001F8000FFFFFFF0000000000F0000> +88 71 -4 70 93] 78 dc +cmtt10.300 sf +[<01800380038007800F807F80FF80738003800380038003800380038003800380038003 +8003800380038003807FF87FFC7FF8> +16 25 -4 24 22] 49 dc +[<3FFE003FFE003FFE003800003800003800003800003800003800003800003BF0003FFC +003FFE003C0F00300700000780000380600380F00380F00780F00F00F81F007FFE001FF8 +0007E000> +24 25 -2 24 22] 53 dc +[<03E0000FF8001FFC001E3C00380E00780F00700700700700E00380E00380E00380E003 +80E00380E00380E00380E00380F00780700700700700780F003C1E001E3C001FFC000FF8 +0003E000> +24 25 -2 24 22] 48 dc +[<03E3C00FFFE01FFFE01E3CC03C1E00380E00380E00380E003C1E001E3C001FFC001FF8 +003BE0003800003800001FFC001FFF003FFFC07803C0F001E0E000E0E000E0E000E0F001 +E07C07C03FFF800FFE0003F800> +24 28 -1 17 22] 103 dc +[<7E3E00FEFF807FFFC00F83E00F01E00E00F00E00F00E00700E00700E00700E00700E00 +F00F00E00F01E00F83C00FFFC00EFF000E3C000E00000E00000E00000E00000E00000E00 +007FC000FFE0007FC000> +24 27 0 17 22] 112 dc +cmbx10.300 sf +[<78FCFCFCFC7800000000000078FCFCFCFC78> +8 18 -3 17 13] 58 dc +[<FEFEFEE0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0 +E0E0E0FEFEFE> +8 41 -4 30 13] 91 dc +[<FEFEFE0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E +0E0E0EFEFEFE> +8 41 -1 30 13] 93 dc +[<7FFFFFE07FFFFFE0781F81E0701F80E0601F8060E01F8070C01F8030C01F8030C01F80 +30C01F8030001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 +00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800007FFFE +0007FFFE00> +32 28 -2 27 33] 84 dc +[<FFFC07FFFFFC07FF0FC000E00FC001C00FC003800FC006000FC00C000FC038000FC070 +000FC0E0000FC1C0000FC3C0000FC7E0000FCFE0000FFBF0000FF3F8000FE1F8000FC0FC +000FC0FE000FC07E000FC03F000FC01F800FC01FC00FC00FC00FC007E00FC007F0FFFC3F +FFFFFC3FFF> +32 28 -2 27 37] 75 dc +[<FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0F +C01F31E01F40F01F80F81F80F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00 +F81F00F81F00F81F00F8FFE7FFFFE7FF> +24 29 -1 28 27] 104 dc +[<03F8000FFF001C07803003803001C07001C07801C07E01C07F83807FC3003FF6001FFC +000FFE0007FF801DFF80387FC0781FE0F007E0F003E0F001E0F001E0F001E07801C07803 +803E07801FFE0003F800> +24 27 -2 26 24] 56 dc +[<007E0003FF000781800F03C01E07C03C07C03C0380780000780000F80000F8F800FB0E +00FA0780FC0380FC03C0F803E0F803E0F803E0F803E07803E07803E07803C03C03C03C07 +801E0F0007FE0003F800> +24 27 -2 26 24] 54 dc +cmr10.300 sf +[<03C1000C3300180B00300F00700700700700E00700E00700E00700E00700E00700E007 +00600700700700300F00180F000C370007C7000007000007000007000007000007000007 +00000700003FE0> +24 26 -2 17 22] 113 dc +10 @bop1 +cmcsc10.300 sf +1644 883(a)s +1431 1008(a)s +1695 1058(a)s +754 1282(a)s +cmmi10.300 sf +190 689(<)s +189(><)h +76(>)h +cmti10.300 sf +222 689(\014rstauthor)s +64(ye)h +-2(ar)h +cmbx10.746 sf +177 399(Presen)s +-3(tation)h +42(Notes)h +cmtt10.300 sf +316 888(akt150@cscgpo.)s +-1(anu.e)h +-1(du.au)h +1538 1013(verbatim)s +cmbx10.300 sf +177 639(References:)s +177 689([)s +393(])h +177 764(Sp)s +1(ecial)h +11(terms:)h +177 839(T)s +-1(yp)h +1(esetting)h +-1(:)h +1740 888([Kn)s +-1(uth84])h +177 938([Lamp)s +1(ort86])h +177 1013(Graphics:)s +177 1187(Kno)s +-1(wn)h +13(t)h +-1(yp)h +1(esetti)h +-1(ng)h +11(probl)h +-1(ems:)h +cmr10.300 sf +456 639(All)s +24(reference)h +1(s)h +28(are)h +25(set)h +27(in)h +25(b)h +1(old)h +24(and)h +26(are)h +25(cited)h +26(in)h +25(square)h +26(brac)h +-1(k)h +-1(ets)h +27(in)h +25(the)h +26(form)h +596 689(.)s +19(All)h +13(references)h +16(cited)h +14(in)h +13(the)h +13(text)h +14(app)h +1(ear)h +14(in)h +13(the)h +14(reference)h +15(list)h +13(and)h +13(the)h +14(index.)h +487 764(New)s +12(or)h +11(imp)h +1(ortan)h +-1(t)h +10(terminolog)h +-1(y)h +10(has)h +11(b)h +1(een)h +13(set)h +12(in)h +11(b)h +1(old)h +11(face)h +12(and)h +11(app)h +1(ears)h +12(in)h +11(the)h +12(index.)h +510 839(This)s +41(do)h +1(cumen)h +-1(t)h +40(w)h +-1(as)h +40(prepared)h +42(b)h +-1(y)h +40(the)h +41(author)h +40(using)h +41(Andrew)h +41(T)h +-3(rev)h +-1(or-)h +177 888(ro)s +-1(w's)h +29(\()h +525(\))h +28(implem)h +-1(en)h +-1(tatio)h +-1(n)h +28(\(OzT)h +-3(eX\))h +30(of)h +29(the)h +30(T)h +1558 897(E)s +1581 888(X/L)s +4(T)h +1686 901(E)s +1709 888(X)s +447 938(t)s +-1(yp)h +1(esetting)h +15(system)h +13(running)h +14(on)h +14(a)h +13(Macin)h +-1(tosh-SE.)h +394 1013(All)s +11(diagram)h +-1(s)h +10(ha)h +-1(v)h +-1(e)h +11(b)h +1(een)h +13(constructed)h +13(out)h +11(of)h +11(text)h +12(using)h +11(the)h +12(L)h +4(T)h +1473 1026(E)s +1496 1013(X)s +197(en)h +-1(vironmen)h +-1(t)h +177 1063(so)s +17(as)h +16(to)h +17(allo)h +-1(w)h +15(this)h +16(do)h +1(cumen)h +-1(t)h +16(to)h +17(b)h +1(e)h +17(disseminated)h +15(electronically)h +17(and)h +16(prin)h +-1(ted)h +17(using)h +16(L)h +4(T)h +1737 1076(E)s +1761 1063(X)s +16(without)h +177 1112(access)s +16(to)h +14(the)h +14(author's)h +14(dra)h +-1(wing)h +13(to)h +1(ols.)h +805 1187(While)s +11(ev)h +-1(ery)h +12(attempt)h +11(has)h +12(b)h +1(een)h +12(made)h +10(to)h +12(giv)h +-1(e)h +11(a)h +11(go)h +1(o)h +1(d)h +11(presen)h +-1(tation)h +177 1237(within)s +12(the)h +13(time)h +11(a)h +-1(v)h +-2(ailabl)h +-1(e,)h +11(some)h +12(shortcuts)h +14(ha)h +-1(v)h +-1(e)h +12(had)h +12(to)h +12(b)h +1(e)h +13(tak)h +-1(en.)h +18(In)h +13(particular,)h +12(the)h +13(author)h +12(has)h +13(b)h +1(een)h +177 1287(unable)s +14(to)h +14(w)h +-1(ork)h +13(out)h +14(ho)h +-1(w)h +14(to)h +13(get)h +14(L)h +4(T)h +796 1300(E)s +820 1287(X)s +14(to)h +14(suppress)h +15(blank)h +14(pages)h +14(at)h +13(the)h +15(start)h +14(of)h +14(c)h +-1(hapters.)h +1053 2940(9)s +10 @eop +11 @bop0 +11 @bop1 +cmr10.300 sf +1042 2940(10)s +11 @eop +12 @bop0 +/cmbx10.622 127 @newfont +/cmbx10.432 127 @newfont +/cmr7.300 127 @newfont +/cmr6.300 127 @newfont +/cmr8.300 127 @newfont +cmr6.300 sf +[<0C003C00CC000C000C000C000C000C000C000C000C000C000C000C000C00FF80> +16 16 -2 15 15] 49 dc +cmr7.300 sf +[<0C001C00EC000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C +00FFC0> +16 19 -3 18 17] 49 dc +cmbx10.622 sf +[<0000001FFF000070000001FFFFE000F000000FFFFFFC01F000007FFFFFFF03F00001FF +FE007F87F00007FFE0000FEFF0000FFF000003FFF0003FFE000001FFF0007FF8000000FF +F000FFF00000007FF001FFE00000003FF003FFC00000001FF003FF800000001FF007FF80 +0000000FF00FFF0000000007F00FFF0000000007F01FFE0000000007F01FFE0000000003 +F03FFC0000000003F03FFC0000000003F07FFC0000000001F07FFC0000000001F07FFC00 +00000001F07FF8000000000000FFF8000000000000FFF8000000000000FFF80000000000 +00FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF800 +0000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF80000000000 +00FFF80000000000007FF80000000000007FFC0000000000007FFC0000000000F07FFC00 +00000000F03FFC0000000000F03FFC0000000000F01FFE0000000000F01FFE0000000001 +F00FFF0000000001E00FFF0000000003E007FF8000000003E003FF8000000007C003FFC0 +00000007C001FFE00000000F8000FFF00000001F00007FF80000003E00003FFE0000007C +00000FFF000001F8000007FFE00007F0000001FFFE003FC00000007FFFFFFF800000000F +FFFFFC0000000001FFFFF000000000001FFF000000> +64 61 -5 59 71] 67 dc +[<00FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF000000 +0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000 +0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000 +0003FF0000000003FF0000000003FF0000000003FF0000000003FF007FC00003FF01FFF8 +0003FF07FFFE0003FF1F03FF0003FF3C01FF0003FF7801FF8003FF7000FF8003FFE000FF +C003FFC000FFC003FFC000FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000FF +C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF +C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF +C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF +C003FF0000FFC003FF0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFF +FF> +48 60 -4 59 55] 104 dc +[<001FFF00000001FFFFF0000007FFFFFC00000FF807FF00001FF801FF80001FFC00FFC0 +001FFC007FE0001FFC007FE0001FFC007FF0001FFC003FF0000FF8003FF00007F0003FF0 +0001C0003FF0000000003FF0000000003FF0000000003FF0000000FFFFF000000FFFFFF0 +00007FF83FF00003FF803FF00007FE003FF0001FFC003FF0003FF8003FF0007FF0003FF0 +007FE0003FF000FFE0003FF000FFC0003FF000FFC0003FF000FFC0003FF000FFC0007FF0 +00FFC0007FF000FFE000FFF0007FF001DFF0003FF803DFF8001FFC0F8FFFF00FFFFE0FFF +F001FFFC07FFF0003FE000FFF0> +48 38 -3 37 48] 97 dc +[<00FF01FF8000FFFF0FFFF000FFFF3FFFFC00FFFFFE03FF00FFFFF001FFC003FFE0007F +E003FF80007FF003FF80003FF803FF00001FF803FF00001FFC03FF00000FFC03FF00000F +FE03FF00000FFE03FF00000FFE03FF000007FF03FF000007FF03FF000007FF03FF000007 +FF03FF000007FF03FF000007FF03FF000007FF03FF000007FF03FF000007FF03FF000007 +FF03FF00000FFE03FF00000FFE03FF00000FFE03FF00001FFC03FF00001FFC03FF00001F +F803FF80003FF003FFC0007FF003FFE000FFE003FFF001FF8003FFFC07FF0003FF3FFFFC +0003FF0FFFF00003FF01FF000003FF0000000003FF0000000003FF0000000003FF000000 +0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000 +0003FF0000000003FF0000000003FF00000000FFFFFC000000FFFFFC000000FFFFFC0000 +00FFFFFC000000> +48 55 -3 37 55] 112 dc +[<0007800000078000000780000007800000078000000F8000000F8000000F8000000F80 +00001F8000001F8000003F8000003F8000007F800000FF800001FF800007FF80001FFFFF +F0FFFFFFF0FFFFFFF0FFFFFFF001FF800001FF800001FF800001FF800001FF800001FF80 +0001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF80 +0001FF800001FF800001FF800001FF800001FF803C01FF803C01FF803C01FF803C01FF80 +3C01FF803C01FF803C01FF803C00FF807800FFC078007FC0F8007FE1F0001FFFE00007FF +C00001FF00> +32 55 -2 54 38] 116 dc +[<0001FFC000000FFFF800003FFFFE0000FF80FF0001FE003F8007FC001FC00FF8000FE0 +0FF8000FF01FF00007F03FF00007F83FF00007F87FE00007F87FE00003FC7FE00003FC7F +E00003FCFFE00003FCFFFFFFFFFCFFFFFFFFFCFFFFFFFFFCFFE0000000FFE0000000FFE0 +000000FFE00000007FE00000007FE00000007FE00000003FE00000003FF000003C1FF000 +003C1FF000003C0FF800007807FC0000F803FE0001F001FF0007E000FFC03FC0003FFFFF +000007FFFC000000FFE000> +40 38 -3 37 45] 101 dc +[<00FE03F000FFFE0FFE00FFFE3FFF80FFFE3C7FC0FFFE707FC007FEF0FFE003FEE0FFE0 +03FEC0FFE003FFC0FFE003FF80FFE003FF807FC003FF803F8003FF800E0003FF00000003 +FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF +00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00 +000003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE0000FFFFFE00 +00FFFFFE0000FFFFFE0000> +40 38 -3 37 41] 114 dc +[<00001E000000003E00000000FE00000003FE0000003FFE0000FFFFFE0000FFFFFE0000 +FFFFFE0000FFCFFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000000 +0FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000F +FE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE +0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00 +00000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000 +000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000000 +0FFE0000000FFE00007FFFFFFFC07FFFFFFFC07FFFFFFFC07FFFFFFFC0> +40 56 -7 55 49] 49 dc +cmtt10.300 sf +[<01C00001C00001C00001C00071C700F9CF807FFF001FFC0007F00007F0001FFC007FFF +00F9CF8071C70001C00001C00001C00001C000> +24 18 -2 21 22] 42 dc +[<00E00001F00001F00001B00001B00003B80003B80003B800031800071C00071C00071C +00071C00071C000E0E000E0E000FFE000FFE001FFF001C07001C07001C07007F1FC0FF1F +E07F1FC0> +24 25 -1 24 22] 65 dc +[<7FFFC0FFFFC07FFFC01C01C01C01C01C01C01C01C01C00001C00001C1C001C1C001FFC +001FFC001FFC001C1C001C1C001C00001C00E01C00E01C00E01C00E01C00E07FFFE0FFFF +E07FFFE0> +24 25 -1 24 22] 69 dc +[<FC07E0FE0FE0FC07E07001C07001C07001C030018038038038038038038038E38039F3 +8039F38039B38019B30019B30019B30019B30019B30019B3001913001B1B000F1E000F1E +000E0E00> +24 25 -1 24 22] 87 dc +[<7FF800FFFE007FFF001C0F001C07801C03801C03801C03801C07801C07001FFF001FFE +001FFE001C1F001C03801C03C01C01C01C01C01C01C01C01C01C03C01C07807FFF80FFFF +007FFC00> +24 25 -1 24 22] 66 dc +cmbx10.746 sf +[<FFFFFFFFFFFFFFFC00FFFFFFFFFFFFFFFC00FFFFFFFFFFFFFFFC00FFFFFFFFFFFFFFFC +00FFFFFFFFFFFFFFFE00001FFFC00003FFFE00001FFFC000003FFE00001FFFC000000FFE +00001FFFC0000003FE00001FFFC0000001FE00001FFFC0000000FE00001FFFC0000000FE +00001FFFC00000007E00001FFFC00000007F00001FFFC00000003F00001FFFC00000003F +00001FFFC00000001F00001FFFC00000001F00001FFFC00000001F00001FFFC00000001F +00001FFFC0007C001F00001FFFC0007C000F80001FFFC0007C000F80001FFFC0007C000F +80001FFFC0007C000F80001FFFC0007C000000001FFFC000FC000000001FFFC000FC0000 +00001FFFC000FC000000001FFFC001FC000000001FFFC003FC000000001FFFC01FFC0000 +00001FFFFFFFFC000000001FFFFFFFFC000000001FFFFFFFFC000000001FFFFFFFFC0000 +00001FFFFFFFFC000000001FFFC01FFC000000001FFFC003FC000000001FFFC001FC0000 +00001FFFC000FC000000001FFFC000FC000000001FFFC000FC000000001FFFC0007C0000 +00001FFFC0007C000000001FFFC0007C000000001FFFC0007C000000001FFFC0007C0000 +00001FFFC0007C000000001FFFC00000000000001FFFC00000000000001FFFC000000000 +00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000 +00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000 +00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000 +00001FFFC00000000000FFFFFFFFFF00000000FFFFFFFFFF00000000FFFFFFFFFF000000 +00FFFFFFFFFF00000000FFFFFFFFFF00000000> +72 70 -4 69 75] 70 dc +[<007FE000003FF000FFFFE0007FFFF000FFFFE0007FFFF000FFFFE0007FFFF000FFFFE0 +007FFFF000FFFFE0007FFFF00003FFE00001FFF00001FFE00000FFF00001FFE00000FFF0 +0001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE0 +0000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF0 +0001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE0 +0000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF0 +0001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE0 +0000FFF00001FFE00000FFF00001FFE00001FFF00001FFE00001FFF00001FFE00001FFF0 +0001FFE00003FFF00000FFE00007FFF00000FFE0000F7FF000007FE0001F7FF000007FF0 +003E7FF800003FFC00FC7FFFE0001FFFFFF87FFFE00007FFFFE07FFFE00001FFFF807FFF +E000003FFE007FFFE0> +64 46 -4 45 66] 117 dc +[<FFFFFFFFC03FFFFFFFF0001FFFFFF0FFFFFFFFC03FFFFFFFF0001FFFFFF0FFFFFFFFC0 +3FFFFFFFF0001FFFFFF0FFFFFFFFC03FFFFFFFF0001FFFFFF0FFFFFFFFC03FFFFFFFF000 +1FFFFFF0007FFF0000001FFFE00000000FF800007FFF0000000FFFE000000003E000007F +FF8000000FFFE000000007E000003FFF8000000FFFF000000007C000003FFFC0000007FF +F000000007C000003FFFC0000007FFF80000000FC000001FFFC0000003FFF80000000F80 +00001FFFE0000003FFF80000001F8000000FFFE0000003FFFC0000001F0000000FFFE000 +0001FFFC0000001F0000000FFFF0000001FFFE0000003F00000007FFF0000001FFFE0000 +003E00000007FFF8000001FFFE0000007E00000003FFF8000003FFFF0000007C00000003 +FFF8000003FFFF0000007C00000003FFFC000003FFFF000000FC00000001FFFC000007FF +FF800000F800000001FFFE000007FFFF800000F800000001FFFE000007FFFFC00001F800 +000000FFFE00000F9FFFC00001F000000000FFFF00000F9FFFC00003F0000000007FFF00 +001F9FFFE00003E0000000007FFF00001F0FFFE00003E0000000007FFF80001F0FFFE000 +07E0000000003FFF80003F0FFFF00007C0000000003FFFC0003E07FFF00007C000000000 +1FFFC0007E07FFF8000F80000000001FFFC0007C03FFF8000F80000000001FFFE0007C03 +FFF8001F80000000000FFFE000FC03FFFC001F00000000000FFFE000F801FFFC001F0000 +0000000FFFF000F801FFFE003F000000000007FFF001F801FFFE003E000000000007FFF8 +01F000FFFE007E000000000003FFF803F000FFFF007C000000000003FFF803E0007FFF00 +7C000000000003FFFC03E0007FFF00FC000000000001FFFC07E0007FFF80F80000000000 +01FFFE07C0003FFF80F8000000000001FFFE0FC0003FFFC1F8000000000000FFFE0F8000 +1FFFC1F0000000000000FFFF0F80001FFFC3F00000000000007FFF1F80001FFFE3E00000 +000000007FFF1F00000FFFE3E00000000000007FFF9F00000FFFF7E00000000000003FFF +BF00000FFFF7C00000000000003FFFFE000007FFFFC00000000000001FFFFE000007FFFF +800000000000001FFFFC000003FFFF800000000000001FFFFC000003FFFF800000000000 +000FFFFC000003FFFF000000000000000FFFF8000001FFFF000000000000000FFFF80000 +01FFFF0000000000000007FFF0000000FFFE0000000000000007FFF0000000FFFE000000 +0000000003FFF0000000FFFC0000000000000003FFE00000007FFC0000000000000003FF +E00000007FFC0000000000000001FFE00000007FF80000000000000001FFC00000003FF8 +0000000000000001FFC00000003FF80000000000000000FF800000001FF0000000000000 +0000FF800000001FF000000000000000007F800000001FE000000000000000007F000000 +000FE000000000000000007F000000000FE000000000000000003E0000000007C0000000 +00> +120 72 -3 70 123] 87 dc +[<007FC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0 +0000000000FFFFC0000000000003FFC0000000000001FFC0000000000001FFC000000000 +0001FFC0000000000001FFC0000000000001FFC0000000000001FFC0000000000001FFC0 +000000000001FFC0000000000001FFC0000000000001FFC0000000000001FFC000000000 +0001FFC0000000000001FFC0000000000001FFC0000000000001FFC0000000000001FFC0 +000000000001FFC0000000000001FFC0000000000001FFC0000000000001FFC00FFC0000 +0001FFC07FFFC0000001FFC3FFFFF0000001FFCFFFFFFC000001FFDFF00FFF000001FFFF +8003FF800001FFFE0001FFC00001FFF800007FE00001FFF000007FF00001FFE000003FF8 +0001FFE000001FFC0001FFE000001FFC0001FFE000001FFE0001FFE000001FFE0001FFE0 +00000FFF0001FFE000000FFF0001FFE000000FFF0001FFE000000FFF0001FFE000000FFF +8001FFE000000FFF8001FFE000000FFF8001FFE000000FFF8001FFE000000FFF8001FFE0 +00000FFF8001FFE000000FFF8001FFE000000FFF8001FFE000000FFF8001FFE000000FFF +8001FFE000000FFF0001FFE000000FFF0001FFE000000FFF0001FFE000001FFE0001FFE0 +00001FFE0001FFE000001FFC0001FFE000001FFC0001FFE000003FF80001FFF000003FF8 +0001FFF800007FF00001FFFC0000FFE00001FFFE0001FFC00001FFBF0007FF800001FF1F +E01FFE000001FE0FFFFFFC000001FC03FFFFF0000001F800FFFF80000001F0001FF80000 +00> +64 72 -4 71 66] 98 dc +[<FFFFFFFFFFFFC0000000FFFFFFFFFFFFFE000000FFFFFFFFFFFFFFC00000FFFFFFFFFF +FFFFF00000FFFFFFFFFFFFFFFC0000001FFF800007FFFF0000001FFF8000007FFF800000 +1FFF8000000FFFE000001FFF80000007FFF000001FFF80000001FFF800001FFF80000000 +FFFC00001FFF800000007FFE00001FFF800000003FFF00001FFF800000001FFF00001FFF +800000000FFF80001FFF800000000FFFC0001FFF8000000007FFC0001FFF8000000007FF +E0001FFF8000000003FFE0001FFF8000000003FFF0001FFF8000000003FFF0001FFF8000 +000003FFF8001FFF8000000001FFF8001FFF8000000001FFF8001FFF8000000001FFFC00 +1FFF8000000001FFFC001FFF8000000001FFFC001FFF8000000001FFFC001FFF80000000 +01FFFC001FFF8000000001FFFE001FFF8000000000FFFE001FFF8000000000FFFE001FFF +8000000000FFFE001FFF8000000000FFFE001FFF8000000000FFFE001FFF8000000000FF +FE001FFF8000000000FFFE001FFF8000000000FFFE001FFF8000000000FFFE001FFF8000 +000000FFFE001FFF8000000000FFFE001FFF8000000000FFFE001FFF8000000001FFFE00 +1FFF8000000001FFFC001FFF8000000001FFFC001FFF8000000001FFFC001FFF80000000 +01FFFC001FFF8000000001FFF8001FFF8000000001FFF8001FFF8000000001FFF8001FFF +8000000003FFF0001FFF8000000003FFF0001FFF8000000003FFF0001FFF8000000007FF +E0001FFF8000000007FFE0001FFF800000000FFFC0001FFF800000000FFF80001FFF8000 +00001FFF80001FFF800000003FFF00001FFF800000003FFE00001FFF800000007FFC0000 +1FFF80000001FFF800001FFF80000003FFF000001FFF8000000FFFE000001FFF8000007F +FFC000001FFF800003FFFF0000FFFFFFFFFFFFFFFE0000FFFFFFFFFFFFFFF80000FFFFFF +FFFFFFFFC00000FFFFFFFFFFFFFE000000FFFFFFFFFFFFC0000000> +80 71 -4 70 91] 68 dc +cmbx10.432 sf +[<000E00001E00007E0007FE00FFFE00FFFE00F8FE0000FE0000FE0000FE0000FE0000FE +0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE +0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE +007FFFFE7FFFFE7FFFFE> +24 39 -5 38 34] 49 dc +[<1C007F00FF80FF80FF80FF80FF807F001C00> +16 9 -5 8 19] 46 dc +[<FFFE0000001FFFC0FFFE0000001FFFC0FFFF0000003FFFC003FF0000003FF00003FF00 +00003FF00003BF80000077F00003BF80000077F000039FC00000E7F000039FC00000E7F0 +00038FE00001C7F000038FE00001C7F0000387F0000387F0000387F0000387F0000387F0 +000387F0000383F8000707F0000383F8000707F0000381FC000E07F0000381FC000E07F0 +000380FE001C07F0000380FE001C07F0000380FF003807F00003807F003807F00003807F +003807F00003803F807007F00003803F807007F00003801FC0E007F00003801FC0E007F0 +0003800FE1C007F00003800FE1C007F00003800FE1C007F000038007F38007F000038007 +F38007F000038003FF0007F000038003FF0007F000038001FE0007F000038001FE0007F0 +00038000FC0007F000038000FC0007F000FFFE00FC01FFFFC0FFFE007801FFFFC0FFFE00 +7801FFFFC0> +64 41 -3 40 65] 77 dc +[<003FE00001FFFC0003F07E000FC01F801F800FC03F800FE03F0007E07F0007F07F0007 +F07F0007F0FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007 +F87F0007F07F0007F03F800FE03F800FE01F800FC00FC01F8007F07F0001FFFC00003FE0 +00> +32 27 -2 26 34] 111 dc +[<00700000700000700000700000F00000F00000F00001F00003F00003F00007F0001FFF +F0FFFFF0FFFFF007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0 +0007F00007F00007F00007F03807F03807F03807F03807F03807F03807F03803F87001F8 +F000FFE0001F80> +24 38 -1 37 27] 116 dc +[<07001FC01FE03FE03FE03FE01FE01FC007000000000000000000000000000000FFE0FF +E0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F +E00FE00FE00FE00FE0FFFEFFFEFFFE> +16 43 -3 42 20] 105 dc +[<FFFE03FF80FFFE03FF80FFFE03FF8007F000700007F000700007F800F00003F800E000 +03FC01E00001FC01C00001FC01C00000FE03800000FE038000007F070000007F07000000 +7F8F0000003F8E0000003FDE0000001FDC0000001FDC0000000FF80000000FF80000000F +F800000007F000000007F000000003E000000003E000000001C00000> +40 27 -1 26 36] 118 dc +[<01FF800007FFF0000F81FC001FC0FE001FC07F001FC07F001FC03F800F803F8000003F +8000003F8000003F80000FFF8000FFFF8007FC3F801FE03F803F803F807F803F807F003F +80FE003F80FE003F80FE003F80FE007F80FF007F807F00FFC03F83DFFC0FFF0FFC01FC03 +FC> +32 27 -2 26 33] 97 dc +[<FFC07F0000FFC1FFC000FFC787E0000FCE07F0000FDC03F8000FF803F8000FF003F800 +0FF003F8000FF003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000F +E003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE0 +03F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80FFFE3FFF80> +40 27 -3 26 38] 110 dc +[<0007F0003FFC00FE3E01FC7F03F87F03F87F07F07F07F03E07F00007F00007F00007F0 +0007F00007F00007F000FFFFC0FFFFC0FFFFC007F00007F00007F00007F00007F00007F0 +0007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0 +0007F00007F00007F0007FFF807FFF807FFF80> +24 42 -2 41 21] 102 dc +[<FFC1F0FFC7FCFFCE3E0FDC7F0FD87F0FF87F0FF07F0FF03E0FF0000FE0000FE0000FE0 +000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0 +00FFFF00FFFF00FFFF00> +24 27 -2 26 28] 114 dc +[<FFFFFFFFC0FFFFFFFFC0FFFFFFFFC003FC003FC003FC000FE003FC0003E003FC0001E0 +03FC0001E003FC0000E003FC0000E003FC0000E003FC0000F003FC03807003FC03807003 +FC03807003FC03800003FC07800003FC07800003FC1F800003FFFF800003FFFF800003FF +FF800003FC1F800003FC07800003FC07800003FC03800003FC03800003FC03800003FC03 +800003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC0000 +0003FC00000003FC000000FFFFFC0000FFFFFC0000FFFFFC0000> +40 41 -3 40 43] 70 dc +[<FFE03FF800FFE03FF800FFE03FF8000FE003F8000FE003F8000FE003F8000FE003F800 +0FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000F +E003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE007F8000FE0 +07F8000FE00FF80007E01FF80003F03BFF8001FFF3FF80003FC3FF80> +40 27 -3 26 38] 117 dc +[<003FE00001FFF80003F07E000FE03F001FC01F803F800FC03F800FC07F000FC07F0007 +E0FF0007E0FF0007E0FF0007E0FFFFFFE0FFFFFFE0FF000000FF000000FF000000FF0000 +007F0000007F8000003F8000E03F8001E01FC001C00FE003C003F81F8000FFFE00001FF0 +00> +32 27 -2 26 32] 101 dc +[<FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F +E00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F +E00FE00FE00FE0FFFEFFFEFFFE> +16 42 -3 41 20] 108 dc +[<FFFFE07FFFF007FFF0FFFFE07FFFF007FFF0FFFFE07FFFF007FFF003FC0001FE00001C +0003FC0001FE00001C0001FE0001FF0000380001FE0000FF0000380001FF0000FF000078 +0000FF0000FF8000700000FF0000FF8000700000FF8000FF8000F000007F8001FFC000E0 +00007F8001FFC000E000003FC003FFE001C000003FC0039FE001C000003FE0039FE003C0 +00001FE0070FF0038000001FE0070FF0038000001FF00F0FF0078000000FF00E07F80700 +00000FF00E07F80700000007F81E07FC0E00000007F81C03FC0E00000007FC1C03FC1E00 +000003FC3801FE1C00000003FC3801FE1C00000001FE7801FF3800000001FE7000FF3800 +000001FE7000FF3800000000FFF000FFF000000000FFE0007FF000000000FFE0007FF000 +0000007FC0003FE0000000007FC0003FE0000000003FC0003FC0000000003F80001FC000 +0000003F80001FC0000000001F80001F80000000001F00000F80000000001F00000F8000 +0000000E000007000000> +72 41 -1 40 71] 87 dc +[<FFE0000000FFE0000000FFE00000000FE00000000FE00000000FE00000000FE0000000 +0FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000F +E00000000FE1FE00000FE7FF80000FFE07E0000FF803F8000FF001FC000FE000FE000FE0 +00FE000FE0007F000FE0007F000FE0007F800FE0007F800FE0007F800FE0007F800FE000 +7F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F000FE000FF000FE000FE +000FF000FE000FF001FC000FF803F8000F9E07E0000F0FFF80000E01FC0000> +40 42 -2 41 38] 98 dc +cmti10.300 sf +[<01FFFC00003C070000380380003801C0003801C0003801C0007003C0007003C0007003 +C00070038000E0078000E0070000E00E0000E0380001FFE00001C0000001C0000001C000 +0003800000038000000380000003800000070000000700000007000000070000000F0000 +00FFE00000> +32 28 -3 27 28] 80 dc +[<00F3018F030F06070E0E0C0E1C0E1C0E381C381C381C381C383830383038187818F00F +700070007000E000E0C0C0E1C0C3007E00> +16 26 -3 17 19] 103 dc +[<3C1E0780266318C04683A0E04703C0E08E0380E08E0380E00E0380E00E0380E01C0701 +C01C0701C01C0701C01C070380380E0388380E0388380E0708380E0710701C0320300C01 +C0> +32 18 -4 17 34] 109 dc +[<01800380010000000000000000000000000000001C002600470047008E008E000E001C +001C001C0038003800710071007100720072003C00> +16 28 -4 27 13] 105 dc +[<3C3C002646004687004707008E07008E07000E07000E07001C0E001C0E001C0E001C1C +00381C40381C40383840383880701900300E00> +24 18 -4 17 23] 110 dc +[<1F800380038007000700070007000E000E000E000E001C001C001C001C003800380038 +0038007000700070007000E400E400E400E40068003800> +16 29 -4 28 11] 108 dc +[<0003F020001E0C60003002E000E003C001C001C0038001C0070000C00E0000801E0000 +801C0000803C0000803C000000780000007800000078000000F0000000F0000000F00000 +00F0000000F0000400F0000400F0000400F0000800700008007000100038002000180040 +000C0180000706000001F80000> +32 30 -6 28 30] 67 dc +[<01F007080C08181C3838300070007000E000E000E000E000E000E008E010602030C01F +00> +16 18 -5 17 19] 99 dc +[<0003C0000670000C70001C60001C00001C0000380000380000380000380000380003FF +8000700000700000700000700000700000E00000E00000E00000E00000E00001C00001C0 +0001C00001C00001C000038000038000038000030000030000070000C60000E60000CC00 +00780000> +24 37 1 28 13] 102 dc +[<0000180000001800000038000000380000007800000078000000B8000001B800000138 +000002380000023C0000041C0000041C0000081C0000181C0000101C0000201C0000201C +00007FFC0000401C0000801C0001801C0001001C0002001C0002001C0004000E000C000E +001C001E00FF00FFC0> +32 29 -2 28 31] 65 dc +[<01FE0007F8003E000780002E000F00002E001700002E001700002E002700004E002E00 +004E004E00004E004E00004E008E00008E011C00008E011C00008E021C00008E021C0001 +070438000107043800010708380001071038000207107000020720700002072070000207 +407000040740E000040780E000040700E0000C0700E0001C0601E000FF861FFC00> +40 28 -3 27 37] 77 dc +cmr8.300 sf +[<001000003800003800003800005C00005C00005C00008E00008E00008E000107000107 +0003078002038002038007FFC00401C00401C00800E00800E01800E03800F0FE03FE> +24 23 -1 22 26] 65 dc +[<1F4060C0C040C040E000FF007F801FC001E080608060C060E0C09F00> +16 14 -1 13 14] 115 dc +[<183C3C1800000000007C1C1C1C1C1C1C1C1C1C1C1C1CFF> +8 23 0 22 10] 105 dc +[<080008000800180018003800FF80380038003800380038003800380038403840384038 +401C800F00> +16 20 -1 19 14] 116 dc +[<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C7C001D8E001E07 +001C07001C07001C07001C07001C07001C07001C07001C07001C07001C0700FF9FE0> +24 23 0 22 20] 104 dc +[<1FC0386038301038003803F81E3830387038E039E039E07970FF1F1E> +16 14 -1 13 18] 97 dc +[<FCF8001F0E001C03001C03801C01801C01C01C01C01C01C01C01C01C01801C03801C07 +001F0E001CF8001C00001C00001C00001C00001C0000FF8000> +24 20 0 13 20] 112 dc +[<0FC0186030307038E018FFF8E000E000E000600070083010183007C0> +16 14 -1 13 16] 101 dc +[<FC7C001D8E001E07001C07001C07001C07001C07001C07001C07001C07001C07001C07 +001C0700FF9FE0> +24 14 0 13 20] 110 dc +[<60F0F070101020204040> +8 10 -3 3 10] 44 dc +[<FCFE7C3838383838101C3C201C3C201C4C200E4E400E4E400E86400787800787800703 +80030300030300> +24 14 -1 13 25] 119 dc +[<07C018303018600C600CE00EE00EE00EE00EE00E701C3018183007C0> +16 14 -1 13 18] 111 dc +[<FC7C1F001D8E63801E0781C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701 +C01C0701C01C0701C01C0701C01C0701C0FF9FE7F8> +32 14 0 13 30] 109 dc +[<03E006700E701C201C001C001C001C001C00FF801C001C001C001C001C001C001C001C +001C001C001C001C00FF80> +16 23 0 22 11] 102 dc +[<FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C +001C001C001C001C00FF80> +16 23 0 22 10] 108 dc +[<FC3F001C07001C07001C07001C07001C07001C07001C07001C07001C07001C07001C0F +000E170003E7E0> +24 14 0 13 20] 117 dc +[<07F01838303870106000E000E000E000E000600070083008183007C0> +16 14 -1 13 16] 99 dc +[<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C3F801C1C001C18 +001C20001C40001CC0001FE0001CF0001C70001C78001C3C001C1E001C1E00FF3FC0> +24 23 0 22 19] 107 dc +[<FE1F3C0E3C0C1C081C080E100E100720072003C003C003C00180018001000100E200E2 +00A4007800> +16 20 -1 13 19] 121 dc +[<FCF01D381E381C101C001C001C001C001C001C001C001C001C00FF80> +16 14 0 13 14] 114 dc +[<60F0F060> +8 4 -3 3 10] 46 dc +[<FFE00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E +000E000E000E000E00FFE0> +16 23 -1 22 13] 73 dc +[<007E00000E00000E00000E00000E00000E00000E00000E00000E0007CE001C3E00300E +00700E00600E00E00E00E00E00E00E00E00E00600E00700E00301E00182E0007CFC0> +24 23 -1 22 20] 100 dc +[<0300078007800300000000000000000000001F80038003800380038003800380038003 +8003800380038003800380038003804380E300E7007C00> +16 29 2 22 11] 106 dc +[<00FC100383300E00B01C0070380030300030700010600010E00010E00000E00000E000 +00E00000E00000E000106000107000103000203800201C00400E008003830000FC00> +24 23 -2 22 25] 67 dc +[<FE0003F81E0003C0170005C0170005C0170005C0138009C0138009C011C011C011C011 +C011C011C010E021C010E021C0107041C0107041C0107041C0103881C0103881C0101D01 +C0101D01C0100E01C0100E01C0380E01C0FE040FF8> +32 23 -1 22 32] 77 dc +[<03000700FF000700070007000700070007000700070007000700070007000700070007 +00070007007FF0> +16 21 -2 20 18] 49 dc +[<07C0183030186018E00CE00CE00EE00EE00E601E301E186E0F8E000E000C001C701870 +18603020C01F80> +16 21 -1 20 18] 57 dc +[<07E018302018600C600C700C78183E101F600FC00FF018F8607C601EC00EC006C006C0 +04600C38300FE0> +16 21 -1 20 18] 56 dc +[<01F00608080C181C301C70006000E000E3E0EC30F018F00CE00EE00EE00E600E600E30 +0C3018183007C0> +16 21 -1 20 18] 54 dc +[<00FC000782000E07001C07001C02001C00001C00001C00001C0000FFFF001C07001C07 +001C07001C07001C07001C07001C07001C07001C07001C07001C07001C0700FF1FE0> +24 23 0 22 20] 12 dc +[<FE1F3C0E3C0C1C081C080E100E100720072003C003C003C001800180> +16 14 -1 13 19] 118 dc +cmr10.300 sf +[<08081010202040404040808080808080B0B0F8F878783030> +16 12 -6 28 21] 92 dc +[<6060F0F0F8F8686808080808080810101010202040408080> +16 12 -1 28 21] 34 dc +[<007FC001C1C00303C00703C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0FFFF +C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01 +C00E01C00E01C00E01C00E01C07FCFF8> +24 29 0 28 23] 13 dc +[<1FFF00F800780078007800780078007800780078007800780078007800780078007800 +780078007800787078F878F878F878F0F040E021C01F00> +16 29 -1 27 21] 74 dc +12 @bop1 +cmr6.300 sf +223 2783(1)s +cmr7.300 sf +1824 2221(1)s +cmbx10.622 sf +177 381(Chapter)s +34(1)h +cmtt10.300 sf +567 1665(@*@*)s +479(@*)h +304 1765(@A)s +48(@E)h +1065 2186(WEB)s +cmbx10.746 sf +177 617(F)s +-10(unnelW)h +-10(eb)h +41(Design)h +cmbx10.432 sf +177 2066(1.1)s +70(Motiv)h +-4(ation)h +22(for)h +24(F)h +-6(unnelW)h +-6(eb)h +cmbx10.300 sf +1059 911(F)s +-4(unnelW)h +-4(eb)h +16(V1)h +1577 2236([Ben)s +-1(tl)h +-1(ey86])h +1378 2286([Kn)s +-1(uth83])h +cmti10.300 sf +442 2236(Pr)s +-2(o)h +-2(gr)h +-2(amming)h +17(Pe)h +-2(arls)h +215(Communic)h +-2(ations)h +18(of)h +18(the)h +18(A)h +-1(CM)h +cmr8.300 sf +241 2795(As)s +14(it)h +14(happ)h +1(ens)h +-1(,)h +13(this)h +13(w)h +-1(as)h +14(somewhat)h +13(of)h +13(a)h +14(luc)h +-1(ky)h +12(encoun)h +-1(ter)h +-1(.)h +21(I)h +14(had)h +13(only)h +13(just)h +13(joined)h +12(the)h +13(A)h +-1(CM)h +15(and)h +13(the)h +14(Ma)h +-1(y)h +13(1986)h +177 2835(issue)s +11(of)h +11(CA)h +-1(CM)h +14(in)h +11(whic)h +-1(h)h +11(the)h +10(column)h +10(app)h +1(eare)h +-1(d)h +10(w)h +-1(as)h +12(the)h +10(\014rst)h +11(issue)h +11(I)h +11(receiv)h +-1(ed.)h +cmr10.300 sf +177 861(This)s +18(c)h +-1(hapter)h +20(con)h +-1(tains)h +18(notes)h +19(on)h +18(the)h +19(design)h +18(of)h +18(F)h +-3(unnelW)h +-3(eb.)h +31(These)h +19(notes)h +19(w)h +-1(ere)h +20(not)h +18(created)h +20(\\from)h +177 911(scratc)s +-1(h",)h +17(as)h +16(the)h +16(original)h +14(v)h +-1(ersion)h +16(of)h +15(F)h +-3(unnelW)h +-3(eb)h +15(\()h +313(\))h +16(w)h +-1(as)h +16(designed)h +16(and)h +16(constructed)h +177 961(in)s +13(a)h +14(h)h +-1(urry)h +13(late)h +14(in)h +13(1986,)h +12(and)h +13(no)h +14(design)h +13(notes)h +15(w)h +-1(ere)h +14(ev)h +-1(er)h +15(recorded.)h +19(These)h +15(notes)h +14(are)h +14(in)h +13(fact)h +14(the)h +14(result)h +177 1011(of)s +14(a)h +15(complete)h +14(review)h +15(of)h +14(the)h +15(F)h +-3(unnelW)h +-3(eb)h +14(design)h +15(that)h +15(to)h +1(ok)h +14(place)h +15(in)h +14(late)h +15(1991)h +13(as)h +15(part)h +15(of)h +14(the)h +15(pro)h +1(cess)h +177 1061(of)s +13(upgrading)h +14(it)h +13(for)h +14(public)h +13(release.)h +177 1139(Throughout)s +12(the)h +13(design)h +13(pro)h +1(cess)h +14(I)h +13(tried)h +13(to)h +12(stic)h +-1(k)h +12(to)h +13(the)h +13(principles)h +13(of)h +11(simplicit)h +-1(y)h +10(and)h +12(clarit)h +-1(y)h +-3(.)h +17(As)h +13(a)h +12(rule,)h +177 1188(it)s +17(w)h +-1(as)h +18(considered)h +19(more)h +17(imp)h +1(ortan)h +-1(t)h +16(that)h +18(a)h +17(feature)h +18(b)h +1(e)h +19(simple)h +16(and)h +17(not)h +18(allo)h +-1(w)h +16(the)h +18(user)h +19(to)h +18(outsmart)h +177 1238(himself)s +15(than)h +16(it)h +16(w)h +-1(as)h +16(for)h +16(the)h +17(feature)h +16(to)h +17(b)h +1(e)h +16(particularly)h +16(crisp.)h +26(F)h +-3(or)h +15(example,)h +15(the)h +17(F)h +-3(unnelW)h +-3(eb)h +16(macro)h +177 1288(calling)s +13(syn)h +-1(tax)h +13(is)h +14(not)h +14(as)h +14(crisp)h +14(as)h +14(the)h +15(C)h +14(syn)h +-1(tax,)h +13(but)h +14(is)h +14(more)h +13(visible.)h +177 1366(T)s +-3(o)h +15(some)h +14(exten)h +-1(t)h +16(the)h +16(design)h +15(review)h +16(w)h +-1(as)h +15(in\015uenced)h +17(b)h +-1(y)h +15(the)h +16(requiremen)h +-1(ts)h +15(of)h +15(bac)h +-1(kw)h +-1(ard)h +15(compatibil)h +-1(it)h +-1(y)h +-4(.)h +177 1416(During)s +12(the)h +13(review)h +13(it)h +13(w)h +-1(as)h +12(hard)h +13(not)h +12(to)h +13(think)h +12(ab)h +1(out)h +12(all)h +12(the)h +13(source)h +14(\014les)h +12(in)h +13(F)h +-3(unnelW)h +-3(eb)h +12(V1)h +12(format)h +11(that)h +177 1466(I)s +14(ha)h +-1(v)h +-1(e)h +13(written)h +15(o)h +-1(v)h +-1(er)h +14(the)h +14(y)h +-1(ears)h +14(that)h +14(w)h +-1(ould)h +13(ha)h +-1(v)h +-1(e)h +14(to)h +13(b)h +1(e)h +15(con)h +-1(v)h +-1(erted)h +15(w)h +-1(ere)h +14(I)h +14(to)h +14(signi\014can)h +-1(tly)h +12(deviate)h +15(from)h +177 1516(the)s +16(old)h +15(input)h +15(language.)h +22(Luc)h +-1(kily)h +14(it)h +15(turned)h +17(out)h +15(that)h +16(there)h +16(w)h +-1(as)h +16(little)h +14(clash)h +16(b)h +1(et)h +-1(w)h +-1(een)h +17(these)h +17(in)h +-1(terests,)h +177 1565(and)s +17(the)h +18(resulting)h +17(design)h +17(is)h +17(b)h +1(oth)h +17(clean)h +17(and)h +17(do)h +1(es)h +18(not)h +17(require)h +18(m)h +-1(uc)h +-1(h)h +16(con)h +-1(v)h +-1(ersion)h +17(of)h +16(old)h +17(source)h +18(\014les.)h +177 1615(The)s +17(main)h +14(revision)h +16(is)h +17(in)h +16(the)h +17(do)h +1(cumen)h +-1(t)h +15(structuring)h +18(facilit)h +-1(y)h +-3(.)h +23(F)h +-3(unnelW)h +-3(eb)h +16(V1)h +16(had)h +16(just)h +17(t)h +-1(w)h +-1(o)h +16(lev)h +-1(els)h +16(of)h +177 1665(heading)s +13(indicated)h +13(b)h +-1(y)h +114(\(for)h +13(ma)h +2(jor)h +11(headings\))h +14(and)h +70(\(for)h +13(minor)h +11(headings\).)h +18(This)h +13(sc)h +-1(heme)h +14(\(whic)h +-1(h)h +177 1715(w)s +-1(as)h +16(copied)h +16(from)h +14(Kn)h +-1(uth's)h +16(W)h +-3(eb\))h +15(has)h +16(b)h +1(een)h +17(replaced)h +17(b)h +-1(y)h +15(a)h +16(hierarc)h +-1(hical)h +15(sc)h +-1(heme)h +16(of)h +15(\014v)h +-1(e)h +16(heading)h +16(lev)h +-1(els)h +177 1765(lev)s +-1(els)h +14(\()h +44(.)h +7(.)h +7(.)h +42(\).)h +177 1843(This)s +18(c)h +-1(hapter)h +19(is)h +17(rather)h +19(unstructure)h +1(d,)h +20(acting)h +17(as)h +18(it)h +18(has,)h +18(mainly)h +16(as)h +18(a)h +17(dumping)h +16(ground)h +18(for)h +17(random)h +177 1893(ideas)s +14(ab)h +1(out)h +14(F)h +-3(unnelW)h +-3(eb.)h +177 2186(During)s +16(1986,)h +15(I)h +16(w)h +-1(as)h +16(exp)h +1(osed)h +18(to)h +16(Donald)h +15(Kn)h +-1(uth's)h +98(literate)h +17(programm)h +-1(i)h +-1(ng)h +14(system)h +16(in)h +16(the)h +17(form)h +14(of)h +177 2236(Jon)s +17(Ben)h +-1(tley's)h +405(column)h +15(in)h +800(.)h +44(This)h +177 2286(prompted)s +17(me)h +16(to)h +17(obtain)h +17(a)h +17(cop)h +-1(y)h +17(of)h +17(the)h +18(rep)h +1(ort)h +18(on)h +17(the)h +18(W)h +-3(eb)h +17(system)h +226(and)h +17(to)h +17(try)h +18(out)h +17(the)h +177 2336(program)s +12(whic)h +-1(h)h +14(had)h +14(b)h +1(een)h +15(installed)h +13(on)h +14(the)h +14(lo)h +1(cal)h +13(V)h +-3(axen.)h +177 2414(W)s +-3(eb)h +14(w)h +-1(as)h +13(the)h +15(b)h +1(est)h +14(system)h +14(that)h +14(I)h +13(had)h +14(seen)h +15(for)h +13(pro)h +1(ducing)h +14(prin)h +-1(ted)h +14(and)h +14(online,)h +13(inline)h +12(do)h +1(cumen)h +-1(tation.)h +177 2464(T)s +-3(o)h +16(me)h +16(the)h +18(most)h +16(extraordinary)h +17(asp)h +1(ect)h +18(of)h +17(the)h +17(system)h +17(w)h +-1(as)h +17(its)h +17(success)h +20(despite)h +18(the)h +17(fact)h +17(that)h +17(it)h +17(had)h +177 2514(b)s +1(een)h +18(built)h +16(in)h +-1(to)h +17(the)h +17(horribly)h +17(an)h +-1(tiquated)h +16(\014le/batc)h +-1(h)h +17(pro)h +1(cessing)h +18(systems)h +17(that)h +17(w)h +-1(e)h +18(all)h +15(kno)h +-1(w)h +17(and)h +16(lo)h +-1(v)h +-1(e)h +177 2563(\(and)s +15(use\).)h +20(I)h +15(had)h +14(imagi)h +-1(ned)h +13(sophisticated)h +15(do)h +1(cumen)h +-1(tation)h +14(systems)h +14(b)h +1(efore)h +15(this)h +15(time,)h +13(but)h +15(had)h +14(alw)h +-1(a)h +-1(ys)h +177 2613(assumed)s +16(that)h +17(they)h +17(w)h +-1(ould)h +16(b)h +1(e)h +18(parts)h +17(of)h +16(complex)h +15(programm)h +-1(ing)h +14(en)h +-1(vironmen)h +-1(ts.)h +26(Kn)h +-1(uth)h +17(sho)h +-1(w)h +-1(ed)h +17(that,)h +177 2663(to)s +16(some)h +14(exten)h +-1(t,)h +17(it)h +15(can)h +16(b)h +1(e)h +16(done)h +16(using)h +15(1960s)h +15(soft)h +-1(w)h +-1(are)h +16(tec)h +-1(hnology)h +15(\(excluding)h +16(the)h +16(1980s)h +15(t)h +-1(yp)h +1(esetting)h +177 2713(tec)s +-1(hnology\).)h +18(This)h +14(w)h +-1(as)h +14(exciting.)h +1042 2940(11)s +709 2 177 2757 r +12 @eop +13 @bop0 +cmsy10.300 sf +[<07E01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF807E0> +16 16 -2 17 21] 15 dc +cmbx10.432 sf +[<00FF800003FFF0000FFFFC003F03FF007C00FF807C007FC0FE007FC0FF003FE0FF003F +E0FF003FE0FF001FE07E001FE03C003FE000003FE000003FC000003FC000007F8000007F +800000FF000001FE000001FC000003F0000007E000000FC000001F0000003E0000007C00 +E0007800E000F000E001E001C0038001C0070001C00FFFFFC01FFFFFC03FFFFFC07FFFFF +C0FFFFFF80FFFFFF80FFFFFF80> +32 39 -3 38 34] 50 dc +[<FFFFFCFFFFFCFFFFFC01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE +0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE +0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE +0001FE0001FE00FFFFFCFFFFFCFFFFFC> +24 41 -2 40 26] 73 dc +[<00003FF80000003FF80000003FF800000003F800000003F800000003F800000003F800 +000003F800000003F800000003F800000003F800000003F800000003F800000003F80000 +0003F800001FE3F80000FFFBF80003F03FF8000FE00FF8001FC007F8003F8003F8003F80 +03F8007F8003F8007F0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003 +F800FF0003F800FF0003F800FF0003F800FF0003F8007F0003F8007F0003F8003F8003F8 +003F8007F8001FC00FF8000FE01FF80003F03FFF8000FFF3FF80003FC3FF80> +40 42 -2 41 38] 100 dc +cmtt10.300 sf +[<001F00007F8000FF8001E78001C30001C00001C0007FFF00FFFF00FFFF0001C00001C0 +0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0003FFE007FFF +003FFE00> +24 25 -1 24 22] 102 dc +[<00C00001C00001C00001C00007F0001FFC003FFF007DCF00F1C780E1C780E1C780E1C7 +80F1C30079C0007FC0001FF00007FC0001FE0001CF0001C780F1C380F1C380F1C380E1C7 +80F1C78079DF003FFE001FFC0007E00001C00001C00000C000> +24 32 -2 28 22] 36 dc +[<000180000780001F80003E0000F80001F00007C0000F80003E0000FC0000F00000FC00 +003E00000F800007C00001F00000F800003E00001F80000780000180> +24 21 -2 22 22] 60 dc +[<07E3001FFF007FFF00781F00F00F00E00700E00700E00000F000007800007F80001FF0 +0007FC0000FE00000F00000780000380000380E00380E00380F00780F80F00FFFE00FFFC +00C7F000> +24 25 -2 24 22] 83 dc +[<C00000F00000FC00003E00000F800007C00001F00000F800003E00001F80000780001F +80003E0000F80001F00007C0000F80003E0000FC0000F00000C00000> +24 21 -2 22 22] 62 dc +[<7FFF00FFFF80FFFF80000000000000000000000000000000FFFF80FFFF807FFF00> +24 11 -2 17 22] 61 dc +[<001F80007F8001FF8001E00001C00001C00001C00001C00001C00001C00001C00001C0 +0001C00003C0007F8000FF0000FF00007F800003C00001C00001C00001C00001C00001C0 +0001C00001C00001C00001C00001E00001FF80007F80001F80> +24 32 -2 28 22] 123 dc +[<FFFF80FFFF80FFFF80> +24 3 -2 13 22] 45 dc +[<FC0000FF0000FFC00003C00001C00001C00001C00001C00001C00001C00001C00001C0 +0001C00001E00000FF00007F80007F8000FF0001E00001C00001C00001C00001C00001C0 +0001C00001C00001C00001C00003C000FFC000FF0000FC0000> +24 32 -2 28 22] 125 dc +[<1FFC003FFE007FFF00780F00F00780E00380E00380E00380E00380E00380E00380E003 +80E00380E00380E00380E00380E00380E00380E00380F00780F00780780F007FFF003FFE +001FFC00> +24 25 -2 24 22] 79 dc +[<7FFF80FFFF80FFFF80E00700E00F00E01E00E01C00003C0000780000700000F00001E0 +0001C00003C0000780000700000F00001E03801C03803C0380780380700380FFFF80FFFF +80FFFF80> +24 25 -2 24 22] 90 dc +[<03E30007FF001FFF003E1F003C0F00780F00780700700700F00000E00000E00000E000 +00E00000E03F80E07FC0E03F80F00700700700780F00780F003C0F003E1F001FFF0007FF +0003E700> +24 25 -2 24 22] 71 dc +cmr10.300 sf +[<007E1F0001C1B1800303E3C00703C3C00E03C1800E01C0000E01C0000E01C0000E01C0 +000E01C0000E01C000FFFFFC000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0 +000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0 +000E01C0007F87FC00> +32 29 0 28 24] 11 dc +13 @bop1 +cmsy10.300 sf +239 247(\017)s +239 327(\017)s +239 507(\017)s +239 686(\017)s +239 816(\017)s +239 896(\017)s +239 1026(\017)s +239 1156(\017)s +cmbx10.432 sf +177 1990(1.2)s +70(Inden)h +-2(tation)h +cmbx10.300 sf +1346 2103(inden)s +-1(t)h +-1(ed)h +12(macro)h +13(call)h +1169 2153(no)s +13(inden)h +-2(tat)h +-1(ion)h +20(blank)h +12(inden)h +-1(t)h +-1(ati)h +-1(on)h +177 2202(text)s +15(inden)h +-1(t)h +-1(ati)h +-1(on)h +177 2835(No)s +16(inden)h +-1(t)h +-1(ati)h +-1(on:)h +cmtt10.300 sf +520 1461(tt)s +21(font)h +177 2308(@$@<Sloth@>==)s +-1(@{@-)h +177 2358(Aardvark)s +177 2408(Walrus@})s +177 2508(@O@<Output@>=)s +-1(=@{@-)h +177 2557(Zebra@<Sloth@)s +-1(>)h +177 2607(Giraffe)s +177 2657(@})s +1066 2763(Sloth)s +cmr10.300 sf +177 42(The)s +16(W)h +-3(eb)h +16(system)h +15(w)h +-1(as)h +16(en)h +-1(ticing)h +15(and)h +16(promising)h +13(but)h +16(to)h +16(me)h +14(su\013ered)h +18(from)h +14(man)h +-1(y)h +14(dra)h +-1(wbac)h +-1(ks,)h +16(man)h +-1(y)h +13(of)h +177 91(whic)s +-1(h)h +16(Kn)h +-1(uth)h +16(had)h +16(promoted)h +15(as)h +16(adv)h +-2(an)h +-1(tages.)h +23(The)h +17(follo)h +-1(wi)h +-1(ng)h +14(highly)h +15(sub)h +2(jectiv)h +-1(e)h +17(list)h +15(of)h +15(disadv)h +-2(an)h +-1(tages)h +177 141(formed)s +13(a)h +13(springb)h +1(oard)h +14(for)h +14(the)h +14(construction)h +15(of)h +14(F)h +-3(unnelW)h +-3(eb.)h +281 247(W)s +-3(eb)h +13(can)h +15(only)h +13(pro)h +1(cess)h +15(P)h +-1(ascal)h +14(programs.)h +281 327(W)s +-3(eb)h +16(can)h +17(pro)h +1(duce)h +18(only)h +16(one)h +17(output)h +16(\014le.)h +27(In)h +16(man)h +-1(y)h +15(instances)h +18(it)h +16(is)h +16(desirable)h +17(to)h +17(generate)h +18(more)h +281 377(than)s +18(one)h +19(output)h +19(\014le.)h +31(F)h +-3(or)h +18(example,)h +18(when)h +19(programm)h +-1(ing)h +16(in)h +18(Ada,)h +19(it)h +18(is)h +18(desirable)h +19(to)h +18(write)h +19(a)h +281 427(pac)s +-1(k)h +-2(age)h +13(sp)h +1(eci\014cation)h +15(and)h +14(a)h +13(pac)h +-1(k)h +-2(age)h +14(b)h +1(o)h +1(dy)h +14(together)h +15(in)h +13(the)h +15(same)h +13(\014le.)h +281 507(W)s +-3(eb)h +15(enforces)h +16(Kn)h +-1(uth's)h +15(individual)h +13(st)h +-1(yle)h +16(of)h +14(inden)h +-1(tation.)h +21(W)h +-3(eb)h +15(supplies)h +15(comm)h +-1(ands)h +14(to)h +15(o)h +-1(v)h +-1(er-ride)h +281 557(the)s +16(automatic)h +14(inden)h +-1(tation)h +15(but)h +15(it)h +15(is)h +16(an)h +15(uphill)h +14(battle)h +16(and)h +15(the)h +16(co)h +1(de)h +17(b)h +1(ecomes)h +15(clogged)h +16(up)h +15(with)h +281 606(format)s +12(directiv)h +-1(es.)h +281 686(W)s +-3(eb)h +20(do)h +1(es)h +22(not)h +21(cater)h +21(for)h +21(non-standard)h +21(P)h +-1(ascal)h +20(programs.)h +38(In)h +21(particular,)h +21(all)h +20(iden)h +-1(ti\014ers)h +21(are)h +281 736(truncated)s +15(to)h +14(ab)h +1(out)h +14(eigh)h +-1(t)h +13(c)h +-1(haracters.)h +281 816(W)s +-3(eb)h +13(formats)h +13(the)h +14(program)h +13(output)h +14(\014le)h +14(in)h +-1(to)h +13(a)h +13(form)h +13(that)h +13(is)h +14(unreadable)h +14(to)h +14(h)h +-1(umans.)h +281 896(W)s +-3(eb)h +11(do)h +1(es)h +13(not)h +12(pro)h +-1(vide)h +12(an)h +11(include)h +12(facilit)h +-1(y)h +-3(.)h +15(This)h +12(w)h +-1(as)h +12(considered)h +13(a)h +12(feature)h +12(essen)h +-1(tial)h +13(for)h +11(supp)h +1(ort-)h +281 946(ing)s +13(macro)h +13(libraries.)h +281 1026(W)s +-3(eb)h +13(pro)h +-1(vides)h +14(macros)h +13(with)h +13(at)h +14(most)h +12(one)h +14(parameter.)h +18(Kn)h +-1(uth)h +14(describ)h +1(es)h +16(a)h +13(hac)h +-1(k)h +14(that)h +14(can)h +14(extract)h +281 1076(a)s +11(m)h +-1(ultiple)h +10(parameter)h +11(macro)h +11(facilit)h +-1(y)h +10(from)h +10(a)h +11(single)h +11(parameter)h +12(one,)h +12(but)h +12(it)h +11(is)h +11(hardly)h +12(satisfactory)h +-3(.)h +281 1156(W)s +-3(eb)h +13(do)h +1(es)h +15(not)h +14(pro)h +-1(vide)h +14(conditionals.)h +177 1262(Most)s +19(of)h +17(these)h +20(ob)h +2(jections)h +19(b)h +1(oiled)h +17(do)h +-1(wn)h +18(to)h +18(t)h +-1(w)h +-1(o)h +18(p)h +1(oin)h +-1(ts:)h +27(that)h +18(W)h +-3(eb)h +18(is)h +18(far)h +18(to)h +1(o)h +18(sp)h +1(ecialized,)h +20(and)h +18(that)h +177 1312(Kn)s +-1(uth's)h +19(\\Occam's)h +18(Razor")h +19(had)h +19(cut)h +19(to)h +1(o)h +19(far.)h +33(What)h +18(I)h +19(w)h +-1(an)h +-1(ted)h +19(w)h +-1(as)h +19(a)h +18(do)h +1(cumen)h +-1(tation)h +18(system)h +19(that)h +177 1362(emplo)s +-1(y)h +-1(ed)h +11(all)h +11(the)h +13(same)h +12(principles)h +13(as)h +12(W)h +-3(eb)h +12(but)h +13(w)h +-1(as)h +13(far)h +12(more)h +11(general.)h +18(The)h +13(result)h +13(w)h +-1(as)h +12(F)h +-3(unnelW)h +-3(eb)h +12(V1,)h +177 1412(whic)s +-1(h)h +14(can)h +14(pro)h +1(cess)h +16(programs)h +12(in)h +13(an)h +-1(y)h +14(language)h +13(or)h +14(an)h +-1(y)h +13(com)h +-1(binatio)h +-1(n)h +12(of)h +13(languages)h +14(at)h +13(the)h +15(cost)h +14(of)h +13(t)h +-1(yp)h +1(e-)h +177 1461(setting)s +14(the)h +15(text)h +14(in)h +167(.)h +177 1533(Originally)s +-3(,)h +13(it)h +15(w)h +-1(as)h +15(in)h +-1(tended)h +16(that)h +15(F)h +-3(unnelW)h +-3(eb)h +14(w)h +-1(ould)h +15(b)h +1(e)h +16(t)h +-1(yp)h +1(esetter)h +17(indep)h +1(enden)h +-1(t)h +17(as)h +15(w)h +-1(ell)h +14(as)h +16(language)h +177 1583(indep)s +1(enden)h +-1(t.)h +23(It)h +15(w)h +-1(as)h +14(in)h +-1(tended)h +16(that)h +15(a)h +14(format)h +13(\014le)h +15(consisting)h +15(of)h +15(a)h +14(set)h +16(of)h +14(pro)h +1(ductions)h +16(describing)h +15(ho)h +-1(w)h +177 1633(the)s +16(do)h +1(cumen)h +-1(t)h +14(\014le)h +16(w)h +-1(as)h +15(to)h +14(b)h +1(e)h +16(formatted)h +14(w)h +-1(ould)h +14(b)h +1(e)h +16(handed)h +16(to)h +14(F)h +-3(unnelW)h +-3(eb)h +15(along)h +14(with)h +15(the)h +15(input)h +15(\014le.)h +177 1683(In)s +19(the)h +19(end,)h +19(time)h +17(pressure)h +1(s)h +20(forced)h +19(me)h +18(to)h +18(tak)h +-1(e)h +18(the)h +19(bac)h +-1(k)h +19(do)h +1(or)h +18(and)h +18(hac)h +-1(k)h +19(up)h +18(a)h +18(T)h +1627 1692(E)s +1650 1683(X)s +19(do)h +1(cumen)h +-1(t)h +18(\014le)h +177 1732(generator.)s +19(This)h +14(comprom)h +-1(ise)h +12(has)h +14(found)h +13(its)h +14(w)h +-1(a)h +-1(y)h +13(in)h +-1(to)h +13(F)h +-3(unnelW)h +-3(eb)h +13(V3.0)h +13(whic)h +-1(h)h +13(is)h +14(still)h +12(relian)h +-1(t)h +14(on)h +13(T)h +1883 1741(E)s +1906 1732(X,)s +177 1782(although)s +12(V3.0)h +12(at)h +13(least)h +13(encourages)h +14(input)h +13(\014les)h +13(to)h +13(b)h +1(e)h +13(t)h +-1(yp)h +1(esetter)h +15(indep)h +1(enden)h +-1(t.)h +19(It)h +13(is)h +13(hop)h +1(ed)h +13(that)h +13(future)h +177 1832(v)s +-1(ersions)h +15(of)h +13(F)h +-3(unnelW)h +-3(eb)h +13(will)h +13(include)h +14(more)h +12(sophisticated)h +15(t)h +-1(yp)h +1(esetting)h +15(facilities.)h +177 2103(A)s +12(macro)h +11(call)h +12(that)h +12(do)h +1(es)h +13(not)h +12(app)h +1(ear)h +13(at)h +12(the)h +13(left)h +11(margin)h +11(is)h +12(called)h +12(an)h +431(and)h +12(seems)h +177 2153(to)s +11(lead)h +12(to)h +11(three)h +12(di\013eren)h +-1(t)h +13(alternativ)h +-1(es)h +11(for)h +11(its)h +12(expansion:)h +319(,)h +377(,)h +9(and)h +517 2202(.)s +16(Here)h +15(are)h +14(examples)h +13(of)h +13(eac)h +-1(h)h +15(kind)h +13(of)h +13(inden)h +-1(tation.)h +18(First)h +14(the)h +14(example)h +13(problem.)h +177 2763(There)s +15(are)h +15(three)h +15(w)h +-1(a)h +-1(ys)h +13(that)h +14(the)h +15(second)h +15(line)h +13(of)h +13(the)h +138(macro)h +12(can)h +14(b)h +1(e)h +15(inden)h +-1(ted.)h +1042 2940(12)s +13 @eop +14 @bop0 +cmti10.300 sf +[<001F80000380000380000700000700000700000700000E00000E00000E00000E0003DC +00063C000C3C00181C00383800303800703800703800E07000E07000E07000E07000E0E2 +00C0E200C0E20061E4006264003C3800> +24 29 -5 28 21] 100 dc +cmtt10.300 sf +[<FC07E0FE0FE0FE0FE03A0B803B1B803B1B803B1B803B1B803B1B803BBB8039B38039B3 +8039B38039B38039F38038E38038E380380380380380380380380380380380FE0FE0FE0F +E0FE0FE0> +24 25 -1 24 22] 77 dc +[<00E001E007C007000F001E003C0038007800700070007000F000E000E000E000E000E0 +00E000E000F000700070007000780038003C001E000F00070007C001E000E0> +16 33 -6 28 22] 40 dc +[<E000F0007C001C001E000F000780038003C001C001C001C001E000E000E000E000E000 +E000E000E001E001C001C001C003C0038007800F001E001C007C00F000E000> +16 33 -4 28 22] 41 dc +[<7F1FC07F3FC07F1FC00F1C00073C0003B80003F00001F00000E00001E00001F00003B8 +00073C00071C000E0E007F1FC0FF3FE07F1FC0> +24 18 -1 17 22] 120 dc +[<70F8F8F870000000000000000070F8F8F870> +8 18 -8 17 22] 58 dc +[<01C00001C00001C00001C00001C00001C00001C00001C000FFFF80FFFF80FFFF8001C0 +0001C00001C00001C00001C00001C00001C00001C000> +24 19 -2 21 22] 43 dc +[<387C7C7C380000000000000000387C7C7C3C1C3C38F8F060> +8 24 -7 17 22] 59 dc +14 @bop1 +cmti10.300 sf +1834 2002(clarity)s +1147 2051(danger)s +cmbx10.300 sf +177 252(Blank)s +15(inden)h +-1(t)h +-1(ati)h +-1(on:)h +177 572(T)s +-4(ext)h +16(inden)h +-2(tati)h +-1(on)h +-1(:)h +cmtt10.300 sf +286 42(ZebraAardvark)s +286 91(Walrus)s +286 141(Giraffe)s +286 362(ZebraAardvark)s +395 412(Walrus)s +286 462(Giraffe)s +286 683(ZebraAardvark)s +286 733(ZebraWalrus)s +286 783(Giraffe)s +1530 1043(--)s +177 2271(--Misuse)s +20(of)h +22(blank)h +20(\(and)h +21(no\))h +22(indentation)h +-1(.)h +177 2320(--@<Sloth@>)s +340 2490(--)s +670(@<Sloth@>)h +703 2539(--)s +1146 2589(@<Sloth@>)s +177 2785(--Misuse)s +20(of)h +22(text)h +21(indentation)h +-1(:)h +177 2835(a++;)s +21(@<Sloth@>)h +cmr10.300 sf +177 893(No)s +16(inden)h +-1(tation)h +15(is)h +16(useful)h +16(where)h +18(the)h +16(user)h +17(wishes)h +17(to)h +16(deal)h +16(with)h +16(the)h +16(output)h +16(stream)h +16(as)h +16(a)h +16(pure)h +17(output)h +177 943(stream.)s +17(Blank)h +11(inden)h +-1(tation)h +11(is)h +11(useful)h +11(when)h +12(the)h +12(user)h +13(wishes)h +12(to)h +11(generate)h +12(inden)h +-1(ted)h +12(computer)h +11(programs.)h +177 993(T)s +-3(ext)h +15(inden)h +-1(tation)h +14(is)h +14(useful)h +15(where)h +16(the)h +15(user)h +16(wishes)h +15(to)h +15(pre\014x)h +15(eac)h +-1(h)h +16(line)h +14(of)h +14(an)h +14(en)h +-1(tire)h +16(macro)h +13(in)h +-1(v)h +-1(o)h +1(cation)h +177 1043(with)s +9(a)h +10(string.)h +16(This)h +10(can)h +9(b)h +1(e)h +11(useful)h +9(for)h +9(commen)h +-1(ting)h +7(out)h +10(co)h +1(de)h +10(\(e.g.)h +9(in)h +9(Ada)h +9(using)h +54(\),)h +9(and)h +10(for)h +9(prep)h +1(ending)h +177 1092(things)s +14(lik)h +-1(e)h +13(a)h +14(dollar)h +12(sign)h +14(at)h +14(the)h +14(start)h +15(of)h +13(eac)h +-1(h)h +14(line)h +14(an)h +13(a)h +14(V)h +-5(AX)h +15(VMS)h +14(DCL)h +13(script)h +15(comm)h +-1(and)h +12(\014le.)h +177 1168(F)s +-3(unnelW)h +-3(eb)h +13(V1)h +14(pro)h +-1(vided)h +14(a)h +13(c)h +-1(hoice)h +15(of)h +13(no)h +14(inden)h +-1(tation)h +13(or)h +14(blank)h +13(inden)h +-1(tation.)h +17(The)h +14(c)h +-1(hoice)h +15(w)h +-1(as)h +14(made)h +12(in)h +177 1218(the)s +15(comm)h +-1(and)h +12(line)h +13(and)h +14(could)h +14(not)h +13(b)h +1(e)h +15(o)h +-1(v)h +-1(erridden.)h +177 1294(The)s +14(design)h +15(questions)h +14(are)h +14(as)h +14(follo)h +-1(ws:)h +228 1414(1.)s +20(Whic)h +-1(h)h +13(of)h +14(the)h +14(three)h +15(kinds)h +14(of)h +13(inden)h +-1(tation)h +14(should)h +13(F)h +-3(unnelW)h +-3(eb)h +14(supp)h +1(ort?)h +228 1499(2.)s +20(What)h +13(should)h +14(b)h +1(e)h +15(the)h +14(gran)h +-1(ularit)h +-1(y)h +13(of)h +13(sw)h +-1(apping)h +13(b)h +1(et)h +-1(w)h +-1(een)h +15(inden)h +-1(tation)h +14(mo)h +1(des?)h +228 1585(3.)s +20(Are)h +15(particular)h +13(inden)h +-1(tation)h +14(mo)h +1(des)h +13(dangerous?)h +228 1671(4.)s +20(Is)h +14(the)h +15(presence)h +16(of)h +13(particular)h +14(com)h +-1(binatio)h +-1(ns)h +13(of)h +13(inden)h +-1(tation)h +13(mo)h +1(des)h +13(confusing)h +14(to)h +14(the)h +14(user?)h +228 1756(5.)s +20(Ho)h +-1(w)h +13(and)h +14(when)h +15(should)h +13(the)h +15(c)h +-1(hoice)h +14(of)h +13(inden)h +-1(tation)h +14(b)h +1(e)h +14(sp)h +1(eci\014ed?)h +177 1876(All)s +17(sorts)h +18(of)h +17(sc)h +-1(hemes)h +17(w)h +-1(ere)h +19(considered,)h +19(including)h +16(a)h +17(\014nely)h +17(grained)h +17(system)h +18(in)h +16(whic)h +-1(h)h +18(the)h +18(user)h +18(could)h +177 1926(sp)s +1(ecify)h +13(at)h +13(the)h +13(p)h +1(oin)h +-1(t)h +12(of)h +12(call)h +12(whic)h +-1(h)h +12(inden)h +-1(tation)h +12(mo)h +1(de)h +11(should)h +13(b)h +1(e)h +13(used)h +13(for)h +13(the)h +13(called)h +12(macro)h +11(expansion.)h +177 2002(After)s +10(a)h +9(lot)h +9(of)h +9(though)h +-1(t,)h +9(the)h +11(domi)h +-1(nan)h +-1(t)h +8(factor)h +9(that)h +10(should)h +9(a\013ect)h +10(the)h +10(design)h +10(w)h +-1(as)h +9(decided)h +10(to)h +10(b)h +1(e)h +10(the)h +177 2051(in)s +14(the)h +14(user's)h +15(mind)h +12(of)h +13(the)h +15(inden)h +-1(tation)h +13(facilit)h +-1(y)h +12(and)h +14(the)h +150(asso)h +1(ciated)h +14(with)h +14(misunderstanding)h +13(it.)h +177 2101(Here)s +12(are)h +11(t)h +-1(w)h +-1(o)h +10(examples)h +9(that)h +11(sho)h +-1(w)h +10(ho)h +-1(w)h +10(easily)h +10(a)h +11(confusion)h +10(or)h +10(misunderstanding)h +10(of)h +10(the)h +11(inden)h +-1(ting)h +10(b)h +1(eing)h +177 2151(used)s +15(can)h +14(cause)h +15(danger.)h +18(The)h +15(\014rst)h +14(example)h +13(sho)h +-1(ws)h +14(ho)h +-1(w)h +14(blank)h +13(or)h +14(no)h +13(inden)h +-1(tation)h +13(migh)h +-1(t)h +12(b)h +1(e)h +15(misused.)h +177 2440(Here)s +19(the)h +19(user)h +19(has)h +19(assumed)h +17(that)h +18(text)h +19(inden)h +-1(tation)h +17(is)h +18(in)h +18(action)h +18(and)h +18(has)h +18(placed)h +18(an)h +18(Ada)h +18(comm)h +-1(en)h +-1(t)h +177 2490(sym)s +-1(b)h +1(ol)h +12(\\)h +44(")h +12(b)h +1(efore)h +14(the)h +14(in)h +-1(v)h +-1(o)h +1(cation)h +12(of)h +13(the)h +14(macro)h +221(in)h +13(the)h +14(hop)h +1(e)h +14(that)h +13(the)h +14(en)h +-1(tire)h +14(text)h +14(of)h +13(the)h +177 2539(macro)s +10(w)h +-1(ould)h +11(b)h +1(e)h +11(pre\014xed)h +13(b)h +-1(y)h +11(\\)h +44(".)h +16(The)h +12(result)h +12(could)h +11(b)h +1(e)h +12(passed)h +12(b)h +-1(y)h +11(the)h +12(compiler)h +9(whic)h +-1(h)h +12(w)h +-1(ould)h +10(activ)h +-2(ate)h +177 2589(all)s +13(but)h +14(the)h +14(\014rst)h +15(statemen)h +-1(t)h +14(in)h +13(the)h +15(expansion)h +14(of)h +13(macro)h +211(.)h +177 2665(The)s +14(next)h +15(example)h +12(demonstrates)h +15(ho)h +-1(w)h +13(text)h +15(inden)h +-1(tation)h +13(could)h +14(b)h +1(e)h +14(misused.)h +1042 2940(13)s +14 @eop +15 @bop0 +/cmbx12.300 127 @newfont +cmbx10.432 sf +[<007F800003FFF00007FFFC001F81FE001F00FF003F80FF003F807F803FC07F803F807F +803F807F801F007F800000FF800000FF000000FF000001FE000003F8000007F00000FFC0 +0000FFF0000001FC000000FF0000007F8000007FC000003FC000003FE000003FE000003F +E03C003FE07E003FE0FF003FE0FF003FE0FF003FC0FF007FC0FE007F807C00FF803F01FF +001FFFFC0007FFF00000FF8000> +32 39 -3 38 34] 51 dc +[<FFFFFFE00000FFFFFFFE0000FFFFFFFF800003FC007FE00003FC000FF00003FC0007F8 +0003FC0007FC0003FC0003FC0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE +0003FC0003FE0003FC0003FE0003FC0003FC0003FC0007F80003FC0007F80003FC001FE0 +0003FC007FC00003FFFFFE000003FFFFF0000003FC01FC000003FC007F000003FC007F80 +0003FC003FC00003FC003FC00003FC001FE00003FC001FE00003FC001FE00003FC001FE0 +0003FC001FF00003FC001FF00003FC001FF00003FC001FF00003FC001FF00703FC001FF8 +0703FC000FF80703FC000FFC0FFFFFF007FE1EFFFFF001FFFCFFFFF0003FF0> +48 41 -3 40 52] 82 dc +[<FFFE7FFC0FFEFFFE7FFC0FFEFFFE7FFC0FFE0FE007E000E007F003F001C007F003F001 +C007F807F803C003F807F8038003F807F8038001FC0EFC070001FC0EFC070001FE1EFC0F +0000FE1C7E0E0000FE1C7E0E0000FF383F1E00007F383F1C00007F783F3C00003FF01FB8 +00003FF01FB800003FF01FF800001FE00FF000001FE00FF000000FC007E000000FC007E0 +00000FC007E00000078003C00000078003C000> +48 27 -1 26 50] 119 dc +[<007F806003FFF0E00FFFFFE01F807FE03F001FE07E0007E07E0003E07C0003E0FC0001 +E0FC0001E0FC0000E0FE0000E0FE0000E0FF000000FFC000007FFE00007FFFE0003FFFFC +003FFFFF001FFFFF8007FFFFC003FFFFE000FFFFF00007FFF000007FF000000FF8000007 +F8000003F8E00003F8E00001F8E00001F8E00001F8F00001F8F00001F0F80003F0FC0003 +E0FF0007E0FFE01FC0FFFFFF00E0FFFE00C01FF000> +32 41 -4 40 38] 83 dc +[<FFFE03FF80FFFE03FF80FFFE03FF8007F000700007F000700007F800F00003F800E000 +03FC01E00001FC01C00001FC01C00000FE03800000FE038000007F070000007F07000000 +7F8F0000003F8E0000003FDE0000001FDC0000001FDC0000000FF80000000FF80000000F +F800000007F000000007F000000003E000000003E000000001C000000001C00000000380 +0000000380000038078000007C07000000FE0F000000FE0E000000FE1E000000FE3C0000 +007C780000003FE00000000FC0000000> +40 39 -1 26 36] 121 dc +[<FFFC0FFF00FFFC0FFF00FFFC0FFF0007F003C00003F807800001FC07800000FE0F0000 +00FF1E0000007F3C0000003FF80000001FF00000000FF00000000FF000000007F0000000 +07F80000000FFC0000001FFE0000001EFE0000003C7F000000783F800000F01FC00001E0 +1FE00001C00FE00003C007F000FFF01FFF80FFF01FFF80FFF01FFF80> +40 27 -1 26 36] 120 dc +cmbx12.300 sf +[<00180000780001F800FFF800FFF80001F80001F80001F80001F80001F80001F80001F8 +0001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F8 +0001F80001F80001F80001F80001F80001F8007FFFE07FFFE0> +24 32 -4 31 28] 49 dc +[<387CFEFEFE7C38> +8 7 -4 6 16] 46 dc +[<00FE0007FFC00F07E01E03F03F03F03F81F83F81F83F81F81F03F81F03F00003F00003 +E00007C0001F8001FE0001FF000007C00001F00001F80000FC0000FC3C00FE7E00FEFF00 +FEFF00FEFF00FEFF00FC7E01FC7801F81E07F00FFFC001FE00> +24 32 -2 31 28] 51 dc +[<FFFFFE0000FFFFFFC00007F007F00007F001F80007F000FC0007F0007E0007F0007F00 +07F0007F0007F0007F0007F0007F0007F0007F0007F0007F0007F0007E0007F000FC0007 +F001F80007F007F00007FFFFC00007FFFF800007F00FE00007F007F00007F003F80007F0 +01FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001 +FC0007F001FC0607F000FE0607F000FF0CFFFF803FF8FFFF800FF0> +40 34 -2 33 42] 82 dc +[<00FE0007FF800F87C01E01E03E01F07C00F07C00F8FC00F8FC00F8FFFFF8FFFFF8FC00 +00FC0000FC00007C00007C00007E00003E00181F00300FC07003FFC000FF00> +24 22 -2 21 26] 101 dc +[<FFE01FE0FFE01FE00F8006000F8006000FC00E0007C00C0007E01C0003E0180003E018 +0001F0300001F0300000F8600000F86000007CC000007CC000007FC000003F8000003F80 +00001F0000001F0000000E0000000E0000> +32 22 -1 21 30] 118 dc +[<1C003F007F007F007F003F001C000000000000000000000000000000FF00FF001F001F +001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FF +E0> +16 36 -2 35 16] 105 dc +[<FFE7FF07F8FFE7FF07F81F007800C00F807801800F807C01800F807C018007C07E0300 +07C0DE030007E0DE070003E0DF060003E18F060001F18F0C0001F38F8C0001FB079C0000 +FB07D80000FE03D800007E03F000007E03F000007C01F000003C01E000003800E0000018 +00C000> +40 22 -1 21 40] 119 dc +[<00FE0007FFC00F83E01E00F03E00F87C007C7C007C7C007CFC007EFC007EFC007EFC00 +7EFC007EFC007EFC007E7C007C7C007C3E00F81F01F00F83E007FFC000FE00> +24 22 -2 21 28] 111 dc +[<003F8000FFC001E3E003C7E007C7E00F87E00F83C00F80000F80000F80000F80000F80 +000F8000FFFC00FFFC000F80000F80000F80000F80000F80000F80000F80000F80000F80 +000F80000F80000F80000F80000F80000F80000F80000F80000F80007FF8007FF800> +24 35 -1 34 17] 102 dc +[<FFF000000FFFFFF800001FFF07F800001FE006FC000037E006FC000037E006FC000037 +E0067E000067E0067E000067E0063F0000C7E0063F0000C7E0061F800187E0061F800187 +E0060FC00307E0060FC00307E0060FC00307E00607E00607E00607E00607E00603F00C07 +E00603F00C07E00601F81807E00601F81807E00601F81807E00600FC3007E00600FC3007 +E006007E6007E006007E6007E006003FC007E006003FC007E006001F8007E006001F8007 +E006001F8007E006000F0007E0FFF00F00FFFFFFF00600FFFF> +48 34 -2 33 53] 77 dc +[<07FC001FFF803F07C03F03E03F01E03F01F01E01F00001F00001F0003FF003FDF01FC1 +F03F01F07E01F0FC01F0FC01F0FC01F0FC01F07E02F07E0CF81FF87F07E03F> +24 22 -2 21 27] 97 dc +[<00FF8007FFE00F83F01F03F03E03F07E03F07C01E07C0000FC0000FC0000FC0000FC00 +00FC0000FC00007C00007E00007E00003E00301F00600FC0E007FF8000FE00> +24 22 -2 21 25] 99 dc +[<FE1F00FE3FC01E67E01EC7E01E87E01E87E01F83C01F00001F00001F00001F00001F00 +001F00001F00001F00001F00001F00001F00001F00001F0000FFF000FFF000> +24 22 -2 21 23] 114 dc +[<FFFFFF8000FFFFFFF00007F003FC0007F0007E0007F0003F0007F0001F8007F0000FC0 +07F00007E007F00007E007F00007F007F00003F007F00003F007F00003F007F00003F807 +F00003F807F00003F807F00003F807F00003F807F00003F807F00003F807F00003F807F0 +0003F807F00003F007F00003F007F00003F007F00007E007F00007E007F0000FC007F000 +1F8007F0003F0007F0007E0007F003FC00FFFFFFF000FFFFFF8000> +40 34 -2 33 43] 68 dc +[<000FF000007FFC0001F80E0003E01F0007C03F000F803F000F803F000F801E000F800C +000F8000000F8000000F8000000F800000FFFFFF00FFFFFF000F801F000F801F000F801F +000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F +000F801F000F801F000F801F000F801F000F801F000F801F007FF0FFE07FF0FFE0> +32 35 -1 34 31] 12 dc +[<FF07E000FF1FF8001F307C001F403C001F803E001F803E001F003E001F003E001F003E +001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E +001F003E001F003E00FFE1FFC0FFE1FFC0> +32 22 -2 21 31] 110 dc +[<0180000180000180000180000380000380000780000780000F80003F8000FFFF00FFFF +000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F81 +800F81800F81800F81800F81800F830007C30003FE0000F800> +24 32 -1 31 22] 116 dc +[<01FC0407FF8C1F03FC3C007C7C003C78001C78001CF8000CF8000CFC000CFC0000FF00 +00FFE0007FFF007FFFC03FFFF01FFFF80FFFFC03FFFE003FFE0003FF00007F00003F0000 +3FC0001FC0001FC0001FE0001EE0001EF0003CFC003CFF00F8C7FFE080FF80> +24 34 -3 33 31] 83 dc +[<FFE01FE0FFE01FE00F8006000F8006000FC00E0007C00C0007E01C0003E0180003E018 +0001F0300001F0300000F8600000F86000007CC000007CC000007FC000003F8000003F80 +00001F0000001F0000000E0000000E0000000C0000000C00000018000078180000FC3800 +00FC300000FC60000069C000007F8000001F000000> +32 32 -1 21 30] 121 dc +[<FFE07FC0FFE07FC00F801C0007C0380003E0700003F0600001F8C00000F98000007F80 +00003F0000001F0000001F8000003FC0000037C0000063E00000C1F00001C0F8000380FC +0007007E000E003E00FF80FFE0FF80FFE0> +32 22 -1 21 30] 120 dc +cmtt10.300 sf +[<7FF800FFFE007FFF001C0F801C03801C03C01C01C01C01C01C01C01C03C01C03801C0F +801FFF001FFE001FF8001C00001C00001C00001C00001C00001C00001C00007F0000FF80 +007F0000> +24 25 -1 24 22] 80 dc +[<01F18007FF800FFF801F0F803C0780780780780380700380F00000E00000E00000E000 +00E00000E00000E00000E00000F000007003807803807803803C07801F0F000FFE0007FC +0001F000> +24 25 -2 24 22] 67 dc +15 @bop1 +cmbx10.300 sf +177 1593(Decision:)s +cmti10.300 sf +1305 366(c)s +-2(onfusion)h +cmbx10.432 sf +177 1907(1.3)s +70(Review)h +20(of)h +24(F)h +-6(unnelW)h +-6(eb)h +22(Syn)h +-2(tax)h +cmbx12.300 sf +177 2415(1.3.1)s +55(Review)h +18(of)h +18(Macro)h +19(De\014nition)h +18(Syn)h +-2(tax)h +cmtt10.300 sf +837 42(@<Sloth@>)s +633(a)h +859 91(a++;)s +806(@<Sloth@>)h +1012 141(a)s +1835 2173(==)s +177 2685(@$@<Put)s +21(out)h +21(the)h +21(cat@>==@{@-)h +177 2735(Open)s +21(the)h +21(door)h +177 2785(Say)s +21(out)h +177 2835(Close)s +21(the)h +21(door@})h +cmr10.300 sf +177 42(Here)s +15(the)h +15(user)h +15(has)h +14(placed)h +14(the)h +15(call)h +13(to)h +224(after)h +14(the)h +15(incremen)h +-1(ting)h +13(of)h +13(v)h +-2(ariable)h +35(.)h +18(The)h +14(result)h +15(is)h +177 91(that)s +13(there)h +14(is)h +12(a)h +13(go)h +1(o)h +1(d)h +12(c)h +-1(hance)h +14(that)h +12(the)h +14(\\)h +88(")h +11(prep)h +1(ended)h +15(to)h +12(eac)h +-1(h)h +14(line)h +12(of)h +12(the)h +13(expansion)h +13(of)h +177 141(will)s +13(b)h +1(e)h +14(passed)h +15(b)h +-1(y)h +14(the)h +14(compiler)h +13(and)h +13(will)h +13(cause)h +50(to)h +14(b)h +1(e)h +15(o)h +-1(v)h +-1(erincremen)h +-1(ted.)h +177 216(These)s +16(examples)h +14(are)h +15(not)h +15(to)h +14(b)h +1(e)h +16(laughed)h +14(at.)h +20(It)h +15(is)h +15(p)h +1(ossible)h +14(that)h +15(F)h +-3(unnelW)h +-3(eb)h +14(will)h +14(b)h +1(e)h +15(used)h +16(widely)h +-3(,)h +13(and)h +177 266(the)s +15(problems)h +13(ab)h +1(o)h +-1(v)h +-1(e)h +14(ma)h +-1(y)h +13(cause)h +15(problems)h +13(in)h +14(critical)h +14(systems.)h +20(The)h +14(examples)h +14(ab)h +1(o)h +-1(v)h +-1(e)h +14(are)h +15(particularly)h +177 316(scary)s +16(b)h +1(ecause)h +16(they)h +16(are)h +15(re\015exiv)h +-1(e.)h +22(One)h +15(cannot)h +15(simply)h +13(pin)h +14(the)h +16(blame)h +13(on)h +15(one)h +15(particular)h +14(inden)h +-1(tation)h +177 366(form.)s +17(A)h +14(little)h +14(though)h +-1(t)h +13(rev)h +-1(eals)h +15(that)h +14(the)h +15(greatest)h +15(danger)h +15(lies)h +14(in)h +198(in)h +14(the)h +14(user's)h +16(mind.)h +16(If)h +14(the)h +177 416(user)s +15(is)h +14(confused)h +15(b)h +1(et)h +-1(w)h +-1(een)h +15(text)h +14(or)h +14(blank)h +13(inden)h +-1(ting,)h +13(problems)h +13(will)h +13(arise.)h +177 491(There)s +20(seem)h +18(to)h +19(b)h +1(e)h +19(t)h +-1(w)h +-1(o)h +18(w)h +-1(a)h +-1(ys)h +18(to)h +18(solv)h +-1(e)h +19(the)h +19(problem.)h +31(The)h +19(\014rst)h +19(is)h +18(to)h +19(ban)h +18(all)h +17(macro)h +18(calls)h +18(that)h +18(are)h +177 541(preceded)s +17(b)h +-1(y)h +15(non-blank)h +14(text.)h +23(This)h +15(is)h +15(not)h +15(a)h +14(go)h +1(o)h +1(d)h +15(option)h +14(b)h +1(ecause)h +17(there)h +17(are)h +15(so)h +15(man)h +-1(y)h +13(cases)h +17(where)h +16(it)h +177 591(is)s +16(desirable)h +16(to)h +15(expand)h +16(more)h +15(than)h +15(one)h +16(single)h +16(line)h +15(macros)h +15(on)h +15(the)h +16(same)h +15(line.)h +23(A)h +16(second)h +16(option)h +15(is)h +16(to)h +177 640(eliminate)s +14(one)h +16(of)h +16(the)h +16(t)h +-1(w)h +-1(o)h +16(forms)h +14(so)h +16(as)h +16(to)h +16(reduce)h +18(the)h +16(p)h +1(oten)h +-1(tial)h +16(for)h +15(am)h +-1(biguit)h +-1(y)h +13(in)h +16(the)h +16(user's)h +17(mind.)h +23(I)h +177 690(c)s +-1(ho)h +1(ose)h +17(the)h +17(latter)h +16(option.)h +24(Of)h +16(the)h +16(t)h +-1(w)h +-1(o)h +16(forms,)h +15(the)h +16(clear)h +17(c)h +-1(hoice)h +16(for)h +16(eliminati)h +-1(on)h +14(is)h +16(text)h +17(inden)h +-1(ting)h +15(for)h +177 740(the)s +15(follo)h +-1(wi)h +-1(ng)h +12(reasons:)h +228 858(1.)s +20(It)h +14(actually)h +13(in)h +-1(tro)h +1(duces)h +15(extra)h +14(text)h +15(whic)h +-1(h)h +13(giv)h +-1(es)h +14(it)h +14(an)h +13(a)h +14(priori)h +13(p)h +1(oten)h +-1(tial)h +13(for)h +14(problems.)h +228 942(2.)s +20(It)h +14(is)h +14(harder)h +14(to)h +14(implem)h +-1(en)h +-1(t)h +12(and)h +14(w)h +-1(ould)h +13(slo)h +-1(w)h +13(do)h +-1(wn)h +14(T)h +-3(angle.)h +228 1026(3.)s +20(It)h +14(w)h +-1(ould)h +13(not)h +14(b)h +1(e)h +14(compatible)h +12(with)h +14(F)h +-3(unnelW)h +-3(eb)h +13(V1)h +14(whic)h +-1(h)h +14(uses)h +15(blank)h +13(inden)h +-1(tation.)h +177 1144(The)s +18(only)h +17(other)h +18(decision)h +18(is)h +17(the)h +19(lev)h +-1(el)h +17(of)h +17(gran)h +-1(ularit)h +-1(y)h +16(of)h +17(c)h +-1(hoice)h +18(b)h +1(et)h +-1(w)h +-1(een)h +19(the)h +18(remaining)h +16(options:)h +25(no)h +177 1194(inden)s +-1(tation)h +11(and)h +12(blank)h +11(inden)h +-1(tation.)h +17(F)h +-3(unnelW)h +-3(eb)h +11(V1)h +12(allo)h +-1(w)h +-1(ed)h +10(this)h +12(c)h +-1(hoice)h +12(to)h +12(b)h +1(e)h +12(made)h +11(in)h +11(the)h +13(comm)h +-1(and)h +177 1243(line.)s +27(In)h +17(retrosp)h +1(ec)h +1(t,)h +19(this)h +17(w)h +-1(as)h +17(bad)h +17(design)h +17(b)h +1(ecause)h +19(the)h +18(user)h +18(migh)h +-1(t)h +15(un)h +-1(wittingly)h +15(co)h +1(de)h +18(certain)h +18(macro)h +177 1293(calls)s +12(relying)h +13(on)h +12(one)h +13(or)h +13(the)h +13(other)h +14(mo)h +1(de.)h +16(A)h +13(b)h +1(etter)h +14(system)h +13(is)h +12(to)h +13(allo)h +-1(w)h +11(the)h +13(user)h +14(to)h +13(sp)h +1(ecify)h +13(whic)h +-1(h)h +13(mo)h +1(de)h +177 1343(in)s +14(the)h +14(input)h +14(\014le)h +14(itself.)h +17(This)h +14(has)h +14(b)h +1(een)h +15(done)h +14(in)h +14(F)h +-3(unnelW)h +-3(eb)h +13(V3.)h +177 1418(Again,)s +20(to)h +20(a)h +-1(v)h +-1(oid)h +19(confusion,)h +21(it)h +20(seems)h +20(sensible)h +21(to)h +20(allo)h +-1(w)h +18(the)h +21(user)h +21(only)h +19(one)h +20(inden)h +-1(tation)h +20(mo)h +1(de)h +19(p)h +1(er)h +177 1468(F)s +-3(unnelW)h +-3(eb)h +14(input)h +15(\014le.)h +20(In)h +15(most)h +13(cases,)h +16(the)h +16(user)h +15(will)h +14(b)h +1(e)h +15(happ)h +-1(y)h +14(with)h +15(blank)h +14(inden)h +-1(tation)h +14(\(the)h +15(default\))h +177 1518(and)s +14(there)h +15(will)h +12(b)h +1(e)h +15(no)h +14(need)h +15(for)h +13(c)h +-1(hange)h +14(an)h +-1(yw)h +-1(a)h +-1(y)h +-3(.)h +385 1593(Implem)s +-1(en)h +-1(t)h +13(only)h +14(\\no)h +14(inden)h +-1(tation")h +13(and)h +14(\\blank)h +14(inden)h +-1(tation".)h +18(Mak)h +-1(e)h +14(the)h +15(c)h +-1(hoice)h +15(of)h +14(inden-)h +177 1643(tation)s +17(a)h +17(static)h +18(attribute)h +18(of)h +17(a)h +17(particular)h +18(F)h +-3(unnelW)h +-3(eb)h +17(run)h +17(that)h +18(is)h +17(sp)h +1(eci\014ed)h +19(in)h +17(the)h +19(input)h +17(\014le.)h +29(This)h +177 1693(solution)s +13(is)h +14(the)h +15(same)h +13(as)h +14(F)h +-3(unnelW)h +-3(eb)h +13(V1)h +14(except)h +15(that)h +14(the)h +15(c)h +-1(hoice)h +14(has)h +14(b)h +1(een)h +15(mo)h +-1(v)h +-1(ed)h +13(from)h +12(the)h +15(comm)h +-1(and)h +177 1743(line)s +14(to)h +13(the)h +15(input)h +13(\014le.)h +177 2023(One)s +12(of)h +10(the)h +12(distressing)h +12(asp)h +1(ects)h +13(of)h +10(F)h +-3(unnelW)h +-3(eb)h +11(V1)h +10(w)h +-1(as)h +11(its)h +11(clumsy)h +10(macro)h +10(de\014nition)h +11(and)h +11(calling)h +9(syn)h +-1(tax.)h +177 2073(Compared)s +14(to)h +15(\(sa)h +-1(y\))h +15(the)h +15(C)h +15(prepro)h +1(cess)h +1(or,)h +16(F)h +-3(unnelW)h +-3(eb's)h +14(macro)h +14(call)h +14(syn)h +-1(tax)h +15(is)h +15(lik)h +-1(e)h +14(a)h +14(freigh)h +-1(t)h +15(train)h +15(in)h +14(a)h +177 2123(c)s +-1(hina)h +16(sho)h +-1(w.)h +24(During)h +15(the)h +16(F)h +-3(unnelW)h +-3(eb)h +15(redesign,)h +17(a)h +16(complete)h +15(review)h +16(of)h +16(this)h +15(syn)h +-1(tax)h +16(to)h +1(ok)h +16(place)h +16(to)h +16(try)h +177 2173(to)s +15(neaten)h +16(it)h +15(up.)h +22(Surprisingly)h +-3(,)h +14(the)h +16(V1)h +15(syn)h +-1(tax)h +15(surviv)h +-1(ed)h +16(unscathed)h +16(with)h +15(the)h +16(exception)h +16(that)h +15(\\)h +44(")h +14(in)h +177 2223(macro)s +16(de\014nitions)h +18(w)h +-1(as)h +17(made)h +17(optional.)h +27(The)h +18(surviv)h +-2(al)h +17(of)h +17(this)h +17(clumsy)h +17(syn)h +-1(tax)h +17(w)h +-1(as)h +18(a)h +17(pro)h +1(duct)h +18(of)h +17(the)h +177 2272(design)s +14(goal)h +13(of)h +13(making)h +12(ev)h +-1(erything)h +14(simple,)h +12(explicit,)h +13(and)h +13(not)h +14(sub)h +2(ject)h +16(to)h +13(subtle)h +15(errors.)h +177 2518(F)s +-3(unnelW)h +-3(eb)h +20(V1)h +21(used)h +21(a)h +20(macro)h +20(de\014nition)h +20(syn)h +-1(tax)h +21(that)h +20(resulted)h +22(in)h +20(macro)h +20(de\014nitions)h +20(suc)h +-1(h)h +21(as)h +21(the)h +177 2568(follo)s +-1(wing.)h +1042 2940(14)s +15 @eop +16 @bop0 +cmsy10.300 sf +[<003C00E001C00180038003800380038003800380038003800380038003800380038003 +0007001C00F0001C00070003000380038003800380038003800380038003800380038003 +800380018001C000E0003C> +16 41 -3 30 21] 102 dc +[<F0001C0007000300038003800380038003800380038003800380038003800380038001 +8001C000E0003C00E001C001800380038003800380038003800380038003800380038003 +800380030007001C00F000> +16 41 -3 30 21] 103 dc +cmtt10.300 sf +[<07E0001FFC007FFE00781F00780F00780700000700000F00000F00003E0007FC0007F8 +0007FC00001E00000700000780000380000380F00380F00780F00700F81F007FFE003FFC +0007E000> +24 25 -2 24 22] 51 dc +[<387C7E7E3E0E1E3C7CF860> +8 11 -7 4 22] 44 dc +[<07E0001FF8007FFE00783F00F00F00F00780F00380F003800003800003800007800007 +00000F00001E00003C0000780000F00003E0000780000F00001E03803C03807FFF80FFFF +807FFF80> +24 25 -2 24 22] 50 dc +16 @bop1 +cmsy10.300 sf +677 141(f)s +114(g)h +517 191(f)s +117(g)h +cmbx10.300 sf +177 1238(Decision:)s +177 2835(Decision:)s +cmtt10.300 sf +1511 42(@$)s +1823 91(@<)s +177 141(@>)s +434(@)h +113(@)h +431(@-)h +495 191(@)s +116(@)h +690 260(+=)s +135(==)h +1618 310(+=)s +177 458(@$@<Put)s +21(out)h +21(the)h +21(cat@>@{)h +177 507(Open)s +21(the)h +21(door)h +177 557(Say)s +21(out)h +177 607(Close)s +21(the)h +21(door@})h +538 705(+=)s +177 921(@<Put)s +21(out)h +21(the)h +21(cat@>)h +177 971(Open)s +21(the)h +21(door)h +177 1021(Say)s +21(out)h +177 1071(Close)s +21(the)h +21(door@})h +1113 1238(+=)s +88(==)h +177 1385(@$@<Put)s +21(out)h +21(the)h +21(cat@>@{)h +177 1435(Open)s +21(the)h +21(door)h +177 1485(Say)s +21(out)h +177 1534(Close)s +21(the)h +21(door@})h +177 1779(@$@<Put)s +21(out)h +21(the)h +21(cat@>@\(@3@\)=)h +-1(=@{@-)h +177 1829(Open)s +21(the)h +21(door)h +177 1879(Say)s +21(out)h +177 1929(Close)s +21(the)h +21(door@})h +177 2124(@$@<Put)s +21(out)h +21(the)h +21(cat@>@\(@1@,@)h +-1(2@,@3)h +-1(@\)==@)h +-1({@-)h +177 2174(Open)s +21(the)h +21(door)h +177 2224(Say)s +21(out)h +177 2273(Close)s +21(the)h +21(door@})h +177 2518(@$@<Put)s +21(out)h +21(the)h +21(cat@>@3==@{@)h +-1(-)h +177 2568(Open)s +21(the)h +21(door)h +177 2618(Say)s +21(out)h +177 2668(Close)s +21(the)h +21(door@})h +888 2835(@\(@3@\))s +cmr10.300 sf +177 42(This)s +16(is)h +15(messy)h +-3(,)h +15(but)h +16(I)h +16(couldn't)h +15(think)h +16(of)h +15(an)h +-1(ything)h +15(b)h +1(etter)h +17(at)h +15(the)h +17(time.)h +22(The)h +75(is)h +16(necessary)h +18(to)h +15(cue)h +17(a)h +177 91(de\014nition.)s +21(Without)h +14(it,)h +15(the)h +15(de\014nition)h +15(migh)h +-1(t)h +13(someho)h +-1(w)h +13(b)h +1(e)h +16(mistak)h +-1(en)h +14(for)h +14(an)h +15(in)h +-1(v)h +-1(o)h +1(cation.)h +20(The)h +74(and)h +234 141(delimi)s +-1(t)h +11(the)h +14(name.)h +17(The)h +69(and)h +68(delimit)h +11(the)h +13(text.)h +19(The)h +70(is)h +12(a)h +13(pro)h +1(duct)h +14(of)h +12(the)h +14(rule)h +13(\\exactly)h +13(the)h +177 191(text)s +15(b)h +1(et)h +-1(w)h +-1(een)h +15(the)h +71(and)h +57(".)h +177 260(The)s +14(only)h +13(real)h +14(target)h +14(is)h +14(the)h +14(\\)h +44(")h +13(and)h +13(\\)h +44(")h +13(whic)h +-1(h)h +14(really)h +13(break)h +14(all)h +13(the)h +14(rules)h +14(and)h +14(should)h +13(b)h +1(e)h +15(c)h +-1(hanged.)h +177 310(Unfortunately)s +14(I)h +15(couldn't)h +13(think)h +14(of)h +14(an)h +-1(ything)h +13(to)h +14(c)h +-1(hange)h +15(them)h +13(to.)h +19(If)h +14(there)h +16(w)h +-1(as)h +14(no)h +72(mec)h +-1(hanism,)h +12(w)h +-1(e)h +177 360(could)s +14(use:)h +177 705(In)s +14(fact,)h +13(elimi)h +-1(nating)h +68(is)h +14(think)h +-2(able)h +12(b)h +1(ecause)h +16(it)h +13(do)h +1(es)h +14(not)h +14(app)h +1(ear)h +14(in)h +13(man)h +-1(y)h +11(of)h +13(m)h +-1(y)h +12(existing)h +13(F)h +-3(unnelW)h +-3(eb)h +177 754(source)s +15(\014les.)h +19(This)h +14(indicates)h +14(at)h +13(least)h +15(that)h +13(it)h +14(w)h +-1(as)h +14(not)h +14(needed)h +15(m)h +-1(uc)h +-1(h)h +13(b)h +-1(y)h +13(m)h +-1(yself.)h +177 824(A)s +14(minim)h +-2(ali)h +-1(st)h +13(construct)h +15(could)h +14(b)h +1(e)h +177 1168(but)s +14(this)h +14(is)h +14(to)h +1(o)h +14(dangerous)h +14(for)h +14(m)h +-1(y)h +12(tastes.)h +383 1238(F)s +-3(or)h +11(compatibi)h +-1(li)h +-1(t)h +-1(y)h +9(reasons,)h +12(retain)h +12(the)h +11(old)h +65(and)h +66(constructs,)h +13(but)h +11(mak)h +-1(e)h +9(them)h +11(optional.)h +177 1287(The)s +14(new)h +15(syn)h +-1(tax)h +14(for)h +13(de\014ning)h +14(macros)h +13(is:)h +177 1632(Next)s +12(w)h +-1(e)h +11(turn)h +12(to)h +11(parameterized)h +11(macro)h +10(de\014nitions.)h +17(A)h +11(con)h +-1(v)h +-1(en)h +-1(tional)h +10(F)h +-3(unnelW)h +-3(eb)h +11(parameterized)h +11(macro)h +177 1682(de\014nition)s +14(lo)h +1(oks)h +13(lik)h +-1(e)h +13(this:)h +177 2026(whic)s +-1(h)h +14(is)h +14(a)h +13(bit)h +14(messy)h +-3(.)h +17(The)h +14(natural)h +14(alternativ)h +-1(e)h +13(is)h +14(ev)h +-1(en)h +15(w)h +-1(orse:)h +177 2371(Th)s +-1(us,)h +12(just)h +12(sp)h +1(ecifying)h +11(the)h +12(n)h +-1(um)h +-1(b)h +1(er)h +11(of)h +11(parameters)h +12(seems)h +12(sensible.)h +18(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +12(p)h +1(erhaps)h +12(the)h +12(syn)h +-1(tax)h +12(could)h +177 2421(b)s +1(e)h +15(trimm)h +-1(ed)h +12(to)h +177 2765(I)s +14(decided)h +15(to)h +14(reject)h +15(this)h +14(in)h +13(fa)h +-1(v)h +-1(our)h +13(of)h +14(the)h +14(old)h +13(syn)h +-1(tax.)h +384 2835(Retain)s +14(the)h +14(old)h +13(syn)h +-1(tax)h +14(of)h +13(.)h +7(.)h +7(.)h +131(.)h +7(.)h +7(.)h +1042 2940(15)s +16 @eop +17 @bop0 +cmbx10.432 sf +[<00000E0000001E0000003E0000007E000000FE000000FE000001FE000003FE0000077E +00000E7E00000E7E00001C7E0000387E0000707E0000E07E0000E07E0001C07E0003807E +0007007E000E007E000E007E001C007E0038007E0070007E00E0007E00FFFFFFF8FFFFFF +F8FFFFFFF80000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE +00007FFFF8007FFFF8007FFFF8> +32 39 -2 38 34] 52 dc +[<FFFFFFF80000FFFFFFFF8000FFFFFFFFE00003FC001FF80003FC0007FC0003FC0001FE +0003FC0000FF0003FC00007F8003FC00003FC003FC00001FC003FC00001FE003FC00001F +E003FC00000FF003FC00000FF003FC00000FF003FC00000FF003FC00000FF803FC00000F +F803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000F +F803FC00000FF803FC00000FF803FC00000FF003FC00000FF003FC00000FF003FC00001F +E003FC00001FE003FC00001FC003FC00003FC003FC00007F8003FC00007F0003FC0001FE +0003FC0003FC0003FC001FF800FFFFFFFFE000FFFFFFFF8000FFFFFFFC0000> +48 41 -3 40 53] 68 dc +[<001FF80000FFFE0003F01F000FE03F801FC03F803F803F803F803F807F801F007F0000 +00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 +007F0000007F8000003F8001C03FC001C01FC003C00FE0078003F01F0000FFFC00001FE0 +00> +32 27 -2 26 31] 99 dc +[<FFC07F800FF000FFC1FFE03FFC00FFC783F0F07E000FCE03F9C07F000FDC01FB803F00 +0FF801FF003F800FF001FE003F800FF001FE003F800FF001FE003F800FE001FC003F800F +E001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE0 +01FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001 +FC003F800FE001FC003F800FE001FC003F800FE001FC003F80FFFE1FFFC3FFF8FFFE1FFF +C3FFF8FFFE1FFFC3FFF8> +56 27 -3 26 60] 109 dc +[<00FF81F003FFE7FC0FC1FE7C1F80FC7C3F80FE7C3F007E107F007F007F007F007F007F +007F007F007F007F007F007F003F007E003F80FE001F80FC000FC1F8001FFFE00018FF80 +00380000003C0000003C0000003E0000003FFFF8003FFFFF001FFFFFC00FFFFFE007FFFF +F01FFFFFF07E0007F87C0001F8F80001F8F80000F8F80000F8F80000F8FC0001F87E0003 +F03F0007E00FC01F8003FFFE00007FF000> +32 40 -2 26 34] 103 dc +cmbx12.300 sf +[<03FC000FFF003C1FC07007E07C07F0FE03F0FE03F8FE03F8FE01F87C01F83803F80003 +F80003F00003F00007E00007C0000F80001F00003E0000380000700000E01801C0180380 +180700180E00380FFFF01FFFF03FFFF07FFFF0FFFFF0FFFFF0> +24 32 -3 31 28] 50 dc +[<0003FE0080001FFF818000FF01E38001F8003F8003E0001F8007C0000F800F80000780 +1F800007803F000003803F000003807F000001807E000001807E00000180FE00000000FE +00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000007E00 +0000007E000001807F000001803F000001803F000003801F800003000F8000030007C000 +060003F0000C0001F800380000FF00F000001FFFC0000003FE0000> +40 34 -3 33 40] 67 dc +[<FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F +001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE0> +16 35 -2 34 16] 108 dc +[<FFFFFF00FFFFFFE007F007F007F001FC07F000FC07F0007E07F0007E07F0007F07F000 +7F07F0007F07F0007F07F0007F07F0007E07F0007E07F000FC07F001FC07F007F007FFFF +E007FFFF0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000 +0007F0000007F0000007F0000007F0000007F00000FFFF8000FFFF8000> +32 34 -2 33 38] 80 dc +[<FF07F007F000FF1FFC1FFC001F303E303E001F403E403E001F801F801F001F801F801F +001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F +001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F +001F001F001F001F001F001F00FFE0FFE0FFE0FFE0FFE0FFE0> +48 22 -2 21 48] 109 dc +[<7FFFF07FFFF07C03E07007C0600FC0E01F80C01F00C03E00C07E0000FC0000F80001F0 +0003F03007E03007C0300F80701F80703F00603E00E07C03E0FFFFE0FFFFE0> +24 22 -2 21 25] 122 dc +[<0001FE000001FE0000003E0000003E0000003E0000003E0000003E0000003E0000003E +0000003E0000003E0000003E0000003E0001FC3E0007FFBE000F81FE001F007E003E003E +007E003E007C003E00FC003E00FC003E00FC003E00FC003E00FC003E00FC003E00FC003E +00FC003E007C003E007C003E003E007E001E00FE000F83BE0007FF3FC001FC3FC0> +32 35 -2 34 31] 100 dc +cmtt10.300 sf +[<60F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0600000000060F0F060> +8 25 -9 24 22] 33 dc +[<FFFFE0FFFFE0FFFFE01C00E01C00E01C00E01C00E01C00001C00001C1C001C1C001FFC +001FFC001FFC001C1C001C1C001C00001C00001C00001C00001C00001C0000FF8000FFC0 +00FF8000> +24 25 -1 24 22] 70 dc +[<1C303F78FFF8F7E061C0> +16 5 -4 24 22] 126 dc +[<FE0FE0FF1FE0FE0FE03803801C07001C07001C07001C07000E0E000E0E000E0E000E0E +00060C00071C00071C00071C00071C0003180003B80003B80003B80001B00001F00001F0 +0000E000> +24 25 -1 24 22] 86 dc +[<E038F078F078F078F078F078F078F078E038E0386030> +16 11 -4 24 22] 34 dc +17 @bop1 +cmbx10.300 sf +177 1291(Decision:)s +177 2366(Decision:)s +cmbx10.432 sf +177 2538(1.4)s +70(Do)h +2(cum)h +-1(e)h +-1(n)h +-2(t)h +21(Structuring)h +cmbx12.300 sf +177 42(1.3.2)s +55(Review)h +18(of)h +18(Macro)h +19(Call)h +19(Syn)h +-2(tax)h +177 1540(1.3.3)s +55(Review)h +18(of)h +18(P)h +-2(arameterized)h +17(Macro)h +19(Call)h +18(Syn)h +-2(tax)h +cmtt10.300 sf +177 270(Open)s +21(the)h +21(door)h +177 320(@<Say)s +21(Out@>)h +195(@!)h +21(FunnelWeb~V1)h +20(style.)h +177 370(Close)s +21(the)h +21(door)h +177 470(Open)s +21(the)h +21(door)h +177 520(@<Say)s +21(out>@)h +177 569(Close)s +21(the)h +21(door)h +177 669(Open)s +21(the)h +21(door)h +177 719(@"Say)s +21(out@")h +177 769(Close)s +21(the)h +21(door)h +177 868(Open)s +21(the)h +21(door)h +177 918(@\(Say)s +21(out@\))h +177 968(Close)s +21(the)h +21(door)h +177 1068(Open)s +21(the)h +21(door)h +177 1117(@<Say)s +21(out>)h +177 1167(Close)s +21(the)h +21(door)h +1052 1340(@<say)s +21(out>@)h +177 1769(@<Say)s +21(Out@>@\(@"fir)h +-1(stpar)h +-1(am@")h +19(@,)h +22(@"Secondpar)h +-1(am@")h +19(@,)h +22(@"thirdparam)h +-1(@")h +20(@\))h +1280 1893(@")s +177 2066(@<Say)s +21(Out@>@\(first)h +-1(param)h +-1(@,Sec)h +-1(ondpa)h +-1(ram@,)h +-1(thir)h +-1(dpara)h +-1(m@\))h +554 2239(@")s +cmr10.300 sf +177 147(Here)s +15(are)h +15(some)h +13(ideas)h +14(for)h +13(alternativ)h +-1(es)h +14(to)h +14(the)h +14(F)h +-3(unnelW)h +-3(eb)h +14(V1)h +13(macro)h +13(call)h +13(syn)h +-1(tax.)h +397 1291(Con)s +-1(tin)h +-1(ue)h +20(with)h +20(the)h +20(old)h +20(notation.)h +36(It)h +20(ma)h +-1(y)h +18(not)h +20(b)h +1(e)h +21(neat,)h +22(but)h +20(at)h +20(least)h +21(it)h +19(is)h +20(clear)h +21(and)h +177 1340(consisten)s +-1(t.)h +24(The)h +16(main)h +13(temptation)h +14(is)h +15(the)h +16(format)h +269(whic)h +-1(h)h +15(lo)h +1(oks)h +15(rather)h +17(go)h +1(o)h +1(d.)h +22(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +177 1390(it)s +14(breaks)h +14(the)h +15(sp)h +1(ecial)h +14(sequence)h +16(rational)h +13(and)h +13(hence)h +16(is)h +13(to)h +1(o)h +14(confusing.)h +177 1646(F)s +-3(unnelW)h +-3(eb)h +14(V1)h +13(pro)h +-1(vided)h +14(a)h +14(messy)h +13(parameterized)h +14(macro)h +13(call)h +13(syn)h +-1(tax:)h +177 1893(This)s +16(syn)h +-1(tax)h +16(can)h +16(b)h +1(e)h +16(cleaned)h +17(up)h +16(considerably)h +16(b)h +-1(y)h +16(making)h +13(the)h +76(sym)h +-1(b)h +1(ols)h +15(optional.)h +22(This)h +16(results)h +17(in)h +177 1942(calls)s +14(suc)h +-1(h)h +14(as)h +14(the)h +15(follo)h +-1(wi)h +-1(ng:)h +177 2189(As)s +17(the)h +17(\014rst)h +17(form)h +15(allo)h +-1(ws)h +15(the)h +17(alignm)h +-1(en)h +-1(t)h +15(of)h +15(complicated)h +16(parameters)h +16(b)h +-1(y)h +16(allo)h +-1(wing)h +14(white)h +17(space)h +17(to)h +16(b)h +1(e)h +177 2239(inserted)s +17(outside)h +16(the)h +60(,)h +15(and)h +16(the)h +16(second)h +17(form)h +14(is)h +15(cleaner,)h +17(b)h +1(oth)h +16(are)h +16(retained)h +16(simply)h +14(b)h +-1(y)h +15(making)h +13(the)h +177 2289(quotes)s +15(optional.)h +384 2366(Mak)s +-1(e)h +14(the)h +15(double)h +13(quotes)h +15(optional.)h +177 2657(Exp)s +1(erience)h +19(with)h +17(F)h +-3(unnelW)h +-3(eb)h +16(V1,)h +17(whic)h +-1(h)h +17(pro)h +-1(vided)h +17(only)h +16(t)h +-1(w)h +-1(o)h +17(lev)h +-1(els)h +17(of)h +16(headings)h +17(\(ma)h +2(jor)h +16(and)h +16(minor\))h +177 2707(pro)s +-1(v)h +-1(ed)h +10(that)h +11(there)h +11(w)h +-1(as)h +10(a)h +10(strong)h +10(need)h +11(for)h +10(fully)h +9(hierarc)h +-1(hical)h +10(m)h +-1(ulti)h +-1(ple-lev)h +-1(el)h +8(headings.)h +17(The)h +10(only)h +10(question)h +177 2757(w)s +-1(as)h +14(ho)h +-1(w)h +13(it)h +14(should)h +14(b)h +1(e)h +14(done.)h +177 2835(Here)s +15(are)h +15(some)h +13(ideas)h +14(that)h +14(w)h +-1(ere)h +14(considered.)h +1042 2940(16)s +17 @eop +18 @bop0 +cmtt10.300 sf +[<7FE000FFF8007FFC001C1E001C0F001C07001C07001C07001C07001C0F001C1E001FFC +001FF8001FFC001C1C001C0E001C0E001C0E001C0E001C0E201C0E701C0E707F07E0FF87 +E07F03C0> +24 25 -1 24 22] 82 dc +[<7FFFE0FFFFE0FFFFE0E0E0E0E0E0E0E0E0E0E0E0E000E00000E00000E00000E00000E0 +0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00007FC000FFE +0007FC00> +24 25 -1 24 22] 84 dc +[<FFFEFFFEFFFE0380038003800380038003800380038003800380038003800380038003 +800380038003800380FFFEFFFEFFFE> +16 25 -3 24 22] 73 dc +[<03E0000FF8003FFC007C1E00780F00F00700E00700E00780E00780E00380F00780F007 +80780F803FFF803FFB800FE380000780000700300F00780E00781E00787C007FF8003FE0 +000F8000> +24 25 -2 24 22] 57 dc +18 @bop1 +cmsy10.300 sf +239 2518(\017)s +239 2601(\017)s +239 2835(\017)s +cmr10.300 sf +177 2351(Cho)s +1(osing)h +19(b)h +1(et)h +-1(w)h +-1(een)h +21(these)h +21(alternativ)h +-1(es)h +19(w)h +-1(as)h +20(not)h +19(easy)h +-3(.)h +35(The)h +20(follo)h +-1(wing)h +17(though)h +-1(ts)h +20(con)h +-1(tributed)h +20(to)h +19(the)h +177 2400(decision.)s +281 2518(Syn)s +-1(taxes)h +14(that)h +14(require)h +15(visual)h +13(coun)h +-1(ting)h +13(are)h +15(probably)h +13(not)h +14(a)h +13(go)h +1(o)h +1(d)h +14(idea.)h +281 2601(Syn)s +-1(taxes)h +14(that)h +13(do)h +13(not)h +14(delimit)h +11(the)h +14(heading)h +13(name)h +12(someho)h +-1(w)h +13(are)h +13(lik)h +-1(ely)h +12(to)h +14(cause)h +14(problems)h +13(where)h +281 2651(heading)s +18(names)h +17(are)h +18(omitted.)h +30(Users)h +19(will)h +17(b)h +1(e)h +19(tempted)h +18(to)h +18(start)h +18(paragraphs)h +19(after)h +18(the)h +19(start)h +18(of)h +281 2701(heading)s +14(sym)h +-1(b)h +1(ol)h +13(and)h +14(the)h +15(result)h +15(is)h +14(that)h +15(the)h +15(\014rst)h +15(line)h +14(of)h +14(the)h +15(paragraph)h +14(will)h +13(b)h +1(e)h +15(suc)h +-1(k)h +-1(ed)h +15(in)h +-1(to)h +14(the)h +281 2751(heading.)s +281 2835(Ov)s +-1(erloading)h +13(the)h +58(,)h +13(.)h +7(.)h +7(.)h +-1(,)h +71(sequences)h +16(is)h +14(undesirable.)h +1042 2940(17)s +cmtt10.300 sf +177 42(@*@<Main)s +20(Program@>)h +177 91(@**@<Read)s +20(the)h +21(Message@>)h +177 141(@***@<Encrypt)s +19(the)h +21(Buffer@>)h +177 241(@*@<Main)s +20(Program@>)h +177 291(@*@*@<Read)s +20(the)h +21(Message@>)h +177 340(@*@*@*@<Encry)s +-1(pt)h +20(the)h +21(Buffer@>)h +177 440(@s@<Main)s +20(Program@>)h +177 490(@ss@<Read)s +20(the)h +21(Message@>)h +177 540(@sss@<Encrypt)s +19(the)h +21(Buffer@>)h +177 639(@s@<Main)s +20(Program@>)h +177 689(@s@s@<Read)s +20(the)h +21(Message@>)h +177 739(@s@s@s@<Encry)s +-1(pt)h +20(the)h +21(Buffer@>)h +177 839(@S@<Main)s +20(Program@>)h +177 888(@SS@<Read)s +20(the)h +21(Message@>)h +177 938(@SSS@<Encrypt)s +19(the)h +21(Buffer@>)h +177 1038(@S@<Main)s +20(Program@>)h +177 1088(@S@S@<Read)s +20(the)h +21(Message@>)h +177 1137(@S@S@S@<Encry)s +-1(pt)h +20(the)h +21(Buffer@>)h +177 1237(@A@<Main)s +20(Program@>)h +238(--)h +22(The)h +21(syntax)h +20(finally)h +21(chosen.)h +177 1287(@B@<Read)s +20(the)h +21(Message@>)h +177 1337(@C@<Encrypt)s +20(the)h +21(Buffer@>)h +177 1436(@A)s +22(Main)h +21(Program)h +177 1486(@B)s +22(Read)h +21(the)h +21(Message)h +177 1536(@C)s +22(Encrypt)h +20(the)h +21(Buffer)h +177 1636(@*A)s +21(Main)h +21(Program)h +177 1685(@*B)s +21(Read)h +21(the)h +21(Message)h +177 1735(@*C)s +21(Encrypt)h +21(the)h +21(Buffer)h +177 1835(@1@<Main)s +20(Program@>)h +177 1885(@2@<Read)s +20(the)h +21(Message@>)h +177 1934(@3@<Encrypt)s +20(the)h +21(Buffer@>)h +177 1984(\(using)s +21(@A..@I@)h +20(as)h +21(macro)h +21(parameters)h +20(or)h +21(overload)h +20(@1..@9\))h +177 2084(@*@1@<Main)s +20(Program@>)h +177 2134(@*@2@<Read)s +20(the)h +21(Message@>)h +177 2183(@*@3@<Encrypt)s +19(the)h +21(Buffer@>)h +177 2233(\(using)s +21(@A..@I@)h +20(as)h +21(macro)h +21(parameters)h +20(or)h +21(overload)h +20(@1..@9\))h +585 2835(@1)s +99(@9)h +18 @eop +19 @bop0 +cmtt10.300 sf +[<FFC000FFC000FFC0001C00001C00001C00001C00001C00001C00001C00001C00001C00 +001C00001C00001C00001C00001C00001C00401C00E01C00E01C00E01C00E0FFFFE0FFFF +E0FFFFE0> +24 25 -1 24 22] 76 dc +[<7FF800FFFE007FFF001C0F001C07801C03C01C01C01C01C01C01E01C00E01C00E01C00 +E01C00E01C00E01C00E01C00E01C00E01C01C01C01C01C03C01C07801C0F807FFF00FFFE +007FF800> +24 25 0 24 22] 68 dc +cmti10.300 sf +[<1E01832703874703874703838707018707010E07010E07011C0E021C0E021C0E021C0E +04180C04181C04181C081C1C100C263007C3C0> +24 18 -4 17 28] 119 dc +[<01FFFFC0003C01C0003800C00038008000380080003800800070008000700080007020 +800070200000E0400000E0400000E0C00000FFC00001C0800001C0800001C0800001C080 +0003810000038000000380000003800000070000000700000007000000070000000F0000 +00FFF00000> +32 28 -3 27 27] 70 dc +[<FF83FF0FF03C007001C038007001803800F001003800F0020038017002003801700400 +380270040038027008001C047008001C047010001C087010001C087020001C107020001C +107040001C207040001C207080001C407180001C407100001C807200001D807200001D00 +7400001E007400001E007800001C007800001C0070000018007000001800600000100060 +0000> +40 29 -9 27 41] 87 dc +[<3F00070007000E000E000E000E001C001C001C001C0039C03E60383038307038703870 +387038E070E070E070E060E0E0C0C0C1C0618063003C00> +16 29 -5 28 19] 98 dc +[<7FF0FF800F001C000E0018000E0010000E0010000E0010001C0020001C0020001C0020 +001C00200038004000380040003800400038004000700080007000800070008000700080 +00E0010000E0010000E0010000E0020000E0020000E0040000E004000060080000303000 +00104000000F800000> +32 29 -9 27 31] 85 dc +[<183C3C3C0404080810204080> +8 12 -9 28 13] 39 dc +cmbx10.432 sf +[<0C0003000F803F000FFFFE000FFFFE000FFFFC000FFFF8000FFFE0000FFFC0000FFE00 +000E0000000E0000000E0000000E0000000E0000000E0000000E7FC0000FFFF8000F80FE +000E007F000C003F8000003F8000001FC000001FC000001FE000001FE018001FE07E001F +E0FE001FE0FE001FE0FE001FE0FE001FE0FE001FC078003FC078003F803C007F001F01FE +000FFFFC0003FFF00000FF8000> +32 39 -3 38 34] 53 dc +[<03FE300FFFF03E03F07800F07000F0F00070F00070F80070FC0000FFE000FFFE007FFF +C03FFFE01FFFF007FFF800FFFC0003FC0000FCE0007CE0003CF0003CF0003CF80078FC00 +78FF01F0F7FFC0C1FF00> +24 27 -2 26 27] 115 dc +[<0007F000003FFC0000FFFF0001FC0F0007F01F800FE03F800FC03F801FC03F803F803F +803F801F007F8000007F0000007F0000007F000000FF000000FF0FC000FF3FF800FF70FE +00FFE03F00FFC03F80FF801FC0FF801FC0FF801FC0FF001FE0FF001FE0FF001FE0FF001F +E07F001FE07F001FE07F001FE07F001FE03F801FC03F801FC01F803F800FC03F8007E0FF +0003FFFC0000FFF000003FC000> +32 39 -3 38 34] 54 dc +[<000003800000000007C00000000007C0000000000FE0000000000FE0000000000FE000 +0000001FF0000000001FF0000000003FF8000000003FF8000000003FF80000000073FC00 +00000073FC00000000F3FE00000000E1FE00000000E1FE00000001C0FF00000001C0FF00 +000003C0FF80000003807F80000007807FC0000007003FC0000007003FC000000E003FE0 +00000E001FE000001E001FF000001C000FF000001FFFFFF000003FFFFFF800003FFFFFF8 +0000780007FC0000700003FC0000700003FC0000E00001FE0000E00001FE0001E00001FF +0001C00000FF0001C00000FF00FFFE001FFFFEFFFE001FFFFEFFFE001FFFFE> +48 41 -2 40 52] 65 dc +[<7FFFFFFFFFC07FFFFFFFFFC07FFFFFFFFFC07F803FC03FC07E003FC007C078003FC003 +C078003FC003C070003FC001C0F0003FC001E0F0003FC001E0E0003FC000E0E0003FC000 +E0E0003FC000E0E0003FC000E0E0003FC000E000003FC0000000003FC0000000003FC000 +0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000 +0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000 +0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000 +0000003FC00000007FFFFFE000007FFFFFE000007FFFFFE000> +48 40 -2 39 48] 84 dc +[<380000003E0000003FFFFFF03FFFFFF03FFFFFF07FFFFFE07FFFFFC07FFFFFC07FFFFF +8070000F0070001E0070003C00E0003800E0007800E000F0000001E0000003C0000003C0 +000007800000078000000F0000001F0000001F0000001F0000003F0000003F0000003E00 +00007E0000007E0000007E0000007E000000FE000000FE000000FE000000FE000000FE00 +0000FE000000FE000000FE000000FE000000380000> +32 41 -4 40 34] 55 dc +[<00003FF001800003FFFE0780000FFFFF8F80003FF007FF8000FF8001FF8001FE00007F +8007FC00003F8007F800001F800FF000000F801FE000000F803FE0000007803FC0000007 +807FC0000003807FC0000003807FC000000380FF8000000000FF8000000000FF80000000 +00FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000 +00FF8000000000FF80000000007FC0000000007FC0000003807FC0000003803FC0000003 +803FE0000003801FE0000007800FF00000070007F800000F0007FC00001E0001FE00003C +0000FF8000F800003FF007F000000FFFFFC0000003FFFF000000003FF80000> +48 41 -4 40 50] 67 dc +[<FFFFFC0000FFFFFC0000FFFFFC000003FC00000003FC00000003FC00000003FC000000 +03FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003 +FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC +00000003FC00000003FC00000003FC0001C003FC0001C003FC0001C003FC0001C003FC00 +03C003FC00038003FC00038003FC00078003FC00078003FC000F8003FC000F8003FC001F +8003FC007F8003FC01FF00FFFFFFFF00FFFFFFFF00FFFFFFFF00> +40 41 -3 40 41] 76 dc +cmbx10.300 sf +[<001FE02000FFF8E003F80FE007C003E00F8001E01F0000E03E0000E03E0000607E0000 +607C000060FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0000 +007C0000607E0000603E0000603E0000C01F0000C00F80018007C0030003F80E0000FFFC +00001FE000> +32 28 -3 27 34] 67 dc +[<003FE00001F07C0003C01E000F800F801F0007C01E0003C03E0003E07E0003F07C0001 +F07C0001F0FC0001F8FC0001F8FC0001F8FC0001F8FC0001F8FC0001F8FC0001F8FC0001 +F87C0001F07E0003F07E0003F03E0003E03F0007E01F0007C00F800F8003C01E0001F07C +00003FE000> +32 28 -3 27 36] 79 dc +[<FFE0FFE0FFE0FFE0> +16 4 -1 10 16] 45 dc +[<3FFF803C1F00303F00303E00607C0060FC0060F80001F00003F00007E00007C1800F81 +801F81801F03803E03007E07007C0F00FFFF00> +24 18 -1 17 21] 122 dc +19 @bop1 +cmtt10.300 sf +471 42(@A)s +48(@E)h +393 91(@E)s +1317(@F)h +605 141(@O)s +177 495(.fw)s +1105(.fw)h +645 1084(@)s +862 2835(.CLD)s +cmti10.300 sf +293 2301(within)s +13(F)h +-3(unnelWeb)h +723 2481(F)s +-3(unnelWeb)h +17(User's)h +14(Manual)h +cmbx10.432 sf +177 321(1.5)s +70(Discussion)h +21(of)h +24(Som)h +-1(e)h +21(Miscel)h +-1(l)h +-1(aneous)h +22(Issues)h +177 1314(1.6)s +70(Autom)h +-1(ated)h +21(Regression)h +22(T)h +-6(esting)h +177 2661(1.7)s +70(Com)h +-1(m)h +-3(and)h +22(Line)h +22(In)h +-2(terface)h +cmbx10.300 sf +177 42(Decision:)s +1877 91(F)s +177 445(Commen)s +-1(t)h +18(dupli)h +-1(cation)h +-1(:)h +669 544(Decision)s +-1(:)h +177 625(Out-of-date)s +17(do)h +1(cumen)h +-1(tat)h +-1(ion)h +-1(:)h +1227 674(Decision:)s +177 904(Meta-macro-lev)s +-1(el)h +16(parameterizati)h +-1(on:)h +1290 954(Decision:)s +177 1084(Clumsy)s +16(notation)h +-1(:)h +594(Decision:)h +cmr10.300 sf +389 42(Use)s +61(.)h +7(.)h +7(.)h +58(with)h +16(optional)h +15(follo)h +-1(wi)h +-1(ng)h +14(macro)h +15(name)h +15(syn)h +-1(tax)h +16(for)h +16(the)h +17(section)h +17(name.)h +24(Note:)h +177 91(W)s +-3(e)h +15(stop)h +15(at)h +73(b)h +1(ecause)h +17(\014v)h +-1(e)h +15(lev)h +-1(els)h +15(is)h +15(probably)h +14(su\016cien)h +-1(t,)h +16(and)h +14(w)h +-1(e)h +16(ma)h +-1(y)h +13(wish)h +14(later)h +16(to)h +14(use)h +75(for)h +44(ile)h +177 141(\(to)s +14(augmen)h +-1(t)h +13(or)h +13(replace)h +59(\).)h +671 445(If)s +17(the)h +18(F)h +-3(unnelW)h +-3(eb)h +17(user)h +18(inserts)h +18(commen)h +-1(ts)h +15(in)h +-1(to)h +17(the)h +18(target)h +17(co)h +1(de)h +18(\(in)h +17(the)h +255 495(\014le\))s +12(as)h +12(w)h +-1(ell)h +11(as)h +12(in)h +-1(to)h +12(the)h +12(do)h +1(cumen)h +-1(tation)h +11(\(free)h +13(text\))h +13(part)h +12(of)h +12(the)h +90(\014le,)h +12(then)h +13(it)h +11(is)h +12(p)h +1(ossible)h +12(for)h +12(the)h +177 544(situation)s +13(to)h +14(get)h +14(a)h +14(bit)h +13(silly)h +-3(.)h +224(This)h +14(is)h +14(a)h +13(problem)h +13(for)h +13(the)h +15(programm)h +-1(er,)h +12(not)h +14(for)h +13(F)h +-3(unnelW)h +-3(eb.)h +786 625(Sometim)s +-1(es)h +15(it)h +17(is)h +16(all)h +16(to)h +1(o)h +17(easy)h +17(for)h +16(the)h +18(programm)h +-1(er)h +15(to)h +17(mo)h +1(dify)h +14(the)h +177 674(co)s +1(de)h +18(without)h +16(up)h +1(dating)h +16(the)h +17(surrounding)h +17(do)h +1(cumen)h +-1(tation.)h +237(This)h +16(is)h +17(a)h +16(serious)h +17(and)h +16(ma)h +2(jor)h +177 724(problem.)s +27(In)h +17(an)h +17(automated)h +16(en)h +-1(vironmen)h +-1(t,)h +16(it)h +17(ma)h +-1(y)h +15(b)h +1(e)h +18(p)h +1(ossible)h +17(to)h +17(create)h +19(a)h +17(system)h +17(of)h +16(dep)h +1(endencies)h +177 774(b)s +1(et)h +-1(w)h +-1(een)h +17(scraps)h +17(of)h +14(co)h +1(de)h +16(and)h +16(scraps)h +16(of)h +15(do)h +1(cumen)h +-1(tation.)h +21(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +16(it)h +15(is)h +15(hard)h +16(to)h +15(see)h +16(ho)h +-1(w)h +15(a)h +15(to)h +1(ol)h +15(suc)h +-1(h)h +177 824(as)s +14(F)h +-3(unnelW)h +-3(eb)h +13(could)h +14(pro)h +-1(vide)h +14(supp)h +1(ort)h +15(for)h +13(prev)h +-1(en)h +-1(tion)h +14(of)h +14(this)h +14(sort)h +14(of)h +13(error.)h +949 904(Sometim)s +-1(es,)h +15(when)h +17(using)h +16(F)h +-3(unnelW)h +-3(eb,)h +16(the)h +16(facilit)h +-1(y)h +15(to)h +16(use)h +177 954(one)s +11(macro)h +10(to)h +11(construct)h +13(the)h +11(name)h +10(of)h +11(another)h +11(has)h +11(b)h +1(een)h +12(needed.)h +225(Allo)h +-1(wing)h +9(macro)h +10(names)h +10(to)h +177 1004(b)s +1(e)h +14(constructed)h +15(w)h +-1(ould)h +13(lose)h +13(the)h +14(simple)h +11(nature)h +14(of)h +13(the)h +14(prepro)h +1(cessor)h +15(and)h +13(so)h +14(this)h +13(suggestion)h +13(is)h +13(rejected.)h +559 1084(The)s +51(notation)h +13(can)h +15(b)h +1(e)h +15(clumsy)h +-3(.)h +226(This)h +15(is)h +14(necessary)h +16(to)h +15(mai)h +-1(n)h +-1(tain)h +12(the)h +177 1134(simplicit)s +-1(y)h +12(of)h +13(the)h +14(translation.)h +177 1438(Automated)s +13(regression)h +15(testing)h +14(is)h +14(extremely)h +14(imp)h +1(ortan)h +-1(t)h +12(for)h +13(t)h +-1(w)h +-1(o)h +14(reasons:)h +228 1568(1.)s +20(It)h +14(pro)h +-1(vides)h +14(con\014dence)h +16(that)h +14(c)h +-1(hanges)h +14(made)h +13(to)h +14(the)h +14(program)h +12(ha)h +-1(v)h +-1(e)h +14(not)h +14(in)h +-1(tro)h +1(duced)h +15(bugs.)h +228 1662(2.)s +20(It)h +11(allo)h +-1(ws)h +9(p)h +1(ortabilit)h +-1(y)h +9(problems)h +10(to)h +10(b)h +1(e)h +12(pinp)h +1(oin)h +-1(ted)h +10(when)h +11(the)h +11(program)h +9(is)h +11(mo)h +-1(v)h +-1(ed)h +9(to)h +10(a)h +10(new)h +12(mac)h +-1(hine.)h +177 1792(The)s +15(simplest)h +13(w)h +-1(a)h +-1(y)h +13(to)h +14(set)h +15(up)h +15(automated)h +12(regression)h +16(testing)h +14(is)h +14(to)h +14(construct)h +16(a)h +14(suite)h +15(of)h +13(test)h +15(cases)h +16(\(and)h +177 1842(their)s +14(solutions\))h +12(and)h +13(then)h +14(write)h +13(a)h +13(script)h +13(in)h +13(the)h +13(target)h +14(mac)h +-1(hine's)h +11(command)h +11(language)h +12(to)h +12(run)h +14(through)h +177 1892(the)s +18(suite.)h +29(Unfortunately)h +-3(,)h +17(there)h +19(is)h +17(no)h +17(comm)h +-1(and)h +15(language)h +17(that)h +17(is)h +17(shared)h +18(among)h +16(the)h +18(mac)h +-1(hines)h +16(to)h +177 1941(whic)s +-1(h)h +15(F)h +-3(unnelW)h +-3(eb)h +14(m)h +-1(ust)h +14(b)h +1(e)h +15(p)h +1(orted.)h +22(These)h +16(mac)h +-1(hines)h +14(are)h +16(at)h +14(least:)h +20(Macin)h +-1(tosh,)h +15(IBM-PC,)h +15(Sun,)h +15(VMS)h +177 1991(V)s +-3(ax.)h +177 2072(One)s +16(option)h +14(is)h +15(simply)h +13(to)h +15(rewrite)h +16(the)h +16(script)h +16(in)h +14(eac)h +-1(h)h +16(mac)h +-1(hine's)h +13(particular)h +15(comm)h +-1(and)h +13(language.)h +21(This)h +177 2121(w)s +-1(ould)h +15(b)h +1(e)h +17(a)h +15(feasible)h +16(option)h +15(w)h +-1(ere)h +17(it)h +15(not)h +16(for)h +15(the)h +17(fact)h +16(that)h +16(the)h +16(Macin)h +-1(tosh)h +16(\(the)h +16(mac)h +-1(hine)h +15(up)h +1(on)h +16(whic)h +-1(h)h +177 2171(F)s +-3(unnelW)h +-3(eb)h +14(w)h +-1(as)h +13(dev)h +-1(elop)h +1(ed\))h +15(do)h +1(es)h +15(not)h +13(ha)h +-1(v)h +-1(e)h +14(a)h +14(comm)h +-1(and)h +12(language!)h +177 2252(After)s +13(some)h +12(though)h +-1(t,)h +12(I)h +12(decided)h +14(that)h +12(the)h +13(b)h +1(est)h +14(solution)h +12(to)h +12(the)h +13(problem)h +11(w)h +-1(as)h +13(to)h +12(create)h +14(a)h +12(comm)h +-1(and)h +11(lan-)h +177 2301(guage)s +338(.)h +18(F)h +-3(unnelW)h +-3(eb)h +12(could)h +12(then)h +13(b)h +1(e)h +12(in)h +-1(v)h +-1(ok)h +-1(ed)h +12(in)h +11(t)h +-1(w)h +-1(o)h +12(mo)h +1(des,)h +11(one-shot)h +13(comm)h +-1(and)h +10(line)h +177 2351(or)s +15(in)h +-1(teractiv)h +-1(e/script.)h +20(This)h +15(approac)h +-1(h)h +14(had)h +14(the)h +15(b)h +1(ene\014t)h +16(of)h +14(pro)h +-1(viding)h +13(total)h +14(con)h +-1(trol)h +14(o)h +-1(v)h +-1(er)h +14(the)h +16(comm)h +-1(and)h +177 2401(language)s +13(and)h +14(its)h +14(complete)h +13(p)h +1(ortabilit)h +-1(y)h +-3(.)h +177 2481(The)s +14(result)h +15(is)h +14(describ)h +1(ed)h +16(in)h +13(the)h +496(.)h +177 2785(F)s +-3(unnelW)h +-3(eb)h +12(V1)h +12(w)h +-1(as)h +12(implem)h +-1(en)h +-1(ted)h +11(in)h +12(Ada)h +12(and)h +12(runs)h +13(on)h +12(a)h +12(VMS)h +12(V)h +-5(AX.)h +13(As)h +13(suc)h +-1(h)h +13(it)h +11(has)h +13(a)h +12(full)h +11(VMS)h +12(DCL)h +177 2835(comma)s +-1(nd)h +12(line)h +14(in)h +-1(terface.)h +18(Here)h +15(is)h +14(the)h +15(\\)h +88(")h +12(\014le)h +14(for)h +14(the)h +14(DCL)h +14(comm)h +-1(and)h +12(line)h +13(in)h +-1(terface.)h +1042 2940(18)s +19 @eop +20 @bop0 +cmbx10.432 sf +[<003FC00001FFF00003FFFC000FC07E000F003F001F001F001E001F803E000F803E000F +803F000F803F800F803FC01F803FF01F003FFC3F001FFE7E001FFFF8000FFFE00007FFF8 +0001FFFC0001FFFF0007FFFF801F8FFF803F03FFC07E01FFC07C007FE0FC001FE0F8000F +E0F80007E0F80003E0F80003E0F80003E0FC0003C07C0007C07E0007803F000F801FC03F +000FFFFC0003FFF800007FC000> +32 39 -3 38 34] 56 dc +[<FFFC0000FFFEFFFE0000FFFEFFFF0000FFFE03FF8000038003FFC000038003FFE00003 +8003BFE0000380039FF0000380038FF80003800387FC0003800387FE0003800383FE0003 +800381FF0003800380FF80038003807FC0038003807FE0038003803FF0038003801FF003 +8003800FF80380038007FC0380038003FE0380038003FF0380038001FF8380038000FF83 +800380007FC3800380003FE3800380001FF3800380001FFB800380000FFB8003800007FF +8003800003FF8003800001FF8003800001FF8003800000FF80038000007F80038000003F +80038000001F80038000000F80FFFE00000F80FFFE00000780FFFE00000380> +48 41 -3 40 54] 78 dc +cmti10.300 sf +[<07870004D98008E0C008E0C011C0E011C0E001C0E001C0E00381C00381C00381C00381 +800703800703000707000706000E8C000E70000E00000E00001C00001C00001C00001C00 +003C0000FF8000> +24 26 -1 17 21] 112 dc +cmtt10.300 sf +[<7F07F0FF8FF87F07F01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01 +C01C01C01C01C01C01C01C01C01C01C01C01C01C01C00E03800E038007070007FF0003FE +0000F800> +24 25 0 24 22] 85 dc +[<7E1FC0FF3FE07F1FC01D07001D87001D87001D87001DC7001DC7001CC7001CC7001CE7 +001CE7001CE7001C67001C67001C77001C77001C37001C37001C37001C17007F1F00FF9F +007F0F00> +24 25 -1 24 22] 78 dc +[<07F0001FFC003FFE007C1F00F00780E00380E00380E003807007007C1F001FFC0007F0 +001FFC003C1E00700700F00780E00380E00380E00380F007807007007C1F003FFE001FFC +0007F000> +24 25 -2 24 22] 56 dc +[<E00000FFFF80FFFF80FFFF80E00F00E01E00001C0000380000780000700000E00000E0 +0001C00001C00001C0000380000380000380000380000700000700000700000700000700 +00070000070000> +24 26 -2 25 22] 55 dc +[<FFFF80FFFF80FFFF80> +24 3 -2 -2 22] 95 dc +[<07C7001FF7003FFF007C3F00781F00F00F00F00700E00700E00700E00700E00700F007 +00F00F00781F007C3F003FFF001FF70007C7000007000007000007000007000007000007 +00003FE0007FF0003FE0> +24 27 -2 17 22] 113 dc +[<7F1F807F3F807F1F800E1E000E1C00073C0007380003B80003F00001F00001E00000E0 +0001E00001F00003F00003B80007B800071C00071C000E0E000E0E001C07007F1FC0FF1F +E07F1FC0> +24 25 -1 24 22] 88 dc +[<1FFC003FFE007FFF00780F00F00780E00380E00380E00380E00380E00380E00380E003 +80E00380E00380E00380E00380E00380E00380E0E380E1E380F0F780787F007FFF003FFE +001FFC00001C00001E00000E00000F00000700000700> +24 31 -2 24 22] 81 dc +20 @bop1 +cmbx10.432 sf +177 1925(1.8)s +70(File)h +21(Nam)h +-1(e)h +21(Manageme)h +-1(n)h +-2(t)h +cmti10.300 sf +742 1174(dep)s +-2(end)h +723 1729(F)s +-3(unnelWeb)h +17(User's)h +14(Manual)h +cmtt10.300 sf +177 42(!)s +22(FUNNELWEB)h +20(Command)h +20(Definition)h +177 91(!)s +22(===========)h +-1(=====)h +-1(=====)h +-1(=====)h +-1(==)h +177 141(!)s +22(Ross)h +21(Williams.)h +20(28)h +21(April)h +21(1987.)h +177 241(module)s +21(command_tab)h +-1(le)h +243 291(define)s +20(verb)h +21(dummy_command)h +243 340(parameter)s +19(p1)h +240(,)h +21(label=input_fi)h +-1(le)h +63(,value\(required)h +-1(,type)h +-1(=$fi)h +-1(le\))h +243 390(qualifier)s +19(include_files,)h +19(label=include_)h +-1(files)h +-1(,valu)h +-1(e\(typ)h +-1(e=$fi)h +-1(le\))h +20(,default)h +243 440(qualifier)s +19(output_files)h +20(,)h +21(label=output_f)h +-1(iles)h +19(,value\(type=$fi)h +-1(le\))h +20(,default)h +243 490(qualifier)s +19(delete)h +152(,)h +21(label=delete)h +565(,default)h +243 540(qualifier)s +19(tex_file)h +108(,)h +21(label=tex_file)h +106(,value\(type=$fi)h +-1(le\))h +20(,default)h +243 589(qualifier)s +19(listing_file)h +20(,)h +21(label=listing_)h +-1(file)h +19(,value\(type=$fi)h +-1(le\))h +20(,default)h +243 639(qualifier)s +19(brief)h +174(,)h +21(label=brief,va)h +-1(lue\(t)h +-1(ype=$)h +-1(numbe)h +-1(r,def)h +-1(ault=)h +-1(5\),d)h +-1(efaul)h +-1(t)h +243 689(qualifier)s +19(screen)h +152(,)h +21(label=screen)h +150(,value\(type=$nu)h +-1(mber,)h +-1(defa)h +-1(ult=0)h +-1(\))h +243 739(qualifier)s +19(trace)h +174(,)h +21(label=trace)h +243 789(qualifier)s +19(file_spec)h +86(,)h +21(label=file_spe)h +-1(c)h +243 839(qualifier)s +19(compare)h +344 1378(-X)s +470(-Q)h +cmr10.300 sf +177 981(As)s +16(p)h +1(ortabilit)h +-1(y)h +15(w)h +-1(as)h +15(a)h +16(k)h +-1(ey)h +16(goal)h +14(of)h +15(F)h +-3(unnelW)h +-3(eb)h +15(V3,)h +16(it)h +15(w)h +-1(as)h +16(ob)h +-1(vious)h +15(that)h +16(the)h +16(comm)h +-1(and)h +14(line)h +15(in)h +-1(terface)h +177 1031(w)s +-1(ould)h +13(ha)h +-1(v)h +-1(e)h +14(to)h +14(b)h +1(e)h +14(redesigned.)h +20(The)h +14(design)h +14(goals)h +13(for)h +14(the)h +14(new)h +14(command)h +11(line)h +14(in)h +-1(terface)h +14(w)h +-1(ere:)h +228 1174(1.)s +20(The)h +15(in)h +-1(terface)h +15(should)h +14(not)h +152(on)h +14(case.)h +21(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +14(it)h +14(m)h +-1(ust)h +14(allo)h +-1(w)h +12(case-sensitiv)h +-1(e)h +16(\014lenames)h +14(to)h +281 1224(b)s +1(e)h +14(transmitted)h +14(on)h +13(systems)h +15(that)h +13(ha)h +-1(v)h +-1(e)h +14(case-sensitiv)h +-1(e)h +16(\014lenames.)h +228 1328(2.)s +20(Eac)h +-1(h)h +13(option)h +12(m)h +-1(ust)h +12(ha)h +-1(v)h +-1(e)h +13(a)h +12(symmetric)h +11(p)h +1(ositiv)h +-1(e)h +13(and)h +13(negativ)h +-1(e)h +12(form.)h +16(F)h +-3(or)h +13(example,)h +11(it)h +12(is)h +13(confusing)h +281 1378(for)s +71(to)h +14(turn)h +14(on)h +14(a)h +13(feature)h +15(and)h +71(to)h +14(turn)h +14(it)h +14(o\013.)h +228 1482(3.)s +20(The)h +14(in)h +-1(terface)h +15(m)h +-1(ust)h +13(b)h +1(e)h +14(extensible)h +15(to)h +14(allo)h +-1(w)h +12(inclusion)h +13(of)h +13(more)h +13(features)h +15(at)h +14(a)h +14(later)h +14(date.)h +228 1586(4.)s +20(Options)h +14(should)h +14(b)h +1(e)h +14(consisten)h +-1(t)h +15(and)h +14(memo)h +-1(rable.)h +177 1729(The)s +14(result)h +15(is)h +14(describ)h +1(ed)h +16(in)h +13(the)h +496(.)h +177 2056(File)s +20(names)h +19(presen)h +-1(t)h +22(a)h +20(host)h +20(of)h +20(problems)h +19(for)h +20(a)h +19(program)h +19(lik)h +-1(e)h +19(F)h +-3(unnelW)h +-3(eb.)h +36(First,)h +22(F)h +-3(unnelW)h +-3(eb)h +20(can)h +177 2106(generate)s +16(so)h +15(man)h +-1(y)h +13(di\013eren)h +-1(t)h +16(kinds)h +15(of)h +14(\014les)h +15(that)h +15(con)h +-1(v)h +-1(en)h +-1(tions)h +15(m)h +-1(ust)h +14(b)h +1(e)h +16(adopted)h +15(to)h +15(prev)h +-1(en)h +-1(t)h +15(them)h +15(from)h +177 2156(b)s +1(ecoming)h +9(unmanageable.)h +15(Second,)h +11(the)h +10(constrain)h +-1(ts)h +10(on)h +10(\014le)h +10(names,)h +9(and)h +10(ev)h +-1(en)h +10(the)h +11(structure)h +12(of)h +9(\014le)h +10(names)h +177 2205(themselv)s +-1(es)h +16(v)h +-2(aries)h +15(considerably)h +16(from)h +14(mac)h +-1(hine)h +14(to)h +15(mac)h +-1(hine.)h +22(These)h +17(t)h +-1(w)h +-1(o)h +15(problems)h +14(ha)h +-1(v)h +-1(e)h +16(com)h +-1(bined)h +14(to)h +177 2255(result)s +14(in)h +12(the)h +14(sophisticated)h +14(and)h +12(rather)h +14(complicated)h +12(w)h +-1(a)h +-1(y)h +12(in)h +13(whic)h +-1(h)h +13(F)h +-3(unnelW)h +-3(eb)h +12(V3)h +13(handles)h +13(\014lenames.)h +177 2340(T)s +-3(o)h +13(summari)h +-1(ze,)h +13(the)h +14(three)h +15(problems)h +13(are:)h +228 2483(1.)s +20(What)h +13(\014lename)h +13(extensions)h +15(should)h +14(b)h +1(e)h +14(c)h +-1(hosen)h +15(for)h +14(v)h +-2(arious)h +13(kinds)h +14(of)h +13(\014le?)h +228 2588(2.)s +20(What)h +13(\014lename)h +13(inheritance)h +15(should)h +13(tak)h +-1(e)h +14(place?)h +228 2692(3.)s +20(Ho)h +-1(w)h +13(should)h +14(F)h +-3(unnelW)h +-3(eb)h +14(cop)h +1(e)h +14(with)h +14(the)h +14(v)h +-2(ariations)h +13(in)h +13(\014lename)h +13(structure)h +16(b)h +1(et)h +-1(w)h +-1(een)h +15(mac)h +-1(hines?)h +177 2835(The)s +14(follo)h +-1(wing)h +12(three)h +15(sections)h +15(address)h +15(these)h +15(questions.)h +1042 2940(19)s +20 @eop +21 @bop0 +cmbx12.300 sf +[<00FE0003FFC00601E00C00701800701800383800383C00383F00383F80783FE0701FF8 +E01FFFC00FFF8007FFC003FFE007FFF01E7FF83C1FFC7807FC7801FEF000FEF0003EF000 +1EF0001EF0001CF8001C7800383C00381F01F00FFFC001FF00> +24 32 -2 31 28] 56 dc +[<FFFFFFF8FFFFFFF807F001F807F0007807F0003807F0001807F0001C07F0001C07F000 +0C07F0000C07F0180C07F0180C07F0180007F0180007F0380007F0780007FFF80007FFF8 +0007F0780007F0380007F0180007F0180007F0180007F0180007F0000007F0000007F000 +0007F0000007F0000007F0000007F0000007F00000FFFFE000FFFFE000> +32 34 -2 33 35] 70 dc +[<FFFFFFFCFFFFFFFC07F000FC07F0003C07F0001C07F0000C07F0000E07F0000E07F000 +0607F0180607F0180607F0180607F0180007F0380007F0780007FFF80007FFF80007F078 +0007F0380007F0180007F0180007F0180307F0180307F0000307F0000607F0000607F000 +0607F0000E07F0000E07F0001E07F0003E07F001FCFFFFFFFCFFFFFFFC> +32 34 -2 33 37] 69 dc +[<0FF3003FFF00781F00600700E00300E00300F00300FC00007FE0007FF8003FFE000FFF +0001FF00000F80C00780C00380E00380E00380F00700FC0E00EFFC00C7F000> +24 22 -2 21 22] 115 dc +[<FFFFE0FFFFE003F80003F80003F80003F80003F80003F80003F80003F80003F80003F8 +0003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F8 +0003F80003F80003F80003F80003F80003F80003F80003F800FFFFE0FFFFE0> +24 34 -1 33 21] 73 dc +[<FF000000FF0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000 +001F0000001F0000001F0000001F0000001F07E0001F1FF8001F307C001F403C001F803E +001F803E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E +001F003E001F003E001F003E001F003E001F003E001F003E00FFE1FFC0FFE1FFC0> +32 35 -2 34 31] 104 dc +cmtt10.300 sf +[<07FE07FF07FE0038003800380038003800380038003800380038003800380038003800 +3800386038F038F0707FF07FE01F80> +16 25 -3 24 22] 74 dc +21 @bop1 +cmbx12.300 sf +177 42(1.8.1)s +55(Filename)h +17(Extensions)h +177 1023(1.8.2)s +55(Filename)h +17(Inheritance)h +cmtt10.300 sf +177 421(FunnelWeb)s +107(:)h +22(.fw)h +177 471(Product)s +151(:)h +22(None.)h +177 521(Documentation)s +19(:)h +22(.tex)h +177 570(Listing)s +151(:)h +22(.lis)h +177 620(Journal)s +151(:)h +22(.jrn)h +243 1302(fw)s +21(sloth)h +21(+J)h +21(+L)h +21(+T)h +1099 1426(sloth.jrn)s +29(sloth.lis)h +114(sloth.tex)h +872 1476(sloth)s +804 1692(@i)s +739(@o)h +462 1742(+x)s +134(+f)h +120(+i)h +138(+j)h +143(+l)h +134(+t)h +192(+o)h +483 1792(.fws)s +90(.fw)h +98(.fwi)h +94(.jrn)h +99(.lis)h +90(.tex)h +804 1842(+f)s +138(+f)h +143(+f)h +134(+f)h +1851 2785(x.y)s +cmr10.300 sf +177 147(F)s +-3(unnelW)h +-3(eb)h +11(is)h +12(capable)h +11(of)h +11(reading)h +12(and)h +11(writing)h +11(a)h +11(v)h +-2(ariet)h +-1(y)h +11(of)h +11(di\013eren)h +-1(t)h +13(kinds)h +12(of)h +11(\014les.)h +17(In)h +12(particular,)h +11(F)h +-3(un-)h +177 197(nelW)s +-3(eb)h +11(m)h +-1(ust)h +10(often)h +11(op)h +1(erates)h +12(in)h +11(an)h +11(en)h +-1(vironmen)h +-1(t)h +10(where)h +12(the)h +11(same)h +10(information)h +9(is)h +10(stored)h +12(in)h +11(man)h +-1(y)h +9(forms)h +177 247(\(e.g.)s +16(prog.fw,)h +15(prog.c,)h +17(pro)h +1(c.exe\).)h +26(File)h +16(extensions)h +18(are)h +16(an)h +17(essen)h +-1(tial)h +16(to)h +1(ol)h +16(in)h +16(managi)h +-1(ng)h +15(this)h +16(situation.)h +177 297(The)s +14(\014lename)h +13(extensions)h +15(c)h +-1(hosen)h +15(for)h +14(F)h +-3(unnelW)h +-3(eb)h +13(are:)h +177 744(Lo)s +-1(w)h +-1(ercase)h +15(will)h +13(b)h +1(e)h +14(used)h +15(in)h +13(systems)h +14(that)h +14(are)h +15(case)h +14(sensitiv)h +-1(e.)h +177 822(Readers)s +14(who)h +13(are)h +14(w)h +-1(ondering)h +12(ho)h +-1(w)h +13(F)h +-3(unnelW)h +-3(eb)h +13(cop)h +1(es)h +14(in)h +13(en)h +-1(vironmen)h +-1(ts)h +12(suc)h +-1(h)h +14(as)h +13(UNIX)h +14(where)h +14(there)h +14(are)h +177 872(no)s +14(\014le)h +14(extensions)h +15(should)h +13(refer)h +15(to)h +14(Section)h +14(1.8.3.)h +177 1129(Inheritance)s +14(in)h +11(\014lenames)h +12(refers)h +14(to)h +12(ho)h +-1(w)h +12(input)h +12(and)h +12(output)h +12(\014les)h +13(inherit)h +12(parts)h +13(of)h +12(their)h +13(name)h +11(from)h +10(other)h +177 1178(\014lenames)s +13(and)h +14(their)h +14(en)h +-1(vironmen)h +-1(t.)h +17(F)h +-3(or)h +14(example)h +12(if)h +13(the)h +15(comm)h +-1(and)h +177 1426(w)s +-1(as)h +18(issued,)h +20(y)h +-1(ou)h +18(w)h +-1(ould)h +17(exp)h +1(ect)h +20(to)h +18(see)h +19(output)h +19(\014les)h +216(,)h +215(,)h +17(and)h +216(.)h +29(The)h +177 1476(output)s +14(\014le)h +15(names)h +13(ha)h +-1(v)h +-1(e)h +14(inherited)h +14(the)h +15(\\)h +110(".)h +17(The)h +15(follo)h +-1(wi)h +-1(ng)h +12(table)h +14(giv)h +-1(es)h +14(the)h +15(hierarc)h +-1(h)h +-1(y)h +14(devised)h +15(for)h +177 1526(F)s +-3(unnelW)h +-3(eb.)h +462 1641(Script)s +70(Input)h +64(Include)h +50(Journal)h +50(List)h +108(Do)h +1(cumen)h +-1(t)h +49(Pro)h +1(duct)h +391 1692(1)s +391 1742(2)s +391 1792(3)s +50(\\)h +88(")h +48(\\)h +66(")h +56(\\)h +88(")h +52(\\)h +88(")h +57(\\)h +88(")h +48(\\)h +88(")h +391 1842(4)s +391 1892(5)s +50(DefDir)h +55(Defdir)h +50(Defdir)h +68(Defdir)h +73(Defdir)h +64(Defdir)h +122(Defdir)h +177 2015(The)s +14(follo)h +-1(wing)h +12(notes)h +14(explain)h +14(the)h +14(table.)h +228 2139(1.)s +20(This)h +14(sc)h +-1(heme)h +14(is)h +14(simil)h +-1(ar)h +12(to)h +14(that)h +14(used)h +14(in)h +14(F)h +-3(unnelW)h +-3(eb)h +13(V1.)h +228 2229(2.)s +20(The)h +14(journal,)h +13(list,)h +12(and)h +14(do)h +1(cumen)h +-1(tation)h +12(\014les)h +15(all)h +12(fall)h +12(in)h +14(the)h +14(same)h +13(pattern)h +14(and)h +14(can)h +14(b)h +1(e)h +14(considered)h +281 2278(as)s +14(a)h +14(single)h +13(case.)h +228 2368(3.)s +20(Lev)h +-1(el)h +15(1)h +16(has)h +15(the)h +16(highest)h +16(priorit)h +-1(y)h +14(b)h +1(ecause)h +18(it)h +15(is)h +15(a)h +15(direct)h +16(sp)h +1(eci\014cation)h +16(b)h +-1(y)h +16(the)h +16(user)h +16(in)h +15(the)h +16(input)h +281 2418(\014le.)s +228 2507(4.)s +20(Lev)h +-1(el)h +14(2)h +13(comes)h +14(next)h +14(b)h +1(ecause)h +15(this)h +14(is)h +14(also)h +13(a)h +13(direct)h +15(sp)h +1(eci\014cation)h +14(from)h +12(the)h +15(user)h +15(on)h +13(the)h +15(comm)h +-1(and)h +281 2557(line.)s +228 2646(5.)s +20(Lev)h +-1(el)h +13(3)h +12(pro)h +-1(vides)h +13(the)h +14(default)h +12(\014le)h +13(extensions.)h +19(Pro)h +1(duct)h +14(\014les)h +13(do)h +13(not)h +12(inherit)h +13(an)h +13(extension)h +13(as)h +13(they)h +281 2696(could)s +14(b)h +1(e)h +14(of)h +13(an)h +-1(y)h +14(t)h +-1(yp)h +1(e.)h +228 2785(6.)s +20(Lev)h +-1(el)h +12(5)h +13(is)h +12(built)h +12(in)h +-1(to)h +11(most)h +12(op)h +1(erating)h +12(systems')h +12(\014le)h +13(sp)h +1(eci\014cation)h +13(systems.)h +17(If)h +13(I)h +12(sp)h +1(ecify)h +13(\014le)h +12(\\)h +66(",)h +281 2835(it)s +13(is)h +14(tak)h +-1(en)h +14(to)h +14(mean)h +13(on)h +13(the)h +15(default)h +13(disk)h +14(in)h +13(the)h +15(default)h +13(directory)h +-3(.)h +1042 2940(20)s +1394 2 366 1606 r +2 50 365 1656 r +2 50 436 1656 r +2 50 615 1656 r +2 50 778 1656 r +2 50 961 1656 r +2 50 1147 1656 r +2 50 1326 1656 r +2 50 1562 1656 r +2 50 1759 1656 r +1394 2 366 1658 r +2 50 365 1707 r +2 50 436 1707 r +2 50 615 1707 r +2 50 778 1707 r +2 50 961 1707 r +2 50 1147 1707 r +2 50 1326 1707 r +2 50 1562 1707 r +2 50 1759 1707 r +2 50 365 1757 r +2 50 436 1757 r +2 50 615 1757 r +2 50 778 1757 r +2 50 961 1757 r +2 50 1147 1757 r +2 50 1326 1757 r +2 50 1562 1757 r +2 50 1759 1757 r +2 50 365 1807 r +2 50 436 1807 r +2 50 615 1807 r +2 50 778 1807 r +2 50 961 1807 r +2 50 1147 1807 r +2 50 1326 1807 r +2 50 1562 1807 r +2 50 1759 1807 r +2 50 365 1857 r +2 50 436 1857 r +2 50 615 1857 r +2 50 778 1857 r +2 50 961 1857 r +2 50 1147 1857 r +2 50 1326 1857 r +2 50 1562 1857 r +2 50 1759 1857 r +2 50 365 1907 r +2 50 436 1907 r +2 50 615 1907 r +2 50 778 1907 r +2 50 961 1907 r +2 50 1147 1907 r +2 50 1326 1907 r +2 50 1562 1907 r +2 50 1759 1907 r +1394 2 366 1909 r +21 @eop +22 @bop0 +cmbx12.300 sf +[<FF000000FF0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000 +001F0000001F0000001F0000001F0000001F0FE0001F3FF8001FF07C001F801E001F001F +001F000F801F000F801F000FC01F000FC01F000FC01F000FC01F000FC01F000FC01F000F +C01F000FC01F000F801F001F801F801F001FC03E001EE07C001C3FF800180FC000> +32 35 -2 34 31] 98 dc +[<FF01FE00FF01FE001F003E001F003E001F003E001F003E001F003E001F003E001F003E +001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F007E +001F00FE000F81BE0007FF3FC001FC3FC0> +32 22 -2 21 31] 117 dc +[<FFF8001FFEFFFC001FFE07FC0000C007FE0000C006FF0000C0067F8000C0063FC000C0 +061FE000C0060FE000C0060FF000C00607F800C00603FC00C00601FE00C00600FE00C006 +00FF00C006007F80C006003FC0C006001FE0C006000FF0C0060007F0C0060007F8C00600 +03FCC0060001FEC0060000FFC00600007FC00600007FC00600003FC00600001FC0060000 +0FC006000007C006000003C006000003C0FFF00001C0FFF00000C0> +40 34 -2 33 44] 78 dc +cmtt10.300 sf +[<000180000380000380000700000700000E00000E00001C00001C000038000038000070 +0000700000E00000E00001C00001C0000380000380000700000700000E00000E00001C00 +001C0000380000380000700000700000E00000E00000C00000> +24 32 -2 28 22] 47 dc +[<FFF0FFF0FFF0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0 +00E000E000E000E000E000E000E000E000E000E000E000FFF0FFF0FFF0> +16 32 -8 28 22] 91 dc +[<FFF0FFF0FFF00070007000700070007000700070007000700070007000700070007000 +7000700070007000700070007000700070007000700070FFF0FFF0FFF0> +16 32 -1 28 22] 93 dc +[<C00000E00000E000007000007000003800003800001C00001C00000E00000E00000700 +0007000003800003800001C00001C00000E00000E000007000007000003800003800001C +00001C00000E00000E00000700000700000380000380000180> +24 32 -2 28 22] 92 dc +22 @bop1 +cmbx12.300 sf +177 757(1.8.3)s +55(P)h +-2(ortable)h +19(Structure)h +18(of)h +19(File)h +17(Names)h +cmtt10.300 sf +1284 191(sloth)s +62(sloth.tex)h +1459 390(sloth.lis)s +96(sloth.tex)h +1079 440(sloth.fw)s +243 1059(UNIX)s +64(/device/dir1/)h +-1(dir2/)h +-1(name)h +243 1108(VMS)s +86(node::device:)h +-1([dir1)h +-1(.dir2)h +-1(]name)h +-1(.ext)h +-1(;vn)h +243 1158(MSDOS)s +42(device:\\dir1\\)h +-1(dir2\\)h +-1(name.)h +-1(ext)h +243 1208(MAC)s +86(device:dir1:d)h +-1(ir2:n)h +-1(ame)h +1529 1711(sloth)s +1470 1761(sloth)s +60(sloth.fw)h +426 1811(walrus)s +641(walrus)h +63(walrus.lis)h +660 2032(sloth)s +990(sloth.fw)h +678 2132(sloth)s +270 2519(sloth.lis)s +1295 2702(.)s +233 2835(.)s +cmr10.300 sf +228 42(7.)s +20(Lev)h +-1(el)h +15(4)h +15(lo)h +1(oks)h +15(straigh)h +-1(tforw)h +-1(ard,)h +14(but)h +16(secretly)h +17(conceals)h +16(a)h +15(di\016cult)h +14(design)h +16(decision.)h +22(By)h +15(the)h +16(time)h +281 91(w)s +-1(e)h +19(get)h +19(do)h +-1(wn)h +18(to)h +18(this)h +19(lev)h +-1(el)h +18(of)h +18(inheritance,)h +20(w)h +-1(e)h +18(kno)h +-1(w)h +19(for)h +18(sure)h +19(that)h +19(the)h +19(\014lename)h +17(has)h +19(already)h +281 141(pic)s +-1(k)h +-1(ed)h +15(up)h +15(a)h +14(\014le)h +15(extension.)h +21(So)h +15(all)h +13(that)h +15(is)h +15(left)h +14(to)h +15(inherit)h +15(is)h +15(the)h +15(path)h +15(and)h +14(the)h +16(\014lename)h +13(prop)h +1(er.)h +281 191(Ob)s +-1(viously)h +13(w)h +-1(e)h +14(ha)h +-1(v)h +-1(e)h +14(to)h +14(inherit)h +14(the)h +15(\014lename)h +13(prop)h +1(er)h +15(\(e.g.)h +141(in)h +212(\),)h +11(but)h +15(should)h +14(w)h +-1(e)h +281 241(inherit)s +17(the)h +17(input)h +17(\014le)h +17(path?)h +26(If)h +17(w)h +-1(e)h +17(do)h +16(inherit)h +17(the)h +17(input)h +17(\014le)h +17(path,)h +17(\014les)h +17(will)h +15(b)h +1(e)h +18(placed)h +17(in)h +16(the)h +281 291(same)s +15(directory)h +16(as)h +16(the)h +16(input)h +16(\014le.)h +23(If)h +16(w)h +-1(e)h +16(don't)h +15(inherit)h +16(the)h +16(input)h +15(\014le)h +16(path,)h +16(\014les)h +16(will)h +14(b)h +1(e)h +17(placed)h +281 340(in)s +13(the)h +14(curren)h +-1(t)h +15(directory)h +-3(.)h +18(The)h +14(c)h +-1(hoice)h +14(I)h +13(ha)h +-1(v)h +-1(e)h +14(made)h +12(is)h +13(to)h +13(send)h +15(all)h +12(the)h +14(logging)h +12(t)h +-1(yp)h +1(e)h +14(\014les)h +13(in)h +-1(to)h +13(the)h +281 390(same)s +14(directory)h +17(as)h +15(the)h +16(input)h +15(\014le.)h +23(This)h +15(means,)h +15(for)h +15(example,)h +14(that)h +226(and)h +281 440(will)s +12(generally)h +14(land)h +13(in)h +13(the)h +15(same)h +13(directory)h +14(as)h +190(.)h +17(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +13(I)h +14(ha)h +-1(v)h +-1(e)h +14(decided)h +15(that)h +14(output)h +281 490(\014les)s +12(should)h +11(b)h +1(e)h +12(sen)h +-1(t)h +12(to)h +11(the)h +12(default)h +11(directory)h +12(\(if)h +11(not)h +11(earlier)h +12(sp)h +1(eci\014ed\))h +13(as)h +11(this)h +11(is)h +12(where)h +12(the)h +12(action)h +281 540(is.)s +19(In)h +15(normal)h +12(use,)h +15(the)h +15(mai)h +-1(n)h +13(pro)h +1(duct)h +15(of)h +14(F)h +-3(unnelW)h +-3(eb)h +14(will)h +12(b)h +1(e)h +15(pro)h +1(duct)h +16(\014les)h +14(and)h +14(so)h +15(the)h +15(user)h +15(will)h +281 589(exp)s +1(ect)h +15(them)h +13(to)h +14(app)h +1(ear)h +15(in)h +13(the)h +14(curren)h +-1(t)h +16(directory)h +14(b)h +-1(y)h +14(default.)h +177 871(Another)s +17(problem)h +15(with)h +15(\014le)h +16(names)h +15(is)h +16(the)h +17(v)h +-2(ariation)h +14(of)h +15(their)h +17(structure)h +18(b)h +1(et)h +-1(w)h +-1(een)h +17(en)h +-1(vironmen)h +-1(ts.)h +24(Here)h +177 921(are)s +14(examples)h +13(of)h +14(some)h +13(of)h +13(the)h +14(formats)h +13(that)h +14(prev)h +-2(ail:)h +177 1345(Isn't)s +14(it)h +14(amazing)h +11(that)h +14(none)h +14(of)h +14(these)h +15(p)h +1(opular)h +14(systems)h +14(use)h +14(the)h +15(same)h +13(format?)h +177 1429(The)s +16(solution)h +15(to)h +15(dealing)h +15(with)h +15(these)h +17(di\013eren)h +-1(t)h +16(formats)h +14(is)h +15(to)h +16(classify)h +15(them)h +15(as)h +15(non-p)h +1(ortable)h +15(and)h +16(hide)h +177 1479(the)s +16(functions)h +15(that)h +15(manipul)h +-1(ate)h +14(them)h +14(in)h +14(the)h +16(mac)h +-1(hine-sp)h +1(eci\014c)h +15(mo)h +1(dule)h +13(of)h +15(F)h +-3(unnelW)h +-3(eb.)h +20(Luc)h +-1(kily)h +14(there)h +177 1528(are)s +14(not)h +14(man)h +-1(y)h +12(suc)h +-1(h)h +15(functions.)h +177 1612(The)s +15(mai)h +-1(n)h +12(problem)h +13(is)h +14(coping)h +13(with)h +14(\014le)h +14(systems)h +14(that)h +14(do)h +14(not)h +14(explicitly)h +12(supp)h +1(ort)h +15(\014le)h +14(extensions.)h +19(With)h +177 1661(so)s +14(man)h +-1(y)h +12(p)h +1(ossible)h +14(input)h +13(and)h +13(output)h +14(\014les,)h +14(F)h +-3(unnelW)h +-3(eb)h +13(all)h +12(but)h +14(needs)h +15(suc)h +-1(h)h +15(extensions.)h +19(Mac)h +-1(hines)h +14(that)h +177 1711(do)s +15(not)h +15(supp)h +1(ort)h +16(them)h +14(p)h +1(ose)h +15(di\016cult)h +15(design)h +15(decisions.)h +22(If)h +14(the)h +16(user)h +16(sp)h +1(eci\014es)h +17(\\)h +110(")h +13(as)h +15(an)h +15(input)h +15(\014le)h +177 1761(on)s +12(suc)h +-1(h)h +12(a)h +12(non-extension-supp)h +1(orting)h +12(system,)h +12(should)h +12(F)h +-3(unnelW)h +-3(eb)h +11(lo)h +1(ok)h +11(for)h +132(or)h +188(?)h +16(If)h +11(the)h +177 1811(user)s +15(sp)h +1(eci\014es)h +160(as)h +14(a)h +14(listing)h +13(\014le,)h +13(should)h +14(it)h +13(generate)h +160(or)h +234(?)h +177 1894(Some)s +13(p)h +1(ossible)h +14(solutions)h +13(are:)h +228 2032(1.)s +20(Regard)h +14(the)h +14(\014lename)h +136(as)h +14(ha)h +-1(ving)h +12(an)h +14(empt)h +-1(y)h +13(extension.)h +19(It)h +14(will)h +12(then)h +15(default)h +13(to)h +190(.)h +228 2132(2.)s +20(Regard)h +20(the)h +21(\014lename)h +147(as)h +21(ha)h +-1(ving)h +19(a)h +19(blank)h +20(but)h +20(full)h +19(extension.)h +37(That)h +20(is,)h +21(it)h +20(cannot)h +20(b)h +1(e)h +281 2181(o)s +-1(v)h +-1(erwritten)h +14(b)h +-1(y)h +14(inheritance,)h +14(but)h +14(it)h +14(remains)h +13(blank.)h +228 2282(3.)s +20(Pro)h +-1(vide)h +16(an)h +16(extra)h +17(syn)h +-1(tactic)h +16(mec)h +-1(hanism)h +14(to)h +16(allo)h +-1(w)h +15(the)h +17(user)h +17(to)h +16(sp)h +1(ecify)h +17(one)h +16(or)h +16(other)h +17(of)h +15(the)h +17(t)h +-1(w)h +-1(o)h +281 2331(options)s +13(ab)h +1(o)h +-1(v)h +-1(e.)h +177 2469(My)s +15(solution)h +13(w)h +-1(as)h +15(to)h +14(c)h +-1(ho)h +1(ose)h +16(the)h +15(\014rst)h +15(option.)h +19(Use)h +16(of)h +14(F)h +-3(unnelW)h +-3(eb)h +14(results)h +15(in)h +14(lots)h +15(of)h +14(\014les)h +15(lying)h +13(around)h +177 2519(\(e.g.)s +212(\))h +13(and)h +14(it)h +14(is)h +14(hard)h +15(to)h +14(see)h +16(ho)h +-1(w)h +14(the)h +15(user)h +16(will)h +12(cop)h +1(e)h +16(with)h +14(them)h +14(all)h +13(without)h +14(some)h +13(kind)h +14(of)h +177 2569(naming)s +12(discipline.)h +17(If)h +14(a)h +13(naming)h +12(discipline)h +13(has)h +14(to)h +14(b)h +1(e)h +15(used,)h +14(it)h +14(mig)h +-1(h)h +-1(t)h +12(as)h +14(w)h +-1(ell)h +13(b)h +1(e)h +15(the)h +14(F)h +-3(unnelW)h +-3(eb)h +14(one.)h +177 2652(Th)s +-1(us)h +15(the)h +15(names)h +13(of)h +14(all)h +13(\014les)h +15(read)h +14(and)h +15(written)h +14(b)h +-1(y)h +15(F)h +-3(unnelW)h +-3(eb)h +13(will)h +13(ha)h +-1(v)h +-1(e)h +14(a)h +14(\014le)h +15(extension)h +15(of)h +13(from)h +13(zero)h +177 2702(to)s +14(three)h +15(letters)h +15(separated)h +15(from)h +13(the)h +14(rest)h +15(of)h +13(the)h +15(\014lename)h +13(b)h +-1(y)h +13(a)h +14(\\)h +22(".)h +177 2785(The)s +11(only)h +10(exception)h +12(is)h +11(pro)h +1(duct)h +11(\014les)h +11(whose)h +12(extension)h +11(is)h +11(left)h +10(unde\014ned.)h +19(Pro)h +1(duct)h +12(\014les)h +11(need)h +12(not)h +10(con)h +-1(tain)h +177 2835(a)s +14(\\)h +22(")h +18(and)h +13(a)h +14(\014le)h +14(extension,)h +14(although)h +13(they)h +14(can)h +14(inherit)h +14(one)h +14(if)h +13(the)h +15(user)h +15(wishes.)h +1042 2940(21)s +22 @eop +23 @bop0 +cmmi10.300 sf +[<381F004E61804681C04701C08F01C08E01C00E01C00E01C01C03801C03801C03801C07 +00380710380710380E10380E20700640300380> +24 18 -2 17 25] 110 dc +cmbx10.432 sf +[<007F800001FFF00007FFF8000FE0FE001FC07E003F803F007F003F807F003F80FF001F +C0FF001FC0FF001FC0FF001FC0FF001FE0FF001FE0FF001FE0FF001FE07F003FE07F003F +E07F003FE03F807FE01F80FFE00FE1DFE003FF9FE0007E1FE000001FE000001FC000001F +C000001FC000003FC01F003F803F803F803F807F003F807F003F80FE003F01FC001E03F8 +000FFFE00007FF800001FE0000> +32 39 -3 38 34] 57 dc +[<FFE1FE0000FFE7FF8000FFFE07E0000FF803F8000FF001FC000FE001FE000FE000FE00 +0FE000FF000FE000FF000FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800F +E0007F800FE0007F800FE0007F800FE0007F800FE000FF000FE000FF000FE000FE000FF0 +01FE000FF003FC000FF803F8000FFE0FE0000FEFFF80000FE1FC00000FE00000000FE000 +00000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000 +00FFFE000000FFFE000000FFFE000000> +40 39 -2 26 38] 112 dc +[<FFE0000000FFE0000000FFE00000000FE00000000FE00000000FE00000000FE0000000 +0FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000F +E00000000FE07F00000FE1FFC0000FE787E0000FEE07F0000FFC03F8000FF803F8000FF0 +03F8000FF003F8000FF003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003 +F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8 +000FE003F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80FFFE3FFF80> +40 42 -3 41 38] 104 dc +[<FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80> +24 6 -1 16 23] 45 dc +cmtt10.300 sf +[<0FE03FF87FFCF01EF00EF00E601E007C00F801F003E003C00380038003800380030000 +000000000000000300078007800300> +16 25 -3 24 22] 63 dc +23 @bop1 +cmmi10.300 sf +1769 1149(n)s +cmbx10.432 sf +177 42(1.9)s +70(Sp)h +2(ecifying)h +31(Constrain)h +-2(ts)h +33(on)h +34(the)h +32(Num)h +-3(b)h +2(er)h +31(of)h +34(Instan)h +-2(tia-)h +334 116(tions)s +cmtt10.300 sf +1885 605(@Z)s +279 655(@M)s +243 770(0..1)s +217(@$@<Sloth@>)h +-1(@Z==.)h +-1(..)h +308 819(1)s +218(@$@<Sloth@>)h +-1(==...)h +308 869(1..n)s +152(@$@<Sloth@>)h +-1(@M==.)h +-1(..)h +243 919(0.....n)s +151(@$@<Sloth@>)h +-1(@Z@M=)h +-1(=...)h +1682 1446(@?)s +98(@M)h +347 1496(@$)s +1219 1610(@?)s +393(@M)h +1124 1693(@$@<name)s +177 1973(@?@M@$@<Sloth)s +-1(y)h +20(dogs@>@\(@5@\)=)h +-1(=@{@-)h +177 2022(This)s +21(is)h +22(a)h +21(short)h +21(macro.)h +177 2072(With)s +21(only)h +21(a)h +22(line)h +21(or)h +21(two@})h +177 2172(@$@<Slothy)s +20(dogs@>@?@M@\()h +-1(@5@\)=)h +-1(=@{@-)h +177 2222(This)s +21(is)h +22(a)h +21(short)h +21(macro.)h +177 2271(With)s +21(only)h +21(a)h +22(line)h +21(or)h +21(two@})h +177 2371(@$@<Slothy)s +20(dogs@>@\(@5@\))h +-1(@?@M=)h +-1(=@{@-)h +177 2421(This)s +21(is)h +22(a)h +21(short)h +21(macro.)h +177 2471(With)s +21(only)h +21(a)h +22(line)h +21(or)h +21(two@)h +177 2635(@$)s +1714 2735(==)s +68(+=)h +910 2785(01==)s +1329 2835(==)s +cmr10.300 sf +177 232(Exp)s +1(erience)h +17(with)h +14(F)h +-3(unnelW)h +-3(eb)h +14(V1)h +14(demonstrated)h +15(the)h +15(need)h +15(to)h +15(b)h +1(e)h +15(able)h +14(to)h +14(sp)h +1(ecify)h +15(in)h +15(macro)h +13(de\014nitions)h +177 281(ho)s +-1(w)h +12(man)h +-1(y)h +11(times)h +12(it)h +12(w)h +-1(as)h +13(exp)h +1(ected)h +14(that)h +13(the)h +13(macro)h +12(w)h +-1(ould)h +12(b)h +1(e)h +13(used.)h +18(F)h +-3(unnelW)h +-3(eb)h +13(V1)h +12(generates)h +14(an)h +13(error)h +177 331(if)s +13(a)h +13(macro)h +12(is)h +13(not)h +13(used,)h +14(but)h +14(p)h +1(ermits)h +13(macros)h +12(to)h +14(b)h +1(e)h +14(called)h +13(more)h +12(than)h +13(once.)h +19(This)h +13(caused)h +15(problems)h +12(for)h +177 381(macro)s +13(libraries,)h +13(whic)h +-1(h)h +14(w)h +-1(ould)h +13(b)h +1(e)h +14(included,)h +14(but)h +14(whose)h +14(macros)h +13(w)h +-1(ere)h +15(often)h +14(not)h +14(called.)h +177 455(By)s +14(default,)h +12(F)h +-3(unnelW)h +-3(eb)h +13(V3)h +14(requires)h +14(that)h +14(eac)h +-1(h)h +13(macro)h +13(\(except)h +15(for)h +13(the)h +14(ones)h +13(attac)h +-1(hed)h +14(to)h +14(output)h +13(\014les\))h +177 505(b)s +1(e)h +19(called)h +17(exactly)h +18(once.)h +30(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +19(it)h +18(also)h +17(pro)h +-1(vides)h +18(syn)h +-1(tax)h +18(that)h +17(allo)h +-1(ws)h +17(the)h +18(user)h +19(to)h +18(sp)h +1(ecify)h +18(that)h +18(a)h +177 555(macro)s +13(b)h +1(e)h +14(allo)h +-1(w)h +-1(ed)h +12(to)h +14(b)h +1(e)h +14(called)h +13(zero)h +15(times)h +12(or)h +14(man)h +-1(y)h +12(times.)h +17(This)h +13(allo)h +-1(ws)h +13(a)h +13(macro)h +12(to)h +14(b)h +1(e)h +14(sp)h +1(eci\014ed)h +15(with)h +177 605(the)s +14(follo)h +-1(wing)h +11(p)h +1(ermissible)h +13(ranges)h +14(of)h +13(n)h +-1(um)h +-1(b)h +1(ers)h +13(of)h +13(calls)h +13(dep)h +1(ending)h +14(on)h +13(the)h +14(presence)h +16(or)h +14(absence)h +15(of)h +13(\\)h +44(")h +177 655(and)s +14(\\)h +44(":)h +177 1034(The)s +14(only)h +14(t)h +-1(w)h +-1(o)h +13(problems)h +13(with)h +13(this)h +14(sc)h +-1(heme)h +14(are:)h +228 1149(1.)s +20(It)h +11(is)h +11(incompatible)h +10(with)h +11(F)h +-3(unnelW)h +-3(eb)h +10(V1)h +12(\014les,)h +11(as)h +12(the)h +11(default)h +11(in)h +11(F)h +-3(unnelW)h +-3(eb)h +11(V1)h +11(is)h +11(1)h +7(.)h +7(.)h +7(.)h +41(whereas)h +281 1198(the)s +16(default)h +16(in)h +15(new)h +16(F)h +-3(unnelW)h +-3(eb)h +15(is)h +16(1.)h +23(This)h +16(is)h +15(not)h +16(a)h +16(big)h +15(problem)h +14(b)h +1(ecause)h +17(most)h +15(macros)h +15(in)h +15(the)h +281 1248(old)s +13(\014les)h +14(w)h +-1(ere)h +15(used)h +15(exactly)h +14(once.)h +19(Only)h +13(a)h +14(few)h +14(macros)h +13(will)h +12(ha)h +-1(v)h +-1(e)h +14(to)h +14(b)h +1(e)h +14(c)h +-1(hanged.)h +228 1331(2.)s +20(What)h +13(should)h +14(the)h +15(syn)h +-1(tax)h +13(b)h +1(e?)h +19(\(ab)h +1(o)h +-1(v)h +-1(e)h +14(is)h +14(a)h +13(sneak)h +15(preview)h +14(only!\))h +177 1446(The)s +14(initial)h +11(prop)h +1(osal)h +13(for)h +13(syn)h +-1(tax)h +13(w)h +-1(as)h +13(to)h +13(allo)h +-1(w)h +12(the)h +14(user)h +14(to)h +13(insert)h +14(zero,)h +14(one,)h +13(or)h +13(b)h +1(oth)h +13(of)h +75(and)h +70(just)h +177 1496(after)s +14(the)h +72(of)h +13(a)h +14(macro)h +13(de\014nition.)h +17(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +14(this)h +14(has)h +14(the)h +15(follo)h +-1(wi)h +-1(ng)h +12(dra)h +-1(wbac)h +-1(ks:)h +228 1610(1.)s +20(It)h +14(uses)h +15(t)h +-1(w)h +-1(o)h +13(sequence)h +1(s)h +16(that)h +14(are)h +14(desirable)h +14(to)h +14(reserv)h +-1(e)h +16(\()h +62(for)h +14(conditionals)h +13(and)h +71(for)h +13(macro\).)h +228 1693(2.)s +20(It)h +14(stops)h +14(the)h +15(user)h +15(from)h +12(searc)h +-1(hing)h +14(for)h +14(the)h +14(string)h +203(to)h +13(\014nd)h +14(the)h +15(de\014nition)h +13(of)h +14(a)h +13(macro.)h +177 1808(These)s +14(are)h +12(signi\014can)h +-1(t)h +12(problems.)h +17(Here)h +13(are)h +13(some)h +11(alternativ)h +-1(e)h +12(ideas)h +13(for)h +12(where)h +13(to)h +12(p)h +1(osition)h +12(the)h +13(mo)h +1(di\014ers)h +177 1858(in)s +14(the)h +14(macro)h +13(de\014nition:)h +177 2586(The)s +14(\014rst)h +13(form)h +11(puts)h +14(me)h +12(o\013)h +13(b)h +1(ecause)h +14(I)h +13(think)h +13(that)h +13(it)h +12(is)h +13(a)h +13(go)h +1(o)h +1(d)h +12(visual)h +12(rule)h +13(to)h +13(start)h +14(all)h +12(the)h +13(macros)h +12(with)h +221 2635(.)s +17(The)h +12(second)h +13(form)h +10(puts)h +13(me)h +10(o\013)h +12(b)h +1(ecause)h +14(it)h +11(detac)h +-1(hes)h +13(the)h +13(macro)h +10(name)h +11(from)h +10(the)h +13(parameter)h +11(list,)h +11(th)h +-1(us)h +177 2685(making)s +11(it)h +13(lo)h +1(ok)h +12(less)h +14(lik)h +-1(e)h +13(a)h +13(call,)h +12(whic)h +-1(h)h +13(is)h +14(desirable)h +13(syn)h +-1(tactic)h +14(resonance.)h +20(The)h +13(third)h +14(form)h +11(is)h +14(messy)h +13(but)h +177 2735(probably)s +15(w)h +-1(ork)h +-2(able.)h +23(Because)h +17(w)h +-1(e)h +16(are)h +16(righ)h +-1(t)h +16(next)h +16(to)h +15(the)h +16(tested)h +18(constan)h +-1(t)h +16(string)h +16(\(either)h +76(or)h +59(\))h +16(w)h +-1(e)h +177 2785(could)s +15(augmen)h +-1(t)h +13(it)h +14(further.)h +21(F)h +-3(or)h +15(example,)h +115(could)h +14(allo)h +-1(w)h +13(a)h +14(macro)h +14(to)h +14(b)h +1(e)h +16(called)h +14(from)h +13(0)h +14(to)h +15(1)h +14(times.)h +177 2835(The)s +14(main)h +12(problem)h +13(with)h +13(this)h +14(is)h +14(that)h +14(w)h +-1(e)h +14(are)h +14(trying)h +14(to)h +14(phase)h +14(out)h +71(an)h +-1(yw)h +-1(a)h +-1(y!)h +1042 2940(22)s +23 @eop +24 @bop0 +cmbx10.432 sf +[<003F800001FFF00007E0FC000FC07E001F803F001F803F003F001F803F001F807F001F +C07F001FC07F001FC07F001FC0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001F +E0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001F +E07F001FC07F001FC07F001FC07F001FC03F001F803F001F801F803F001F803F000FC07E +0007E0FC0001FFF000003F8000> +32 39 -3 38 34] 48 dc +[<FFFFFFF80000FFFFFFFF8000FFFFFFFFC00003F8001FF00003F8000FF80003F80007FC +0003F80003FC0003F80003FC0003F80003FE0003F80001FE0003F80001FE0003F80001FE +0003F80003FE0003F80003FC0003F80003FC0003F80007F80003F8000FF00003F8001FE0 +0003F800FFC00003FFFFFE000003FFFFFFE00003F80007F00003F80003FC0003F80001FE +0003F80001FE0003F80000FF0003F80000FF0003F80000FF8003F80000FF8003F80000FF +8003F80000FF8003F80000FF8003F80000FF8003F80000FF0003F80001FF0003F80003FE +0003F80007FC0003F8001FF800FFFFFFFFF000FFFFFFFFC000FFFFFFFE0000> +48 41 -3 40 49] 66 dc +cmbx10.300 sf +[<FFFFFF00FFFFFF000FC01F000FC007000FC003000FC003800FC003800FC181800FC181 +800FC181800FC180000FC380000FFF80000FFF80000FC380000FC180000FC180000FC180 +600FC180600FC000E00FC000C00FC000C00FC001C00FC001C00FC003C00FC00F80FFFFFF +80FFFFFF80> +32 28 -2 27 31] 69 dc +[<7FFE1FFE007FFE1FFE0007F001800003F803800001FC07000000FC06000000FE0C0000 +007F1C0000003F380000003FB00000001FE00000000FE00000000FE000000007F0000000 +03F800000007F80000000FFC0000000CFE000000187E000000387F000000703F80000060 +1F800000C01FC00001C00FE000018007F000030007F000FFF03FFF80FFF03FFF80> +40 28 -1 27 36] 88 dc +cmtt10.300 sf +[<00F80003FE000FFF001F0F003E0F003C0F00780600700000F00000F3F800EFFE00FFFE +00F80F00F00780F00780E00380F00380F00380700380780780780F003C1F001FFE000FF8 +0003E000> +24 25 -2 24 22] 54 dc +[<007C0000FC0000DC0001DC00039C00039C00071C000F1C000E1C001E1C003C1C00381C +00781C00F01C00FFFFE0FFFFE0FFFFE0001C00001C00001C00001C00001C0001FFC001FF +C001FFC0> +24 25 -1 24 22] 52 dc +cmr10.300 sf +[<FFFFFFFFFF80> +48 1 0 11 42] 124 dc +24 @bop1 +cmsy10.300 sf +239 1110(\017)s +239 1194(\017)s +239 1279(\017)s +239 1363(\017)s +239 1448(\017)s +cmbx10.432 sf +177 750(1.10)s +70(The)h +25(Relati)h +-1(onship)h +24(Bet)h +-2(w)h +-2(een)h +23(Do)h +2(cum)h +-1(en)h +-2(t)h +23(Structure)h +25(and)h +368 825(Macro)s +24(Structure)h +cmbx10.300 sf +177 292(Decision:)s +177 1642(Basically)s +13(a)h +14(T)h +439 1651(E)s +464 1642(X)s +15(\014le:)h +177 2342(Confusion)s +11(in)h +13(F)h +-4(unnelW)h +-4(eb)h +11(V1)h +14(Heading)h +12(Num)h +-1(b)h +1(ering:)h +177 2567(Hierarc)s +-1(hical)h +10(n)h +-1(um)h +-1(berin)h +-1(g)h +10(is)h +12(messy)h +11(for)h +12(macros:)h +cmtt10.300 sf +1059 167(@?)s +669 217(@Z)s +1416 292(@Z)s +257(@M)h +177 486(@$@<Slothy)s +20(dogs@>@\(@5@\))h +-1(@Z@M+)h +-1(=@{@-)h +177 536(This)s +21(is)h +22(a)h +21(short)h +21(macro.)h +177 585(With)s +21(only)h +21(a)h +22(line)h +21(or)h +21(two@})h +1233 1642(.fw)s +382 1691(.fw)s +177 1791(@)s +1312 2091(@A)s +21(@B)h +21(@C)h +1182 2217(@)s +243 2835(Write)s +20(out)h +21(the)h +22(output[6.7.)h +-1(4.3])h +cmr10.300 sf +177 42(Nev)s +-1(ertheless)h +1(,)h +16(all)h +13(the)h +16(logic)h +13(p)h +1(oin)h +-1(ts)h +15(to)h +14(after)h +15(the)h +15(parameter)h +15(list)h +14(as)h +15(the)h +15(b)h +1(est)h +16(place)h +15(to)h +14(lo)h +1(cate)h +15(this)h +15(infor-)h +177 91(mation.)s +177 167(After)s +21(some)h +18(though)h +-1(t,)h +21(it)h +19(w)h +-1(as)h +20(decided)h +21(that)h +20(the)h +20(\\)h +44(")h +35(sequence)h +22(b)h +1(e)h +20(reserv)h +-1(ed)h +22(for)h +20(a)h +19(p)h +1(ossible)h +20(future)h +177 217(conditional)s +13(facilit)h +-1(y)h +-3(,)h +11(and)h +14(so)h +71(w)h +-1(as)h +14(used)h +15(instead.)h +384 292(The)s +15(p)h +1(osition)h +13(is)h +14(after)h +14(the)h +14(parameter)h +14(list.)h +17(The)h +15(notation)h +13(is)h +71(for)h +13(zero,)h +15(and)h +71(for)h +13(man)h +-1(y)h +-3(.)h +177 368(Example)s +13(of)h +13(\014nal)h +13(syn)h +-1(tax:)h +177 942(Ha)s +-1(ving)h +15(already)h +16(decided)h +17(up)h +1(on)h +16(a)h +16(fully)h +14(hierarc)h +-1(hical)h +16(do)h +1(cumen)h +-1(t)h +16(structure,)h +18(I)h +16(determined)h +16(to)h +16(re\014ne)h +17(the)h +177 992(details.)s +18(The)h +14(issues)h +15(to)h +14(b)h +1(e)h +15(addressed)h +15(w)h +-1(ere)h +15(as)h +14(follo)h +-1(ws:)h +281 1110(Ho)s +-1(w)h +13(should)h +14(the)h +15(hierarc)h +-1(hical)h +13(structure)h +16(connect)h +16(to)h +13(the)h +15(macro)h +13(structure?)h +281 1194(Ho)s +-1(w)h +13(can)h +15(bac)h +-1(kw)h +-1(ards)h +14(compatibil)h +-1(it)h +-1(y)h +11(b)h +1(e)h +15(ac)h +-1(hiev)h +-1(ed?)h +18(Should)h +14(it?)h +281 1279(Should)s +13(the)h +15(macros)h +13(b)h +1(e)h +14(cross)h +15(reference)h +1(d)h +16(b)h +-1(y)h +13(section)h +15(or)h +14(b)h +-1(y)h +14(de\014nition?)h +281 1363(Should)s +13(nameless)h +14(sections)h +15(inherit)h +14(macro)h +12(names)h +13(as)h +14(headings?)h +281 1448(Should)s +13(w)h +-1(e)h +14(simply)h +12(use)h +15(T)h +708 1457(E)s +731 1448(X)s +14(macros)h +13(to)h +14(structure)h +16(the)h +14(do)h +1(cumen)h +-1(t?)h +177 1566(After)s +15(some)h +13(though)h +-1(t,)h +13(I)h +14(arriv)h +-1(ed)h +14(at)h +13(the)h +15(follo)h +-1(wi)h +-1(ng)h +12(though)h +-1(ts:)h +607 1642(One)s +13(option)h +12(is)h +12(simply)h +10(to)h +12(treat)h +13(eac)h +-1(h)h +90(\014le)h +13(as)h +12(a)h +12(T)h +1481 1651(E)s +1504 1642(X)s +12(\014le)h +13(laced)h +12(with)h +12(macros.)h +177 1691(That)s +18(is,)h +18(a)h +101(\014le)h +18(could)h +17(b)h +1(e)h +19(structured)h +20(as)h +18(a)h +17(real)h +18(T)h +1117 1700(E)s +1140 1691(X)s +18(\014le)h +18(from)h +16(whic)h +-1(h)h +18(F)h +-3(unnelW)h +-3(eb)h +17(could)h +18(extract)h +177 1741(macro)s +13(de\014nitions.)h +18(This)h +13(approac)h +-1(h)h +14(is)h +14(feasible)h +13(b)h +1(ecause)h +16(T)h +1157 1750(E)s +1180 1741(X)s +14(could)h +13(b)h +1(e)h +15(programm)h +-1(ed)h +12(to)h +14(resp)h +1(ond)h +15(to)h +13(the)h +212 1791(sequences)s +15(in)h +12(the)h +14(same)h +12(w)h +-1(a)h +-1(y)h +12(that)h +13(F)h +-3(unnelW)h +-3(eb)h +12(resp)h +1(onds)h +14(to)h +13(them.)h +17(Th)h +-1(us,)h +12(there)h +14(w)h +-1(ould)h +12(b)h +1(e)h +14(no)h +12(need)h +14(for)h +177 1841(W)s +-3(ea)h +-1(v)h +-1(e.)h +177 1916(I)s +15(rejected)h +17(this)h +15(approac)h +-1(h,)h +15(\014rst)h +15(b)h +1(ecause)h +17(it)h +15(is)h +15(to)h +1(o)h +14(t)h +-1(yp)h +1(esetter)h +1(-dep)h +1(e)h +1(nden)h +-1(t,)h +17(and)h +15(second)h +16(b)h +1(ecause)h +17(it)h +14(com-)h +177 1966(plicates)s +16(the)h +17(inclusion)h +15(of)h +16(an)h +-1(y)h +15(sort)h +16(of)h +16(complicated)h +14(p)h +1(ost-pro)h +1(cess)h +1(ing)h +17(in)h +15(the)h +17(do)h +1(cumen)h +-1(tation)h +15(\014le.)h +24(This)h +177 2016(w)s +-1(ould)h +13(ha)h +-1(v)h +-1(e)h +14(to)h +14(b)h +1(e)h +14(implem)h +-1(en)h +-1(ted)h +13(in)h +13(T)h +818 2025(E)s +841 2016(X.)s +177 2091(A)s +14(b)h +1(etter)h +15(approac)h +-1(h)h +14(is)h +13(to)h +14(use)h +14(an)h +14(in)h +-1(v)h +-1(en)h +-1(ted)h +14(section)h +14(notation)h +13(\(e.g.)h +192(\).)h +13(This)h +14(main)h +-1(tai)h +-1(ns)h +12(F)h +-3(unnel-)h +177 2141(W)s +-3(eb's)h +12(t)h +-1(yp)h +1(esette)h +1(r)h +15(indep)h +1(endence)h +15(and)h +12(can)h +13(easily)h +12(b)h +1(e)h +14(con)h +-1(v)h +-1(erted)h +14(in)h +-1(to)h +12(T)h +1365 2150(E)s +1388 2141(X)s +13(sectioning)h +12(macros)h +12(b)h +-1(y)h +13(W)h +-3(ea)h +-1(v)h +-1(e.)h +177 2217(In)s +13(the)h +14(same)h +12(spirit,)h +12(it)h +13(migh)h +-1(t)h +11(b)h +1(e)h +14(w)h +-1(orth)h +13(in)h +-1(tro)h +1(ducing)h +12(a)h +13(few)h +48(sequences)h +15(for)h +13(certain)h +14(general)h +13(t)h +-1(yp)h +1(esetting)h +177 2267(op)s +1(erations)h +14(suc)h +-1(h)h +15(as)h +14(italics)h +13(and)h +14(program)h +12(co)h +1(de.)h +1227 2342(F)s +-3(unnelW)h +-3(eb)h +12(V1)h +12(uses)h +13(t)h +-1(w)h +-1(o)h +12(lev)h +-1(els)h +12(of)h +11(section)h +177 2392(headings,)s +16(but)h +16(n)h +-1(um)h +-1(b)h +1(ers)h +15(all)h +14(the)h +16(headings)h +16(sequen)h +-1(tially)h +-3(.)h +22(In)h +16(this,)h +15(it)h +16(is)h +15(a)h +15(little)h +15(confused.)h +24(Clearly)h +15(with)h +177 2442(a)s +20(fully)h +18(hierarc)h +-1(hical)h +19(do)h +1(cumen)h +-1(t)h +20(structure,)h +22(the)h +21(headings)h +19(cannot)h +20(b)h +1(e)h +20(n)h +-1(um)h +-1(b)h +1(ered)h +20(sequen)h +-1(tially)h +19(|)h +19(the)h +177 2492(n)s +-1(um)h +-1(b)h +1(ering)h +13(m)h +-1(ust)h +13(re\015ect)h +15(the)h +15(structure)h +16(\(e.g.)h +13(3.2.1\).)h +1105 2567(Unfortunately)s +-3(,)h +11(hierarc)h +-1(hical)h +10(n)h +-1(um)h +-1(b)h +1(ering)h +10(is)h +10(messy)h +177 2617(and)s +14(confusing)h +13(when)h +15(applied)h +13(to)h +14(macro)h +12(names.)h +18(In)h +14(F)h +-3(unnelW)h +-3(eb)h +13(V1's)h +14(t)h +-1(yp)h +1(eset)h +15(output,)h +14(eac)h +-1(h)h +14(macro)h +13(call)h +177 2667(has)s +15(app)h +1(ended)h +15(in)h +14(square)h +15(brac)h +-1(k)h +-1(ets)h +16(the)h +15(n)h +-1(um)h +-1(b)h +1(er)h +14(of)h +13(the)h +15(section)h +16(in)h +14(whic)h +-1(h)h +14(the)h +15(macro)h +13(is)h +14(de\014ned.)h +21(Use)h +15(of)h +177 2716(hierarc)s +-1(hical)h +14(n)h +-1(um)h +-1(b)h +1(ering)h +12(w)h +-1(ould)h +14(b)h +1(e)h +14(somewhat)h +13(messy)h +-3(.)h +17(F)h +-3(or)h +14(example,)h +12(a)h +13(macro)h +13(call)h +13(migh)h +-1(t)h +12(lo)h +1(ok)h +13(lik)h +-1(e.)h +1042 2940(23)s +24 @eop +25 @bop0 +25 @bop1 +cmsy10.300 sf +239 1640(\017)s +239 1741(\017)s +239 1842(\017)s +239 1943(\017)s +239 2045(\017)s +239 2146(\017)s +239 2473(\017)s +239 2574(\017)s +239 2676(\017)s +239 2777(\017)s +cmti10.300 sf +696 702(input)s +14(format)h +158(typ)h +-2(eset)h +13(output)h +cmtt10.300 sf +243 180(This)s +21(macro)h +20(is)h +22(used)h +21(in)h +21(3.4.5,)h +21(1.2,)h +21(7.8.9,)h +20(7.4,)h +21(2.2.1.1.)h +1563 752(.fw)s +692 951(.fw)s +1198 1640(@A)s +25(@B)h +1149 1741(@<@>)s +cmbx10.300 sf +177 319(Separate)s +12(n)h +-1(um)h +-1(b)h +1(eri)h +-1(ng)h +11(for)h +13(macros)h +14(and)h +13(headings)h +-1(:)h +177 652(Input)s +14(format)h +14(matters)h +13(more)h +15(than)h +14(output)h +13(format:)h +177 1168(Naming)s +17(sections:)h +cmr10.300 sf +177 42(Simil)s +-1(arly)h +-4(,)h +12(cross)h +15(reference)h +16(lists)h +14(w)h +-1(ould)h +13(b)h +1(e)h +15(messy:)h +1143 319(One)s +13(idea)h +12(is)h +12(to)h +12(use)h +12(hierarc)h +-1(hical)h +12(n)h +-1(um)h +-1(b)h +1(ering)h +11(for)h +177 369(the)s +13(sections,)h +14(but)h +13(to)h +12(n)h +-1(um)h +-1(b)h +1(er)h +12(the)h +13(macros)h +12(sequen)h +-1(tially)h +-3(.)h +16(This)h +13(could)h +12(b)h +1(e)h +13(a)h +13(little)h +12(confusing)h +12(in)h +12(do)h +1(cumen)h +-1(ts)h +177 419(without)s +15(m)h +-1(uc)h +-1(h)h +15(structure,)h +17(but)h +16(w)h +-1(ould)h +15(b)h +1(e)h +16(v)h +-1(ery)h +16(m)h +-1(uc)h +-1(h)h +15(less)h +16(messy)h +15(than)h +16(cross)h +16(referencing)h +17(using)h +16(hierar-)h +177 469(c)s +-1(hical)h +15(n)h +-1(um)h +-1(b)h +1(ering.)h +22(Also,)h +15(it)h +15(will)h +14(b)h +1(e)h +16(easier)h +16(to)h +16(\014nd)h +15(macros)h +15(indexed)h +16(b)h +-1(y)h +15(a)h +15(sequen)h +-1(tial)h +16(n)h +-1(um)h +-1(b)h +1(er)h +15(than)h +15(b)h +-1(y)h +177 519(section,)s +15(whic)h +-1(h)h +15(has)h +15(a)h +15(less)h +15(direct)h +16(relationship)h +14(with)h +15(page)h +15(bulk)h +14(and)h +15(n)h +-1(um)h +-1(b)h +1(er.)h +20(By)h +15(macro)h +13(n)h +-1(um)h +-1(b)h +1(ering)h +14(is)h +177 568(mean)s +-1(t)h +13(the)h +14(sequen)h +-1(tial)h +14(n)h +-1(um)h +-1(b)h +1(ering)h +13(of)h +13(eac)h +-1(h)h +14(macro)h +13(b)h +1(o)h +1(dy)h +14(part)h +14(through)h +14(the)h +15(whole)h +13(do)h +1(cumen)h +-1(t.)h +1197 652(A)s +-1(t)h +13(this)h +14(p)h +1(oin)h +-1(t)h +12(w)h +-1(e)h +14(realize)h +14(that)h +13(a)h +13(distinction)h +177 702(should)s +12(b)h +1(e)h +12(made)h +10(b)h +1(et)h +-1(w)h +-1(een)h +13(the)h +251(and)h +11(the)h +261(.)h +18(The)h +12(critical)h +11(issue)h +12(here)h +13(is)h +12(not)h +11(ho)h +-1(w)h +177 752(the)s +16(program)h +14(should)h +15(b)h +1(e)h +17(formatted)h +14(for)h +15(prin)h +-1(ting,)h +15(but)h +15(rather)h +17(the)h +16(format)h +13(of)h +15(its)h +97(\014le.)h +22(The)h +16(t)h +-1(yp)h +1(eset)h +177 802(output)s +14(can)h +15(alw)h +-1(a)h +-1(ys)h +13(b)h +1(e)h +14(c)h +-1(hanged)h +15(simply)h +12(b)h +-1(y)h +14(\014ddling)h +13(with)h +13(W)h +-3(ea)h +-1(v)h +-1(e.)h +18(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +14(as)h +14(so)h +1(on)h +14(as)h +15(the)h +14(do)h +1(cumen)h +-1(t)h +177 851(structuring)s +14(features)h +13(of)h +12(F)h +-3(unnelW)h +-3(eb)h +12(are)h +13(\014xed,)h +12(they)h +13(will)h +11(b)h +1(e)h +13(used)h +14(in)h +12(dozens)h +13(or)h +12(h)h +-1(undreds)h +14(of)h +12(do)h +1(cumen)h +-1(ts)h +177 901(and)s +15(it)h +15(will)h +14(b)h +1(e)h +16(v)h +-1(ery)h +16(di\016cult)h +15(indeed)h +16(to)h +15(c)h +-1(hange)h +16(them.)h +21(Therefore,)h +17(the)h +16(imp)h +1(ortan)h +-1(t)h +14(thing)h +14(is)h +16(to)h +15(pro)h +-1(vide)h +177 951(as)s +14(sensible)h +15(and)h +14(expressiv)h +-1(e)h +15(a)h +93(format)h +12(as)h +14(p)h +1(ossible.)h +177 1035(It)s +11(is)h +11(therefore)h +12(a)h +10(separate)h +12(decision)h +11(as)h +11(to)h +10(whether)h +12(w)h +-1(e)h +11(should)h +11(n)h +-1(um)h +-1(b)h +1(er)h +10(macros)h +10(b)h +-1(y)h +10(section)h +11(or)h +11(b)h +-1(y)h +11(sequence)h +177 1085(n)s +-1(um)h +-1(b)h +1(er.)h +17(The)h +15(imp)h +1(ortan)h +-1(t)h +12(thing)h +13(is)h +14(to)h +14(address)h +15(the)h +14(format)h +13(and)h +13(rules)h +15(for)h +13(the)h +15(expression)h +15(of)h +13(structure.)h +556 1168(The)s +16(naming)h +13(of)h +15(sections)h +16(requires)h +17(some)h +14(though)h +-1(t.)h +22(In)h +16(man)h +-1(y)h +13(cases)h +17(\(esp)h +1(ecially)h +15(in)h +177 1218(the)s +19(case)h +19(of)h +17(high-lev)h +-1(el)h +17(sections\))h +19(the)h +18(writer)h +19(will)h +16(pro)h +-1(vide)h +18(an)h +18(explicit)h +17(name)h +17(for)h +18(a)h +17(section.)h +31(In)h +18(other)h +177 1268(cases,)s +15(pro)h +-1(vision)h +13(of)h +13(suc)h +-1(h)h +14(a)h +14(name)h +12(will)h +13(merely)h +13(duplicate)h +13(the)h +15(name)h +12(of)h +13(the)h +15(macro)h +12(con)h +-1(tained)h +14(within)h +13(the)h +177 1318(section.)s +23(It)h +15(therefore)h +17(mak)h +-1(es)h +14(sense)h +17(to)h +15(allo)h +-1(w)h +13(the)h +16(user)h +16(to)h +15(omit)h +14(the)h +15(name)h +14(from)h +14(a)h +15(section,)h +15(with)h +15(W)h +-3(ea)h +-1(v)h +-1(e)h +177 1368(naming)s +10(the)h +14(section)h +13(after)h +13(the)h +13(\014rst)h +14(macro)h +11(de\014nition)h +12(in)h +12(the)h +14(section.)h +18(If)h +12(a)h +13(macro)h +11(is)h +12(unnamed)h +12(and)h +12(there)h +177 1417(is)s +14(no)h +14(macro)h +12(in)h +14(the)h +14(section,)h +14(an)h +14(error)h +15(can)h +14(b)h +1(e)h +14(generated.)h +177 1501(All)s +13(these)h +16(though)h +-1(ts)h +14(lead)h +13(to)h +14(the)h +14(follo)h +-1(wing)h +12(sc)h +-1(heme:)h +281 1640(Do)s +1(cumen)h +-1(ts)h +13(will)h +13(b)h +1(e)h +14(hierarc)h +-1(hically)h +14(structured)h +16(using)h +57(,)h +71(etc.)h +281 1741(Eac)s +-1(h)h +14(section)h +15(can)h +14(b)h +1(e)h +14(giv)h +-1(en)h +14(a)h +13(name)h +13(delimited)h +12(b)h +-1(y)h +102(.)h +281 1842(Sections)s +15(that)h +14(do)h +13(not)h +14(ha)h +-1(v)h +-1(e)h +14(names)h +13(inherit)h +14(the)h +14(name)h +13(of)h +13(their)h +14(\014rst)h +15(macro.)h +281 1943(If)s +13(a)h +14(section)h +15(do)h +1(es)h +14(not)h +14(ha)h +-1(v)h +-1(e)h +14(a)h +13(name)h +13(or)h +14(a)h +14(macro,)h +12(it)h +13(is)h +14(erroneous.)h +281 2045(Sections)s +15(will)h +12(b)h +1(e)h +15(n)h +-1(um)h +-1(b)h +1(ered)h +13(hierarc)h +-1(hically)h +13(either)h +15(b)h +-1(y)h +14(F)h +-3(unnelW)h +-3(eb)h +13(or)h +14(b)h +-1(y)h +14(T)h +1551 2054(E)s +1574 2045(X.)s +281 2146(Macro)s +12(b)h +1(o)h +1(dy)h +11(parts)h +12(will)h +10(b)h +1(e)h +12(n)h +-1(um)h +-1(b)h +1(ered)h +11(sequen)h +-1(tially)h +11(b)h +-1(y)h +11(F)h +-3(unnelW)h +-3(eb)h +11(and)h +12(cross)h +12(reference)h +1(d)h +13(b)h +-1(y)h +11(these)h +281 2196(n)s +-1(um)h +-1(b)h +1(ers.)h +177 2334(All)s +13(this)h +14(results)h +15(in)h +14(a)h +13(system)h +14(whic)h +-1(h:)h +281 2473(Pro)s +-1(vides)h +14(a)h +14(hierarc)h +-1(hical)h +14(do)h +1(cumen)h +-1(t)h +13(structuring)h +15(capabilit)h +-1(y)h +-3(.)h +281 2574(Is)s +14(t)h +-1(yp)h +1(esetter)h +16(indep)h +1(enden)h +-1(t.)h +281 2676(Do)s +1(es)h +14(not)h +14(require)h +15(duplication)h +13(b)h +1(et)h +-1(w)h +-1(een)h +15(heading)h +13(and)h +14(macro)h +13(names.)h +281 2777(Separates)s +14(the)h +13(heading)h +12(and)h +13(macro)h +11(systems)h +13(so)h +12(that)h +13(W)h +-3(ea)h +-1(v)h +-1(e)h +12(can)h +13(b)h +1(e)h +13(con\014gured)h +14(at)h +12(a)h +12(later)h +13(date)h +13(to)h +281 2827(cross)s +15(reference)h +16(in)h +14(di\013eren)h +-1(t)h +15(w)h +-1(a)h +-1(ys)h +13(without)h +14(requiring)h +13(input)h +14(\014les)h +14(to)h +14(b)h +1(e)h +15(rew)h +-1(ork)h +-1(ed.)h +1042 2940(24)s +25 @eop +26 @bop0 +cmtt10.300 sf +[<183C3E1E0E0E0E1E1C3C78F060> +8 13 -7 24 22] 39 dc +26 @bop1 +cmbx10.432 sf +177 42(1.11)s +70(Diagnostic)h +22(Messages)h +177 2129(1.12)s +70(Summ)h +-3(ary)h +cmr10.300 sf +177 157(In)s +14(F)h +-3(unnelW)h +-3(eb,)h +13(all)h +13(error)h +15(messages)h +14(commence)h +13(with)h +14(an)h +14(indicator)h +13(indicating)h +13(the)h +15(sev)h +-1(erit)h +-1(y)h +15(of)h +13(the)h +15(error)h +177 207(message.)s +18(Here)h +15(are)h +14(some)h +13(of)h +14(the)h +14(formats)h +12(that)h +14(I)h +14(in)h +-1(v)h +-1(estigated)h +14(b)h +1(efore)h +15(settling)h +13(on)h +14(the)h +15(\014nal)h +13(format:)h +177 2245(This)s +16(rather)h +18(unstructured)h +18(c)h +-1(hapter)h +18(has)h +16(addressed)h +18(some)h +16(of)h +15(the)h +17(k)h +-1(ey)h +17(design)h +16(decisions)h +17(of)h +16(F)h +-3(unnelW)h +-3(eb.)h +177 2295(In)s +14(man)h +-1(y)h +12(cases,)h +15(the)h +15(alternativ)h +-1(es)h +14(ha)h +-1(v)h +-1(e)h +14(b)h +1(een)h +15(unpleasan)h +-1(t,)h +13(but)h +14(I)h +14(am)h +13(con\014den)h +-1(t)h +14(that)h +14(in)h +14(all)h +13(cases,)h +14(a)h +14(fully)h +177 2345(w)s +-1(ork)h +-2(able)h +13(solution)h +13(has)h +14(b)h +1(een)h +15(found.)h +1042 2940(25)s +cmtt10.300 sf +177 323(W--Error)s +20(creating)h +20(sloth.)h +177 373(E--Error)s +20(opening)h +21(output)h +20(file.)h +177 423(S--I'm)s +21(a)h +21(teapot.)h +177 473(F--Can't)s +20(open)h +21(output)h +21(file.)h +177 572(W-Error)s +21(creating)h +20(sloth.)h +177 622(E-Error)s +21(opening)h +20(output)h +20(file.)h +177 672(S-I'm)s +21(a)h +22(teapot.)h +177 722(F-Can't)s +21(open)h +20(output)h +21(file.)h +177 822(W:Error)s +21(creating)h +20(sloth.)h +177 871(E:Error)s +21(opening)h +20(output)h +20(file.)h +177 921(S:I'm)s +21(a)h +22(teapot.)h +177 971(F:Can't)s +21(open)h +20(output)h +21(file.)h +177 1071(W:)s +22(Error)h +20(creating)h +20(sloth.)h +152(--)h +21(Format)h +21(chosen.)h +177 1120(E:)s +22(Error)h +20(opening)h +21(output)h +20(file.)h +177 1170(S:)s +22(I'm)h +21(a)h +21(teapot.)h +177 1220(F:)s +22(Can't)h +20(open)h +21(output)h +21(file.)h +177 1320(War-Error)s +20(creating)h +20(sloth.)h +177 1369(Err-Error)s +20(opening)h +20(output)h +21(file.)h +177 1419(Sev-I'm)s +21(a)h +21(teapot.)h +177 1469(Fat-Can't)s +20(open)h +21(output)h +21(file.)h +177 1569(W-Old)s +21(fashioned)h +20(feature.)h +177 1668(W-Old)s +21(fashioned)h +20(feature.)h +177 1768(W--Old)s +21(fashioned)h +20(feature.)h +177 1868(W:)s +22(Old)h +21(fashioned)h +20(feature.)h +177 1967(W:Old)s +21(fashioned)h +20(feature.)h +26 @eop +27 @bop0 +27 @bop1 +cmr10.300 sf +1042 2940(26)s +27 @eop +28 @bop0 +cmbx10.622 sf +[<0007FE0000007FFFE00001FFFFF80003FFFFFE000FF01FFF001FC007FFC03F0003FFE0 +7E0001FFE07FC000FFF07FE000FFF8FFF0007FF8FFF0007FF8FFF0003FFCFFF0003FFCFF +F0003FFCFFF0003FFC7FE0003FFC7FE0003FFC1F80003FFC0000003FFC0000003FF80000 +007FF80000007FF80000007FF0000000FFE0000000FFE0000001FFC0000003FF80000003 +FF00000007FE0000000FF80000001FF00000001FE00000003F800000007F00000000FE00 +000001FC00000003F0003C0007E0003C000FC0003C001F800078003F000078007C000078 +00F80000F800F00000F801FFFFFFF803FFFFFFF007FFFFFFF00FFFFFFFF01FFFFFFFF03F +FFFFFFF07FFFFFFFF0FFFFFFFFF0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0> +40 56 -5 55 49] 50 dc +cmbx10.746 sf +[<FFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFE000FFFE000000FFFE000 +000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE00000 +0FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000F +FFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFF +E000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE0 +00000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000 +000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE00000 +0FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000F +FFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFFE000000FFF +E000000FFFE000FFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFE> +40 71 -3 70 45] 73 dc +[<007FC00FFC000000FFFFC07FFFC00000FFFFC3FFFFF00000FFFFCFFFFFFC0000FFFFDF +F01FFF0000FFFFFF8007FF800003FFFE0001FFC00001FFF80000FFE00001FFF00000FFF0 +0001FFE000007FF80001FFE000003FFC0001FFE000003FFC0001FFE000003FFE0001FFE0 +00001FFE0001FFE000001FFF0001FFE000001FFF0001FFE000001FFF0001FFE000000FFF +0001FFE000000FFF8001FFE000000FFF8001FFE000000FFF8001FFE000000FFF8001FFE0 +00000FFF8001FFE000000FFF8001FFE000000FFF8001FFE000000FFF8001FFE000000FFF +8001FFE000000FFF8001FFE000000FFF0001FFE000001FFF0001FFE000001FFF0001FFE0 +00001FFE0001FFE000001FFE0001FFE000003FFC0001FFE000003FFC0001FFE000007FF8 +0001FFF000007FF80001FFF80000FFF00001FFFC0001FFE00001FFFE0003FFC00001FFFF +0007FF800001FFFFE03FFE000001FFEFFFFFFC000001FFE3FFFFF0000001FFE0FFFF8000 +0001FFE01FF800000001FFE0000000000001FFE0000000000001FFE0000000000001FFE0 +000000000001FFE0000000000001FFE0000000000001FFE0000000000001FFE000000000 +0001FFE0000000000001FFE0000000000001FFE0000000000001FFE0000000000001FFE0 +000000000001FFE0000000000001FFE00000000000FFFFFFC000000000FFFFFFC0000000 +00FFFFFFC000000000FFFFFFC000000000FFFFFFC000000000> +64 66 -4 45 66] 112 dc +cmbx10.432 sf +[<FFFFF01FFFFEFFFFF01FFFFEFFFFF01FFFFE03FC00007F8003FC00007F8003FC00007F +8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F +8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F +8003FFFFFFFF8003FFFFFFFF8003FFFFFFFF8003FC00007F8003FC00007F8003FC00007F +8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F +8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F +8003FC00007F8003FC00007F80FFFFF01FFFFEFFFFF01FFFFEFFFFF01FFFFE> +48 41 -3 40 54] 72 dc +28 @bop1 +cmbx10.622 sf +177 375(Chapter)s +34(2)h +cmbx10.300 sf +502 1454([USDOD83])s +cmbx10.746 sf +177 606(F)s +-10(unnelW)h +-10(eb)h +41(Implemen)h +-3(tation)h +cmbx10.432 sf +177 869(2.1)s +70(In)h +-2(tro)h +2(duction)h +177 1241(2.2)s +70(History)h +22(of)h +24(F)h +-6(unnelW)h +-6(eb)h +22(Impl)h +-1(e)h +-1(m)h +-2(e)h +-1(n)h +-2(tati)h +-1(ons)h +cmr10.300 sf +177 982(This)s +13(c)h +-1(hapter)h +13(con)h +-1(tains)h +13(notes)h +13(on)h +13(the)h +13(actual)h +12(C)h +13(co)h +1(de)h +13(that)h +13(implem)h +-1(en)h +-1(ts)h +11(F)h +-3(unnelW)h +-3(eb)h +12(V3.)h +18(This)h +12(c)h +-1(hapter)h +14(is)h +177 1032(rather)s +15(patc)h +-1(h)h +-1(y)h +-3(.)h +20(It)h +14(has)h +15(acted)h +15(mainly)h +12(as)h +14(a)h +15(dumping)h +12(ground)h +14(for)h +15(ideas)h +14(that)h +15(I)h +14(b)h +1(othered)h +16(to)h +14(write)h +15(ab)h +1(out)h +177 1082(during)s +14(dev)h +-1(elopmen)h +-1(t.)h +177 1354(The)s +16(\014rst)h +17(implem)h +-1(en)h +-1(tation)h +13(of)h +16(F)h +-3(unnelW)h +-3(eb)h +15(\(F)h +-3(unnelW)h +-3(eb)h +15(V1\))h +16(w)h +-1(as)h +16(written)h +16(in)h +16(Ada)h +16(in)h +15(Decem)h +-1(b)h +1(er)h +16(1986.)h +177 1404(The)s +15(pro)h +2(ject)h +16(w)h +-1(as)h +14(initially)h +12(canned)h +15(as)h +15(requiring)h +14(to)h +1(o)h +14(m)h +-1(uc)h +-1(h)h +14(time,)h +13(but)h +14(w)h +-1(as)h +15(resurrecte)h +1(d)h +16(when)h +15(I)h +15(decided)h +177 1454(to)s +13(commi)h +-1(t)h +11(to)h +14(Ada)h +259(and)h +13(realized)h +14(that)h +13(I)h +13(needed)h +15(a)h +13(program)h +12(to)h +13(write)h +13(to)h +13(help)h +13(me)h +13(to)h +13(learn)h +177 1504(Ada.)s +18(F)h +-3(unnelW)h +-3(eb)h +13(V1)h +14(w)h +-1(as,)h +14(in)h +13(fact,)h +13(m)h +-1(y)h +13(\014rst)h +14(Ada)h +14(program.)h +16(It)h +14(to)h +1(ok)h +14(ab)h +1(out)h +14(one)h +14(mon)h +-1(th)h +12(to)h +14(write.)h +177 1576(F)s +-3(unnelW)h +-3(eb)h +21(V1)h +21(w)h +-1(as)h +21(used)h +22(in)h +-1(tensiv)h +-1(ely)h +21(b)h +-1(y)h +21(m)h +-1(yself)h +19(to)h +22(write)h +21(Ada)h +21(programs)h +20(from)h +20(Jan)h +-1(uary)h +21(1986)h +20(to)h +177 1626(July)s +18(1989)h +17(at)h +18(whic)h +-1(h)h +18(time)h +17(I)h +18(\014nished)h +19(m)h +-1(y)h +17(Ph.D.)h +17(and)h +18(lost)h +18(access)h +20(to)h +18(the)h +19(V)h +-5(AX.)h +18(During)h +18(this)h +18(time)h +17(at)h +177 1676(least)s +16(t)h +-1(w)h +-1(en)h +-1(t)h +-1(y)h +16(thousand)h +16(lines)h +15(of)h +15(co)h +1(de)h +16(w)h +-1(ere)h +17(generated)h +17(using)h +15(F)h +-3(unnelW)h +-3(eb.)h +23(Hardly)h +15(an)h +-1(y)h +-1(one)h +16(but)h +15(m)h +-1(yself)h +177 1726(used)s +15(F)h +-3(unnelW)h +-3(eb.)h +177 1798(After)s +14(losing)h +13(access)h +15(to)h +13(Ada)h +14(and)h +13(the)h +14(V)h +-3(ax)h +13(\(and)h +13(hence)h +15(to)h +13(F)h +-3(unnelW)h +-3(eb\),)h +13(I)h +13(w)h +-1(as)h +14(forced)h +14(bac)h +-1(k)h +13(to)h +14(program-)h +177 1848(ming)s +9(the)h +11(non-literate)h +11(w)h +-1(a)h +-1(y)h +-3(.)h +16(F)h +-3(rom)h +9(time)h +9(to)h +11(time)h +9(I)h +11(found)h +11(that)h +10(I)h +11(needed)h +12(to)h +11(use)h +12(some)h +10(of)h +10(m)h +-1(y)h +9(old)h +10(programs)h +177 1898(that)s +15(I)h +14(had)h +15(written)h +15(using)h +14(Ada)h +15(and)h +14(F)h +-3(unnelW)h +-3(eb.)h +19(I)h +15(knew)h +15(that)h +14(Ada)h +15(w)h +-1(ould)h +14(b)h +1(ecome)h +14(a)h +-1(v)h +-2(ailabl)h +-1(e)h +13(on)h +15(more)h +177 1947(mac)s +-1(hines,)h +13(but)h +14(certainly)h +14(F)h +-3(unnelW)h +-3(eb)h +14(w)h +-1(ouldn't.)h +17(I)h +14(recognised)h +15(a)h +14(strong)h +14(need)h +15(for)h +13(a)h +14(p)h +1(ortable)h +14(v)h +-1(ersion)h +14(of)h +177 1997(F)s +-3(unnelW)h +-3(eb)h +14(written)h +14(in)h +13(C)h +14(but)h +14(didn't)h +14(ha)h +-1(v)h +-1(e)h +13(the)h +15(time)h +12(or)h +14(energy)h +15(to)h +14(create)h +15(one.)h +177 2070(Ab)s +1(out)h +20(this)h +20(time)h +19(\(late)h +20(1989\),)h +20(Da)h +-1(vid)h +19(Hulse,)h +21(at)h +20(the)h +20(time)h +19(a)h +19(studen)h +-1(t)h +21(in)h +20(Computer)h +19(Science)h +21(at)h +20(the)h +177 2119(Univ)s +-1(ersit)h +-1(y)h +16(of)h +15(Adelaide,)h +16(v)h +-1(olun)h +-1(teered)h +17(to)h +15(translate)h +16(the)h +17(4000)h +15(line)h +15(Ada)h +16(v)h +-1(ersion)h +16(of)h +15(F)h +-3(unnelW)h +-3(eb)h +15(in)h +-1(to)h +15(C.)h +177 2169(T)s +-3(o)h +13(m)h +-1(y)h +11(kno)h +-1(wledge)h +14(this)h +13(translation)h +13(pro)h +1(cess)h +15(to)h +1(ok)h +13(ab)h +1(out)h +13(three)h +15(w)h +-1(eeks)h +14(\(in)h +13(Decem)h +-1(b)h +1(er)h +14(1989\).)h +17(The)h +14(result)h +177 2219(w)s +-1(as)h +14(called)h +14(F)h +-3(unnelW)h +-3(eb)h +13(V2)h +14(and)h +13(w)h +-1(as)h +14(formall)h +-1(y)h +12(signed)h +14(in)h +-1(to)h +13(the)h +15(public)h +13(domain)h +12(on)h +14(5)h +13(Ma)h +-1(y)h +14(1992.)h +177 2291(In)s +18(general,)h +19(Da)h +-1(vid)h +16(Hulse)h +19(did)h +17(a)h +18(go)h +1(o)h +1(d)h +18(job.)h +29(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +19(the)h +19(resultan)h +-1(t)h +18(co)h +1(de)h +19(su\013ered)h +20(from)h +16(one)h +18(or)h +18(few)h +177 2341(serious)s +15(defects,)h +15(the)h +14(most)h +13(serious)h +15(of)h +13(whic)h +-1(h)h +14(w)h +-1(as)h +13(a)h +14(lac)h +-1(k)h +13(of)h +14(p)h +1(ortabilit)h +-1(y)h +-3(.)h +177 2414(Lac)s +-1(k)h +10(of)h +10(p)h +1(ortabilit)h +-1(y)h +9(of)h +9(the)h +11(C)h +10(co)h +1(de,)h +12(com)h +-1(bined)h +8(with)h +10(the)h +11(need)h +11(for)h +10(a)h +10(rather)h +11(solid)h +10(design)h +10(review,)h +11(com)h +-1(bined)h +177 2463(with)s +17(the)h +17(need)h +18(to)h +16(strengthen)h +19(the)h +17(program)h +15(to)h +17(bring)h +16(it)h +16(up)h +17(to)h +17(pro)h +1(duction)h +17(standard,)h +17(resulted)h +18(in)h +16(m)h +-1(y)h +177 2513(p)s +1(erforming)h +10(a)h +12(complete)h +11(rew)h +-1(orking)h +11(of)h +11(the)h +13(co)h +1(de.)h +18(The)h +12(C)h +12(co)h +1(de)h +12(w)h +-1(as)h +12(en)h +-1(tirely)h +-3(,)h +11(but)h +12(incremen)h +-1(tally)h +-3(,)h +10(replaced)h +177 2563(or)s +20(reformatted.)h +36(The)h +21(co)h +1(de)h +20(w)h +-1(as)h +20(also)h +20(strengthened)h +22(and)h +20(new)h +20(features)h +21(w)h +-1(ere)h +21(added.)h +37(This)h +20(pro)h +1(cess)h +177 2613(to)s +1(ok)h +17(ab)h +1(out)h +18(t)h +-1(w)h +-1(o)h +17(mon)h +-1(ths)h +16(\(No)h +-1(v)h +-1(em)h +-1(b)h +1(er)h +17(and)h +18(Decem)h +-1(b)h +1(er)h +18(1991\).)h +28(A)h +17(further)h +19(t)h +-1(w)h +-1(o)h +17(mon)h +-1(ths)h +16(\(appro)h +-1(x\))h +18(w)h +-1(ere)h +177 2663(sp)s +1(en)h +-1(t)h +13(writing)h +12(do)h +1(cumen)h +-1(tation,)h +11(constructing)h +13(a)h +12(regression)h +13(test)h +14(suite,)h +12(p)h +1(orting)h +12(the)h +13(program)h +11(to)h +12(di\013eren)h +-1(t)h +177 2712(mac)s +-1(hines,)h +13(and)h +13(sorting)h +14(out)h +14(the)h +14(legal)h +13(issues)h +15(in)h +-1(v)h +-1(olv)h +-1(ed)h +13(in)h +13(its)h +14(release.)h +177 2785(I)s +14(w)h +-1(ould)h +13(lik)h +-1(e)h +14(to)h +14(tak)h +-1(e)h +14(this)h +14(opp)h +1(ortunit)h +-1(y)h +14(to)h +14(record)h +15(a)h +14(debt)h +14(of)h +14(gratitude)h +14(to)h +14(Da)h +-1(vid)h +13(Hulse)h +14(who)h +14(translated)h +177 2835(F)s +-3(unnelW)h +-3(eb)h +13(from)h +11(Ada)h +13(to)h +12(C.)h +13(Although)h +12(m)h +-1(y)h +11(rew)h +-1(orking)h +13(of)h +12(his)h +13(C)h +13(co)h +1(de)h +14(obliterated)h +13(most)h +11(of)h +13(his)h +12(co)h +1(de,)h +14(his)h +1042 2940(27)s +28 @eop +29 @bop0 +cmbx10.432 sf +[<1C007F00FF80FF80FFC0FFC0FFC07FC01CC000C000C001C0018001800380070006000E +001C0038003000> +16 21 -5 41 19] 39 dc +[<FFFFF001FFFCFFFFF001FFFCFFFFF001FFFC03FC0000070003FC0000070003FC000007 +0003FC0000070003FC0000070003FC0000070003FC0000070003FC0000070003FC000007 +0003FC0000070003FC0000070003FC0000070003FC0000070003FC0000070003FC000007 +0003FC0000070003FC0000070003FC0000070003FC0000070003FC0000070003FC000007 +0003FC0000070003FC0000070003FC0000070003FC0000070003FC0000070003FC000007 +0003FC00000F0001FC00000E0001FE00000E0000FE00001E0000FF00003C00007F800078 +00003FC000F800001FF007E0000007FFFFC0000001FFFF000000001FF80000> +48 41 -3 40 53] 85 dc +cmr8.300 sf +[<7FFFF86038184038084038088038048038048038040038000038000038000038000038 +0000380000380000380000380000380000380000380000380000380000380007FFC0> +24 23 -1 22 25] 84 dc +[<FC00001C00001C00001C00001C00001C00001C00001C00001C00001CF8001F06001C03 +001C03801C01801C01C01C01C01C01C01C01C01C01801C03801C03001B0E0010F800> +24 23 0 22 20] 98 dc +cmbx10.300 sf +[<03F8000F1E001C07003C07803803807803C07803C07803C0F803E0F803E0F803E0F803 +E0F803E0F803E0F803E0F803E0F803E0F803E0F803E0F803E07803C07803C03803803C07 +801C07000F1E0003F800> +24 27 -2 26 24] 48 dc +29 @bop1 +cmr7.300 sf +935 1347(1)s +cmr6.300 sf +223 2823(1)s +cmti10.300 sf +1736 2039(some)s +cmbx10.432 sf +177 308(2.3)s +70(Wh)h +-2(y)h +23(F)h +-6(unnelW)h +-6(eb)h +23(W)h +-6(asn't)h +24(Used)h +22(to)h +23(W)h +-6(rite)h +22(Itself)h +177 1095(2.4)s +70(Co)h +2(ding)h +22(St)h +-2(yle)h +cmr8.300 sf +241 2835(The)s +11(standard)h +9(is)h +12(curren)h +-1(tly)h +9(una)h +-1(v)h +-2(aila)h +-1(ble)h +-1(,)h +10(but)h +11(is)h +11(lik)h +-1(ely)h +10(to)h +11(b)h +1(e)h +11(released)h +10(or)h +11(published)h +9(ev)h +-1(en)h +-1(tual)h +-1(ly)h +-3(.)h +cmbx10.300 sf +177 1538(P)s +-1(ortabil)h +-1(i)h +-1(t)h +-2(y:)h +1017 1588([Rabino)s +-1(wi)h +-1(tz90])h +259 1638([Horton90])s +177 1687([Kernighan88])s +93([ANSI])h +177 1764(Iden)s +-1(ti\014)h +-1(ers:)h +16([Rabino)h +-1(wi)h +-1(tz90])h +cmtt10.300 sf +177 2209(bp)s +22(-)h +21(Body)h +21(Part.)h +177 2259(cm)s +22(-)h +21(Compare.)h +20(Used)h +21(to)h +22(prefix)h +20(comparison)h +20(routines)h +20(that)h +21(return)h +21([-1,0,1].)h +177 2309(dc)s +22(-)h +21(Document)h +20(component.)h +177 2359(dm)s +22(-)h +21(Dump)h +21(package.)h +177 2408(el)s +22(-)h +21(Element.)h +177 2458(eq)s +22(-)h +21(Equal.)h +21(Used)h +21(to)h +21(prefix)h +21(comparison)h +19(routines)h +20(that)h +21(return)h +21(a)h +22(boolean.)h +177 2508(ex)s +22(-)h +21(Expression.)h +177 2558(f)s +44(-)h +21(Global)h +21(files.)h +177 2608(ll)s +22(-)h +21(List)h +21(of)h +21(lists.)h +177 2658(ln)s +22(-)h +21(Line)h +21(record.)h +177 2707(ls)s +22(-)h +21(List)h +21(Package.)h +177 2757(lr)s +22(-)h +21(Lister)h +21(package.)h +cmr10.300 sf +177 42(translation)s +14(w)h +-1(as)h +14(piv)h +-1(otal)h +12(to)h +14(the)h +15(dev)h +-1(elopmen)h +-1(t)h +13(pro)h +1(cess.)h +21(Without)h +14(his)h +14(e\013ort)h +15(in)h +13(mo)h +-1(ving)h +12(from)h +12(Ada)h +14(to)h +14(C,)h +177 91(I'm)s +13(not)h +16(sure)h +16(that)h +15(I)h +15(w)h +-1(ould)h +15(ha)h +-1(v)h +-1(e)h +15(m)h +-1(ustered)h +15(the)h +16(energy)h +16(and)h +15(time)h +14(to)h +15(complete)h +15(the)h +16(pro)h +1(cess)h +17(and)h +15(bring)h +177 141(F)s +-3(unnelW)h +-3(eb)h +14(up)h +13(to)h +14(its)h +14(curren)h +-1(t)h +15(standard.)h +177 426(After)s +19(Kn)h +-1(uth)h +19(created)h +19(the)h +19(W)h +-3(eb)h +18(literate)h +19(prepro)h +1(cessing)h +20(system,)h +18(he)h +19(re-wrote)h +19(it)h +18(using)h +18(W)h +-3(eb)h +18(and)h +18(dis-)h +177 476(tributed)s +13(the)h +13(source)h +13(co)h +1(de)h +13(in)h +12(W)h +-3(eb)h +12(source)h +14(form.)h +15(T)h +-3(o)h +12(allo)h +-1(w)h +10(the)h +13(W)h +-3(eb)h +12(source)h +13(co)h +1(de)h +14(to)h +12(b)h +1(e)h +12(tangled)h +12(b)h +-1(y)h +12(users)h +177 526(not)s +14(y)h +-1(et)h +14(ha)h +-1(ving)h +13(a)h +13(cop)h +-1(y)h +14(of)h +14(W)h +-3(eb,)h +13(he)h +14(also)h +13(included)h +14(the)h +15(tangled)h +13(P)h +-1(ascal)h +14(co)h +1(de)h +15(for)h +13(the)h +15(T)h +-3(angler.)h +177 602(While)s +18(this)h +18(approac)h +-1(h)h +19(is)h +18(heroic)h +19(and)h +19(serv)h +-1(es)h +20(to)h +18(con)h +-1(v)h +-1(ey)h +19(a)h +18(comm)h +-1(itm)h +-1(en)h +-1(t)h +17(and)h +18(a)h +18(con\014dence)h +20(in)h +19(literate)h +177 652(programm)s +-1(ing,)h +11(it)h +13(seemed)h +14(to)h +14(me)h +12(that)h +14(writing)h +13(F)h +-3(unnelW)h +-3(eb)h +13(in)h +13(F)h +-3(unnelW)h +-3(eb)h +13(w)h +-1(ould)h +13(simply)h +12(b)h +1(e)h +14(asking)h +13(for)h +177 702(trouble.)s +18(F)h +-3(or)h +11(a)h +11(start,)h +13(it)h +11(w)h +-1(ould)h +11(b)h +1(e)h +12(v)h +-1(ery)h +12(hard)h +12(to)h +12(mo)h +1(dif)h +-1(y)h +10(an)h +-1(y)h +11(feature)h +13(of)h +11(F)h +-3(unnelW)h +-3(eb)h +11(that)h +12(had)h +11(b)h +1(een)h +13(used)h +177 752(to)s +18(write)h +18(F)h +-3(unnelW)h +-3(eb,)h +17(and)h +18(the)h +18(though)h +-1(t)h +18(of)h +17(what)h +17(w)h +-1(ould)h +17(happ)h +1(en)h +18(if)h +17(the)h +18(w)h +-1(orking)h +17(executable)h +19(b)h +1(ecame)h +177 801(inop)s +1(erativ)h +-1(e)h +14(for)h +13(some)h +13(reason)h +15(do)h +1(es)h +15(not)h +13(b)h +1(ear)h +15(thinking)h +13(up)h +1(on.)h +177 878(One)s +18(mill)h +-1(ion)h +15(billion)h +15(computer)h +17(programs)h +16(w)h +-1(ere)h +19(written)h +18(in)h +16(the)h +18(non-literate)h +18(st)h +-1(yle)h +17(b)h +1(efore)h +18(F)h +-3(unnelW)h +-3(eb)h +177 928(w)s +-1(as)h +14(created.)h +20(Wh)h +-1(y)h +13(not)h +14(one)h +14(more?)h +177 1213(Although)s +15(F)h +-3(unnelW)h +-3(eb)h +15(w)h +-1(asn't)h +15(co)h +1(ded)h +16(under)h +16(an)h +-1(y)h +15(particular)h +15(co)h +1(ding)h +15(standard,)h +16(it)h +15(w)h +-1(as)h +15(co)h +1(ded)h +16(in)h +15(accor-)h +177 1263(dance)s +11(with)h +9(a)h +9(fairly)h +9(strict)h +10(p)h +1(ersonal)h +10(st)h +-1(yle)h +10(of)h +9(C)h +9(whic)h +-1(h)h +10(dev)h +-1(elop)h +1(ed)h +10(during)h +10(the)h +10(dev)h +-1(elopmen)h +-1(t)h +9(of)h +9(F)h +-3(unnelW)h +-3(eb.)h +177 1312(This)s +17(st)h +-1(yle)h +16(w)h +-1(as)h +17(subsequen)h +-1(tly)h +18(em)h +-1(b)h +1(o)h +1(died)h +15(in)h +16(a)h +16(real)h +17(C)h +16(co)h +1(ding)h +17(standard)h +17(prepared)h +17(for)h +17(the)h +17(South)h +16(Aus-)h +177 1362(tralian)s +10(Go)h +-1(v)h +-1(ernmen)h +-1(t)h +10(Departmen)h +-1(t)h +11(of)h +10(Lands.)h +36(Unfortunately)h +-3(,)h +11(F)h +-3(unnelW)h +-3(eb)h +11(w)h +-1(as)h +11(not)h +11(formall)h +-1(y)h +9(dev)h +-1(elop)h +1(ed)h +177 1412(under)s +16(the)h +16(standard)h +16(and)h +15(so)h +15(some)h +15(holes)h +15(remain)h +14(in)h +15(F)h +-3(unnelW)h +-3(eb's)h +15(co)h +1(ding)h +15(st)h +-1(yle.)h +22(This)h +15(section)h +16(aims)h +14(to)h +177 1462(describ)s +1(e)h +16(some)h +13(of)h +13(the)h +15(more)h +12(imp)h +1(ortan)h +-1(t)h +13(asp)h +1(ects)h +15(of)h +13(the)h +15(co)h +1(ding)h +14(st)h +-1(yle.)h +445 1538(This)s +19(w)h +-1(as)h +19(a)h +19(ma)h +2(jor)h +17(goal)h +18(of)h +19(the)h +19(F)h +-3(unnelW)h +-3(eb)h +19(implem)h +-1(en)h +-1(tatio)h +-1(n.)h +32(Tw)h +-1(o)h +19(excellen)h +-1(t)h +20(b)h +1(o)h +1(oks)h +177 1588(guided)s +19(this)h +19(mo)h +-1(v)h +-1(e)h +17(to)h +19(p)h +1(ortabilit)h +-1(y)h +-3(.)h +31(They)h +19(w)h +-1(ere)h +348(\(whic)h +-1(h)h +19(deals)h +19(with)h +18(C)h +19(co)h +1(de)h +20(itself)h +3(\))h +177 1638(and)s +255(\(whic)h +-1(h)h +15(deals)h +16(with)h +15(the)h +16(p)h +1(ortabilit)h +-1(y)h +14(of)h +14(v)h +-2(arious)h +15(library)h +15(calls\).)h +22(Other)h +16(w)h +-1(orks)h +16(suc)h +-1(h)h +16(as)h +484 1687(and)s +172(w)h +-1(ere)h +15(also)h +13(helpful.)h +730 1764(length)s +11(sp)h +1(eci\014es)h +14(that)h +13(for)h +12(wide)h +12(p)h +1(ortabilit)h +-1(y)h +-3(,)h +11(iden)h +-1(ti\014ers)h +13(of)h +12(blo)h +1(c)h +-1(k)h +12(and)h +13(\014le)h +177 1814(scop)s +1(e)h +16(should)h +15(b)h +1(e)h +16(unique)h +15(to)h +15(eigh)h +-1(t)h +14(c)h +-1(haracters,)h +17(and)h +15(iden)h +-1(ti\014ers)h +16(of)h +14(program)h +13(scop)h +1(e)h +16(should)h +15(b)h +1(e)h +16(unique)h +15(to)h +177 1863(six)s +12(c)h +-1(haracters.)h +19(I)h +11(ha)h +-1(v)h +-1(e)h +12(gone)h +11(further)h +13(in)h +11(F)h +-3(unnelW)h +-3(eb)h +11(and)h +12(actually)h +10(made)h +11(these)h +13(restrictions)h +13(actual)h +11(limi)h +-1(ts)h +177 1913(on)s +14(iden)h +-1(ti\014er)h +14(length.)h +177 1989(Because)s +18(names)h +15(m)h +-1(ust)h +15(b)h +1(e)h +17(so)h +16(short,)h +16(a)h +16(system)h +16(of)h +15(abbreviations)h +16(w)h +-1(as)h +16(dev)h +-1(elop)h +1(ed)h +16(to)h +16(organize)h +16(the)h +17(iden-)h +177 2039(ti\014ers)s +16(used)h +17(within)h +14(F)h +-3(unnelW)h +-3(eb.)h +23(Eac)h +-1(h)h +15(abbreviation)h +15(consists)h +17(of)h +14(a)h +16(letter)h +16(pair.)h +22(Here)h +17(are)h +122(of)h +15(the)h +177 2089(abbreviations)s +14(used:)h +1042 2940(28)s +709 2 177 2796 r +29 @eop +30 @bop0 +cmsy10.300 sf +[<1F00308070406060E0E0E0E0E040E00060007000300018001C003300718061C0E0C0E0 +E0E0E0E0E060E070C031C0198007000300018001C000C000E040E0E0E0E0E0C0C041C021 +801F00> +16 37 -3 28 18] 120 dc +30 @bop1 +cmsy10.300 sf +1054 2510(x)s +cmbx10.432 sf +177 1218(2.5)s +70(Use)h +22(of)h +23(Mem)h +-1(ory)h +177 1721(2.6)s +70(The)h +22(Heap)h +cmbx10.300 sf +177 756(P)s +-1(oin)h +-1(t)h +-1(ers:)h +177 831(T)s +-1(yp)h +1(es:)h +177 956(File)s +17(names:)h +cmtt10.300 sf +177 42(ma)s +22(-)h +21(Macro.)h +177 91(mc)s +22(-)h +21(Macro)h +21(Call.)h +177 141(mn)s +22(-)h +21(Macro)h +21(Name.)h +177 191(op)s +22(-)h +21(Options)h +20(package.)h +177 241(pr)s +22(-)h +21(Parser.)h +177 291(ps)s +22(-)h +21(Position)h +20(record.)h +177 340(sc)s +22(-)h +21(Scrap)h +21(record.)h +177 390(sn)s +22(-)h +21(Section.)h +177 440(tb)s +22(-)h +21(Table)h +21(package.)h +177 490(ty)s +22(-)h +21(Typesetter)h +20(directive.)h +177 540(wf)s +22(-)h +21(Write)h +21(file)h +21(package.)h +177 589(wl)s +22(-)h +21(Write)h +21(with)h +21(EOL)h +21(\(misc.c\).)h +177 639(wr)s +22(-)h +21(Write)h +217(\(misc.c\).)h +1267 756(p)s +910 831(t)s +177 881(p)s +16(tb)h +15(t)h +1300 2735(malloc)s +454 2785(memory)s +cmr10.300 sf +381 756(V)s +-3(ariables)h +14(or)h +14(t)h +-1(yp)h +1(es)h +14(denoting)h +14(p)h +1(oin)h +-1(ters)h +14(start)h +15(with)h +13(\\)h +38(".)h +334 831(Names)s +13(denoting)h +13(t)h +-1(yp)h +1(es)h +14(end)h +14(in)h +13(\\)h +37(".)h +18(Th)h +-1(us,)h +13(a)h +13(t)h +-1(yp)h +1(e)h +14(for)h +13(a)h +13(p)h +1(oin)h +-1(ter)h +13(to)h +13(a)h +13(table)h +13(w)h +-1(ould)h +13(b)h +1(e)h +14(named)h +296 881(.)s +441 956(All)s +16(\014les)h +17(used)h +17(in)h +16(F)h +-3(unnelW)h +-3(eb)h +16(ha)h +-1(v)h +-1(e)h +16(\014le)h +16(names)h +16(that)h +17(are)h +16(from)h +15(one)h +17(to)h +16(eigh)h +-1(t)h +16(c)h +-1(haracters)h +177 1005(long)s +13(and)h +13(\014le)h +13(extensions)h +15(that)h +13(are)h +14(from)h +12(one)h +13(to)h +14(three)h +14(c)h +-1(haracters)h +16(long.)h +17(This)h +13(ensures)h +15(that)h +14(the)h +14(\014les)h +14(can)h +177 1055(b)s +1(e)h +15(p)h +1(ortably)h +13(mo)h +-1(v)h +-1(ed)h +12(to)h +14(all)h +13(kinds)h +14(of)h +13(mac)h +-1(hines,)h +12(ev)h +-1(en)h +15(MSDOS!)h +177 1334(F)s +-3(unnelW)h +-3(eb)h +15(is)h +16(not)h +16(a)h +16(mem)h +-1(ory-stressed)h +16(program.)h +23(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +16(during)h +15(its)h +16(dev)h +-1(elopmen)h +-1(t,)h +15(problems)h +15(with)h +177 1384(the)s +15(managem)h +-1(en)h +-1(t)h +13(of)h +13(memory)h +12(seemed)h +15(to)h +14(crop)h +14(up)h +15(again)h +13(and)h +14(again.)h +18(This)h +14(section)h +15(do)h +1(cumen)h +-1(ts)h +14(some)h +13(of)h +177 1434(these)s +15(problems)h +13(and)h +14(the)h +15(solutions)h +13(adopted.)h +177 1509(There)s +22(are)h +20(three)h +22(places)h +20(where)h +22(mem)h +-1(ory)h +18(can)h +21(b)h +1(e)h +21(obtained:)h +30(the)h +21(heap,)h +21(the)h +21(stac)h +-1(k,)h +22(and)h +20(from)h +18(static)h +177 1558(v)s +-2(ariables.)h +17(The)h +15(follo)h +-1(wi)h +-1(ng)h +12(three)h +15(sections)h +15(deal)h +14(with)h +13(eac)h +-1(h)h +15(of)h +13(these)h +15(areas.)h +177 1837(One)s +17(of)h +16(the)h +17(great)h +17(frustrations)h +16(of)h +16(b)h +1(eing)h +17(a)h +16(user)h +17(is)h +16(to)h +17(\014nd)h +16(that)h +17(a)h +16(computer)h +16(program)h +14(is)h +17(complai)h +-1(ning)h +177 1887(ab)s +1(out)h +14(lac)h +-1(k)h +13(of)h +13(memory)h +12(when)h +14(one)h +14(kno)h +-1(ws)h +14(full)h +12(w)h +-1(ell)h +14(that)h +14(one)h +14(has)h +14(allo)h +1(cated)h +13(at)h +14(least)h +14(ten)h +14(times)h +13(as)h +14(m)h +-1(uc)h +-1(h)h +177 1937(memory)s +13(to)h +16(the)h +16(program)h +14(as)h +16(it)h +15(w)h +-1(ould)h +15(ev)h +-1(er)h +17(need)h +16(to)h +16(do)h +15(its)h +16(job.)h +23(The)h +16(reason)h +16(for)h +16(suc)h +-1(h)h +16(error)h +17(messages)h +177 1987(usually)s +18(has)h +19(to)h +19(do)h +18(with)h +18(the)h +20(programm)h +-1(er)h +17(setting)h +19(a)h +19(\014xed)h +19(\\reasonable")h +19(lim)h +-1(it)h +17(to)h +18(a)h +19(particular)h +18(data)h +177 2037(structure)s +17(and)h +14(then)h +15(lo)h +1(c)h +-1(king)h +13(it)h +15(up)h +14(in)h +-1(to)h +14(an)h +14(arra)h +-1(y)h +14(whose)h +15(b)h +1(ound)h +15(is)h +14(sp)h +1(eci\014ed)h +16(b)h +-1(y)h +14(a)h +14(constan)h +-1(t.)h +21(While)h +13(the)h +177 2086(use)s +15(of)h +13(arra)h +-1(ys)h +14(can)h +14(increase)h +15(the)h +14(sp)h +1(eed)h +15(of)h +13(a)h +14(program,)h +11(it)h +13(also)h +14(means)h +12(that)h +14(the)h +15(user)h +14(cannot)h +14(increase)h +15(the)h +177 2136(capacit)s +-1(y)h +14(of)h +14(the)h +15(program)h +13(without)h +14(obtaining)h +13(the)h +15(source)h +16(co)h +1(de)h +15(and)h +15(recompiling)h +12(it,)h +14(whic)h +-1(h)h +14(is)h +14(usually)h +14(a)h +177 2186(daun)s +-1(ting)h +13(option.)h +177 2261(The)s +13(alternativ)h +-1(e)h +13(is)h +12(to)h +13(use)h +14(the)h +13(heap)h +13(for)h +12(all)h +12(data)h +12(structures)h +15(that)h +13(can)h +13(gro)h +-1(w)h +12(in)h +13(prop)h +1(ortion)h +12(to)h +13(the)h +13(size)h +13(of)h +177 2311(the)s +12(user's)h +12(input.)h +17(This)h +11(rule)h +12(has)h +11(b)h +1(een)h +12(follo)h +-1(w)h +-1(ed)h +10(rigorously)h +10(in)h +11(F)h +-3(unnelW)h +-3(eb.)h +16(This)h +11(means)h +11(that)h +11(as)h +11(memory)h +177 2360(spaces)s +12(increase,)h +12(users)h +12(will)h +9(b)h +1(e)h +11(able)h +11(to)h +10(hand)h +11(their)h +10(v)h +-1(ersion)h +11(of)h +10(F)h +-3(unnelW)h +-3(eb)h +10(more)h +10(mem)h +-1(ory)h +9(without)h +10(ha)h +-1(ving)h +177 2410(to)s +14(recompile)h +13(it.)h +998 2510(|)s +46(|)h +177 2635(Some)s +16(problems)h +15(arose)h +18(early)h +16(on)h +17(the)h +17(Macin)h +-1(tosh)h +17(in)h +16(the)h +17(use)h +18(of)h +16(the)h +17(heap.)h +27(It)h +17(seems)h +17(that)h +16(some)h +16(of)h +16(the)h +177 2685(allo)s +1(cations)h +18(I)h +20(w)h +-1(as)h +19(attempting)h +18(to)h +19(mak)h +-1(e)h +18(w)h +-1(ere)h +20(failing)h +17(for)h +19(some)h +19(obscure)h +21(reason,)h +20(p)h +1(ossibly)h +19(m)h +-1(y)h +18(fault.)h +177 2735(Whatev)s +-1(er)h +14(it)h +13(w)h +-1(as,)h +13(it)h +13(w)h +-1(en)h +-1(t)h +13(a)h +-1(w)h +-1(a)h +-1(y)h +13(when)h +13(I)h +14(replaced)h +14(direct)h +14(calls)h +13(to)h +157(with)h +13(calls)h +13(to)h +13(a)h +13(mini)h +11(pac)h +-1(k)h +-2(age)h +177 2785(I)s +14(wrote)h +14(\(called)h +145(\))h +12(that)h +14(allo)h +1(cated)h +13(large)h +13(c)h +-1(h)h +-1(unks)h +14(of)h +13(memory)h +11(and)h +14(then)h +14(doled)h +13(out)h +14(small)h +11(pieces)h +15(as)h +177 2835(required)s +15(b)h +-1(y)h +14(the)h +14(rest)h +15(of)h +13(the)h +15(program.)h +1042 2940(29)s +14 2 1292 756 r +14 2 898 831 r +14 2 202 881 r +14 2 262 881 r +30 @eop +31 @bop0 +cmbx10.432 sf +[<FFE00000FFE00000FFE000000FE000000FE000000FE000000FE000000FE000000FE000 +000FE000000FE000000FE000000FE000000FE000000FE000000FE01FFC0FE01FFC0FE01F +FC0FE007C00FE00F800FE01E000FE07C000FE0F8000FE1F0000FE3E0000FE7C0000FEFE0 +000FFFF0000FFFF0000FFFF8000FF3FC000FE1FE000FC0FE000FC0FF000FC07F800FC03F +800FC03FC00FC01FE00FC00FF0FFFC3FFEFFFC3FFEFFFC3FFE> +32 42 -2 41 36] 107 dc +[<FFFFF0003FFF80FFFFF0003FFF80FFFFF0003FFF8003FE000001E00001FE000001C000 +01FF000003C00000FF000003800000FF0000038000007F8000070000007F800007000000 +7FC0000F0000003FC0000E0000003FE0001E0000001FE0001C0000001FF0001C0000000F +F000380000000FF0003800000007F8007000000007F8007000000007FC00F000000003FC +00E000000003FE01E000000001FE01C000000001FF01C000000000FF038000000000FF03 +8000000000FF8780000000007F8700000000007FCF00000000003FCE00000000003FFE00 +000000001FFC00000000001FFC00000000000FF800000000000FF800000000000FF80000 +00000007F0000000000007F0000000000003E0000000000003E0000000000001C0000000> +56 41 -1 40 52] 86 dc +31 @bop1 +cmtt10.300 sf +629 272(malloc)s +692 2835(sc)s +15(t)h +217(sc)h +15(postn)h +cmti10.300 sf +1067 1970(in)s +13(the)h +13(entir)h +-2(e)h +12(pr)h +-2(o)h +-2(gr)h +-2(am)h +cmbx10.432 sf +177 981(2.7)s +70(The)h +22(Stac)h +-2(k)h +177 1796(2.8)s +70(Static)h +21(V)h +-6(ariables)h +177 2480(2.9)s +70(Im)h +-1(pl)h +-1(em)h +-3(en)h +-2(ti)h +-1(ng)h +21(T)h +-6(ext)h +23(Inden)h +-2(tation)h +cmr10.300 sf +177 42(Ha)s +-1(ving)h +13(a)h +14(pac)h +-1(k)h +-2(age)h +13(to)h +14(manage)h +12(all)h +13(the)h +14(memory)h +12(allo)h +1(cation)h +12(had)h +14(t)h +-1(w)h +-1(o)h +13(other)h +14(b)h +1(ene\014ts.)h +177 122(First,)s +18(only)h +17(one)h +18(c)h +-1(hec)h +-1(k)h +18(w)h +-1(as)h +18(required)h +18(in)h +17(the)h +18(en)h +-1(tire)h +18(program)h +16(to)h +17(see)h +19(if)h +17(mem)h +-1(ory)h +16(had)h +17(run)h +18(out)h +17(\(in)h +17(the)h +177 172(memory)s +16(pac)h +-1(k)h +-2(age\),)h +18(and)h +18(if)h +18(that)h +18(failed,)h +17(the)h +19(program)h +17(could)h +18(b)h +1(e)h +18(brough)h +-1(t)h +18(to)h +18(a)h +18(screaming)h +18(halt.)h +30(This)h +177 222(organization)s +20(w)h +-1(as)h +20(far)h +20(preferable)h +22(to)h +20(ha)h +-1(ving)h +20(eac)h +-1(h)h +21(piece)h +21(of)h +20(co)h +1(de)h +22(that)h +21(needed)h +22(to)h +20(allo)h +1(cate)h +20(memory)h +177 272(ha)s +-1(ving)h +13(to)h +14(c)h +-1(hec)h +-1(k)h +15(to)h +13(see)h +15(if)h +158(had)h +14(failed.)h +177 352(Second,)s +21(the)h +20(decision)h +20(to)h +19(construct)h +21(a)h +20(mini)h +-1(-shell)h +17(within)h +19(F)h +-3(unnelW)h +-3(eb)h +19(to)h +19(supp)h +1(ort)h +21(regression)h +20(testing)h +177 402(mean)s +-1(t)h +11(that)h +12(F)h +-3(unnelW)h +-3(eb)h +12(prop)h +1(er)h +13(could)h +12(b)h +1(e)h +12(run)h +13(man)h +-1(y)h +10(times)h +11(in)h +12(an)h +-1(y)h +11(giv)h +-1(en)h +12(in)h +-1(v)h +-1(o)h +1(cation)h +11(of)h +11(F)h +-3(unnelW)h +-3(eb.)h +17(As)h +177 452(a)s +10(consequence)h +13(it)h +10(w)h +-1(as)h +11(necessary)h +12(to)h +11(mak)h +-1(e)h +9(sure)h +11(that)h +11(there)h +11(w)h +-1(as)h +11(no)h +10(memo)h +-1(ry)h +9(leak)h +-2(age)h +10(b)h +1(et)h +-1(w)h +-1(een)h +12(in)h +-1(v)h +-1(o)h +1(cations)h +177 502(of)s +18(F)h +-3(unnelW)h +-3(eb)h +19(prop)h +1(er.)h +33(This)h +19(w)h +-1(as)h +19(accomplished)h +17(b)h +-1(y)h +19(rew)h +-1(orking)h +19(the)h +19(memo)h +-1(ry)h +17(pac)h +-1(k)h +-2(age)h +19(to)h +18(op)h +1(erate)h +20(a)h +177 551(w)s +-1(atermark)h +12(system.)h +17(The)h +14(user)h +14(of)h +12(the)h +14(pac)h +-1(k)h +-2(age,)h +12(when)h +13(requesting)h +14(memo)h +-1(ry)h +-3(,)h +11(could)h +12(request)h +15(\\temp)h +1(orary")h +177 601(or)s +15(\\p)h +1(ermanen)h +-1(t".)h +22(If)h +15(p)h +1(ermanen)h +-1(t,)h +15(the)h +16(memo)h +-1(ry)h +14(pac)h +-1(k)h +-2(age)h +15(forgot)h +14(that)h +16(it)h +15(had)h +15(allo)h +1(cated)h +15(the)h +16(mem)h +-1(ory)h +-3(.)h +20(If)h +177 651(temp)s +1(orary)h +-3(,)h +12(the)h +14(mem)h +-1(ory)h +11(pac)h +-1(k)h +-2(age)h +13(places)h +14(the)h +14(allo)h +1(cated)h +13(blo)h +1(c)h +-1(k)h +13(on)h +13(a)h +13(list.)h +17(There)h +14(w)h +-1(as)h +13(then)h +14(a)h +13(function)h +13(in)h +177 701(the)s +12(memory)h +9(pac)h +-1(k)h +-2(age)h +12(that)h +11(could)h +12(b)h +1(e)h +12(called)h +11(to)h +11(deallo)h +1(cate)h +12(all)h +10(the)h +12(temp)h +1(orary)h +11(memory)h +-4(.)h +16(Th)h +-1(us,)h +11(so)h +12(long)h +11(as)h +177 751(all)s +13(requests)h +16(for)h +14(mem)h +-1(ory)h +12(within)h +13(F)h +-3(unnelW)h +-3(eb)h +14(prop)h +1(er)h +15(w)h +-1(ere)h +15(for)h +13(temp)h +1(orary)h +14(mem)h +-1(ory)h +-3(,)h +11(and)h +14(that)h +14(memory)h +177 800(w)s +-1(as)h +14(freed)h +15(at)h +13(the)h +15(end)h +14(of)h +14(ev)h +-1(ery)h +14(run,)h +14(one)h +14(could)h +14(b)h +1(e)h +14(sure)h +15(that)h +14(there)h +15(w)h +-1(as)h +14(no)h +14(memo)h +-1(ry)h +12(leak)h +-2(age.)h +177 1105(F)s +-3(or)h +13(a)h +12(while)h +12(during)h +13(the)h +13(dev)h +-1(elopmen)h +-1(t)h +12(of)h +12(F)h +-3(unnelW)h +-3(eb)h +12(a)h +13(particularly)h +12(nast)h +-1(y)h +13(bug)h +12(pro)h +-1(v)h +-1(ed)h +13(extremely)h +13(hard)h +177 1155(to)s +16(\014nd.)h +26(The)h +17(symptom)h +13(w)h +-1(as)h +16(that)h +17(F)h +-3(unnelW)h +-3(eb)h +16(w)h +-1(ould)h +15(crash,)h +17(sometimes)h +15(at)h +16(random,)h +15(but)h +16(more)h +16(often)h +177 1205(up)s +1(on)h +17(en)h +-1(tering)h +17(a)h +17(particular)h +16(function.)h +27(In)h +16(the)h +18(end)h +17(ab)h +1(out)h +17(a)h +16(da)h +-1(y)h +17(of)h +16(sp)h +1(eci\014c)h +18(debugging)h +16(w)h +-1(as)h +17(required)h +177 1255(b)s +1(efore)h +15(the)h +14(problem)h +12(w)h +-1(as)h +14(trac)h +-1(k)h +-1(ed)h +15(do)h +-1(wn)h +13(to)h +14(a)h +13(stac)h +-1(k)h +14(problem.)h +17(It)h +14(turned)h +14(out)h +14(that)h +14(someho)h +-1(w)h +12(\(either)h +15(the)h +177 1305(fault)s +14(of)h +14(the)h +16(Macin)h +-1(tosh)h +14(or)h +15(the)h +15(THINK)h +16(C)h +14(language)h +14(system\),)h +15(only)h +14(6K)h +14(w)h +-1(as)h +15(b)h +1(eing)h +15(allo)h +1(cated)h +14(for)h +14(stac)h +-1(k)h +177 1354(space!!!!!!!)s +177 1435(This)s +13(exp)h +1(erience)h +14(led)h +13(me)h +11(imm)h +-1(ediately)h +10(to)h +13(go)h +12(through)h +12(the)h +14(en)h +-1(tire)h +13(program)h +11(and)h +12(eliminate)h +11(\(or)h +12(remo)h +-1(v)h +-1(e)h +12(to)h +177 1485(the)s +15(heap\))h +14(an)h +-1(y)h +13(automatic)h +12(v)h +-2(ariable)h +13(declarations)h +14(that)h +14(used)h +15(more)h +13(than)h +14(one)h +14(h)h +-1(undred)h +14(or)h +14(so)h +14(b)h +-1(ytes.)h +177 1565(The)s +14(lesson)h +14(is)h +14(clearly)h +13(that)h +14(C)h +13(programs)h +13(that)h +13(use)h +15(more)h +12(than)h +14(a)h +13(few)h +14(thousand)h +13(b)h +-1(ytes)h +15(of)h +13(stac)h +-1(k)h +14(space)h +14(are)h +177 1615(risking)s +13(their)h +15(p)h +1(ortabilit)h +-1(y)h +-3(.)h +16(All)h +13(large)h +14(data)h +13(structures)h +16(should)h +14(b)h +1(e)h +15(placed)h +14(in)h +13(the)h +15(heap.)h +177 1920(Static)s +11(v)h +-2(ariables)h +9(also)h +10(pro)h +-1(v)h +-1(ed)h +10(a)h +10(problem)h +9(on)h +11(the)h +11(Macin)h +-1(tosh.)h +16(It)h +11(turns)h +11(out)h +10(that)h +11(the)h +11(Macin)h +-1(tosh)h +10(THINK)h +11(C)h +177 1970(compiler)s +11(do)h +1(es)h +12(not)h +12(allo)h +-1(w)h +10(more)h +11(than)h +12(32K)h +11(of)h +11(statics)h +391(.)h +17(F)h +-3(or)h +11(a)h +12(while)h +11(this)h +12(restriction)h +177 2020(w)s +-1(as)h +17(a)h +16(serious)h +18(threat)h +18(to)h +16(the)h +18(program)h +15(as)h +17(it)h +16(w)h +-1(as)h +17(disco)h +-1(v)h +-1(ered)h +18(that)h +17(constan)h +-1(t)h +17(strings)h +17(w)h +-1(ere)h +18(included)h +17(in)h +177 2070(this)s +14(total!)h +18(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +14(some)h +13(searc)h +-1(hing)h +14(rev)h +-1(ealed)h +15(a)h +13(compiler)h +13(option)h +13(that)h +14(remo)h +-1(v)h +-1(ed)h +13(the)h +15(strings)h +14(from)h +12(the)h +177 2119(static)s +14(category)h +-3(.)h +177 2200(Nev)s +-1(ertheless)h +1(,)h +17(the)h +16(32K)h +16(lim)h +-1(it)h +13(is)h +16(rather)h +16(sev)h +-1(ere.)h +25(Again,)h +15(it)h +15(seems)h +16(that)h +15(for)h +16(p)h +1(ortabilit)h +-1(y)h +14(reasons,)h +16(C)h +16(pro-)h +177 2250(grams)s +15(that)h +16(use)h +16(a)h +16(lot)h +15(of)h +16(static)h +16(v)h +-2(ariables)h +15(are)h +16(risking)h +16(their)h +16(p)h +1(ortabilit)h +-1(y)h +-3(.)h +22(As)h +16(a)h +16(result,)h +17(the)h +16(F)h +-3(unnelW)h +-3(eb)h +177 2300(co)s +1(de)h +15(a)h +-1(v)h +-1(oids)h +13(static)h +14(v)h +-2(ariables)h +13(where)h +15(p)h +1(ossible)h +14(in)h +14(fa)h +-1(v)h +-1(our)h +13(of)h +13(the)h +14(heap.)h +177 2605(A)s +-1(t)h +21(one)h +21(p)h +1(oin)h +-1(t)h +20(during)h +20(the)h +21(dev)h +-1(elopmen)h +-1(t)h +20(of)h +20(F)h +-3(unnelW)h +-3(eb,)h +21(text)h +22(inden)h +-1(tation)h +20(w)h +-1(as)h +20(fully)h +20(impl)h +-1(em)h +-1(en)h +-1(ted.)h +177 2654(Ho)s +-1(w)h +-1(ev)h +-1(er,)h +12(it)h +12(w)h +-1(as)h +12(subsequen)h +-1(tly)h +13(remo)h +-1(v)h +-1(ed)h +11(b)h +1(ecause)h +13(it)h +12(w)h +-1(as)h +12(considered)h +13(a)h +12(dangerous)h +12(feature.)h +18(This)h +12(section)h +177 2704(records)s +17(the)h +16(w)h +-1(a)h +-1(y)h +15(in)h +15(whic)h +-1(h)h +16(text)h +16(inden)h +-1(tation)h +15(w)h +-1(as)h +15(implem)h +-1(en)h +-1(ted)h +14(so)h +16(that)h +16(if)h +14(the)h +16(feature)h +17(ev)h +-1(er)h +16(has)h +16(to)h +15(b)h +1(e)h +177 2754(put)s +14(bac)h +-1(k,)h +14(this)h +14(tec)h +-1(hnique)h +14(can)h +15(b)h +1(e)h +14(used)h +15(again.)h +177 2835(1.)s +18(Create)h +15(a)h +13(new)h +15(\014eld)h +14(in)h +13(the)h +109(record)h +16(call)h +182(.)h +1042 2940(30)s +14 2 739 2835 r +14 2 1037 2835 r +31 @eop +32 @bop0 +cmtt10.300 sf +[<03800007E0000FE0001E70001C70001C70001C70001C77E01CE7E01DE7E00FC7000F8E +000F0E001E0E003F1C007F1C00739C00E3F800E1F800E0F1C0E0F1C071F9C07FFFC03F9F +801E0700> +24 25 -1 24 22] 38 dc +[<7F0FE0FF8FF07F0FE01C07801C0F001C0E001C1C001C3C001C78001CF0001CE0001DF0 +001FF0001FF8001F38001E1C001C1C001C0E001C0E001C07001C07001C03807F07E0FF8F +F07F07E0> +24 25 0 24 22] 75 dc +32 @bop1 +cmr10.300 sf +177 342(2.)s +17(Mo)h +1(dify)h +10(the)h +12(scanner)h +13(so)h +11(that)h +11(it)h +11(generates)h +13(this)h +11(\014eld.)h +18(Sendtext)h +12(should)h +11(b)h +1(e)h +12(mo)h +1(di\014ed)h +10(so)h +11(that)h +11(it)h +11(accepts)h +177 391(an)s +14(argumen)h +-1(t)h +13(for)h +13(the)h +175(v)h +-2(alue.)h +177 2835(Then)s +15(all)h +12(the)h +15(calls)h +13(to)h +14(sendtext)h +15(ha)h +-1(v)h +-1(e)h +14(to)h +14(b)h +1(e)h +14(c)h +-1(hanged:)h +1042 2940(31)s +cmtt10.300 sf +308 42(char)s +21(*sc_postn;)h +20(/*)h +21(Pointer)h +20(in)h +22(the)h +21(range)h +21([sc_first,s)h +-1(c_las)h +-1(t+1].)h +237(*/)h +657 91(/*)s +21(It)h +21(is)h +22(the)h +21(minimum)h +20(possible)h +20(value)h +21(of)h +22(sc_postn)h +20(for)h +108(*/)h +657 141(/*)s +21(which)h +21(EOL)h +21(does)h +21(not)h +21(appear)h +21(in)h +21(*sc_postn..*s)h +-1(c_la)h +-1(st.)h +85(*/)h +657 191(/*)s +21(i.e.)h +21(Points)h +21(to)h +21(the)h +21(byte)h +21(following)h +20(the)h +21(first)h +21(EOL)h +21(in)h +65(*/)h +657 241(/*)s +21(the)h +21(scrap)h +21(or)h +21(sc_first)h +20(if)h +22(EOL)h +21(does)h +21(not)h +21(appear.)h +173(*/)h +556 391(p)s +15(postn)h +177 492(LOCAL)s +21(void)h +21(sendtext)h +20(P_\(\(p_ps_t,ch)h +-1(ar)h +20(*,char)h +20(*,char)h +21(*,bool\)\);)h +177 542(LOCAL)s +21(void)h +21(sendtext\(p_t)h +-1(kps,p)h +-1(_firs)h +-1(t,p_l)h +-1(ast,)h +-1(p_pos)h +-1(tn,is)h +-1(_whit)h +-1(e\))h +177 592(/*)s +22(Appends)h +20(a)h +21(text)h +21(token)h +21(to)h +22(the)h +21(end)h +21(of)h +21(the)h +21(token)h +21(list.)h +544(*/)h +177 642(/*)s +22(IN:)h +21(p_ps)h +21(is)h +21(a)h +22(pointer)h +20(to)h +21(a)h +22(position)h +20(structure)h +20(giving)h +21(the)h +21(position)h +20(of)h +21(the)h +65(*/)h +177 691(/*)s +109(first)h +20(character)h +20(of)h +22(the)h +21(token.)h +914(*/)h +177 741(/*)s +22(IN:)h +21(p_first)h +20(and)h +21(p_last)h +21(point)h +21(to)h +21(the)h +21(first)h +21(and)h +21(last)h +21(byte)h +21(of)h +21(the)h +22(text)h +20(scrap.)h +21(*/)h +177 791(/*)s +22(IN:)h +21(p_postn)h +20(has)h +21(the)h +21(same)h +21(definition)h +20(as)h +21(sc_postn)h +21(\(see)h +21(fwdata.h\).)h +259(*/)h +177 841(/*)s +22(IN:)h +21(is_white)h +20(should)h +20(be)h +22(set)h +21(to)h +21(TRUE)h +21(iff)h +21(scrap)h +21(is)h +22(entirely)h +20(whitespace.)h +150(*/)h +177 891(p_ps_t)s +21(p_tkps;)h +177 941(char)s +43(*p_first;)h +177 990(char)s +43(*p_last;)h +177 1040(char)s +43(*p_postn;)h +177 1090(bool)s +65(is_white;)h +177 1140({)s +199 1190(tk_t)s +21(token;)h +199 1289(/*)s +21(Empty)h +21(text)h +21(scraps)h +21(should)h +20(never)h +21(be)h +21(generated.)h +20(*/)h +199 1339(assert\(p_fir)s +-1(st<=p)h +-1(_last)h +-1(,"sen)h +-1(dtext)h +-1(:)h +20(Text)h +21(scrap)h +21(bounds)h +20(are)h +21(bad."\);)h +199 1439(/*)s +21(If)h +22(ch=EOL)h +20(then)h +21(we)h +22(should)h +20(be)h +22(scanning)h +20(more)h +21(text,)h +20(not)h +22(shipping)h +20(it!)h +21(*/)h +199 1488(assert\(ch!=E)s +-1(OL,"s)h +-1(entte)h +-1(xt:)h +20(Shipping)h +20(text)h +21(while)h +20(still)h +21(more)h +21(to)h +22(scan."\);)h +199 1588(/*)s +21(Check)h +21(that)h +21(p_postn)h +20(is)h +22(in)h +21(range.)h +21(See)h +21(definition)h +20(in)h +21(fwdata.h.)h +20(*/)h +199 1638(assert\(p_fir)s +-1(st<=p)h +-1(_post)h +-1(n)h +20(&&)h +21(p_postn<=p_las)h +-1(t+1,)h +352 1688("sendtext:)s +19(p_postn)h +21(is)h +21(out)h +21(of)h +22(range."\);)h +199 1787(/*)s +21(Debug:)h +21(Check)h +21(the)h +21(p_postn)h +20(field)h +21(using)h +21(a)h +21(brute)h +21(force)h +21(check.)h +20(*/)h +199 1837({)s +221 1887(char)s +21(*i,*j;)h +221 1937(j=p_first;)s +221 1987(for)s +21(\(i=p_first;i)h +-1(<=p_l)h +-1(ast;i)h +-1(++\))h +286 2036(if)s +22(\(*i==EOL\))h +352 2086(j=i+1;)s +221 2136(assert\(j==p)s +-1(_post)h +-1(n,"se)h +-1(ndtex)h +-1(t:)h +20(sc_postn)h +20(field)h +21(is)h +21(incorrect."\);)h +199 2186(})s +199 2286(/*)s +21(Load)h +21(the)h +21(text)h +21(token.)h +21(*/)h +199 2335(token.tk_kin)s +-1(d)h +173(=)h +21(TK_TEXT;)h +199 2385(ASSIGN\(token)s +-1(.tk_p)h +-1(s,*p_)h +-1(tkps\))h +-1(;)h +199 2435(token.tk_sc.)s +-1(sc_fi)h +-1(rst)h +20(=)h +21(p_first;)h +199 2485(token.tk_sc.)s +-1(sc_la)h +-1(st)h +42(=)h +21(p_last;)h +199 2535(token.tk_sc.)s +-1(sc_po)h +-1(stn)h +20(=)h +21(p_postn;)h +199 2584(token.tk_whi)s +-1(te)h +151(=)h +21(is_white;)h +199 2634(token.tk_par)s +-1(no)h +151(=)h +21(0;)h +199 2684(ls_add\(token)s +-1(_list)h +-1(,PV)h +20(&token\);)h +177 2734(})s +14 2 581 391 r +32 @eop +33 @bop0 +cmtt10.300 sf +[<E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0> +8 32 -9 28 22] 124 dc +[<7F1FC0FFBFE07F1FC01C07001C07001C07001C07001C07001C07001C07001FFF001FFF +001FFF001C07001C07001C07001C07001C07001C07001C07001C07001C07007F1FC0FFBF +E07F1FC0> +24 25 -1 24 22] 72 dc +33 @bop1 +cmsy10.300 sf +239 2605(\017)s +239 2835(\017)s +cmti10.300 sf +1265 2450(b)s +-2(ase)h +cmr10.300 sf +177 1442(The)s +14(dump)h +13(co)h +1(de)h +15(needs)h +15(to)h +14(b)h +1(e)h +14(c)h +-1(hanged)h +15(to)h +1(o!)h +177 2400(3.)s +37(Ov)h +-1(er)h +22(in)h +20(the)h +21(T)h +-3(angle)h +19(mo)h +1(dule,)h +20(create)h +22(a)h +20(massiv)h +-1(e)h +19(arra)h +-1(y)h +20(of)h +20(p)h +1(oin)h +-1(ters)h +21(to)h +20(scraps)h +22(to)h +20(b)h +1(e)h +21(used)h +22(as)h +20(a)h +177 2450(stac)s +-1(k.)h +19(Main)h +-1(tain)h +13(p)h +1(oin)h +-1(ters)h +14(in)h +-1(to)h +14(the)h +14(stac)h +-1(k)h +15(called)h +180(and)h +102(\(simila)h +-1(r)h +13(to)h +14(the)h +14(blank)h +13(inden)h +-1(tation)h +177 2500(v)s +-2(ariables\).)h +18(Implem)h +-1(en)h +-1(t)h +12(the)h +15(follo)h +-1(wi)h +-1(ng:)h +281 2605(T)s +-3(o)h +14(write)h +16(out)h +15(a)h +15(scrap,)h +16(scan)h +15(it)h +15(b)h +-1(yte)h +16(b)h +-1(y)h +15(b)h +-1(yte.)h +22(Output)h +16(eac)h +-1(h)h +16(b)h +-1(yte.)h +22(When)h +15(y)h +-1(ou)h +15(hit)h +15(an)h +15(EOL,)h +15(p)h +1(op)h +281 2655(the)s +15(stac)h +-1(k)h +15(bac)h +-1(k)h +15(to)h +102(.)h +20(Then)h +15(write)h +15(out)h +15(an)h +14(EOL)h +15(follo)h +-1(w)h +-1(ed)h +13(b)h +-1(y)h +15(the)h +15(stac)h +-1(k)h +15(con)h +-1(ten)h +-1(ts)h +16(but)h +15(writing)h +281 2705(eac)s +-1(h)h +12(scrap)h +13(only)h +12(from)h +131(to)h +12(end)h +12(end)h +13(of)h +11(eac)h +-1(h)h +13(scrap.)h +18(When)h +12(y)h +-1(ou)h +12(ha)h +-1(v)h +-1(e)h +12(\014nished)h +12(the)h +13(new)h +12(scrap,)h +281 2755(push)s +14(it)h +14(on)h +14(the)h +14(stac)h +-1(k.)h +281 2835(When)s +14(y)h +-1(ou)h +13(hit)h +14(a)h +14(new)h +14(macro)h +13(to)h +13(expand,)h +14(sa)h +-1(v)h +-1(e)h +102(.)h +17(Restore)h +15(it)h +13(later.)h +1042 2940(32)s +cmtt10.300 sf +177 42(/*)s +22(@)h +21(instructs)h +20(FunnelWeb)h +20(to)h +21(replace)h +21(the)h +21(special)h +20(construct)h +20(with)h +21(the)h +21(*/)h +177 91(/*)s +22(special)h +20(character.)h +20(Luckily)h +20(one)h +21(appears)h +20(just)h +21(before)h +21(the)h +21(@)h +22(!!)h +108(*/)h +177 141(/*)s +22(Note:)h +20(FALSE)h +21(is)h +21(OK)h +22(because)h +20(space)h +21(is)h +21(not)h +21(a)h +22(legal)h +21(specialch.)h +150(*/)h +177 191(/*)s +22(Note:)h +20(Setting)h +21(parameter)h +20(p_postn)h +20(to)h +21(p_ch-1)h +21(is)h +21(OK)h +22(as)h +21(EOL)h +21(is)h +22(not)h +21(a)h +21(*/)h +177 241(/*)s +152(legal)h +21(specialch.)h +913(*/)h +177 291(sendtext\(&ps_)s +-1(spec,)h +-1(p_ch-)h +-1(1,p_c)h +-1(h-1,p)h +-1(_ch-1)h +-1(,FAL)h +-1(SE\);)h +177 340(break;)s +177 440(/*)s +22(+)h +21(instructs)h +20(FunnelWeb)h +20(to)h +21(insert)h +21(an)h +21(EOL.)h +21(We)h +22(can't)h +20(look)h +21(to)h +22(the)h +21(end)h +21(of)h +21(*/)h +177 490(/*)s +22(the)h +21(previous)h +20(line)h +21(to)h +21(find)h +21(an)h +22(EOL)h +21(as)h +21(this)h +21(might)h +21(be)h +21(the)h +21(first)h +21(line.)h +64(*/)h +177 540(/*)s +22(Running)h +20(ahead)h +21(to)h +21(the)h +21(end)h +21(of)h +22(the)h +21(line)h +21(is)h +21(expensive,)h +20(and)h +21(having)h +21(the)h +64(*/)h +177 589(/*)s +22(liner)h +20(mini-package)h +20(maintain)h +20(a)h +21(variable)h +20(for)h +22(it)h +21(would)h +21(be)h +21(extra)h +173(*/)h +177 639(/*)s +22(housekeepi)h +-1(ng.)h +20(Instead)h +20(of)h +21(all)h +22(this,)h +20(we)h +22(just)h +21(point)h +20(to)h +22(a)h +21(static.)h +151(*/)h +177 689({CONST)s +21(static)h +20(char)h +21(stateol)h +21(=)h +21(EOL;)h +199 739(sendtext\(&ps)s +-1(_spec)h +-1(,&sta)h +-1(teol,)h +-1(&stat)h +-1(eol,\()h +-1(&sta)h +-1(teol\))h +-1(+1,TR)h +-1(UE\);})h +177 789(break;)s +177 888(/*)s +22(If)h +21(we)h +21(hit)h +21(something)h +20(that)h +21(ends)h +21(a)h +22(text)h +21(token)h +21(*/)h +177 938(/*)s +22(then)h +21(we)h +21(can)h +21(transmit)h +20(a)h +22(white)h +21(text)h +21(token.)h +64(*/)h +177 988(if)s +22(\(ch==speci)h +-1(alch)h +19(||)h +22(ch==EOFCH\))h +243 1038({sendtext\()s +-1(&ps_s)h +-1(tart,)h +-1(p_fir)h +-1(st,p_)h +-1(ch-1,)h +-1(MAX\()h +-1(p_sol)h +-1(,p_fi)h +-1(rst\),)h +-1(TRUE\))h +-1(;)h +20(return;})h +177 1137(/*)s +22(Otherwise)h +19(we)h +22(have)h +21(some)h +21(more)h +21(\(non-white\))h +19(text)h +21(to)h +22(scan.)h +20(*/)h +177 1187(/*)s +22(We)h +21(can)h +21(then)h +21(send)h +21(a)h +22(non-white)h +20(text)h +21(token.)h +303(*/)h +177 1237(while)s +21(\(ch!=special)h +-1(ch)h +20(&&)h +21(ch!=EOFCH\))h +243 1287(NEXTCH;)s +177 1337(sendtext\(&ps_)s +-1(start)h +-1(,p_fi)h +-1(rst,p)h +-1(_ch-1)h +-1(,MAX\()h +-1(p_so)h +-1(l,p_f)h +-1(irst\))h +-1(,FALS)h +-1(E\);)h +352 1548(wf_str\(p_w)s +-1(f,"\\")h +-1("\);)h +177 1597(assert\(token-)s +-1(>tk_s)h +-1(c.sc_)h +-1(first)h +19(!=NULL,"dm_tk)h +-1(ls:)h +20(NULL)h +21(ptr1."\);)h +177 1647(assert\(token-)s +-1(>tk_s)h +-1(c.sc_)h +-1(last)h +41(!=NULL,"dm_tk)h +-1(ls:)h +20(NULL)h +21(ptr2."\);)h +177 1697(for)s +21(\(i=token->tk_s)h +-1(c.sc_)h +-1(first)h +-1(;)h +20(i<=token->tk)h +-1(_sc.s)h +-1(c_las)h +-1(t;)h +20(i++\))h +221 1747({)s +243 1797(if)s +21(\(i==token->t)h +-1(k_sc.)h +-1(sc_po)h +-1(stn\))h +308 1846(wf_str\(p_wf,)s +-1("<pos)h +-1(tn>"\))h +-1(;)h +243 1896(if)s +21(\(*i=='\\n'\))h +308 1946(wf_wl\(p_wf,")s +-1("\);)h +243 1996(else)s +308 2046(dm_byte\(p_wf)s +-1(,*\(\(u)h +-1(byte_)h +19(*\))h +22(i\)\);)h +221 2095(})s +177 2145(if)s +22(\(i==token-)h +-1(>tk_s)h +-1(c.sc_)h +-1(postn)h +-1(\))h +243 2195(wf_str\(p_w)s +-1(f,"<p)h +-1(ostn>)h +-1("\);)h +177 2245(wf_str\(p_wf,")s +-1(\\""\);)h +177 2295(})s +1017 2450(current)s +609 2655(base)s +665 2705(postn)s +1085 2835(base)s +33 @eop +34 @bop0 +34 @bop1 +cmtt10.300 sf +262 42(postn)s +177 158(The)s +21(rain)h +21(in)h +22(Spain)h +177 208(falls)s +21(mainly)h +20(@<on)h +21(the)h +22(plain@>)h +1260 324(@<on)s +21(the)h +21(plain@>)h +230(falls)h +177 374(mainly)s +439 423(postn)s +cmr10.300 sf +177 42(The)s +137(\014eld)h +14(solv)h +-1(es)h +14(the)h +15(big)h +13(problem)h +13(of)h +13(ho)h +-1(w)h +13(to)h +14(cop)h +1(e)h +15(with)h +13(something)h +13(lik)h +-1(e)h +13(this:)h +177 324(The)s +21(trouble)h +21(is)h +20(that)h +21(w)h +-1(e)h +21(w)h +-1(an)h +-1(t)h +20(to)h +20(text)h +21(inden)h +-1(t)h +21(the)h +21(lines)h +21(in)h +389(with)h +20(just)h +21(\\)h +330 374(".)s +31(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +20(this)h +19(string)h +18(is)h +18(only)h +18(part)h +19(of)h +18(a)h +18(scrap.)h +33(The)h +19(solution)h +17(is)h +19(to)h +18(get)h +19(the)h +19(scanner)h +20(to)h +177 423(record,)s +16(in)h +14(the)h +140(\014eld)h +15(of)h +14(eac)h +-1(h)h +15(scrap,)h +16(the)h +15(p)h +1(osition)h +14(of)h +15(the)h +15(\014rst)h +16(b)h +-1(yte)h +15(with)h +15(a)h +14(EOL-free)h +16(run)h +15(to)h +15(the)h +177 473(end)s +15(of)h +13(the)h +14(scrap.)h +177 548(This)s +16(sc)h +-1(heme)h +16(is)h +16(v)h +-1(ery)h +17(e\016cien)h +-1(t)h +16(b)h +1(ecause)h +18(all)h +15(w)h +-1(e)h +16(are)h +17(doing)h +15(is)h +16(pushing)h +16(and)h +16(p)h +1(opping)h +15(p)h +1(oin)h +-1(ters)h +17(to)h +16(scraps)h +177 598(on)s +16(a)h +16(stac)h +-1(k)h +17(arra)h +-1(y)h +-3(.)h +25(The)h +16(main)h +14(disadv)h +-2(an)h +-1(tage)h +16(is)h +16(that)h +16(the)h +17(arra)h +-1(y)h +16(m)h +-1(ust)h +16(necessarily)h +17(b)h +1(e)h +17(\014nite)h +16(and)h +17(w)h +-1(ould)h +177 648(imp)s +1(ose)h +13(a)h +14(lim)h +-1(it)h +12(on)h +13(the)h +15(depth)h +14(of)h +14(inden)h +-1(tation)h +13(nesting)h +14(\(not)h +14(a)h +14(big)h +13(problem\).)h +1042 2940(33)s +34 @eop +35 @bop0 +35 @bop1 +cmr10.300 sf +1042 2940(34)s +35 @eop +36 @bop0 +cmbx10.622 sf +[<0003FF8000001FFFF000007FFFFE0000FE03FF0003F001FFC007E000FFE007C0007FF0 +0FF0007FF00FFC007FF81FFC007FF81FFE007FF81FFE007FF81FFE007FF81FFE007FF81F +FE007FF80FFC007FF80FFC007FF003F000FFF0000000FFE0000000FFE0000001FFC00000 +01FF80000003FF00000007FC0000001FF800000FFFC000000FFF8000000FFFF800000003 +FE00000001FF80000000FFE00000007FF00000003FF80000003FFC0000003FFE0000001F +FE0000001FFE0200001FFF1FC0001FFF3FE0001FFF7FF0001FFFFFF8001FFFFFF8001FFF +FFF8001FFFFFF8001FFFFFF8001FFEFFF8003FFEFFF0003FFC7FE0003FFC7FC0007FF83F +80007FF01FE000FFE00FFC03FFC003FFFFFF8001FFFFFE00003FFFF0000007FF8000> +40 57 -4 55 49] 51 dc +cmbx10.746 sf +[<FFFFFFE0000000000003FFFFFFFFFFFFF0000000000007FFFFFFFFFFFFF00000000000 +07FFFFFFFFFFFFF800000000000FFFFFFFFFFFFFF800000000000FFFFFFF001FFFF80000 +0000000FFFF800001FFFFC00000000001EFFF800001FFFFC00000000001EFFF800001FBF +FE00000000003CFFF800001FBFFE00000000003CFFF800001F9FFF000000000078FFF800 +001F9FFF000000000078FFF800001F8FFF8000000000F0FFF800001F8FFF8000000000F0 +FFF800001F87FFC000000001E0FFF800001F87FFC000000001E0FFF800001F87FFC00000 +0001E0FFF800001F83FFE000000003C0FFF800001F83FFE000000003C0FFF800001F81FF +F00000000780FFF800001F81FFF00000000780FFF800001F80FFF80000000F00FFF80000 +1F80FFF80000000F00FFF800001F807FFC0000001E00FFF800001F807FFC0000001E00FF +F800001F807FFC0000001E00FFF800001F803FFE0000003C00FFF800001F803FFE000000 +3C00FFF800001F801FFF0000007800FFF800001F801FFF0000007800FFF800001F800FFF +800000F000FFF800001F800FFF800000F000FFF800001F8007FFC00001E000FFF800001F +8007FFC00001E000FFF800001F8003FFE00003C000FFF800001F8003FFE00003C000FFF8 +00001F8003FFE00003C000FFF800001F8001FFF000078000FFF800001F8001FFF0000780 +00FFF800001F8000FFF8000F0000FFF800001F8000FFF8000F0000FFF800001F80007FFC +001E0000FFF800001F80007FFC001E0000FFF800001F80003FFE003C0000FFF800001F80 +003FFE003C0000FFF800001F80001FFF00780000FFF800001F80001FFF00780000FFF800 +001F80001FFF00780000FFF800001F80000FFF80F00000FFF800001F80000FFF80F00000 +FFF800001F800007FFC1E00000FFF800001F800007FFC1E00000FFF800001F800003FFE3 +C00000FFF800001F800003FFE3C00000FFF800001F800001FFF7800000FFF800001F8000 +01FFF7800000FFF800001F800001FFF7800000FFF800001F800000FFFF000000FFF80000 +1F800000FFFF000000FFF800001F8000007FFE000000FFF800001F8000007FFE000000FF +F800001F8000003FFC000000FFF800001F8000003FFC000000FFF800001F8000001FF800 +0000FFF800001F8000001FF8000000FFF800007FE000000FF0000000FFF800FFFFFFF000 +0FF00007FFFFFFFFFFFFFFF0000FF00007FFFFFFFFFFFFFFF00007E00007FFFFFFFFFFFF +FFF00007E00007FFFFFFFFFFFFFFF00003C00007FFFFFFFF> +104 71 -4 70 113] 77 dc +[<00000007FF800000000001FFFFF0000000000FFFFFFC000000003FFFFFFE00000000FF +FC00FF00000001FFC0003F80000007FF00007FC000000FFE0001FFC000001FFC0001FFE0 +00001FF80003FFE000003FF00003FFE000003FF00003FFE000007FE00003FFE000007FE0 +0003FFE000007FE00003FFE000007FE00003FFE000007FE00001FFC000007FE00000FF80 +00007FE000003E0000007FE00000000000007FE00000000000007FE00000000000007FE0 +0000000000007FE00000000000007FE00000000000007FE0003FFFF000FFFFFFFFFFFFF0 +00FFFFFFFFFFFFF000FFFFFFFFFFFFF000FFFFFFFFFFFFF000FFFFFFFFFFFFF000007FF0 +0000FFF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF0 +00007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF0 +00007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF0 +00007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF0 +00007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF0 +00007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF0 +00007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF0 +00007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF0003FFFFF +E03FFFFFE03FFFFFE03FFFFFE03FFFFFE03FFFFFE03FFFFFE03FFFFFE03FFFFFE03FFFFF +E0> +64 72 -2 71 66] 12 dc +36 @bop1 +cmtt10.300 sf +1687 2735(@!)s +cmbx10.622 sf +177 377(Chapter)s +34(3)h +cmbx10.746 sf +177 609(F)s +-10(unnelW)h +-10(eb)h +41(Mo)h +3(di\014catio)h +1(n)h +cmti10.300 sf +1250 1964(only)s +1616 2064(F)s +-3(unnelWeb)h +18(User's)h +177 2113(Manual)s +cmbx10.300 sf +295 2362(Remo)s +-1(ving)h +13(features:)h +295 2635(Mo)s +1(difying)h +18(features:)h +cmbx10.432 sf +177 875(3.1)s +70(In)h +-2(tro)h +2(duction)h +177 1301(3.2)s +70(The)h +22(Danger)h +24(of)h +23(Mo)h +2(difying)h +23(Languages)h +cmr10.300 sf +177 990(This)s +19(c)h +-1(hapter)h +20(deals)h +19(with)h +19(mo)h +1(di\014cations)h +17(to)h +19(F)h +-3(unnelW)h +-3(eb.)h +33(Although)h +19(the)h +19(GNU)h +19(license)h +20(under)h +20(whic)h +-1(h)h +177 1040(F)s +-3(unnelW)h +-3(eb)h +10(is)h +11(distributed)h +12(allo)h +-1(ws)h +9(an)h +-1(y)h +-1(one)h +11(to)h +10(mo)h +1(dify)h +9(F)h +-3(unnelW)h +-3(eb)h +10(and)h +11(distribute)h +11(the)h +11(mo)h +1(di\014ed)h +10(v)h +-1(ersions,)h +177 1090(there)s +15(are)h +14(a)h +13(n)h +-1(um)h +-1(b)h +1(er)h +12(of)h +13(dangers)h +14(in)h +13(doing)h +13(this.)h +17(This)h +14(c)h +-1(hapter)h +14(explains)h +13(the)h +14(dangers)h +14(and)h +13(presen)h +-1(ts)h +16(some)h +177 1140(issues)s +15(that)h +14(y)h +-1(ou)h +14(should)h +13(think)h +14(ab)h +1(out)h +14(if)h +13(y)h +-1(ou)h +13(in)h +-1(tend)h +14(to)h +14(distribute)h +14(mo)h +1(di\014ed)h +13(v)h +-1(ersions)h +14(of)h +13(F)h +-3(unnelW)h +-3(eb.)h +177 1417(Whenev)s +-1(er)h +15(someone)h +13(mo)h +1(di\014es)h +13(a)h +14(computer)h +13(program)h +12(they)h +15(should)h +13(alw)h +-1(a)h +-1(ys)h +13(ask)h +14(themselv)h +-1(es)h +14(\\what)h +13(is)h +14(the)h +177 1467(impact)s +10(of)h +11(these)h +12(c)h +-1(hanges)h +12(going)h +11(to)h +11(b)h +1(e)h +12(on)h +11(users".)h +18(F)h +-3(or)h +11(mature)h +11(pro)h +1(ducts,)h +12(the)h +12(degree)h +13(of)h +11(impact)h +9(is)h +12(largely)h +177 1516(determined)s +17(b)h +-1(y)h +17(the)h +18(in)h +-1(v)h +-1(estmen)h +-1(t)h +16(that)h +18(users)h +18(ha)h +-1(v)h +-1(e)h +17(made)h +16(in)h +17(particular)h +17(\014le)h +17(formats)h +16(supp)h +1(orted)h +18(b)h +-1(y)h +17(the)h +177 1566(pro)s +1(duct.)h +177 1641(A)s +-1(t)h +13(the)h +13(t)h +-1(w)h +-1(o)h +13(extremes,)h +13(there)h +14(are)h +13(the)h +13(video)h +13(game)h +11(and)h +13(the)h +13(compiler.)h +16(If)h +13(one)h +13(c)h +-1(hanges)h +13(a)h +13(video)h +12(game,)h +11(the)h +177 1690(c)s +-1(hange)h +12(a\013ects)h +12(only)h +10(the)h +12(future)h +12(games)h +10(pla)h +-1(y)h +-1(ed.)h +16(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +12(if)h +10(one)h +12(c)h +-1(hanges)h +11(a)h +11(compiler)h +10(in)h +11(particular)h +11(w)h +-1(a)h +-1(ys,)h +177 1740(it)s +13(is)h +12(lik)h +-1(ely)h +12(that)h +13(thousands)h +13(of)h +13(users)h +14(will)h +12(b)h +1(e)h +13(forced)h +14(to)h +12(c)h +-1(hange)h +14(mil)h +-1(li)h +-1(ons)h +11(of)h +13(source)h +14(\014les)h +13(to)h +13(accommodate)h +177 1790(the)s +12(new)h +12(v)h +-1(ersion.)h +17(Th)h +-1(us)h +11(the)h +12(impact)h +10(of)h +10(c)h +-1(hanges)h +12(to)h +11(a)h +11(program)h +10(dep)h +1(ends)h +13(largely)h +10(on)h +11(the)h +12(in)h +-1(v)h +-1(estmen)h +-1(t)h +10(made)h +177 1840(b)s +-1(y)h +14(users,)h +15(in)h +13(source)h +15(\014les,)h +14(training,)h +13(and)h +13(ev)h +-1(en)h +15(m)h +-1(uscle)h +13(memo)h +-1(ry!)h +177 1914(F)s +-3(unnelW)h +-3(eb)h +14(lies)h +15(v)h +-1(ery)h +15(m)h +-1(uc)h +-1(h)h +14(at)h +15(the)h +15(compiler)h +14(end)h +15(of)h +14(this)h +15(sp)h +1(ectrum.)h +22(In)h +14(fact)h +15(it)h +15(lies)h +14(ev)h +-1(en)h +16(further.)h +22(Not)h +177 1964(only)s +15(do)h +1(es)h +16(it)h +14(implem)h +-1(en)h +-1(t)h +14(a)h +15(language,)h +14(but)h +15(it)h +15(is)h +15(curren)h +-1(tly)h +16(the)h +107(impl)h +-1(em)h +-1(en)h +-1(tation)h +13(of)h +15(that)h +15(language!)h +177 2014(This)s +11(means)h +11(that,)h +11(although)h +11(they)h +12(shouldn't,)h +11(p)h +1(eople)h +11(will)h +10(b)h +1(e)h +12(tempted)h +11(to)h +12(treat)h +12(the)h +12(F)h +-3(unnelW)h +-3(eb)h +10(program)h +177 2064(as)s +16(the)h +17(de\014nition)h +15(of)h +15(its)h +16(input)h +16(language)h +15(instead)h +16(of)h +15(the)h +17(de\014nition)h +15(c)h +-1(hapter)h +17(in)h +15(the)h +312 2113(,)s +14(whic)h +-1(h)h +14(tak)h +-1(es)h +14(precede)h +1(nce)h +1(.)h +177 2188(Because)s +13(F)h +-3(unnelW)h +-3(eb)h +10(de\014nes)h +12(an)h +10(input)h +11(language,)h +10(and)h +10(p)h +1(eople)h +11(will)h +10(write)h +11(programs)h +9(using)h +10(that)h +11(language,)h +177 2238(particular)s +14(kinds)h +13(of)h +14(c)h +-1(hanges)h +14(in)h +13(the)h +15(language)h +13(will)h +12(impact)h +12(sev)h +-1(erely)h +15(on)h +14(users.)h +19(Three)h +15(di\013eren)h +-1(t)h +15(kinds)h +13(of)h +177 2287(c)s +-1(hange)h +14(are)h +15(discussed)h +15(b)h +1(elo)h +-1(w.)h +716 2362(Remo)s +-1(v)h +-3(al)h +11(of)h +12(features)h +14(\(featurectom)h +-1(y\))h +13(is)h +13(extremely)h +13(di\016cult)h +12(once)h +295 2412(the)s +16(user)h +17(base)h +16(has)h +16(started)h +16(using)h +16(them.)h +22(If)h +15(a)h +15(feature)h +16(is)h +16(remo)h +-1(v)h +-1(ed,)h +14(users)h +17(of)h +15(the)h +16(program)h +295 2461(will)s +11(ha)h +-1(v)h +-1(e)h +12(to)h +13(go)h +11(through)h +13(all)h +11(their)h +13(programs)h +11(and)h +12(\014nd)h +13(a)h +12(w)h +-1(a)h +-1(y)h +11(to)h +13(sim)h +-1(ula)h +-1(te)h +11(the)h +13(e\013ect)h +14(of)h +12(the)h +295 2511(remo)s +-1(v)h +-1(ed)h +13(feature)h +15(with)h +13(other)h +14(features.)h +19(Often)h +15(this)h +13(is)h +14(so)h +14(un)h +-1(think)h +-2(able,)h +12(that)h +14(bad)h +14(language)h +295 2561(constructs)s +16(are)h +14(tolerated)h +15(far)h +13(b)h +1(ey)h +-1(ond)h +15(their)h +14(useful)h +14(lifetim)h +-1(e.)h +732 2635(Mo)s +1(di\014cation)h +17(of)h +16(features)h +18(has)h +18(less)h +18(direct)h +18(impact)h +15(than)h +17(the)h +18(re-)h +295 2685(mo)s +-1(v)h +-2(al)h +12(of)h +14(features,)h +15(but)h +15(can)h +14(cause)h +16(more)h +13(subtle)h +15(errors.)h +21(F)h +-3(or)h +15(example,)h +12(consider)h +16(the)h +15(sorts)h +295 2735(of)s +12(subtle)h +14(errors)h +14(that)h +13(mig)h +-1(h)h +-1(t)h +11(arise)h +13(if)h +12(the)h +14(seman)h +-1(tics)h +12(of)h +12(the)h +13(F)h +-3(unnelW)h +-3(eb)h +12(commen)h +-1(t)h +73(w)h +-1(ere)h +295 2785(c)s +-1(hanged)h +20(so)h +20(that)h +20(it)h +19(no)h +20(longer)h +19(includes)h +20(the)h +21(end)h +20(of)h +19(line)h +19(mark)h +-1(er.)h +35(An)h +-1(y)h +-1(one)h +20(mo)h +1(dif)h +-1(ying)h +295 2835(features)s +15(should)h +14(b)h +1(e)h +14(sure)h +15(that)h +14(they)h +15(are)h +14(not)h +14(inadv)h +-1(erten)h +-1(tly)h +14(la)h +-1(ying)h +12(traps.)h +1042 2940(35)s +36 @eop +37 @bop0 +cmr10.300 sf +[<FFF007FC0F8001E00780008007C0018003C0010003E0020001F0020000F0040000F804 +0000780800007C1800003C1000001E2000001F2000000F4000000FC00000078000000780 +000007800000078000000780000007800000078000000780000007800000078000000780 +00007FF800> +32 28 0 27 31] 89 dc +[<00E0000001900000030800000308000007080000070800000708000007080000071000 +0007100000072000000740000003C03FE003800F00038006000380040005C0040009C008 +0010E0100030E010006070200060702000E0384000E03C4000E01C8000E00F0020E00700 +20700780403009C0401830E18007C03E00> +32 31 -2 29 32] 38 dc +37 @bop1 +cmsy10.300 sf +239 2426(\017)s +239 2655(\017)s +239 2785(\017)s +cmti10.300 sf +722 998(similar)s +cmbx10.432 sf +177 2159(3.3)s +70(Authorit)h +-2(y)h +23(vs)h +23(User)h +23(Securit)h +-2(y)h +cmbx10.300 sf +295 42(Adding)s +15(features:)h +1645 445([Hoare80])s +295 1311(Univ)s +-1(ersal)h +14(p)h +1(ortabili)h +-1(t)h +-2(y:)h +295 1532(Clear)s +16(seman)h +-1(tics:)h +cmr10.300 sf +665 42(Although)s +14(the)h +16(addition)h +14(of)h +15(features)h +16(is)h +15(generally)h +15(the)h +16(most)h +14(painless)h +295 91(for)s +12(the)h +13(user)h +13(comm)h +-1(uni)h +-1(t)h +-1(y)h +-3(,)h +10(as)h +12(Hoare)h +13(p)h +1(oin)h +-1(ts)h +12(out,)h +12(it)h +12(is)h +12(also)h +11(the)h +13(most)h +11(dangerous)h +13(in)h +12(the)h +13(long)h +295 141(run.)s +343 246(\\When)s +10(an)h +-1(y)h +9(new)h +10(language)h +9(design)h +10(pro)h +2(ject)h +11(is)h +10(nearing)h +9(completion,)h +9(there)h +11(is)h +9(alw)h +-1(a)h +-1(ys)h +9(a)h +10(mad)h +281 295(rush)s +11(to)h +10(get)h +11(new)h +11(features)h +11(added)h +11(b)h +1(efore)h +11(standardization.)h +16(The)h +11(rush)h +11(is)h +10(mad)h +9(indeed,)h +11(b)h +1(ecause)h +281 345(it)s +10(leads)h +11(in)h +-1(to)h +10(a)h +10(trap)h +11(from)h +9(whic)h +-1(h)h +10(there)h +12(is)h +10(no)h +11(escap)h +1(e.)h +18(A)h +11(feature)h +11(whic)h +-1(h)h +11(is)h +10(omitted)h +9(can)h +11(alw)h +-1(a)h +-1(ys)h +281 395(b)s +1(e)h +18(added)h +18(later,)h +18(when)h +18(its)h +17(design)h +18(and)h +17(its)h +17(implicatio)h +-1(ns)h +16(are)h +18(w)h +-1(ell)h +17(understo)h +1(o)h +1(d.)h +30(A)h +17(feature)h +281 445(whic)s +-1(h)h +13(is)h +13(included)h +14(b)h +1(efore)h +14(it)h +13(is)h +13(fully)h +12(understo)h +1(o)h +1(d)h +15(can)h +14(nev)h +-1(er)h +14(b)h +1(e)h +14(remo)h +-1(v)h +-1(ed)h +12(later.")h +177 549(These)s +17(problems)h +14(exist)h +15(ev)h +-1(en)h +16(when)h +15(there)h +17(is)h +15(a)h +14(cen)h +-1(tral)h +16(authorit)h +-1(y)h +-3(.)h +21(If)h +14(w)h +-1(e)h +16(consider)h +16(the)h +15(case)h +16(where)h +16(there)h +177 599(is)s +16(no)h +16(cen)h +-1(tral)h +17(authorit)h +-1(y)h +-3(,)h +15(and)h +16(users)h +18(mo)h +1(dify)h +14(a)h +16(language)h +15(and)h +16(its)h +16(implem)h +-1(en)h +-1(tations)h +14(and)h +16(distribute)h +17(the)h +177 649(mo)s +1(di\014ed)h +18(v)h +-1(ersions,)h +20(the)h +20(result)h +20(is)h +19(ev)h +-1(en)h +19(w)h +-1(orse.)h +34(F)h +-3(or)h +19(a)h +19(start,)h +20(the)h +20(structure)h +21(of)h +19(the)h +19(genealogy)h +19(of)h +18(the)h +177 699(program)s +16(c)h +-1(hanges)h +19(from)h +16(a)h +17(list)h +18(to)h +17(a)h +18(tree.)h +31(This)h +18(mak)h +-1(es)h +16(it)h +18(imp)h +1(ossible)h +16(to)h +17(imp)h +1(ose)h +17(an)h +18(ordering)h +18(on)h +17(the)h +177 749(di\013eren)s +-1(t)h +16(v)h +-1(ersions)h +16(and)h +16(mak)h +-1(es)h +14(it)h +15(di\016cult)h +14(to)h +16(merge)h +15(them)h +14(once)h +16(they)h +16(div)h +-1(erge.)h +23(Second,)h +16(it)h +15(reduces)h +17(the)h +177 798(p)s +1(ortabilit)h +-1(y)h +16(of)h +17(\014les)h +18(created)h +19(under)h +19(di\013eren)h +-1(t)h +18(v)h +-1(ersions.)h +30(Third,)h +18(it)h +17(mak)h +-1(es)h +16(adding)h +17(features)h +19(hazardous.)h +177 848(If)s +15(a)h +15(feature)h +16(is)h +15(added)h +16(in)h +14(one)h +16(v)h +-1(ersion,)h +15(\014les)h +16(will)h +14(b)h +1(e)h +15(created)h +17(that)h +16(use)h +16(it.)h +21(These)h +17(\014les)h +16(will)h +13(imm)h +-1(ediately)h +177 898(b)s +1(ecome)h +10(non-p)h +1(ortable.)h +17(F)h +-3(urthermore,)h +11(t)h +-1(w)h +-1(o)h +10(programm)h +-1(ers)h +9(ma)h +-1(y)h +8(in)h +-1(tro)h +1(duce)h +12(di\013eren)h +-1(t)h +11(features)h +11(that)h +11(use)h +11(the)h +177 948(same)s +12(syn)h +-1(tactical)h +13(constructs,)h +14(th)h +-1(us)h +13(prev)h +-1(en)h +-1(ting)h +13(the)h +14(t)h +-1(w)h +-1(o)h +12(v)h +-1(ersions)h +13(from)h +11(ev)h +-1(er)h +14(b)h +1(eing)h +13(merged.)h +17(W)h +-3(orse,)h +12(t)h +-1(w)h +-1(o)h +177 998(programm)s +-1(ers)h +12(could)h +13(in)h +-1(tro)h +1(duce)h +153(features)h +14(that)h +14(use)h +14(the)h +13(same)h +13(syn)h +-1(tactical)h +13(constructs,)h +15(pro)h +1(ducing)h +177 1048(ev)s +-1(en)h +15(more)h +13(subtle)h +14(problems.)h +177 1119(The)s +10(only)h +9(w)h +-1(a)h +-1(y)h +8(to)h +10(a)h +-1(v)h +-1(oid)h +8(all)h +8(these)h +11(problems)h +9(is)h +9(to)h +9(create)h +11(some)h +9(sort)h +10(of)h +8(cen)h +-1(tral)h +10(design)h +10(authorit)h +-1(y)h +-3(,)h +9(\(or,)h +10(at)h +9(the)h +177 1169(v)s +-1(ery)h +12(least,)h +12(some)h +11(sort)h +12(of)h +12(design)h +12(sync)h +-1(hronization\))h +11(that)h +12(con)h +-1(trols)h +12(the)h +13(language)h +10(and)h +12(its)h +12(impl)h +-1(emen)h +-1(tati)h +-1(on.)h +177 1240(The)s +14(b)h +1(ene\014ts)h +16(of)h +13(tigh)h +-1(t)h +14(con)h +-1(trol)h +13(o)h +-1(v)h +-1(er)h +14(the)h +15(language)h +13(are)h +14(enormous.)h +765 1311(Source)s +16(\014les)h +15(can)h +15(b)h +1(e)h +15(treated)h +16(as)h +15(p)h +1(ortable.)h +21(If)h +15(all)h +13(the)h +16(language)h +295 1361(implem)s +-1(en)h +-1(tations)h +17(in)h +18(the)h +19(w)h +-1(orld)h +17(are)h +19(singing)h +18(the)h +19(same)h +17(tune,)h +20(then)h +19(someone)h +18(in)h +18(Sydney)h +295 1411(could)s +18(send)h +19(a)h +18(\014le)h +19(to)h +18(someone)h +17(in)h +18(New)h +19(Y)h +-3(ork)h +18(and)h +18(b)h +1(e)h +18(sure)h +20(that)h +18(it)h +18(will)h +17(b)h +1(e)h +18(succes)h +1(sfully)h +295 1461(pro)s +1(cesse)h +1(d.)h +658 1532(Doubt)s +14(ab)h +1(out)h +14(the)h +15(seman)h +-1(tics)h +14(of)h +14(the)h +15(language)h +13(will)h +13(b)h +1(e)h +15(greatly)h +14(mini-)h +295 1582(mized.)s +18(So)h +13(long)h +13(as)h +14(more)h +13(than)h +14(one)h +15(sligh)h +-1(tly)h +12(di\013ering)h +14(v)h +-1(ersion)h +14(of)h +13(a)h +14(language)h +13(exists,)h +14(there)h +295 1632(will)s +9(b)h +1(e)h +12(confusion)h +10(o)h +-1(v)h +-1(er)h +10(the)h +12(seman)h +-1(tics)h +10(of)h +10(its)h +10(constructs.)h +19(A)h +11(go)h +1(o)h +1(d)h +10(example)h +9(is)h +11(the)h +11(confusion)h +295 1682(b)s +1(et)h +-1(w)h +-1(een)h +16(the)h +14(A)h +-3(T&T)h +14(Unix)h +13(and)h +14(Berk)h +-1(eley)h +15(Unix)h +14(shell)h +13(languages.)h +177 1753(While)s +20(c)h +-1(hanges)h +21(to)h +21(the)h +21(language)h +20(supp)h +1(orted)h +22(b)h +-1(y)h +20(a)h +20(piece)h +22(of)h +20(soft)h +-1(w)h +-1(are)h +21(is)h +20(the)h +21(most)h +20(serious)h +21(problem)h +177 1803(asso)s +1(ciated)h +16(with)h +14(m)h +-1(ultipl)h +-1(e)h +14(v)h +-1(ersions)h +15(of)h +14(soft)h +-1(w)h +-1(are,)h +15(the)h +15(lesser)h +16(problem)h +14(of)h +14(k)h +-1(eeping)h +15(trac)h +-1(k)h +15(of)h +14(c)h +-1(hanges)h +16(that)h +177 1853(don't)s +15(a\013ect)h +16(the)h +16(language)h +14(that)h +15(the)h +16(soft)h +-1(w)h +-1(are)h +16(impl)h +-1(em)h +-1(en)h +-1(ts)h +14(can)h +16(also)h +14(cause)h +17(trouble.)h +22(Merging)h +15(di\013eren)h +-1(t)h +177 1902(v)s +-1(ersions)h +15(of)h +14(soft)h +-1(w)h +-1(are)h +14(is)h +15(extremely)h +14(tedious)h +15(as)h +14(an)h +-1(y)h +-1(one)h +14(who)h +14(has)h +15(tried)h +15(it)h +14(will)h +13(v)h +-1(erify)h +-3(.)h +19(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +14(c)h +-1(hanges)h +177 1952(not)s +14(a\013ecting)h +14(the)h +14(language)h +13(are)h +14(far)h +13(less)h +14(serious)h +15(b)h +1(ecause)h +15(they)h +14(impact)h +12(only)h +13(on)h +14(the)h +14(program)h +12(itself,)h +13(not)h +177 2002(on)s +14(the)h +14(far)h +14(more)h +13(n)h +-1(umerous)h +13(source)h +15(\014les)h +14(that)h +14(dep)h +1(end)h +16(on)h +13(it.)h +177 2272(There)s +16(are)h +15(a)h +15(n)h +-1(um)h +-1(b)h +1(er)h +14(of)h +14(w)h +-1(a)h +-1(ys)h +15(of)h +14(pro)h +-1(viding)h +13(the)h +16(strong)h +15(cen)h +-1(tral)h +15(design)h +15(authorit)h +-1(y)h +14(required)h +16(to)h +15(pro)h +1(duce)h +177 2322(the)s +15(p)h +1(ortabilit)h +-1(y)h +12(and)h +14(seman)h +-1(tic)h +13(securit)h +-1(y)h +15(desired)h +15(b)h +-1(y)h +13(users,)h +281 2426(T)s +-3(rade)h +18(mark)h +16(the)h +18(name)h +17(of)h +17(the)h +19(language.)h +28(Publish)h +18(a)h +18(sp)h +1(eci\014cation)h +18(of)h +17(the)h +19(language)h +17(under)h +18(the)h +281 2476(trade)s +14(name.)h +16(W)h +-3(arn)h +13(all)h +12(users)h +15(not)h +13(to)h +13(trust)h +14(an)h +-1(y)h +13(implem)h +-1(en)h +-1(tatio)h +-1(n)h +12(that)h +13(do)h +1(es)h +14(not)h +13(guaran)h +-1(tee)h +14(that)h +13(it)h +281 2526(implem)s +-1(en)h +-1(ts)h +11(the)h +13(language.)h +17(Then)h +13(con)h +-1(trol)h +12(implem)h +-1(en)h +-1(tations)h +10(b)h +-1(y)h +13(only)h +11(licensing)h +13(the)h +13(trade)h +13(mark)h +11(to)h +281 2576(conforming)s +12(impl)h +-1(em)h +-1(en)h +-1(tations.)h +281 2655(Create)s +21(a)h +20(single)h +20(implem)h +-1(en)h +-1(tation)h +18(of)h +20(the)h +21(language.)h +36(Do)h +20(not)h +20(release)h +21(the)h +21(source)h +22(co)h +1(de)h +21(to)h +20(the)h +281 2705(implem)s +-1(en)h +-1(tatio)h +-1(n.)h +16(Release)h +15(only)h +13(binary)h +13(executables.)h +281 2785(Release)s +14(the)h +13(source)h +15(co)h +1(de)h +14(to)h +13(the)h +13(implem)h +-1(en)h +-1(tation,)h +10(but)h +14(under)h +14(a)h +13(license)h +13(that)h +14(prohibits)h +12(the)h +14(distri-)h +281 2835(bution)s +13(of)h +14(mo)h +1(di\014ed)h +12(v)h +-1(ersions.)h +1042 2940(36)s +37 @eop +38 @bop0 +cmbx10.432 sf +[<FFFFFFF800FFFFFFFF00FFFFFFFFC003FC003FE003FC000FF003FC0007F803FC0007FC +03FC0003FC03FC0003FE03FC0003FE03FC0003FE03FC0003FE03FC0003FE03FC0003FE03 +FC0003FE03FC0003FC03FC0007FC03FC0007F803FC000FF003FC003FE003FFFFFF8003FF +FFFE0003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00 +000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC0000 +0003FC00000003FC000000FFFFF00000FFFFF00000FFFFF00000> +40 41 -3 40 47] 80 dc +cmti10.300 sf +[<01FFCFFE003C01E0003801C0003801C0003801C0003801C00070038000700380007003 +800070038000E0070000E0070000E0070000FFFF0001C00E0001C00E0001C00E0001C00E +0003801C0003801C0003801C0003801C00070038000700380007003800070038000F0078 +00FFE7FF00> +32 28 -3 27 31] 72 dc +[<0FC00001C00001C0000380000380000380000380000700000700000700000700000E0F +000E11000E23800E43801C83001C80001D00001E00003F800039C00038E00038E00070E2 +0070E20070E20070E400E06400603800> +24 29 -3 28 19] 107 dc +cmr10.300 sf +[<0080008007E01898308460824081C087C08FC08FC086E080F0807E803FC01FF00FF803 +FC00BE008E00876087F083F083E0838082408240842088189007E000800080> +16 33 -2 30 21] 36 dc +38 @bop1 +cmsy10.300 sf +239 762(\017)s +239 898(\017)s +239 1084(\017)s +cmbx10.432 sf +177 2271(3.4)s +70(What)h +23(I)h +23(W)h +-6(an)h +-2(t)h +24(to)h +23(Protect)h +cmti10.300 sf +1747 1905(F)s +-3(unnelWeb)h +177 1955(Hacker's)s +15(Manual)h +cmtt10.300 sf +831 1855(ross@spam.ad)s +-1(elaid)h +-1(e.ed)h +-1(u.au)h +cmr10.300 sf +177 42(Man)s +-1(y)h +11(other)h +12(v)h +-2(ariations)h +10(on)h +11(these)h +13(themes)h +11(are)h +12(p)h +1(ossible,)h +11(but)h +12(they)h +11(are)h +12(all)h +10(based)h +12(on)h +11(the)h +12(idea)h +11(of)h +11(regulating)h +177 91(either)s +15(the)h +14(\\o\016cial")h +12(de\014nition)h +14(of)h +13(the)h +15(language)h +13(or)h +13(all)h +13(of)h +13(its)h +14(existing)h +14(implem)h +-1(en)h +-1(tatio)h +-1(ns.)h +177 168(A)s +-1(t)h +15(ab)h +1(out)h +14(this)h +15(stage,)h +15(a)h +14(con\015ict)h +15(arises.)h +21(While)h +14(users)h +16(w)h +-1(an)h +-1(t)h +15(the)h +15(language)h +14(they)h +15(are)h +15(using)h +14(to)h +15(b)h +1(e)h +15(tigh)h +-1(tly)h +177 217(con)s +-1(trolled,)h +13(they)h +14(also)h +13(w)h +-1(an)h +-1(t)h +13(to)h +14(feel)h +13(secure)h +16(ab)h +1(out)h +13(the)h +14(a)h +-1(v)h +-2(ailabil)h +-1(it)h +-1(y)h +11(of)h +13(its)h +14(impl)h +-1(em)h +-1(en)h +-1(tations.)h +16(If)h +14(h)h +-1(undreds)h +177 267(of)s +19(source)h +21(\014les)h +19(are)h +20(to)h +20(b)h +1(e)h +20(created)h +21(in)h +19(the)h +20(language,)h +19(there)h +21(had)h +19(b)h +1(etter)h +21(b)h +1(e)h +20(one)h +20(or)h +19(more)h +18(translators)h +177 317(a)s +-1(v)h +-2(ailable)h +12(when)h +14(the)h +15(time)h +12(comes)h +14(to)h +13(use)h +15(them.)h +177 393(In)s +15(the)h +15(case)h +16(of)h +14(widely-used)h +15(programm)h +-1(i)h +-1(ng)h +13(languages)h +14(suc)h +-1(h)h +15(as)h +15(C,)h +14(the)h +16(problem)h +13(of)h +14(securing)h +16(impl)h +-1(em)h +-1(en-)h +177 443(tations)s +12(do)h +1(es)h +14(not)h +12(arise.)h +18(If)h +12(y)h +-1(ou)h +12(don't)h +12(get)h +13(y)h +-1(our)h +12(compiler)h +11(from)h +11(Borland,)h +12(y)h +-1(ou)h +12(can)h +13(get)h +12(it)h +13(from)h +10(Microsoft.)h +177 493(Ho)s +-1(w)h +-1(ev)h +-1(er,)h +16(in)h +15(the)h +16(case)h +16(of)h +15(a)h +15(newly)h +16(in)h +-1(tro)h +1(duced)h +16(language)h +14(suc)h +-1(h)h +16(as)h +16(F)h +-3(unnelW)h +-3(eb,)h +15(there)h +16(ma)h +-1(y)h +14(b)h +1(e)h +16(v)h +-1(ery)h +16(few)h +177 543(implem)s +-1(en)h +-1(tations,)h +17(or)h +18(ev)h +-1(en)h +19(just)h +18(one)h +19(implem)h +-1(en)h +-1(tatio)h +-1(n,)h +17(and)h +18(this)h +19(p)h +1(oses)h +19(a)h +18(danger)h +19(to)h +18(the)h +19(user)h +19(who)h +18(is)h +177 593(commi)s +-1(tting)h +11(to)h +13(that)h +13(format.)h +16(Despite)h +13(the)h +14(b)h +1(est)h +14(in)h +-1(ten)h +-1(tions)h +13(of)h +12(the)h +14(cop)h +-1(yrigh)h +-1(t)h +13(o)h +-1(wner,)h +13(there)h +14(are)h +14(a)h +12(v)h +-2(ariet)h +-1(y)h +177 642(of)s +13(w)h +-1(a)h +-1(ys)h +13(in)h +12(whic)h +-1(h)h +13(a)h +13(computer)h +13(program)h +12(can)h +13(suddenly)h +14(b)h +1(ecome)h +13(una)h +-1(v)h +-2(ailable.)h +16(Here)h +14(are)h +14(some)h +12(examples:)h +281 762(If)s +12(the)h +13(program)h +11(is)h +13(o)h +-1(wned)h +13(b)h +-1(y)h +12(a)h +12(compan)h +-1(y)h +11(and)h +13(the)h +13(compan)h +-1(y)h +11(go)h +1(es)h +13(brok)h +-1(e,)h +13(the)h +13(liquidators)h +11(ma)h +-1(y)h +11(not)h +281 812(b)s +1(other)h +15(to)h +13(place)h +14(the)h +15(soft)h +-1(w)h +-1(are)h +14(in)h +13(the)h +15(public)h +13(domain.)h +281 898(If)s +13(the)h +13(program)h +12(is)h +13(o)h +-1(wned)h +13(b)h +-1(y)h +13(a)h +13(kindly)h +12(individual)h +11(who)h +13(issues)h +14(licenses)h +15(for)h +13(free,)h +13(and)h +13(that)h +13(individ-)h +281 948(ual)s +14(suddenly)h +15(dies,)h +15(users)h +17(migh)h +-1(t)h +12(suddenly)h +16(\014nd)h +15(themselv)h +-1(es)h +15(negotiating)h +14(with)h +14(hard-nosed)h +16(estate)h +281 998(executors)s +16(for)h +13(the)h +15(righ)h +-1(ts)h +13(to)h +14(con)h +-1(tin)h +-1(ue)h +14(using)h +14(the)h +14(program.)h +281 1084(If)s +17(who)h +1(ev)h +-1(er)h +18(o)h +-1(wns)h +18(the)h +18(program)h +16(do)h +1(es)h +18(not)h +17(upgrade)h +18(the)h +18(program)h +16(ev)h +-1(ery)h +18(so)h +17(often,)h +18(it)h +17(is)h +18(actually)h +281 1134(p)s +1(ossible)h +10(for)h +10(the)h +11(released)h +11(executables)h +12(to)h +10(\\expire")h +11(when)h +10(new)h +11(op)h +1(erating)h +10(system)h +10(upgrades)h +11(app)h +1(ear.)h +177 1254(These)s +16(p)h +1(ossibilities)h +13(mean)h +13(that)h +15(users)h +15(ab)h +1(out)h +15(to)h +14(in)h +-1(v)h +-1(est)h +14(in)h +14(a)h +14(newly)h +14(in)h +-1(tro)h +1(duced)h +15(programm)h +-1(i)h +-1(ng)h +12(to)h +1(ol)h +14(suc)h +-1(h)h +177 1304(as)s +17(F)h +-3(unnelW)h +-3(eb)h +16(ha)h +-1(v)h +-1(e)h +17(legitim)h +-1(ate)h +15(concerns)h +19(when)h +17(they)h +18(w)h +-1(orry)h +16(ab)h +1(out)h +17(the)h +17(to)h +1(ol's)h +16(a)h +-1(v)h +-2(ailabil)h +-1(it)h +-1(y)h +-4(.)h +25(F)h +-3(or)h +16(non-)h +177 1354(commerciall)s +-1(y)h +9(distributed)h +12(to)h +1(ols)h +11(suc)h +-1(h)h +11(as)h +12(F)h +-3(unnelW)h +-3(eb,)h +10(the)h +12(simplest)h +10(solution)h +10(to)h +11(this)h +12(problem)h +9(is)h +11(to)h +11(mak)h +-1(e)h +177 1404(the)s +13(source)h +13(co)h +1(de)h +13(a)h +-1(v)h +-2(aila)h +-1(ble,)h +10(either)h +13(b)h +-1(y)h +12(placing)h +11(it)h +11(in)h +-1(to)h +11(the)h +13(public)h +11(domain,)h +10(or)h +12(b)h +-1(y)h +11(releasing)h +12(it)h +12(under)h +13(some)h +177 1453(kind)s +15(of)h +14(public)h +15(license,)h +15(suc)h +-1(h)h +16(as)h +15(a)h +15(GNU)h +15(license.)h +22(The)h +15(trouble)h +15(with)h +15(releasing)h +15(the)h +16(source)h +16(co)h +1(de)h +16(is)h +15(that)h +177 1503(it)s +14(remo)h +-1(v)h +-1(es)h +14(con)h +-1(trol)h +14(from)h +13(the)h +15(design)h +15(authorit)h +-1(y)h +-3(.)h +18(Once)h +16(the)h +15(co)h +1(de)h +15(is)h +15(\\out")h +14(there)h +15(is)h +15(no)h +14(stopping)h +14(an)h +-1(y)h +-1(one)h +177 1553(from)s +12(mo)h +1(difying)h +11(the)h +15(program)h +12(and)h +14(distributing)h +13(mo)h +1(di\014ed)h +13(v)h +-1(ersions.)h +18(All)h +13(c)h +-1(haos)h +14(can)h +14(ensue.)h +177 1629(One)s +17(solution)h +14(to)h +16(this)h +16(con\015ict)h +16(is)h +15(to)h +16(tak)h +-1(e)h +15(the)h +16(trade)h +17(mark)h +14(approac)h +-1(h.)h +23(This)h +16(separates)h +17(the)h +16(righ)h +-1(t)h +15(of)h +15(the)h +177 1679(design)s +13(authorit)h +-1(y)h +12(to)h +13(con)h +-1(trol)h +12(the)h +13(language)h +12(and)h +12(its)h +13(implem)h +-1(en)h +-1(tatio)h +-1(ns,)h +11(and)h +13(the)h +13(righ)h +-1(t)h +12(of)h +12(the)h +13(users)h +14(to)h +13(use)h +177 1729(the)s +13(source)h +15(co)h +1(de)h +13(in)h +12(an)h +-1(y)h +13(w)h +-1(a)h +-1(y)h +12(they)h +13(lik)h +-1(e)h +12(\(but)h +13(they)h +13(ma)h +-1(y)h +11(ha)h +-1(v)h +-1(e)h +12(to)h +13(c)h +-1(hange)h +13(its)h +13(name!\).)h +16(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +13(the)h +13(trade)h +177 1779(mark)s +13(approac)h +-1(h)h +13(is)h +14(exp)h +1(ensiv)h +-1(e.)h +177 1855(The)s +12(solution)h +12(that)h +11(I)h +12(\(Ross)h +12(William)h +-2(s)h +11(\()h +547(\)\))h +10(ha)h +-1(v)h +-1(e)h +11(adopted)h +13(is)h +11(to)h +12(release)h +13(the)h +177 1905(F)s +-3(unnelW)h +-3(eb)h +17(source)h +19(co)h +1(de)h +18(under)h +19(a)h +17(GNU)h +17(license)h +19(and)h +17(then)h +18(to)h +17(write)h +18(this)h +18(c)h +-1(hapter)h +18(in)h +17(the)h +500 1955(to)s +14(dissuade)h +15(p)h +1(ossible)h +15(hac)h +-1(k)h +-1(ers)h +16(from)h +13(releasing)h +14(mo)h +1(di\014ed)h +13(v)h +-1(ersions)h +16(under)h +15(the)h +15(F)h +-3(unnel-)h +177 2004(W)s +-3(eb)h +13(name.)h +17(This)h +14(is)h +13(ab)h +1(out)h +14(as)h +14(close)h +14(to)h +13(the)h +15(GNU/trademark)h +12(approac)h +-1(h)h +14(I)h +13(can)h +14(get)h +14(without)h +13(forking)h +13(out)h +177 2054(ab)s +1(out)h +11($1200)h +11(for)h +11(a)h +11(US)h +11(trademark)h +11(or)h +11(pa)h +-1(ying)h +10(ev)h +-1(en)h +12(more)h +11(to)h +11(get)h +12(a)h +11(la)h +-1(wy)h +-1(er)h +11(to)h +11(attempt)h +10(to)h +12(draft)h +11(a)h +11(con)h +-1(tract)h +177 2104(stating)s +14(\\thou)h +13(shalt)h +14(not)h +14(mo)h +1(dify)h +11(the)h +15(F)h +-3(unnelW)h +-3(eb)h +13(language".)h +177 2389(The)s +13(concerns)h +15(expressed)h +15(in)h +12(the)h +13(previous)h +13(section)h +14(ab)h +1(out)h +12(mo)h +1(di\014cations)h +11(to)h +13(the)h +13(F)h +-3(unnelW)h +-3(eb)h +12(program)h +11(do)h +177 2439(not)s +14(preclude)h +16(mo)h +1(di\014cations.)h +18(They)h +14(merely)h +14(impl)h +-1(y)h +13(that)h +14(some)h +13(conditions)h +14(b)h +1(e)h +15(observ)h +-1(ed)h +16(when)h +15(mo)h +1(di\014ca-)h +177 2489(tions)s +15(are)h +15(made.)h +19(In)h +15(fact,)h +15(ha)h +-1(ving)h +13(formall)h +-1(y)h +13(released)h +16(the)h +15(sources)h +17(under)h +15(GNU,)h +14(there)h +16(is)h +15(nothing)h +14(that)h +15(I)h +177 2539(can)s +16(do)h +15(to)h +16(stop)h +16(p)h +1(eople)h +16(distributing)h +15(mo)h +1(di\014ed)h +14(v)h +-1(ersions)h +16(and)h +16(the)h +16(conditions)h +15(to)h +16(b)h +1(e)h +16(describ)h +1(ed)h +18(m)h +-1(ust)h +14(b)h +1(e)h +177 2588(imp)s +1(osed)h +13(v)h +-1(olun)h +-1(tarily)h +-3(.)h +177 2665(In)s +14(the)h +15(end)h +14(there)h +15(are)h +14(t)h +-1(w)h +-1(o)h +14(things)h +14(that)h +14(I)h +13(w)h +-1(an)h +-1(t)h +14(to)h +14(protect/main)h +-1(tain:)h +228 2785(1.)s +20(Restriction)h +17(of)h +17(the)h +17(name)h +16(\\F)h +-3(unnelW)h +-3(eb")h +16(only)h +16(to)h +17(computer)h +17(programs)h +15(that)h +17(exactly)h +18(impl)h +-1(em)h +-1(en)h +-1(t)h +281 2835(m)s +-1(y)h +12(\\o\016cial")h +12(de\014nition)h +14(of)h +13(the)h +14(language.)h +1042 2940(37)s +38 @eop +39 @bop0 +cmti10.300 sf +[<1FFFFFC01C0701C0300E00C0200E0080600E0080400E0080401C0080801C0080801C00 +80001C000000380000003800000038000000380000007000000070000000700000007000 +0000E0000000E0000000E0000000E0000001C0000001C0000001C0000001C0000003C000 +007FFE0000> +32 28 -7 27 30] 84 dc +cmbx10.300 sf +[<003FE3F801F03F1C03C03E3E07C07C3E0F807C3E0F807C1C0F807C000F807C000F807C +000F807C000F807C00FFFFFFC0FFFFFFC00F807C000F807C000F807C000F807C000F807C +000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C +007FE1FFC07FE1FFC0> +32 29 0 28 28] 11 dc +cmr10.300 sf +[<60F0F0600000000000000000000060F0F0701010101020204080> +8 26 -4 17 12] 59 dc +39 @bop1 +cmtt10.300 sf +1251 42(.fw)s +364(.fwi)h +1171 917(.fw)s +131(.fwi)h +1514 966(.bw)s +131(.bwi)h +cmbx10.432 sf +177 1364(3.5)s +70(Mo)h +2(difying)h +22(the)h +23(Man)h +-2(uals)h +177 1980(3.6)s +70(Ho)h +-2(w)h +23(Cop)h +-2(yrigh)h +-2(t)h +23(La)h +-2(w)h +23(W)h +-6(orks)h +cmti10.300 sf +539 1533(The)s +17(F)h +-3(unnelWeb)h +18(User's)h +16(Manual)h +99(The)h +17(F)h +-3(unnelWeb)h +18(Hacker's)h +16(Manual)h +cmbx10.300 sf +295 441(Mo)s +1(di\014cations)h +16(that)h +18(do)h +18(not)h +17(a\013ect)h +19(functi)h +-1(onal)h +-1(i)h +-1(t)h +-1(y:)h +295 717(Mo)s +1(di\014cations)h +12(that)h +13(a\013ect)h +14(functi)h +-1(onal)h +-1(i)h +-1(t)h +-1(y:)h +744 2276(w)s +-1(ork)h +122(cop)h +-1(yrigh)h +-2(t)h +1216 2708(license)s +959 2835(deriv)s +-1(ed)h +13(w)h +-1(ork)h +cmr10.300 sf +228 42(2.)s +20(Restriction)h +15(of)h +14(the)h +15(F)h +-3(unnelW)h +-3(eb)h +14(source)h +16(\014le)h +15(extensions)h +16(\\)h +66(")h +13(\(input)h +15(\014les\))h +15(and)h +14(\\)h +88(")h +14(\(include)h +281 91(\014les\))s +14(only)h +13(to)h +14(source)h +15(\014les)h +15(that)h +14(conform)h +12(to)h +14(m)h +-1(y)h +12(\\o\016cial")h +12(de\014nition)h +13(of)h +14(the)h +14(language.)h +177 214(So)s +13(long)h +11(as)h +13(these)h +14(conditions)h +12(hold,)h +12(source)h +14(\014les)h +13(created)h +14(under)h +14(\\F)h +-3(unnelW)h +-3(eb")h +12(will)h +11(b)h +1(e)h +13(p)h +1(ortable,)h +13(and)h +12(the)h +177 264(language)s +12(will)h +12(ha)h +-1(v)h +-1(e)h +12(the)h +14(p)h +1(oten)h +-1(tial)h +12(to)h +13(b)h +1(e)h +14(stable)h +13(and)h +13(w)h +-1(ell-de\014ned.)h +18(Here)h +14(are)h +13(m)h +-1(y)h +11(suggestions)h +14(for)h +12(ho)h +-1(w)h +13(to)h +177 314(ob)s +1(ey)h +15(these)h +17(rules.)h +22(These)h +16(suggestions)h +16(are)h +15(in)h +15(addition)h +13(to)h +15(the)h +16(GNU)h +15(license)h +15(rules)h +16(ab)h +1(out)h +15(do)h +1(cumen)h +-1(ting)h +177 363(an)s +-1(y)h +14(c)h +-1(hanges)h +14(that)h +14(y)h +-1(ou)h +14(mak)h +-1(e)h +12(in)h +13(the)h +15(source)h +15(\014les.)h +1289 441(If)s +16(y)h +-1(ou)h +16(c)h +-1(hange)h +16(the)h +17(F)h +-3(unnelW)h +-3(eb)h +295 491(program)s +16(in)h +18(a)h +17(manner)h +17(that)h +18(do)h +1(es)h +18(not)h +18(a\013ect)h +19(the)h +18(functionalit)h +-1(y)h +16(of)h +17(the)h +19(program)h +16(in)h +17(an)h +-1(y)h +295 540(w)s +-1(a)h +-1(y)h +14(\(e.g.)h +13(p)h +1(ort)h +14(it)h +14(to)h +14(a)h +14(new)h +14(mac)h +-1(hine,)h +13(or)h +14(just)h +14(sp)h +1(eed)h +16(it)h +13(up\),)h +14(then)h +15(y)h +-1(ou)h +13(should)h +14(mo)h +1(dify)h +12(the)h +295 590(program)s +12(to)h +13(write)h +13(out)h +13(a)h +13(message)h +13(when)h +13(it)h +13(starts)h +14(up)h +13(sa)h +-1(ying)h +12(that)h +13(it)h +13(is)h +13(a)h +13(mo)h +1(di\014ed)h +12(v)h +-1(ersion)h +295 640(of)s +14(F)h +-3(unnelW)h +-3(eb.)h +17(No)h +14(other)h +14(actions)h +14(need)h +15(b)h +1(e)h +15(tak)h +-1(en.)h +1114 717(If)s +12(y)h +-1(ou)h +12(mak)h +-1(e)h +10(c)h +-1(hanges)h +14(to)h +12(F)h +-3(unnelW)h +-3(eb)h +12(that)h +295 767(a\013ect)s +12(its)h +11(functionalit)h +-1(y)h +10(\(e.g.)h +10(c)h +-1(hanges)h +12(to)h +11(comma)h +-1(nd)h +10(line)h +10(options,)h +11(the)h +12(comm)h +-1(and)h +9(language,)h +295 817(or)s +13(the)h +14(input)h +13(language\))h +13(y)h +-1(ou)h +12(should)h +13(c)h +-1(hange)h +14(the)h +14(name)h +12(of)h +12(the)h +14(program)h +12(so)h +13(that)h +13(the)h +14(name)h +295 867(no)s +15(longer)h +15(con)h +-1(tains)h +16(the)h +16(w)h +-1(ord)h +15(\\F)h +-3(unnelW)h +-3(eb",)h +14(and)h +15(should)h +15(c)h +-1(ho)h +1(ose)h +17(alternativ)h +-1(e)h +15(input)h +15(and)h +295 917(include-\014le)s +12(\014le)h +12(extensions)h +12(\(the)h +13(curren)h +-1(t)h +13(ones)h +12(are)h +12(\\)h +66(")h +11(and)h +11(\\)h +88("\).)h +16(F)h +-3(or)h +12(example,)h +10(y)h +-1(ou)h +295 966(migh)s +-1(t)h +10(call)h +11(y)h +-1(our)h +11(program)h +10(\\BananaW)h +-3(eb")h +11(and)h +11(use)h +13(the)h +12(\014le)h +12(extensions)h +12(\\)h +66(")h +11(and)h +11(\\)h +88(".)h +177 1044(These)s +15(rules)h +14(are)h +14(not)h +14(v)h +-1(ery)h +14(restrictiv)h +-1(e.)h +19(Basically)h +13(y)h +-1(ou)h +13(can)h +14(do)h +13(what)h +14(y)h +-1(ou)h +13(lik)h +-1(e)h +13(so)h +14(long)h +12(as)h +14(y)h +-1(ou)h +13(c)h +-1(hange)h +14(the)h +177 1094(name)s +11(of)h +11(the)h +12(resulting)h +12(program.)h +16(I)h +12(do)h +11(not)h +12(wish)h +12(to)h +12(restrict)h +13(an)h +-1(y)h +-1(one)h +11(who)h +12(migh)h +-1(t)h +10(w)h +-1(an)h +-1(t)h +11(to)h +12(use)h +12(F)h +-3(unnelW)h +-3(eb)h +177 1143(as)s +18(a)h +18(foundation)h +17(for)h +17(a)h +18(more)h +17(sophisticated)h +18(literate)h +18(programm)h +-1(ing)h +16(system.)h +30(My)h +17(sole)h +18(aim)h +16(here)h +19(is)h +18(to)h +177 1193(protect)s +15(the)h +15(in)h +-1(tegrit)h +-1(y)h +13(of)h +13(what)h +14(already)h +14(exists.)h +177 1483(While)s +15(it)h +16(is)h +15(p)h +1(ermitted)h +16(to)h +15(mo)h +1(dify)h +14(the)h +16(F)h +-3(unnelW)h +-3(eb)h +15(program,)h +15(no)h +15(license)h +17(has)h +16(b)h +1(een)h +16(gran)h +-1(ted)h +17(to)h +15(mo)h +1(dify)h +177 1533(its)s +16(do)h +1(cumen)h +-1(tation)h +15(\()h +588(and)h +630(\).)h +25(The)h +177 1583(only)s +12(op)h +1(eration)h +13(that)h +12(can)h +13(b)h +1(e)h +14(p)h +1(erformed)h +12(on)h +12(the)h +14(F)h +-3(unnelW)h +-3(eb)h +12(do)h +1(cumen)h +-1(tation)h +11(is)h +13(a)h +12(v)h +-1(erbatim)h +11(cop)h +-1(y)h +13(in)h +12(an)h +-1(y)h +177 1633(medium)s +-1(.)h +177 1710(If)s +15(y)h +-1(ou)h +15(ha)h +-1(v)h +-1(e)h +15(created)h +17(a)h +16(mo)h +1(di\014ed)h +14(v)h +-1(ersion)h +15(of)h +15(F)h +-3(unnelW)h +-3(eb)h +15(and)h +15(wish)h +16(to)h +15(do)h +1(cumen)h +-1(t)h +15(it,)h +15(either)h +16(write)h +16(y)h +-1(our)h +177 1760(o)s +-1(wn)h +17(man)h +-1(ual)h +15(from)h +15(scratc)h +-1(h,)h +19(or)h +17(write)h +17(a)h +17(man)h +-1(ual)h +15(that)h +17(can)h +17(b)h +1(e)h +18(used)h +18(in)h +16(conjunction)h +18(with)h +16(the)h +18(existing)h +177 1809(man)s +-1(uals.)h +177 2099(In)s +17(order)h +18(to)h +17(understand)h +19(the)h +18(next)h +17(section,)h +19(some)h +16(understanding)h +18(of)h +16(cop)h +-1(yrigh)h +-1(t)h +17(la)h +-1(w)h +16(is)h +17(required.)h +29(The)h +177 2149(assertions)s +15(made)h +13(in)h +14(this)h +15(section)h +14(are)h +15(not)h +14(legal)h +13(opinions;)h +13(they)h +15(are)h +15(merely)h +13(appro)h +-1(ximati)h +-1(ons)h +13(of)h +13(the)h +15(la)h +-1(w,)h +177 2199(based)s +15(on)h +13(m)h +-1(y)h +13(understanding)h +14(of)h +13(it.)h +177 2276(By)s +17(default,)h +17(who)h +1(ev)h +-1(er)h +17(creates)h +18(a)h +135(o)h +-1(wns)h +229(o)h +-1(v)h +-1(er)h +17(it.)h +26(This)h +16(means)h +16(that)h +17(b)h +-1(y)h +16(default,)h +17(that)h +177 2326(p)s +1(erson)h +15(is)h +14(the)h +14(only)h +13(p)h +1(erson)h +15(in)h +14(the)h +14(w)h +-1(orld)h +14(who)h +13(has)h +14(the)h +15(legal)h +13(righ)h +-1(t)h +13(to)h +14(mak)h +-1(e)h +12(copies)h +15(of)h +13(the)h +14(w)h +-1(ork.)h +177 2403(Cop)s +-1(yrigh)h +-1(t)h +14(o)h +-1(v)h +-1(er)h +15(a)h +14(w)h +-1(ork)h +14(usually)h +14(co)h +-1(v)h +-1(ers)h +16(all)h +13(direct)h +16(deriv)h +-2(ations)h +14(of)h +14(this)h +15(w)h +-1(ork.)h +20(F)h +-3(or)h +14(example,)h +14(if)h +13(someone)h +177 2453(o)s +-1(wns)h +12(the)h +13(source)h +14(co)h +1(de)h +13(to)h +12(a)h +11(computer)h +12(program)h +11(then)h +13(they)h +12(also)h +12(o)h +-1(wn)h +12(an)h +-1(y)h +11(direct)h +13(deriv)h +-2(ations)h +12(suc)h +-1(h)h +13(as)h +12(the)h +177 2503(binary)s +14(executable.)h +177 2580(More)s +16(than)h +16(one)h +15(p)h +1(erson)h +17(ma)h +-1(y)h +13(o)h +-1(wn)h +15(cop)h +-1(yrigh)h +-1(t)h +15(o)h +-1(v)h +-1(er)h +16(a)h +15(w)h +-1(ork.)h +23(If)h +15(this)h +15(is)h +16(the)h +16(case,)h +16(then)h +16(the)h +16(w)h +-1(ork)h +16(cannot)h +177 2630(b)s +1(e)h +15(copied)h +14(without)h +13(the)h +15(p)h +1(ermission)h +13(of)h +13(all)h +13(of)h +13(the)h +14(p)h +1(eople)h +15(o)h +-1(wning)h +13(the)h +14(cop)h +-1(yrigh)h +-1(t.)h +177 2708(A)s +18(p)h +1(erson)h +18(\(or)h +17(group\))h +17(o)h +-1(wning)h +17(cop)h +-1(yrigh)h +-1(t)h +16(o)h +-1(v)h +-1(er)h +18(a)h +17(w)h +-1(ork)h +17(can)h +171(the)h +18(righ)h +-1(t)h +17(to)h +17(mak)h +-1(e)h +16(copies)h +18(of)h +16(the)h +177 2757(w)s +-1(ork)h +14(to)h +13(an)h +-1(y)h +-1(one)h +14(he)h +14(lik)h +-1(es)h +14(under)h +15(an)h +-1(y)h +13(conditions)h +14(he)h +14(lik)h +-1(es.)h +177 2835(If)s +14(a)h +13(w)h +-1(ork)h +14(is)h +14(mo)h +1(di\014ed,)h +12(the)h +14(result)h +15(is)h +14(called)h +13(a)h +285(.)h +1042 2940(38)s +39 @eop +40 @bop0 +cmmi10.300 sf +[<00000C0000000C0000001C0000001C0000003C0000007C0000005C0000009C0000008E +0000010E0000010E0000020E0000040E0000040E0000080E0000080E0000100E0000200E +00003FFE0000400700004007000080070001000700010007000200070002000700060007 +001E000700FF807FF0> +32 29 -1 28 31] 65 dc +[<01FFFF00003C01C0003800E0003800F0003800700038007000700070007000F0007000 +F0007001E000E003C000E0078000E01F0000FFFC0001C00F0001C0078001C003C001C003 +C0038003C0038003C0038003C0038003C0070007800700070007000E0007001C000E0078 +00FFFFC000> +32 28 -2 27 31] 66 dc +[<01FFC0FF80001E003C00001E003000000E002000000F00400000070080000007010000 +000782000000038400000003C800000001D000000001F000000000E000000000E0000000 +00F00000000170000000027000000004380000000838000000103C000000201C00000040 +1E000000800E000001800E000003000F000006000700001E000F8000FF803FF000> +40 28 -1 27 34] 88 dc +[<FFE007F80F0001E00F0001800700010007000200078004000380080003C0100001C030 +0001C0200001E0400000E0800000F100000072000000760000007C000000380000003800 +000070000000700000007000000070000000E0000000E0000000E0000000E0000001C000 +001FFC0000> +32 28 -1 27 24] 89 dc +cmbx10.432 sf +[<0000FFE000000007FFFC0000003FC07F8000007F001FC00001FC0007F00003F80003F8 +0007F00001FC000FF00001FE001FE00000FF001FE00000FF003FC000007F803FC000007F +807FC000007FC07F8000003FC07F8000003FC07F8000003FC0FF8000003FE0FF8000003F +E0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003F +E0FF8000003FE0FF8000003FE07F8000003FC07FC000007FC07FC000007FC03FC000007F +803FC000007F801FE00000FF001FE00000FF000FF00001FE0007F00001FC0003F80003F8 +0001FC0007F00000FF001FE000003FC07F8000000FFFFE00000000FFE00000> +48 41 -4 40 52] 79 dc +[<0001FF803FE000001FFFE3FFF800007F80FFF01E0000FE007FC01F0003FC01FF803F80 +03F801FF007F8007F001FE007F8007F001FE007F8007F001FE007F8007F001FE003F0007 +F000FE001E0007F000FE00000007F000FE00000007F000FE00000007F000FE000000FFFF +FFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF8007F000FE003F8007F000FE003F8007F000 +FE003F8007F000FE003F8007F000FE003F8007F000FE003F8007F000FE003F8007F000FE +003F8007F000FE003F8007F000FE003F8007F000FE003F8007F000FE003F8007F000FE00 +3F8007F000FE003F8007F000FE003F8007F000FE003F8007F000FE003F8007F000FE003F +8007F000FE003F8007F000FE003F8007F000FE003F807FFF0FFFE3FFF87FFF0FFFE3FFF8 +7FFF0FFFE3FFF8> +56 42 -1 41 57] 14 dc +40 @bop1 +cmsy10.300 sf +239 1732(\017)s +239 1958(\017)s +cmbx10.300 sf +590 2767(Figure)s +14(1)h +cmmi10.300 sf +820 42(A)s +495(B)h +503 91(A)s +94(B)h +1024 676(X)s +614(X)h +131(Y)h +343 775(X)s +1538(Y)h +1076 825(X)s +cmti10.300 sf +591 309(their)s +857 508(them)s +1343 1590(my)s +cmbx10.432 sf +177 1363(3.7)s +70(Managemen)h +-2(t)h +21(of)h +23(the)h +22(O\016cial)h +21(F)h +-6(unnelW)h +-6(eb)h +cmr10.300 sf +177 42(If)s +13(cop)h +-1(yrigh)h +-1(t)h +13(on)h +14(a)h +13(w)h +-1(ork)h +13(is)h +13(o)h +-1(wned)h +14(b)h +-1(y)h +58(is)h +13(the)h +14(w)h +-1(ork)h +13(is)h +14(mo)h +1(di\014ed)h +12(b)h +-1(y)h +46(,)h +14(cop)h +-1(yrigh)h +-1(t)h +13(on)h +13(the)h +14(deriv)h +-1(ed)h +14(w)h +-1(ork)h +177 91(is)s +14(o)h +-1(wned)h +14(b)h +-1(y)h +14(b)h +1(oth)h +59(and)h +46(.)h +177 159(Cop)s +-1(yrigh)h +-1(t)h +16(is)h +16(not)h +16(o)h +-1(wnership)h +17(o)h +-1(v)h +-1(er)h +16(particular)h +16(con\014gurations)h +17(of)h +16(inform)h +-1(ation,)h +14(but)h +17(rather)h +17(is)h +16(the)h +17(righ)h +-1(t)h +177 209(to)s +14(restrict)h +16(the)h +15(cop)h +-1(ying)h +13(of)h +14(informati)h +-1(on)h +12(deriv)h +-1(ed)h +15(from)h +12(particular)h +14(sources.)h +21(F)h +-3(or)h +14(example,)h +12(if)h +14(t)h +-1(w)h +-1(o)h +13(p)h +1(eople)h +177 259(p)s +1(oin)h +-1(t)h +17(their)h +17(cameras)h +17(out)h +17(a)h +17(windo)h +-1(w)h +16(and)h +17(tak)h +-1(e)h +17(iden)h +-1(tical)h +16(photographs,)h +18(eac)h +-1(h)h +17(p)h +1(erson)h +18(has)h +18(the)h +17(righ)h +-1(t)h +17(to)h +177 309(restrict)s +15(the)h +15(cop)h +-1(ying)h +13(of)h +111(photograph)h +14(regardless)h +15(of)h +13(the)h +14(fact)h +14(that)h +14(the)h +14(other)h +14(p)h +1(erson)h +15(has)h +14(cop)h +-1(yrigh)h +-1(t)h +177 359(o)s +-1(v)h +-1(er)h +15(an)h +14(iden)h +-1(tical)h +14(photograph.)h +20(In)h +14(the)h +15(unlik)h +-1(ely)h +14(ev)h +-1(en)h +-1(t)h +15(that)h +14(t)h +-1(w)h +-1(o)h +14(p)h +1(eople)h +15(wrote)h +15(no)h +-1(v)h +-1(els)h +15(that)h +14(w)h +-1(ere)h +16(letter)h +177 408(for)s +13(letter)h +14(iden)h +-1(tical)h +13(and)h +13(it)h +13(could)h +13(b)h +1(e)h +14(pro)h +-1(v)h +-1(en)h +14(that)h +13(there)h +15(w)h +-1(as)h +13(no)h +13(con)h +-1(tact)h +14(b)h +1(et)h +-1(w)h +-1(een)h +15(the)h +14(t)h +-1(w)h +-1(o)h +13(p)h +1(eople)h +13(when)h +177 458(they)s +11(wrote)h +12(the)h +11(no)h +-1(v)h +-1(els,)h +11(then)h +11(cop)h +-1(yrigh)h +-1(t)h +11(la)h +-1(w)h +10(w)h +-1(ould)h +10(eac)h +-1(h)h +11(protect)h +12(the)h +11(righ)h +-1(t)h +11(of)h +10(eac)h +-1(h)h +11(p)h +1(erson)h +12(to)h +11(restrict)h +12(the)h +177 508(cop)s +-1(ying)h +12(of)h +13(the)h +13(no)h +-1(v)h +-1(el)h +12(originating)h +11(from)h +99(.)h +18(In)h +13(practice,)h +13(the)h +14(probabilit)h +-1(y)h +11(of)h +12(suc)h +-1(h)h +14(an)h +13(ev)h +-1(en)h +-1(t)h +13(o)h +1(ccurring)h +177 558(is)s +15(so)h +16(lo)h +-1(w)h +14(that)h +15(the)h +16(la)h +-1(w)h +15(assumes)h +15(that)h +15(if)h +15(t)h +-1(w)h +-1(o)h +14(w)h +-1(orks)h +16(are)h +15(close)h +16(or)h +15(iden)h +-1(tical,)h +15(that)h +15(there)h +17(has)h +15(b)h +1(een)h +17(some)h +177 608(informati)s +-1(on)h +12(in)h +-1(terc)h +-1(hange)h +15(at)h +13(some)h +13(p)h +1(oin)h +-1(t.)h +177 676(Th)s +-1(us,)h +12(if)h +11(I)h +12(o)h +-1(wn)h +12(cop)h +-1(yrigh)h +-1(t)h +11(on)h +12(computer)h +11(program)h +48(,)h +12(and)h +12(I)h +11(create)h +14(an)h +11(iden)h +-1(tical)h +12(cop)h +-1(y)h +11(of)h +61(called)h +57(and)h +177 726(distribute)s +17(it)h +16(under)h +17(the)h +16(terms)h +16(of)h +16(a)h +16(license)h +17(agreemen)h +-1(t,)h +16(then)h +16(that)h +17(license)h +17(agreemen)h +-1(t)h +15(do)h +1(es)h +17(not)h +16(co)h +-1(v)h +-1(er)h +177 775(the)s +14(cop)h +-1(y)h +49(.)h +19(Once)h +14(the)h +13(license)h +14(agreemen)h +-1(t)h +12(is)h +13(signed,)h +13(there)h +14(is)h +13(nothing)h +12(I)h +13(can)h +13(do)h +12(to)h +13(undo)h +13(the)h +13(license;)h +177 825(has)s +14(gone.)h +18(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +14(I)h +14(still)h +13(ha)h +-1(v)h +-1(e)h +14(total)h +13(con)h +-1(trol)h +13(o)h +-1(v)h +-1(er)h +51(.)h +177 893(V)s +-3(ersion)h +14(2)h +14(of)h +13(the)h +14(GNU)h +14(General)h +14(Public)h +14(License)h +15(\(under)h +15(whic)h +-1(h)h +13(F)h +-3(unnelW)h +-3(eb)h +14(is)h +13(released\))h +16(sp)h +1(eci\014es)h +16(\(in)h +13(a)h +177 943(n)s +-1(utshell\))h +11(that)h +12(soft)h +-1(w)h +-1(are)h +11(can)h +11(b)h +1(e)h +12(copied)h +11(freely)h +11(so)h +12(long)h +10(as)h +11(it)h +11(is)h +11(not)h +11(sold,)h +10(and)h +11(that)h +11(it)h +11(can)h +12(b)h +1(e)h +11(mo)h +1(di\014ed)h +10(and)h +177 993(copied)s +15(freely)h +16(so)h +15(long)h +14(as)h +15(the)h +16(mo)h +1(di\014cations)h +13(are)h +15(logged)h +15(and)h +15(it)h +14(is)h +15(not)h +15(sold.)h +21(In)h +15(b)h +1(oth)h +16(cases,)h +16(it)h +15(requires)h +177 1043(that)s +16(the)h +17(result)h +17(of)h +15(the)h +17(cop)h +-1(y)h +16(or)h +16(mo)h +1(di\014catio)h +-1(n)h +15(op)h +1(eration)h +15(b)h +1(e)h +17(copied)h +16(only)h +16(under)h +16(the)h +17(conditions)h +16(of)h +15(the)h +177 1092(license.)s +177 1160(Once)s +15(a)h +13(declaration)h +13(is)h +13(issued)h +14(licensing)h +13(a)h +13(cop)h +-1(y)h +13(of)h +13(a)h +13(program)h +11(under)h +14(GNU)h +13(license,)h +14(that)h +14(license)h +14(cannot)h +177 1210(b)s +1(e)h +15(retracted.)h +177 1472(I)s +14(in)h +-1(tend)h +13(to)h +14(main)h +-1(tai)h +-1(n)h +12(an)h +13(o\016cial)h +12(cop)h +-1(y)h +14(of)h +13(F)h +-3(unnelW)h +-3(eb)h +13(and)h +13(release)h +15(it)h +14(under)h +14(GNU)h +13(license)h +15(from)h +12(time)h +12(to)h +177 1522(time)s +13(so)h +14(that)h +14(ev)h +-1(ery)h +-1(one)h +14(can)h +15(use)h +14(it.)h +18(Unfortunately)h +14(its)h +14(going)h +12(to)h +14(b)h +1(e)h +14(a)h +14(little)h +13(messy)h +-3(.)h +177 1590(F)s +-3(or)h +16(a)h +17(v)h +-2(ariet)h +-1(y)h +16(of)h +15(reasons,)h +18(I)h +17(w)h +-1(an)h +-1(t)h +16(to)h +16(main)h +-1(tai)h +-1(n)h +15(total)h +16(con)h +-1(trol)h +16(o)h +-1(v)h +-1(er)h +87(cop)h +-1(y)h +17(of)h +15(the)h +18(o\016cial)h +15(v)h +-1(ersion)h +16(of)h +177 1640(F)s +-3(unnelW)h +-3(eb.)h +18(Some)h +12(of)h +14(the)h +14(reasons)h +15(are:)h +281 1732(If)s +15(it)h +16(turns)h +17(out)h +16(that)h +16(there)h +17(is)h +15(an)h +16(enormous)h +15(demand)h +15(for)h +16(F)h +-3(unnelW)h +-3(eb)h +15(\(unlik)h +-1(ely\))h +15(then)h +17(I)h +15(w)h +-1(an)h +-1(t)h +16(to)h +281 1782(b)s +1(e)h +14(able)h +12(to)h +13(create)h +15(a)h +12(business)h +15(based)h +13(on)h +13(it,)h +12(or)h +13(at)h +13(least)h +14(b)h +1(e)h +13(able)h +13(to)h +13(bundle)h +13(it)h +13(with)h +12(other)h +14(pro)h +1(ducts.)h +281 1832(This)s +14(w)h +-1(ould)h +14(b)h +1(e)h +16(di\016cult)h +14(if)h +13(the)h +16(only)h +13(up-to-date)h +15(cop)h +-1(y)h +15(a)h +-1(v)h +-2(ailabl)h +-1(e)h +13(w)h +-1(as)h +15(a)h +14(GNU)h +15(cop)h +-1(y)h +-3(.)h +19(Note:)h +20(If)h +15(this)h +281 1882(happ)s +1(ens,)h +14(all)h +13(the)h +14(GNU)h +14(releases)h +16(of)h +13(F)h +-3(unnelW)h +-3(eb)h +13(will)h +13(remain)h +12(v)h +-2(alid.)h +281 1958(I)s +18(w)h +-1(an)h +-1(t)h +18(to)h +18(b)h +1(e)h +19(able)h +18(to)h +18(cop)h +-1(y)h +18(co)h +1(de)h +19(from)h +16(m)h +-1(y)h +17(v)h +-1(ersion)h +18(of)h +18(F)h +-3(unnelW)h +-3(eb)h +17(in)h +-1(to)h +18(comm)h +-1(ercial)h +16(pro)h +1(ducts)h +281 2008(without)s +13(ha)h +-1(ving)h +13(to)h +14(w)h +-1(orry)h +14(ab)h +1(out)h +14(the)h +14(GNU)h +14(license.)h +177 2101(The)s +16(trouble)h +15(is)h +16(that)h +15(\(in)h +15(m)h +-1(y)h +14(understanding)h +15(of)h +15(cop)h +-1(yrigh)h +-1(t)h +15(la)h +-1(w\),)h +14(once)h +16(a)h +15(cop)h +-1(y)h +16(of)h +14(F)h +-3(unnelW)h +-3(eb)h +15(has)h +16(b)h +1(een)h +177 2151(released)s +18(under)h +18(GNU)h +17(license,)h +17(then)h +18(it)h +16(and)h +17(an)h +-1(y)h +16(w)h +-1(orks)h +17(deriv)h +-1(ed)h +18(from)h +15(it)h +16(fall)h +16(under)h +17(GNU)h +17(license)h +17(to)h +1(o.)h +177 2200(This)s +13(means)h +13(that)h +13(if)h +13(y)h +-1(ou)h +13(mo)h +1(dif)h +-1(y)h +12(a)h +13(GNU)h +13(release)h +14(of)h +13(F)h +-3(unnelW)h +-3(eb)h +13(and)h +13(send)h +14(me)h +13(y)h +-1(our)h +13(mo)h +1(di\014cations,)h +11(and)h +177 2250(I)s +18(incorp)h +1(orate)h +19(them)h +17(in)h +-1(to)h +18(m)h +-1(y)h +16(v)h +-1(ersion,)h +19(then)h +19(I)h +18(no)h +18(longer)h +17(o)h +-1(wn)h +18(cop)h +-1(yrigh)h +-1(t)h +18(on)h +18(the)h +18(v)h +-1(ersion)h +19(I)h +18(mo)h +1(di\014ed.)h +177 2300(Basically)s +-3(,)h +12(if)h +13(GNU)h +14(touc)h +-1(hes)h +15(a)h +14(w)h +-1(ork,)h +13(then)h +14(that)h +14(cop)h +-1(y)h +14(is)h +14(gone)h +14(forev)h +-1(er.)h +177 2368(My)s +18(solution)h +16(to)h +18(the)h +18(problem)h +16(is)h +17(to)h +17(k)h +-1(eep)h +19(a)h +17(cop)h +-1(y)h +17(of)h +17(F)h +-3(unnelW)h +-3(eb)h +17(that)h +18(is)h +17(GNU-clean)h +17(and)h +18(only)h +16(mak)h +-1(e)h +177 2418(mo)s +1(di\014cations)h +9(to)h +10(it)h +11(that)h +10(are)h +11(GNU-clean.)h +17(So)h +11(long)h +9(as)h +11(m)h +-1(y)h +9(o\016cial)h +9(cop)h +-1(y)h +11(is)h +10(GNU)h +10(clean,)h +11(an)h +-1(y)h +11(mo)h +1(di\014catio)h +-1(ns)h +177 2468(that)s +14(I)h +14(mak)h +-1(e)h +12(m)h +-1(yself)h +12(will)h +13(b)h +1(e)h +14(GNU)h +14(clean.)h +18(The)h +14(problem)h +12(comes)h +14(when)h +14(someone)h +13(else)h +15(mo)h +1(di\014es)h +13(the)h +14(GNU)h +177 2518(v)s +-1(ersion)h +10(and)h +9(then)h +10(w)h +-1(an)h +-1(ts)h +10(me)h +8(to)h +10(incorp)h +1(orate)h +10(the)h +10(mo)h +1(di\014cations)h +8(in)h +-1(to)h +8(m)h +-1(y)h +8(o\016cial)h +8(v)h +-1(ersion.)h +17(As)h +10(I)h +10(understand)h +177 2567(the)s +11(la)h +-1(w,)h +10(b)h +-1(y)h +10(default,)h +10(the)h +11(programm)h +-1(er)h +9(o)h +-1(wns)h +11(the)h +11(mo)h +1(di\014catio)h +-1(ns)h +9(\(b)h +1(ecause)h +12(he)h +11(made)h +9(them\),)h +10(but)h +11(the)h +11(result)h +177 2617(of)s +12(making)h +10(the)h +13(mo)h +1(di\014cations)h +10(falls)h +12(under)h +13(GNU)h +12(license.)h +18(What)h +12(I)h +12(prop)h +1(ose)h +14(is)h +12(that)h +12(those)h +13(who)h +12(w)h +-1(an)h +-1(t)h +12(their)h +177 2667(mo)s +1(di\014cations)h +12(included)h +14(in)h +14(the)h +14(o\016cial)h +13(cop)h +-1(y)h +13(of)h +14(F)h +-3(unnelW)h +-3(eb)h +13(sign)h +14(an)h +13(agreemen)h +-1(t)h +14(transferring)h +14(cop)h +-1(yrigh)h +-1(t)h +177 2717(of)s +13(the)h +13(mo)h +1(di\014cations)h +12(o)h +-1(v)h +-1(er)h +13(to)h +13(me)h +12(on)h +13(condition)h +12(that)h +13(the)h +14(result)h +14(b)h +1(e)h +13(released)h +15(under)h +14(GNU)h +13(license)h +14(within)h +177 2767(a)s +14(certain)h +14(time)h +13(p)h +1(erio)h +1(d.)h +207(demonstrates)h +14(the)h +15(pro)h +1(cess.)h +177 2835(There)s +15(are)h +15(t)h +-1(w)h +-1(o)h +13(main)h +12(disadv)h +-2(an)h +-1(tages)h +13(to)h +14(this)h +14(sc)h +-1(heme:)h +1042 2940(39)s +40 @eop +41 @bop0 +cmr8.300 sf +[<00FC000303000E01C01C00E0380070300030700038600018E0001CE0001CE0001CE000 +1CE0001CE0001CE0001C7000387000383000303800701C00E00E01C003030000FC00> +24 23 -2 22 27] 79 dc +[<007E080381980600580C0038180018300018700008700008E00008E00000E00000E000 +00E00000E003FEE000387000387000383000381800380C00380600380380D8007F08> +24 23 -2 22 28] 71 dc +[<FC00FE1E00381F001017001013801011C01011C01010E010107010103810103810101C +10100E10100F101007101003901001D01001D01000F0100070100030380030FE0010> +24 23 -1 22 26] 78 dc +[<FF80FE1C00381C00101C00101C00101C00101C00101C00101C00101C00101C00101C00 +101C00101C00101C00101C00101C00101C00100E0020060020030040018180007E00> +24 23 -1 22 26] 85 dc +[<FF83FE1C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701FFF +F01C00701C00701C00701C00701C00701C00701C00701C00701C00701C0070FF83FE> +24 23 -1 22 26] 72 dc +[<0F9E18E33060707070707070306018C02F80200060003FE03FF83FFC600EC006C006C0 +06600C38380FE0> +16 21 -1 13 18] 103 dc +[<07C2001C2600381E00700E00600E00E00E00E00E00E00E00E00E00600E00700E00301E +001C2E0007CE00000E00000E00000E00000E00000E00007FC0> +24 20 -1 13 19] 113 dc +[<FFFFE01C00E01C00601C00201C00101C00101C00101C04001C04001C04001C0C001FFC +001C0C001C04001C04001C04001C00001C00001C00001C00001C00001C0000FFC000> +24 23 -1 22 23] 70 dc +[<FF07FC3F803C01E00E001C00E004001C00E004001C017004000E017008000E01700800 +0E023808000702381000070238100007041C100003841C200003841C200003880E200001 +C80E400001C80E400001D80F400000F007800000F007800000F007800000600300000060 +0300000060030000> +40 23 -1 22 36] 87 dc +[<00FCF807839C0E079C1C07081C07001C07001C07001C07001C0700FFFFE01C07001C07 +001C07001C07001C07001C07001C07001C07001C07001C07001C07001C0700FF1FE0> +24 23 0 22 21] 11 dc +41 @bop1 +cmsy10.300 sf +239 1988(\017)s +239 2115(\017)s +239 2341(\017)s +cmbx10.300 sf +453 1320(Figure)s +14(1)h +cmr8.300 sf +343 1079(Once)s +13(a)h +12(w)h +-1(ork)h +13(is)h +13(released)h +11(under)h +11(GNU)h +13(license,)h +12(all)h +12(deriv)h +-1(ed)h +11(w)h +-1(orks)h +12(fall)h +12(under)h +12(GNU)h +13(license.)h +18(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +281 1129(this)s +9(diagram)h +8(sho)h +-1(ws)h +10(ho)h +-1(w)h +10(cop)h +-1(yrigh)h +-2(t)h +8(can)h +9(b)h +1(e)h +10(main)h +-1(tain)h +-1(ed)h +8(o)h +-1(v)h +-1(er)h +9(a)h +10(w)h +-1(ork,)h +10(while)h +9(still)h +9(making)h +8(it)h +10(a)h +-1(v)h +-2(ailable)h +8(under)h +281 1179(GNU)s +14(license.)h +19(Unfortunatel)h +-1(y)h +-3(,)h +12(this)h +13(sc)h +-1(heme)h +11(requires)h +12(that)h +12(cop)h +-1(yrigh)h +-2(t)h +12(on)h +13(mo)h +1(di\014c)h +-1(ati)h +-1(ons)h +11(to)h +13(F)h +-3(unnelW)h +-3(eb)h +12(b)h +1(e)h +281 1229(signed)s +10(o\013)h +11(b)h +-1(y)h +11(the)h +11(p)h +1(eople)h +9(who)h +12(mak)h +-1(e)h +10(the)h +11(mo)h +1(di\014ca)h +-1(tio)h +-1(ns.)h +cmtt10.300 sf +221 91(+----------)s +-1(>----)h +-1(-----)h +-1(-+---)h +-1(-----)h +-1(-----)h +-1(-<--)h +-1(-----)h +-1(-----)h +-1(-+)h +221 141(|\(modificat)s +-1(ions)h +19(by)h +87(|)h +610(|)h +221 191(|)s +21(me\))h +370(V)h +610(|)h +221 241(|)s +109(+---------)h +-1(-----)h +-1(-----)h +-1(-----)h +-1(-----)h +-1(----)h +-1(-+)h +194(|)h +221 291(+--<--|)s +42(My)h +21(Official)h +20(Copy)h +21(of)h +22(FunnelWeb)h +63(|)h +196(|)h +352 340(|)s +65(Copyright)h +20(\(C\))h +21(Ross)h +21(Williams)h +85(|)h +196(|)h +352 390(+---------)s +-1(-----)h +-1(-----)h +-1(-----)h +-1(-----)h +-1(----)h +-1(-+)h +194(|)h +700 440(|)s +22(\(Periodic)h +20(releases\))h +150(/)h +22(\\)h +700 490(V)s +567(/)h +65(\\)h +43(Programmers)h +482 540(+-------------)s +-1(-----)h +-1(+)h +347(/Legal\\)h +20(sign)h +21(away)h +482 589(|)s +22(GNU)h +21(Release)h +20(Copy)h +21(|)h +349(\\Filte/)h +20(copyright)h +20(on)h +482 639(+-------------)s +-1(-----)h +-1(+)h +369(\\)h +21(r)h +22(/)h +43(modifications)h +700 689(|)s +588(\\)h +22(/)h +700 739(|)s +22(\(Modificatio)h +-1(ns)h +20(made)h +21(by)h +108(|)h +700 789(V)s +44(random)h +20(programmers\))h +19(--->--+)h +460 839(+--------------)s +-1(-----)h +-1(----+)h +460 888(|)s +22(Modified)h +20(GNU)h +21(Version)h +43(|)h +460 938(+--------------)s +-1(-----)h +-1(----+)h +cmr10.300 sf +628 1320(:)s +18(Ho)h +-1(w)h +13(I)h +14(am)h +12(going)h +13(to)h +14(main)h +-1(ta)h +-1(in)h +12(cop)h +-1(yrigh)h +-1(t)h +13(o)h +-1(v)h +-1(er)h +14(F)h +-3(unnelW)h +-3(eb.)h +228 1453(1.)s +20(Getting)h +15(eac)h +-1(h)h +17(p)h +1(erson)h +17(who)h +15(con)h +-1(tributes)h +17(mo)h +1(di\014cations)h +14(to)h +16(F)h +-3(unnelW)h +-3(eb)h +16(to)h +15(sign)h +16(and)h +16(send)h +16(a)h +16(piece)h +281 1503(of)s +13(pap)h +1(er)h +15(signing)h +13(a)h +-1(w)h +-1(a)h +-1(y)h +12(cop)h +-1(yrigh)h +-1(t)h +14(will)h +12(b)h +1(e)h +15(tedious.)h +228 1580(2.)s +20(Programm)h +-1(ers)h +15(ma)h +-1(y)h +14(b)h +1(e)h +17(reluctan)h +-1(t)h +16(to)h +16(sign)h +16(a)h +-1(w)h +-1(a)h +-1(y)h +14(cop)h +-1(yrigh)h +-1(t)h +16(on)h +16(mo)h +1(di\014catio)h +-1(ns)h +15(b)h +1(ecause)h +17(the)h +17(result)h +281 1630(could)s +15(b)h +1(e)h +16(used)h +16(b)h +-1(y)h +15(me)h +14(for)h +15(comm)h +-1(ercial)h +13(purp)h +1(oses)h +17(b)h +-1(y)h +15(me)h +14(at)h +15(a)h +15(later)h +16(date)h +15(\(Note:)h +21(But)h +16(it)h +15(m)h +-1(ust)h +14(b)h +1(e)h +281 1679(released)s +15(under)h +15(GNU)h +14(as)h +13(w)h +-1(ell\).)h +177 1774(These)s +18(disadv)h +-2(an)h +-1(tages)h +15(are)h +17(regrettable)h +17(consequences)h +19(of)h +15(m)h +-1(y)h +15(decision)h +16(to)h +16(retain)h +16(total)h +15(con)h +-1(trol)h +16(o)h +-1(v)h +-1(er)h +16(the)h +177 1824(\\o\016cial")s +12(v)h +-1(ersion)h +14(of)h +13(F)h +-3(unnelW)h +-3(eb.)h +177 1893(The)s +14(upshot)h +15(of)h +13(all)h +13(this)h +14(is)h +13(that:)h +281 1988(I)s +12(will)h +10(nev)h +-1(er)h +12(allo)h +-1(w)h +11(an)h +-1(y)h +11(co)h +1(de)h +12(from)h +10(a)h +12(GNU)h +11(release)h +13(of)h +11(F)h +-3(unnelW)h +-3(eb)h +11(to)h +12(touc)h +-1(h)h +12(m)h +-1(y)h +10(o\016cial)h +10(cop)h +-1(y)h +-3(.)h +17(Only)h +281 2038(mo)s +1(di\014cations)h +12(will)h +12(b)h +1(e)h +15(acceptable.)h +281 2115(If)s +19(y)h +-1(ou)h +19(mak)h +-1(e)h +18(a)h +19(mo)h +1(di\014cation)h +17(to)h +20(F)h +-3(unnelW)h +-3(eb)h +19(and)h +19(send)h +20(it)h +19(to)h +20(me)h +18(for)h +19(inclusion)h +19(in)h +19(the)h +20(o\016cial)h +281 2165(v)s +-1(ersion,)h +17(I)h +16(will)h +16(not)h +16(incorp)h +1(orate)h +17(y)h +-1(our)h +17(mo)h +1(di\014cation)h +14(un)h +-1(til)h +16(I)h +17(ha)h +-1(v)h +-1(e)h +16(receiv)h +-1(ed)h +18(a)h +16(signed)h +17(declaration)h +281 2214(transferring)s +11(cop)h +-1(yrigh)h +-1(t.)h +17(I)h +11(will)h +9(prepare)h +13(suc)h +-1(h)h +11(a)h +11(con)h +-1(tract)h +12(when)h +11(the)h +12(\014rst)h +11(p)h +1(erson)h +12(sends)h +12(me)h +10(a)h +11(w)h +-1(orth)h +-1(y)h +281 2264(mo)s +1(di\014cation!)h +281 2341(If)s +12(y)h +-1(ou)h +12(in)h +-1(tend)h +13(to)h +12(mak)h +-1(e)h +11(c)h +-1(hanges)h +13(to)h +13(F)h +-3(unnelW)h +-3(eb)h +12(that)h +12(are)h +13(so)h +13(massiv)h +-1(e)h +11(that)h +13(they)h +13(will)h +11(in)h +-1(v)h +-1(olv)h +-1(e)h +11(wide-)h +281 2391(scale)s +13(mo)h +1(di\014cation)h +11(of)h +12(the)h +14(source)h +14(\014les,)h +13(and)h +13(y)h +-1(ou)h +12(w)h +-1(an)h +-1(t)h +13(the)h +13(mo)h +1(di\014cation)h +11(to)h +13(b)h +1(e)h +13(part)h +13(of)h +13(the)h +13(o\016cial)h +281 2441(v)s +-1(ersion,)h +16(it)h +16(migh)h +-1(t)h +14(b)h +1(e)h +17(a)h +16(go)h +1(o)h +1(d)h +15(idea)h +16(to)h +16(con)h +-1(tact)h +17(me)h +15(b)h +1(efore)h +17(doing)h +15(so.)h +25(There)h +17(are)h +16(t)h +-1(w)h +-1(o)h +16(reasons)h +17(for)h +281 2491(doing)s +11(this.)h +18(First,)h +12(it)h +12(allo)h +-1(ws)h +11(me)h +12(a)h +12(c)h +-1(hance)h +13(to)h +12(commen)h +-1(t)h +10(on)h +12(y)h +-1(our)h +13(prop)h +1(osed)h +13(mo)h +1(di\014catio)h +-1(ns)h +11(and)h +12(giv)h +-1(e)h +281 2540(m)s +-1(y)h +14(opinion)h +14(on)h +16(whether)h +17(they)h +16(are)h +16(lik)h +-1(ely)h +14(to)h +16(b)h +1(e)h +16(incorp)h +1(orated)h +16(in)h +-1(to)h +15(the)h +17(o\016cial)h +14(v)h +-1(ersion.)h +23(Second,)h +281 2590(I)s +16(can)h +15(send)h +17(y)h +-1(ou)h +15(a)h +15(cop)h +-1(y)h +16(\(under)h +17(sp)h +1(ecial)h +15(license\))h +17(of)h +15(the)h +16(GNU-clean)h +16(o\016cial)h +14(v)h +-1(ersion)h +16(to)h +15(w)h +-1(ork)h +15(on.)h +281 2640(This)s +14(will)h +12(allo)h +-1(w)h +12(y)h +-1(ou)h +14(to)h +14(ship)h +13(bac)h +-1(k)h +14(y)h +-1(our)h +14(c)h +-1(hanges)h +15(as)h +13(\014les)h +15(rather)h +14(than)h +14(as)h +14(c)h +-1(hange)h +15(sections.)h +177 2735(As)s +16(a)h +16(separate)h +17(p)h +1(oin)h +-1(t)h +15(from)h +14(the)h +16(legal)h +15(issues,)h +16(I)h +16(am)h +14(lik)h +-1(ely)h +14(to)h +16(turn)h +16(out)h +16(to)h +15(b)h +1(e)h +17(prett)h +-1(y)h +16(pic)h +-1(ky)h +15(ab)h +1(out)h +16(what)h +177 2785(mo)s +1(di\014cations)h +10(I)h +13(will)h +10(incorp)h +1(orate)h +13(in)h +-1(to)h +11(the)h +13(o\016cial)h +11(cop)h +-1(y)h +-3(.)h +17(Whether)h +13(a)h +12(mo)h +1(di\014cation)h +10(will)h +11(b)h +1(e)h +12(accepted)h +14(will)h +177 2835(dep)s +1(end,)h +15(amongst)h +12(other)h +15(things,)h +13(on)h +14(the)h +14(follo)h +-1(wing)h +11(criteria.)h +1042 2940(40)s +41 @eop +42 @bop0 +cmbx10.432 sf +[<00007FE003000003FFFC0F00001FFFFF1F00007FF00FFF0000FF8001FF0003FE0000FF +0007FC00007F000FF800003F000FF000001F001FE000001F003FE000000F003FC000000F +007FC0000007007FC0000007007FC000000700FF8000000000FF8000000000FF80000000 +00FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000 +00FF8001FFFFF8FF8001FFFFF87FC001FFFFF87FC00000FF007FC00000FF003FC00000FF +003FE00000FF001FE00000FF000FF00000FF000FF80000FF0007FC0000FF0003FE0001FF +0000FF8001FF00007FF007FF00001FFFFFBF000003FFFE0F0000007FF00300> +48 41 -4 40 54] 71 dc +[<01FF000FFFE03E03F87803FC7801FCFE01FEFE01FEFE01FEFE01FE7C01FE3803FC0003 +FC0007F0000FE0000F80001F00001E00003C00003C000078000078000070000070000070 +0000700000700000700000000000000000000000000000000000000000700001FC0003FE +0003FE0003FE0003FE0003FE0001FC00007000> +24 42 -4 41 32] 63 dc +42 @bop1 +cmti10.300 sf +1544 1034(and)s +cmsy10.300 sf +239 42(\017)s +239 174(\017)s +239 257(\017)s +239 390(\017)s +cmbx10.300 sf +222 1208(GNU)s +16(break)h +-1(out)h +cmbx10.432 sf +177 818(3.8)s +70(A)h +23(GNU)h +22(V)h +-6(ersion?)h +177 1519(3.9)s +70(Sum)h +-1(m)h +-2(ary)h +cmr10.300 sf +281 42(Do)s +1(es)h +11(the)h +11(mo)h +1(di\014cation)h +9(\014t)h +11(in)h +10(with)h +11(the)h +11(design)h +11(goals)h +10(of)h +10(F)h +-3(unnelW)h +-3(eb,)h +11(or)h +10(is)h +11(it)h +10(just)h +11(a)h +11(case)h +12(of)h +10(creeping)h +281 91(featurism?)s +281 174(Ho)s +-1(w)h +13(w)h +-1(ell)h +14(co)h +1(ded)h +14(is)h +14(the)h +15(mo)h +1(di\014catio)h +-1(n?)h +17(W)h +-3(ould)h +12(it)h +14(reduce)h +15(the)h +15(qualit)h +-1(y)h +12(of)h +13(the)h +15(co)h +1(de?)h +281 257(If)s +14(the)h +16(mo)h +1(di\014cation)h +13(c)h +-1(hanges)h +15(F)h +-3(unnelW)h +-3(eb's)h +15(functionalit)h +-1(y)h +-3(,)h +12(is)h +15(this)h +15(a)h +15(desirable)h +15(c)h +-1(hange?)h +22(Ho)h +-1(w)h +14(will)h +281 307(it)s +13(impact)h +13(on)h +13(existing)h +14(users?)h +281 390(W)s +-3(ould)h +13(it)h +13(b)h +1(e)h +15(quic)h +-1(k)h +-1(er)h +14(for)h +14(me)h +13(to)h +14(mak)h +-1(e)h +13(the)h +14(mo)h +1(di\014cation)h +12(m)h +-1(yself)h +13(than)h +14(to)h +14(w)h +-1(ork)h +13(out)h +14(ho)h +-1(w)h +14(to)h +14(incor-)h +281 440(p)s +1(orate)h +14(the)h +15(submitted)h +13(mo)h +1(di\014cation?)h +177 556(It)s +13(is)h +12(m)h +-1(y)h +11(goal)h +12(to)h +12(guard)h +13(the)h +13(in)h +-1(tegrit)h +-1(y)h +12(of)h +12(the)h +13(design)h +13(and)h +12(co)h +1(de)h +14(of)h +12(the)h +13(o\016cial)h +11(v)h +-1(ersion)h +13(of)h +12(F)h +-3(unnelW)h +-3(eb)h +12(and)h +177 606(so)s +13(I)h +13(will)h +11(probably)h +12(b)h +1(e)h +13(rather)h +14(fussy)h +13(ab)h +1(out)h +12(what)h +13(I)h +12(regard)h +14(as)h +12(a)h +13(w)h +-1(orth)h +-1(while)h +12(mo)h +1(di\014cation.)h +15(I)h +13(do)h +12(not)h +13(wish)h +177 656(to)s +14(lose)h +14(con)h +-1(trol)h +13(of)h +14(the)h +14(co)h +1(de,)h +14(either)h +15(tec)h +-1(hnically)h +14(or)h +14(legally)h +-3(.)h +177 934(The)s +18(con)h +-1(trols)h +17(on)h +16(the)h +18(o\016cial)h +15(v)h +-1(ersion)h +17(of)h +17(F)h +-3(unnelW)h +-3(eb)h +16(describ)h +1(ed)h +19(in)h +16(the)h +18(previous)h +17(section)h +18(will)h +15(ha)h +-1(v)h +-1(e)h +17(at)h +177 984(most)s +14(a)h +15(minor)h +13(impact)h +14(on)h +15(F)h +-3(unnelW)h +-3(eb)h +15(dev)h +-1(elopmen)h +-1(t)h +14(if)h +15(F)h +-3(unnelW)h +-3(eb)h +14(already)h +15(serv)h +-1(es)h +17(the)h +16(needs)h +16(of)h +15(most)h +177 1034(of)s +19(its)h +20(users.)h +36(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +21(if)h +19(it)h +19(turns)h +20(out)h +20(that)h +19(F)h +-3(unnelW)h +-3(eb)h +19(is)h +20(b)h +1(oth)h +20(p)h +1(opular,)h +105(needs)h +21(widespread)h +177 1083(mo)s +1(di\014cations)h +13(and)h +14(enhancemen)h +-1(ts,)h +15(then)h +15(the)h +15(o\016cial)h +13(feedbac)h +-1(k)h +15(lo)h +1(op)h +13(describ)h +1(ed)h +16(in)h +14(the)h +15(previous)h +15(section)h +177 1133(will)s +13(b)h +1(ecome)h +13(un)h +-1(w)h +-1(ork)h +-2(able,)h +13(and)h +14(there)h +15(will)h +12(b)h +1(e)h +15(a)h +13(GNU)h +14(break)h +-1(out.)h +177 1208(A)s +340(will)h +12(o)h +1(ccur)h +15(if)h +13(F)h +-3(unnelW)h +-3(eb)h +13(users)h +16(b)h +1(ecome)h +13(organized)h +14(enough)h +14(and)h +14(anno)h +-1(y)h +-1(ed)h +14(enough)h +177 1258(\(at)s +20(the)h +21(o\016cial)h +18(dev)h +-1(elopmen)h +-1(t)h +19(cycle\))h +21(to)h +20(start)h +20(main)h +-1(taini)h +-1(ng)h +18(a)h +20(coheren)h +-1(t)h +21(v)h +-1(ersion)h +20(of)h +19(F)h +-3(unnelW)h +-3(eb)h +20(that)h +177 1307(div)s +-1(erges)h +19(from)h +16(the)h +19(o\016cial)h +17(v)h +-1(ersion.)h +31(If)h +18(a)h +18(GNU)h +18(break)h +-1(out)h +18(o)h +1(ccurs,)h +20(I)h +18(w)h +-1(ould)h +18(appreciate,)h +19(as)h +19(requested)h +177 1357(earlier,)s +14(that)h +14(a)h +13(di\013eren)h +-1(t)h +15(name)h +13(and)h +14(\014le)h +13(extensions)h +15(b)h +1(e)h +15(c)h +-1(hosen)h +15(for)h +13(the)h +15(div)h +-1(erging)h +13(v)h +-1(ersion.)h +177 1635(Decen)s +-1(tralized)h +21(mo)h +1(di\014cations)h +18(to)h +20(a)h +19(programm)h +-1(ing)h +17(language)h +19(and)h +20(its)h +20(implem)h +-1(en)h +-1(tatio)h +-1(ns)h +19(can)h +20(seriously)h +177 1685(damage)s +12(the)h +14(language's)h +13(p)h +1(ortabilit)h +-1(y)h +12(and)h +14(seman)h +-1(tic)h +12(clarit)h +-1(y)h +-3(.)h +17(Unfortunately)h +-3(,)h +13(there)h +15(is)h +13(a)h +13(tension)h +14(b)h +1(et)h +-1(w)h +-1(een)h +177 1735(cen)s +-1(tralizing)h +10(con)h +-1(trol)h +10(of)h +9(a)h +10(programm)h +-1(i)h +-1(ng)h +8(language)h +9(and)h +10(pro)h +-1(viding)h +9(source)h +11(co)h +1(de)h +11(securit)h +-1(y)h +11(to)h +10(nerv)h +-1(ous)h +11(users.)h +177 1785(In)s +15(F)h +-3(unnelW)h +-3(eb,)h +13(this)h +15(trade-o\013)h +15(has)h +15(b)h +1(een)h +15(resolv)h +-1(ed)h +15(to)h +15(some)h +13(exten)h +-1(t)h +16(b)h +-1(y)h +14(releasing)h +15(the)h +15(source)h +16(co)h +1(de)h +15(along)h +177 1835(with)s +16(a)h +16(request)h +18(that)h +16(if)h +16(the)h +16(functionalit)h +-1(y)h +15(of)h +16(the)h +17(program)h +14(is)h +16(mo)h +1(di\014ed,)h +15(that)h +17(the)h +17(program's)h +14(name)h +15(b)h +1(e)h +177 1884(c)s +-1(hanged)h +12(and)h +12(a)h +11(di\013eren)h +-1(t)h +13(\014le)h +11(extension)h +13(b)h +1(e)h +12(c)h +-1(hosen)h +13(for)h +11(input)h +12(\014les)h +12(created)h +13(under)h +12(the)h +13(mo)h +1(di\014ed)h +10(program.)h +177 1934(The)s +14(author)h +14(of)h +13(F)h +-3(unnelW)h +-3(eb)h +13(has)h +13(decided)h +15(to)h +13(main)h +-1(tain)h +11(an)h +13(o\016cial)h +13(v)h +-1(ersion)h +13(of)h +13(F)h +-3(unnelW)h +-3(eb)h +13(o)h +-1(v)h +-1(er)h +14(whic)h +-1(h)h +13(he)h +177 1984(will)s +14(o)h +-1(wn)h +15(cop)h +-1(yrigh)h +-1(t,)h +15(but)h +16(whic)h +-1(h)h +15(he)h +16(will)h +14(release)h +17(under)h +16(GNU)h +15(license)h +17(from)h +13(time)h +14(to)h +16(time.)h +21(This)h +16(means)h +177 2034(that)s +16(cop)h +-1(yrigh)h +-1(t)h +15(on)h +16(all)h +14(c)h +-1(hanges)h +17(to)h +15(F)h +-3(unnelW)h +-3(eb)h +16(m)h +-1(ust)h +14(b)h +1(e)h +17(signed)h +16(o)h +-1(v)h +-1(er)h +15(to)h +16(the)h +16(author)h +16(b)h +1(efore)h +17(they)h +16(ha)h +-1(v)h +-1(e)h +177 2084(a)s +16(c)h +-1(hance)h +18(of)h +16(b)h +1(eing)h +17(incorp)h +1(orated)h +17(in)h +16(the)h +17(o\016cial)h +15(v)h +-1(ersion.)h +27(Finally)h +-3(,)h +14(it)h +17(is)h +16(p)h +1(ossible)h +17(that)h +17(this)h +16(reluctance)h +177 2133(of)s +14(the)h +15(author)h +14(to)h +14(remo)h +-1(v)h +-1(e)h +13(his)h +14(cop)h +-1(yrigh)h +-1(ted)h +15(v)h +-1(ersion)h +14(from)h +12(the)h +15(dev)h +-1(elopmen)h +-1(t)h +13(cycle)h +15(of)h +14(the)h +15(o\016cial)h +13(v)h +-1(ersion)h +177 2183(will)s +11(result)h +14(in)h +12(a)h +12(GNU)h +13(break)h +-1(out)h +13(in)h +12(whic)h +-1(h)h +12(a)h +13(div)h +-1(erging)h +11(GNU)h +13(v)h +-1(ersion)h +12(of)h +13(F)h +-3(unnelW)h +-3(eb)h +12(will)h +11(b)h +1(e)h +13(main)h +-1(tai)h +-1(ned)h +177 2233(b)s +-1(y)h +14(the)h +14(GNU)h +14(comm)h +-2(unit)h +-1(y)h +-3(.)h +16(The)h +14(author)h +14(hop)h +1(es)h +15(this)h +14(w)h +-1(on't)h +13(b)h +1(e)h +15(necessary)h +16(and)h +14(requests,)h +15(if)h +13(this)h +14(happ)h +1(ens,)h +177 2283(that)s +14(the)h +15(div)h +-1(erging)h +13(GNU)h +13(v)h +-1(ersion)h +14(b)h +1(e)h +15(renamed.)h +1042 2940(41)s +42 @eop +43 @bop0 +43 @bop1 +cmr10.300 sf +1042 2940(42)s +43 @eop +44 @bop0 +cmbx10.622 sf +[<00000007C0000000000FC0000000000FC0000000001FC0000000003FC0000000007FC0 +00000000FFC000000000FFC000000001FFC000000003FFC000000007FFC00000000FFFC0 +0000000FFFC00000001EFFC00000003CFFC00000007CFFC0000000F8FFC0000000F0FFC0 +000001E0FFC0000003C0FFC0000007C0FFC000000F80FFC000000F00FFC000001E00FFC0 +00003C00FFC000007C00FFC00000F800FFC00000F000FFC00001E000FFC00003C000FFC0 +0007C000FFC0000F8000FFC0000F0000FFC0001E0000FFC0003C0000FFC0007C0000FFC0 +00F80000FFC000FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0000001FFC0 +00000001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC0 +00000001FFC000000001FFC000000001FFC0000007FFFFFFC00007FFFFFFC00007FFFFFF +C00007FFFFFFC0> +48 55 -3 54 49] 52 dc +cmbx10.300 sf +[<003FC1FE0001F03F818003C03E01C007C07E03E00F807C03E00F807C03E00F807C01C0 +0F807C00000F807C00000F807C00000F807C0000FFFFFFFFE0FFFFFFFFE00F807C03E00F +807C03E00F807C03E00F807C03E00F807C03E00F807C03E00F807C03E00F807C03E00F80 +7C03E00F807C03E00F807C03E00F807C03E00F807C03E00F807C03E07FE1FF0FFC7FE1FF +0FFC> +40 29 0 28 40] 14 dc +[<03F0600F0CE01E07E03C03E07C03E07803E0F803E0F803E0F803E0F803E0F803E0F803 +E07803E07C03E03C03E01C07E00E0FE003F3E00003E00003E00003E00003E00003E00003 +E0001FFC001FFC> +24 26 -2 17 25] 113 dc +44 @bop1 +cmti10.300 sf +1853 2316(al)s +2(l)h +cmbx10.622 sf +177 376(Chapter)s +34(4)h +cmbx10.746 sf +177 607(F)s +-10(unnelW)h +-10(eb)h +41(F)h +-10(uture)h +cmtt10.300 sf +1211 1719(COMLINE)s +15(MAX)h +389 2465(SETALL)s +655(SET)h +747 2785(command.c)s +cmbx10.432 sf +177 1107(4.1)s +70(Do)h +2(cum)h +-1(e)h +-1(n)h +-2(tation)h +177 1604(4.2)s +70(Com)h +-1(m)h +-3(and)h +22(Line)h +22(In)h +-2(terface)h +177 2201(4.3)s +70(Shell)h +21(In)h +-2(terpreter)h +cmbx10.300 sf +177 1221(An)s +12(o\016cial)h +11(example:)h +177 1344(Index)s +20(program:)h +177 1719(Bu\013er)s +14(length:)h +177 1892(An)s +-1(tiquated)h +14(F)h +-4(eatures:)h +177 2316(SET)s +-4(ALL)h +20(command:)h +177 2588(Recursion)s +14(test:)h +177 2662(Diagnosti)s +-1(c)h +13(coun)h +-1(ti)h +-1(ng:)h +177 2785(Argumen)s +-1(t)h +16(coun)h +-1(ti)h +-1(ng:)h +cmr10.300 sf +177 847(Previous)s +13(c)h +-1(hapters)h +14(ha)h +-1(v)h +-1(e)h +13(explained)h +12(the)h +13(design)h +13(of)h +12(F)h +-3(unnelW)h +-3(eb)h +12(and)h +13(giv)h +-1(en)h +12(reasons)h +14(for)h +12(wh)h +-1(y)h +12(it)h +13(is)h +12(the)h +13(w)h +-1(a)h +-1(y)h +177 897(it)s +15(is.)h +24(This)h +15(c)h +-1(hapter)h +17(go)h +1(es)h +16(through)h +16(eac)h +-1(h)h +16(of)h +15(the)h +17(asp)h +1(ects)h +17(of)h +15(F)h +-3(unnelW)h +-3(eb,)h +15(and)h +16(explores)h +16(their)h +16(problems,)h +177 946(ho)s +-1(w)h +14(they)h +14(can)h +14(b)h +1(e)h +15(solv)h +-1(ed,)h +13(and)h +14(lists)h +13(opp)h +1(ortunities)h +15(for)h +13(impro)h +-1(v)h +-1(em)h +-1(en)h +-1(t.)h +601 1221(A)s +11(o\016cial)h +9(example)h +10(program)h +9(written)h +12(using)h +10(F)h +-3(unnelW)h +-3(eb)h +11(should)h +10(b)h +1(e)h +12(constructed)h +177 1271(and)s +14(made)h +13(a)h +-1(v)h +-2(aila)h +-1(ble.)h +533 1344(In)s +19(order)h +18(to)h +19(t)h +-1(yp)h +1(eset)h +19(the)h +19(do)h +1(cumen)h +-1(tation,)h +18(a)h +18(p)h +1(ortable)h +18(index)h +18(sorting)h +18(program)h +17(is)h +177 1394(required.)s +31(One)h +19(should)h +17(b)h +1(e)h +19(written)h +18(and)h +18(added)h +18(to)h +18(the)h +18(distribution)h +18(kit.)h +29(P)h +-1(erhaps)h +19(this)h +18(could)h +18(b)h +1(e)h +18(the)h +177 1444(o\016cial)s +13(example!)h +484 1719(Curren)s +-1(tly)h +13(the)h +14(F)h +-3(unnelW)h +-3(eb)h +12(shell)h +13(uses)h +15(the)h +260(constan)h +-1(t)h +13(to)h +13(size)h +14(its)h +13(in)h +-1(ternal)h +177 1768(comma)s +-1(nd)h +15(line)h +15(bu\013ers.)h +27(This)h +16(is)h +16(un)h +-1(tenable.)h +25(The)h +17(maxim)h +-3(um)h +13(length)h +16(of)h +16(a)h +16(shell)h +16(comm)h +-1(and)h +14(line)h +16(should)h +177 1818(not)s +14(b)h +1(e)h +14(mac)h +-1(hine)h +13(dep)h +1(enden)h +-1(t.)h +638 1892(As)s +15(the)h +15(F)h +-3(unnelW)h +-3(eb)h +13(language)h +14(dev)h +-1(elops,)h +14(it)h +14(is)h +14(lik)h +-1(ely)h +13(that)h +15(some)h +13(c)h +-1(hanges)h +15(will)h +177 1941(ha)s +-1(v)h +-1(e)h +15(to)h +15(b)h +1(e)h +16(made)h +13(that)h +15(will)h +14(render)h +17(one)h +15(or)h +15(more)h +14(language)h +14(constructs)h +17(obsolete.)h +22(When)h +15(this)h +15(happ)h +1(ens,)h +177 1991(it)s +13(ma)h +-1(y)h +10(b)h +1(e)h +14(necessary)h +15(to)h +12(add)h +13(a)h +13(comm)h +-1(and)h +11(line)h +12(option)h +12(that)h +13(has)h +13(the)h +13(p)h +1(o)h +-1(w)h +-1(er)h +13(to)h +13(turn)h +13(on)h +13(and)h +12(o\013)h +13(w)h +-1(arnings)h +177 2041(or)s +14(errors)h +15(\015agging)h +13(an)h +-1(tiquated)h +13(features.)h +618 2316(When)s +17(writing)h +17(F)h +-3(unnelW)h +-3(eb)h +17(scripts,)h +19(it)h +17(is)h +18(sometim)h +-1(es)h +17(desirable)h +18(to)h +17(set)h +80(of)h +177 2366(F)s +-3(unnelW)h +-3(eb's)h +16(options)h +17(to)h +16(some)h +16(particular)h +17(v)h +-2(alue)h +16(so)h +17(that)h +16(the)h +18(script)h +17(is)h +17(not)h +16(vulnerable)h +17(to)h +17(c)h +-1(hanges)h +17(in)h +177 2415(F)s +-3(unnelW)h +-3(eb's)h +15(default)h +16(v)h +-2(alues)h +15(whic)h +-1(h)h +16(migh)h +-1(t)h +14(o)h +1(ccur)h +16(from)h +14(time)h +15(to)h +16(time.)h +22(T)h +-3(o)h +15(this)h +16(end,)h +16(it)h +16(ma)h +-1(y)h +13(b)h +1(e)h +17(w)h +-1(orth)h +177 2465(creating)s +13(a)h +12(\\)h +132(")h +11(comm)h +-1(and)h +11(that)h +12(is)h +13(iden)h +-1(tical)h +11(to)h +13(the)h +13(\\)h +66(")h +11(comma)h +-1(nd)h +11(except)h +14(that)h +12(it)h +12(will)h +11(generate)h +177 2515(an)s +14(error)h +15(if)h +13(the)h +14(v)h +-2(alue)h +13(of)h +14(an)h +13(option)h +13(is)h +14(not)h +14(sp)h +1(eci\014ed)h +15(explicitly)h +-3(.)h +510 2588(A)s +14(test)h +15(should)h +14(b)h +1(e)h +14(added)h +15(to)h +13(test)h +15(for)h +14(recursiv)h +-1(e)h +15(in)h +-1(v)h +-1(o)h +1(cation)h +13(in)h +13(a)h +14(shellscript.)h +621 2662(The)s +13(co)h +1(de)h +13(for)h +12(coun)h +-1(ting)h +12(diagnostics)h +13(in)h +12(the)h +13(script)h +13(in)h +-1(terpreter)h +14(is)h +13(rather)h +13(messy)h +177 2711(and)s +14(p)h +1(erhaps)h +15(ev)h +-1(en)h +14(buggy)h +-3(.)h +18(It)h +13(should)h +14(b)h +1(e)h +15(cleaned)h +14(up)h +14(and)h +14(comm)h +-1(en)h +-1(ted.)h +621 2785(In)s +15(the)h +228(mo)h +1(dule,)h +14(there)h +17(is)h +15(a)h +15(v)h +-2(ariable)h +15(that)h +15(coun)h +-1(ts)h +16(the)h +17(argumen)h +-1(ts)h +177 2835(to)s +14(a)h +14(comma)h +-1(nd.)h +18(Curren)h +-1(tly)h +14(it)h +14(tak)h +-1(es)h +15(the)h +15(v)h +-2(alue)h +13(of)h +14(the)h +15(n)h +-1(um)h +-1(b)h +1(er)h +13(of)h +14(parameters)h +14(including)h +14(the)h +15(comm)h +-1(and)h +1042 2940(43)s +14 2 1368 1719 r +44 @eop +45 @bop0 +cmbx10.432 sf +[<00000300000007800000078000000F8000000F0000000F0000001F0000001E0000003E +0000003C0000003C0000007C0000007800000078000000F8000000F0000001F0000001E0 +000001E0000003E0000003C0000003C0000007C00000078000000F8000000F0000000F00 +00001F0000001E0000003E0000003C0000003C0000007C0000007800000078000000F800 +0000F0000001F0000001E0000001E0000003E0000003C0000003C0000007C00000078000 +000F8000000F0000000F0000001F0000001E0000001E0000003E0000003C0000007C0000 +007800000078000000F8000000F0000000F000000060000000> +32 60 -4 44 34] 47 dc +cmbx10.300 sf +[<0FF0303C601EF01FF81FF81F701F003E003C007000E001C00180018003000300030003 +000300000000000000000007800FC00FC00FC00FC00780> +16 29 -3 28 23] 63 dc +[<001FE00000E01C0003000300060001800C0000C018000060300FC0302038601060F010 +1860F01F18C1E01F0CC1E01F0CC3E01F0CC3E01F0CC3E01F0CC3E01F0CC3E01F0CC1E01F +0CC1E01F0C60F01F0860F01F1820386F10300FC7E0180000000C00000006000000030000 +3C00E007F0001FFC00> +32 29 -3 28 37] 64 dc +45 @bop1 +cmsy10.300 sf +375 1590(f)s +736 1640(f)s +1284 1789(f)s +cmbx10.432 sf +177 814(4.4)s +70(Language)h +24(Design)h +177 2566(4.5)s +70(Scanner/Mapp)h +2(er)h +cmtt10.300 sf +1726 295(Make)s +1251 395(+D)s +787 445(Make)s +348(Make)h +177 495(.fw)s +1181 544(.sig)s +534(.fw)h +263 594(Make)s +863(.fw)h +202(.sig)h +615 1060(@O)s +780 1110(0)s +769(@F)h +364 1236(@<Sloth@>)s +714 1640(@)s +350(@-)h +1262 1789(@)s +657 2347(@\()s +99(@\))h +cmbx10.300 sf +177 168(Mak)s +-1(e)h +15(facilit)h +-2(y:)h +177 295(Signatur)s +-1(e)h +12(\014le:)h +177 1060(Output)s +10(or)h +11(\014le?:)h +177 1187(Syn)s +-1(tax)h +16(of)h +17(section)h +16(names:)h +177 1463(One)s +15(macro)h +14(p)h +1(er)h +15(section:)h +177 1590(Should)s +15(@)h +38(suppress)h +15(EOL?:)h +177 1866(Pragma)s +20(syn)h +-1(tax:)h +177 1993(Condition)s +-1(al)h +-1(s:)h +177 2170(File)s +15(mark)h +-1(ers:)h +177 2297(F)s +-4(ormal)h +13(parameter)h +13(lists:)h +177 2685(All)s +17(non-con)h +-1(ti)h +-1(guo)h +-1(us)h +16(mappings:)h +cmr10.300 sf +177 42(v)s +-1(erb.)h +19(This)h +13(has)h +13(turned)h +15(out)h +13(to)h +13(mak)h +-1(e)h +12(the)h +14(co)h +1(de)h +14(less)h +15(readable.)h +18(It)h +13(should)h +13(b)h +1(e)h +14(c)h +-1(hanged)h +14(to)h +13(b)h +1(e)h +14(the)h +14(n)h +-1(um)h +-1(b)h +1(er)h +177 91(of)s +13(argumen)h +-1(ts)h +14(to)h +13(the)h +15(comm)h +-1(and)h +12(v)h +-1(erb.)h +479 168(It)s +13(ma)h +-1(y)h +11(b)h +1(e)h +13(w)h +-1(orth)h +13(building)h +12(some)h +12(sort)h +13(of)h +12(mak)h +-1(e)h +12(facilit)h +-1(y)h +11(in)h +-1(to)h +12(the)h +14(script)h +14(language)h +12(so)h +13(as)h +177 218(to)s +14(supp)h +1(ort)h +15(mac)h +-1(hines)h +13(suc)h +-1(h)h +14(as)h +14(the)h +15(Macin)h +-1(tosh)h +14(that)h +13(do)h +14(not)h +14(already)h +13(ha)h +-1(v)h +-1(e)h +14(this)h +14(facilit)h +-1(y)h +-3(.)h +484 295(One)s +13(problem)h +12(with)h +12(using)h +12(F)h +-3(unnelW)h +-3(eb)h +12(in)h +12(conjunction)h +12(with)h +13(an)h +12(external)h +112(facilit)h +-1(y)h +177 345(is)s +15(that)h +16(a)h +15(user)h +16(migh)h +-1(t)h +13(c)h +-1(hange)h +16(a)h +15(F)h +-3(unnelW)h +-3(eb)h +15(source)h +16(\014le)h +16(without)h +15(making)h +13(c)h +-1(hanges)h +16(that)h +15(will)h +14(a\013ect)h +16(the)h +177 395(\014les)s +16(that)h +15(it)h +14(generates.)h +24(If)h +14(F)h +-3(unnelW)h +-3(eb)h +15(is)h +15(then)h +16(run)h +15(and)h +15(the)h +16(\\)h +44(")h +14(option)h +14(is)h +15(on,)h +15(then)h +15(the)h +16(output)h +15(\014les)h +177 445(will)s +15(b)h +1(e)h +17(deleted)h +18(\(to)h +17(a)h +-1(v)h +-1(oid)h +15(further)h +121(propagations\).)h +25(If)h +120(then)h +17(has)h +17(a)h +16(pro)h +1(duction)h +17(linking)h +15(the)h +255 495(\014le)s +13(to)h +13(its)h +13(output)h +13(\014les,)h +13(then)h +13(it)h +13(ma)h +-1(y)h +11(conclude)h +13(that)h +13(the)h +13(output)h +13(\014les)h +14(are)h +13(still)h +12(out)h +13(of)h +12(date.)h +18(T)h +-3(o)h +12(solv)h +-1(e)h +177 544(the)s +17(problem,)h +15(F)h +-3(unnelW)h +-3(eb)h +16(could)h +17(b)h +1(e)h +17(c)h +-1(hanged)h +16(to)h +17(write)h +16(a)h +120(\014le)h +16(whenev)h +-1(er)h +18(it)h +16(pro)h +1(cesse)h +1(s)h +18(a)h +98(\014le.)h +177 594(The)s +116(pro)h +1(duction)h +14(could)h +13(then)h +15(b)h +1(e)h +14(wired)h +15(up)h +14(to)h +13(link)h +13(the)h +94(\014le)h +14(to)h +14(the)h +115(\014le)h +14(instead)h +14(of)h +13(to)h +14(the)h +177 644(output)s +14(\014les.)h +177 933(Some)s +13(prop)h +1(osed)h +15(c)h +-1(hanges)h +15(to)h +14(F)h +-3(unnelW)h +-3(eb)h +13(do)h +14(not)h +14(corresp)h +1(ond)h +16(to)h +14(an)h +-1(y)h +13(particular)h +14(comp)h +1(onen)h +-1(t)h +14(of)h +13(F)h +-3(unnel-)h +177 983(W)s +-3(eb)h +14(and)h +13(are)h +15(really)h +13(to)h +14(do)h +13(with)h +14(the)h +14(design)h +15(of)h +13(the)h +14(input)h +14(language.)h +512 1060(The)s +11(\\)h +44(")h +9(sp)h +1(ecial)h +11(sequence)h +13(for)h +10(de\014ning)h +11(an)h +10(output)h +11(\014le)h +11(is)h +10(somewhat)h +10(non-mnem)h +-1(oni)h +-1(c)h +177 1110(and)s +14(can)h +14(b)h +1(e)h +14(confused)h +15(with)h +14(zero)h +15(\(\\)h +22("\).)h +17(P)h +-1(erhaps)h +15(it)h +13(should)h +14(b)h +1(e)h +15(replaced)h +15(b)h +-1(y)h +13(the)h +15(\\)h +44(")h +13(sequence.)h +720 1187(Curren)s +-1(tly)h +15(section)h +16(names)h +14(use)h +16(the)h +16(same)h +14(syn)h +-1(tax)h +15(as)h +15(macro)h +14(names.)h +21(F)h +-3(or)h +177 1236(example)s +16(\\)h +198(".)h +25(It)h +17(can)h +18(b)h +1(e)h +17(argued)h +18(that)h +17(angle)h +16(brac)h +-1(k)h +-1(ets)h +18(should)h +17(b)h +1(e)h +18(reserv)h +-1(ed)h +19(only)h +16(for)h +17(macro)h +177 1286(names)s +16(and)h +17(that)h +16(some)h +16(other)h +18(syn)h +-1(tax)h +16(should)h +17(b)h +1(e)h +17(found)h +17(for)h +16(delimiti)h +-1(ng)h +15(section)h +17(names.)h +26(This)h +17(is)h +16(not)h +17(a)h +177 1336(clear)s +12(issue.)h +18(It)h +11(could)h +12(also)h +10(b)h +1(e)h +13(argued)h +11(that)h +12(they)h +12(are)h +12(b)h +1(oth)h +11(names,)h +11(and)h +11(that)h +11(b)h +1(ecause)h +14(sections)h +12(can)h +12(inherit)h +177 1386(their)s +14(names)h +14(from)h +12(the)h +14(macros)h +13(they)h +15(con)h +-1(tain,)h +13(that)h +13(the)h +15(names)h +13(are)h +14(of)h +14(the)h +14(same)h +13(\\t)h +-1(yp)h +1(e".)h +680 1463(One)s +14(particular)h +13(st)h +-1(yle)h +13(of)h +13(using)h +13(F)h +-3(unnelW)h +-3(eb)h +12(is)h +13(to)h +13(ha)h +-1(v)h +-1(e)h +13(at)h +14(most)h +12(one)h +13(macro)h +177 1513(de\014nition)s +12(p)h +1(er)h +13(section.)h +19(It)h +12(ma)h +-1(y)h +11(b)h +1(e)h +13(w)h +-1(orth)h +12(adding)h +12(a)h +12(pragma)h +10(that)h +13(instructs)h +14(F)h +-3(unnelW)h +-3(eb)h +11(to)h +13(enforce)h +13(this.)h +760 1590(When)s +15(de\014ning)h +15(a)h +15(macro)h +14(in)h +15(F)h +-3(unnelW)h +-3(eb,)h +14(it)h +15(seems)h +15(to)h +15(b)h +1(e)h +16(rule)h +15(rather)h +177 1640(than)s +14(the)h +15(exception)h +14(that)h +14(the)h +15(\\)h +43(")h +13(b)h +1(e)h +14(follo)h +-1(w)h +-1(ed)h +13(b)h +-1(y)h +13(\\)h +44(".)h +18(This)h +13(suppresse)h +1(s)h +16(the)h +15(EOL)h +14(on)h +14(the)h +14(de\014nition)h +177 1690(line,)s +12(allo)h +-1(wing)h +11(the)h +13(\014rst)h +14(line)h +12(of)h +13(the)h +13(macro)h +12(to)h +12(b)h +1(e)h +14(placed)h +13(imm)h +-1(edia)h +-1(tely)h +11(ab)h +1(o)h +-1(v)h +-1(e)h +13(and)h +12(in)h +13(line)h +12(with)h +13(the)h +13(other)h +177 1739(lines)s +17(without)h +17(in)h +-1(tro)h +1(ducing)h +17(an)h +16(EOL)h +18(at)h +17(the)h +17(start)h +18(of)h +17(the)h +17(macro)h +16(text.)h +28(One)h +18(option)h +16(is)h +17(to)h +17(in)h +-1(tro)h +1(duce)h +18(a)h +177 1789(pragma)s +12(to)h +14(determine)h +14(whether)h +15(to)h +14(suppress)h +16(EOLs)h +14(follo)h +-1(wing)h +12(\\)h +43(".)h +536 1866(It)s +18(is)h +18(not)h +18(clear)h +18(ho)h +-1(w)h +18(\\lo)h +1(ose")h +17(the)h +19(syn)h +-1(tax)h +18(of)h +17(pragmas)h +17(should)h +17(b)h +1(e.)h +31(P)h +-1(erhaps)h +19(they)h +177 1916(should)s +14(b)h +1(e)h +14(case)h +15(insensitiv)h +-1(e.)h +478 1993(Dep)s +1(ending)h +17(on)h +17(demand,)h +17(it)h +17(ma)h +-1(y)h +15(b)h +1(e)h +18(w)h +-1(orth)h +18(rein)h +-1(tro)h +1(ducing)h +17(some)h +17(sort)h +17(of)h +17(conditional)h +177 2043(feature)s +17(in)h +-1(to)h +16(F)h +-3(unnelW)h +-3(eb.)h +24(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +17(it)h +15(w)h +-1(ould)h +16(ha)h +-1(v)h +-1(e)h +16(to)h +16(b)h +1(e)h +17(v)h +-1(ery)h +16(simple)h +15(to)h +16(comp)h +1(ete)h +16(with)h +16(the)h +16(v)h +-2(arious)h +177 2093(w)s +-1(a)h +-1(ys)h +14(in)h +13(whic)h +-1(h)h +14(conditionals)h +13(can)h +14(already)h +13(b)h +1(e)h +15(fudged)h +14(within)h +13(F)h +-3(unnelW)h +-3(eb)h +13(as)h +14(it)h +14(stands.)h +473 2170(It)s +14(migh)h +-1(t)h +13(b)h +1(e)h +15(w)h +-1(orth)h +15(mo)h +1(difyi)h +-1(ng)h +13(the)h +15(language)h +14(so)h +15(that)h +14(a)h +15(sp)h +1(ecial)h +15(syn)h +-1(tactical)h +14(mark)h +-1(er)h +14(is)h +177 2220(required)s +11(at)h +10(the)h +11(start)h +11(and)h +10(end)h +10(of)h +10(\014les.)h +17(This)h +10(will)h +9(assist)h +10(in)h +10(detecting)h +11(truncations)h +11(and)h +10(other)h +11(corruptions.)h +680 2297(It)s +13(mig)h +-1(h)h +-1(t)h +11(b)h +1(e)h +13(w)h +-1(orth)h +13(c)h +-1(hanging)h +12(o)h +-1(v)h +-1(er)h +12(to)h +13(a)h +12(syn)h +-1(tax)h +12(for)h +13(formal)h +10(parameter)h +12(lists)h +177 2347(that)s +16(do)h +1(es)h +17(not)h +17(require)h +17(the)h +76(and)h +60(.)h +25(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +17(they)h +16(could)h +16(b)h +1(e)h +17(retained)h +17(as)h +16(optional)h +15(for)h +16(bac)h +-1(kw)h +-1(ard)h +177 2396(compatibili)s +-1(t)h +-1(y)h +-3(.)h +826 2685(Curren)s +-1(tly)h +17(F)h +-3(unnelW)h +-3(eb)h +15(requires)h +17(that)h +17(all)h +15(input)h +15(\014les)h +17(b)h +1(e)h +17(mapp)h +1(ed)h +177 2735(in)s +-1(to)h +15(a)h +15(con)h +-1(tiguous)h +15(lump)h +14(of)h +15(memo)h +-1(ry)h +-3(.)h +21(This)h +15(caused)h +17(problems)h +15(for)h +15(t)h +-1(w)h +-1(o)h +15(reasons.)h +24(First,)h +15(to)h +16(do)h +15(this,)h +16(one)h +177 2785(has)s +12(to)h +12(allo)h +1(cate)h +11(the)h +12(memo)h +-1(ry)h +10(\014rst,)h +13(and)h +11(to)h +12(do)h +11(that,)h +12(y)h +-1(ou)h +11(ha)h +-1(v)h +-1(e)h +12(to)h +11(kno)h +-1(w)h +11(ho)h +-1(w)h +12(long)h +11(the)h +12(\014le)h +12(is,)h +11(and)h +12(it)h +11(turns)h +177 2835(out)s +14(that)h +14(\014nding)h +14(out)h +14(the)h +14(length)h +14(of)h +13(a)h +14(\014le)h +14(in)h +14(a)h +13(p)h +1(ortable)h +15(manner)h +13(is)h +14(v)h +-1(ery)h +14(ine\016cien)h +-1(t.)h +18(Second,)h +15(although)h +1042 2940(44)s +45 @eop +46 @bop0 +cmtt10.300 sf +[<03000F803FE0FDF8F0784010> +16 6 -4 24 22] 94 dc +cmti10.300 sf +[<070E0019910010E38020E38041C30041C00001C00001C0000380000380000380000380 +00070200670200E70400CB04008B080070F000> +24 18 -3 17 19] 120 dc +cmbx10.300 sf +[<007800FC00FC00FC00FC007800000000000000000000000003FC03FC007C007C007C00 +7C007C007C007C007C007C007C007C007C007C007C007C007C007C007C707CF87CF878F8 +F070E01F80> +16 38 3 29 15] 106 dc +46 @bop1 +cmtt10.300 sf +423 395(@^D\(10\))s +682 572(@^D\(ddd\))s +1093 622(LF)s +611 699(version)s +470 1703(@M)s +cmbx10.432 sf +177 1018(4.6)s +70(P)h +-2(arser)h +177 1308(4.7)s +70(Analyser)h +177 1923(4.8)s +70(T)h +-6(angle)h +177 2588(4.9)s +70(W)h +-6(ea)h +-2(v)h +-2(e)h +cmti10.300 sf +1172 2169(no)s +21(indentation)h +108(blank)h +20(indentation)h +1259 2219(T)s +-3(ext)h +17(indentation)h +295(blank)h +177 2269(indentation)s +cmbx10.300 sf +177 295(EOL)s +14(is)h +14(unsp)h +1(eci\014)h +-1(abl)h +-1(e:)h +177 522(Allo)s +-1(w)h +15(mnemonics)h +14(for)h +16(unpri)h +-1(n)h +-2(tabl)h +-1(es:)h +177 699(V)s +-4(ersion)h +16(pragma:)h +177 1427(Recursion)s +11(detection)h +-1(:)h +907 1526([T)s +-4(arjan72])h +177 1653(Once)s +16(only)h +16(macros:)h +177 2169(T)s +-4(ext)h +23(inden)h +-2(tati)h +-1(on)h +-1(:)h +177 2785(Align)s +15(table)h +16(of)h +17(con)h +-1(ten)h +-1(ts)h +-1(:)h +cmr10.300 sf +177 42(IBM)s +14(PC)h +13(compatibles)h +12(ma)h +-1(y)h +11(ha)h +-1(v)h +-1(e)h +13(megab)h +-1(ytes)h +13(of)h +13(mem)h +-1(ory)h +-3(,)h +11(it)h +12(is)h +14(segmen)h +-1(ted)h +13(in)h +-1(to)h +12(blo)h +1(c)h +-1(ks)h +14(of)h +12(at)h +13(most)h +12(64K.)h +177 91(This)s +14(means)h +13(that)h +14(F)h +-3(unnelW)h +-3(eb)h +13(curren)h +-1(tly)h +15(cannot)h +14(read)h +15(a)h +13(\014le)h +14(longer)h +14(than)h +14(64K)h +13(on)h +14(a)h +13(PC.)h +177 168(These)s +16(problems)h +13(could)h +15(b)h +1(e)h +15(a)h +-1(v)h +-1(oided)h +13(if)h +14(the)h +15(mapp)h +1(er)h +14(and)h +14(scanner)h +16(w)h +-1(ere)h +15(reorganized)h +15(to)h +14(allo)h +-1(w)h +13(input)h +14(\014les)h +177 218(to)s +14(b)h +1(e)h +14(read)h +15(in)h +13(and)h +14(stored)h +15(as)h +14(a)h +13(link)h +-1(ed)h +14(list)h +13(of)h +13(c)h +-1(h)h +-1(unks)h +15(of)h +13(text)h +14(rather)h +15(than)h +14(a)h +14(con)h +-1(tiguous)h +13(blo)h +1(c)h +-1(k.)h +632 295(F)s +-3(unnelW)h +-3(eb)h +12(uses)h +13(ASCI)h +1(I)h +13(c)h +-1(haracter)h +14(decimal)h +11(ten)h +13(\(10\))h +12(in)h +-1(ternally)h +11(to)h +12(represe)h +1(n)h +-1(t)h +177 345(logical)s +12(end-of-line)h +12(and)h +13(is)h +13(curren)h +-1(tly)h +14(organized)h +13(so)h +13(that)h +13(if)h +13(one)h +13(of)h +13(these)h +14(is)h +13(inserted)h +14(in)h +-1(to)h +13(the)h +14(text)h +13(b)h +-1(y)h +13(the)h +177 395(user)s +13(using)h +11(a)h +12(\\)h +154(",)h +9(it)h +12(will)h +10(b)h +1(e)h +12(written)h +13(out)h +11(as)h +12(a)h +11(logical)h +10(end)h +12(of)h +12(line,)h +11(rather)h +12(than)h +12(as)h +12(a)h +11(single)h +12(ASCI)h +1(I)h +177 445(c)s +-1(haracter)h +15(10.)h +18(This)h +14(should)h +13(b)h +1(e)h +15(\014xed.)h +928 522(F)s +-3(unnelW)h +-3(eb)h +14(allo)h +-1(ws)h +13(users)h +16(to)h +14(insert)h +15(unprin)h +-1(table)h +14(c)h +-1(haracters)h +177 572(in)s +-1(to)h +16(the)h +17(output)h +16(using)h +16(the)h +17(\\)h +176(")h +14(sp)h +1(ecial)h +16(sequence.)h +28(P)h +-1(erhaps)h +17(it)h +16(w)h +-1(ould)h +15(b)h +1(e)h +17(c)h +-1(hanged)h +17(so)h +16(that)h +16(it)h +177 622(understands)s +16(ASCI)h +1(I)h +14(standard)h +14(mnemoni)h +-1(cs)h +13(suc)h +-1(h)h +14(as)h +14(\\)h +44(")h +13(as)h +14(w)h +-1(ell)h +13(as)h +14(ASCI)h +1(I)h +15(n)h +-1(um)h +-1(b)h +1(ers.)h +543 699(A)s +16(\\)h +154(")h +14(pragma)h +14(should)h +15(b)h +1(e)h +17(added)h +16(that)h +16(allo)h +-1(ws)h +14(the)h +17(user)h +17(to)h +15(sp)h +1(ecify)h +17(in)h +15(the)h +177 749(input)s +15(\014le)h +16(the)h +16(v)h +-1(ersion)h +16(of)h +14(F)h +-3(unnelW)h +-3(eb)h +15(that)h +16(w)h +-1(as)h +15(around)h +16(when)h +16(the)h +16(input)h +15(\014le)h +15(w)h +-1(as)h +16(created.)h +24(A)h +-1(t)h +16(a)h +15(later)h +177 799(date,)s +15(suc)h +-1(h)h +16(a)h +14(construct)h +17(w)h +-1(ould)h +14(b)h +1(e)h +16(v)h +-1(ery)h +15(useful)h +15(for)h +14(determining)h +14(ho)h +-1(w)h +15(an)h +14(input)h +15(\014le)h +15(should)h +15(b)h +1(e)h +15(up)h +1(dated)h +177 848(if)s +13(the)h +15(F)h +-3(unnelW)h +-3(eb)h +13(language)h +13(has)h +14(c)h +-1(hanged)h +14(b)h +1(et)h +-1(w)h +-1(een)h +16(v)h +-1(ersions.)h +177 1138(There)s +15(are)h +15(no)h +13(prop)h +1(osals)h +14(to)h +14(c)h +-1(hange)h +14(the)h +15(parser)h +15(except)h +15(as)h +14(a)h +13(consequence)h +17(of)h +13(other)h +14(prop)h +1(osals.)h +621 1427(Curren)s +-1(tly)h +12(the)h +13(F)h +-3(unnelW)h +-3(eb)h +11(analyser)h +12(\015ags,)h +11(with)h +12(an)h +11(error,)h +13(all)h +11(macros)h +11(with)h +11(an)h +177 1477(in\014nite)s +11(expansion.)h +17(This)h +12(w)h +-1(ould)h +10(b)h +1(e)h +12(b)h +1(est)h +12(c)h +-1(hanged)h +12(to)h +11(\015agging)h +10(all)h +10(macros)h +11(that)h +11(are)h +12(directly)h +12(or)h +11(indirectly)h +177 1526(recursiv)s +-1(e.)h +19(T)h +-3(o)h +11(do)h +11(this,)h +11(T)h +-3(arjan's)h +11(algorithm)h +219(for)h +12(the)h +12(detection)h +12(of)h +11(strong)h +12(comp)h +1(onen)h +-1(ts)h +11(should)h +177 1576(b)s +1(e)h +15(installed.)h +585 1653(By)s +15(default)h +14(F)h +-3(unnelW)h +-3(eb)h +14(prev)h +-1(en)h +-1(ts)h +16(a)h +15(macro)h +13(from)h +13(b)h +1(eing)h +14(called)h +15(more)h +13(than)h +15(once)h +177 1703(unless)s +15(it)h +13(has)h +14(a)h +13(\\)h +44(")h +13(asso)h +1(ciated)h +14(with)h +14(it.)h +17(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +14(F)h +-3(unnelW)h +-3(eb)h +13(do)h +1(es)h +15(allo)h +-1(w)h +12(a)h +13(macro)h +13(that)h +13(calls)h +14(suc)h +-1(h)h +14(a)h +177 1753(macro)s +13(to)h +14(b)h +1(e)h +14(called)h +14(more)h +13(than)h +13(once.)h +19(P)h +-1(erhaps)h +15(this)h +14(\\lo)h +1(ophole")h +12(should)h +14(b)h +1(e)h +15(plugged)h +13(someho)h +-1(w.)h +177 2042(The)s +12(T)h +-3(angler)h +11(is)h +12(one)h +12(of)h +11(the)h +13(cleanest)h +13(comp)h +1(onen)h +-1(ts)h +11(of)h +11(F)h +-3(unnelW)h +-3(eb,)h +11(as)h +12(basically)h +11(all)h +10(it)h +12(has)h +12(to)h +11(do)h +12(is)h +12(expand)h +177 2092(some)s +13(v)h +-1(ery)h +14(w)h +-1(ell-de\014ned)h +15(macros.)h +576 2169(Curren)s +-1(tly)h +21(F)h +-3(unnelW)h +-3(eb)h +19(supp)h +1(orts)h +313(and)h +338(.)h +38(A)h +177 2219(third)s +17(form)h +14(could)h +17(b)h +1(e)h +17(added)h +17(if)h +15(it)h +16(w)h +-1(as)h +17(considered)h +17(necess)h +1(ary)h +-3(.)h +345(is)h +16(the)h +17(same)h +16(as)h +398 2269(except)s +17(that)h +15(instead)h +15(of)h +15(inden)h +-1(ting)h +14(with)h +15(blanks,)h +15(F)h +-3(unnelW)h +-3(eb)h +14(w)h +-1(ould)h +14(inden)h +-1(t)h +16(with)h +14(the)h +16(text)h +177 2319(to)s +16(the)h +17(left)h +16(of)h +16(the)h +17(called)h +16(macro.)h +24(This)h +16(facilit)h +-1(y)h +15(could)h +16(b)h +1(e)h +17(useful)h +16(for)h +16(comm)h +-1(en)h +-1(ting)h +14(out)h +17(large)h +16(b)h +1(o)h +1(dies)h +16(of)h +177 2369(text)s +15(in)h +14(languages)h +15(that)h +14(do)h +15(not)h +14(ha)h +-1(v)h +-1(e)h +14(m)h +-1(ulti-l)h +-1(ine)h +13(comm)h +-1(en)h +-1(ts)h +14(\(e.g.)h +20(Ada\).)h +20(A)h +15(discussion)h +15(of)h +14(the)h +15(pros)h +15(and)h +177 2418(cons)s +15(of)h +13(this)h +14(form)h +12(of)h +13(inden)h +-1(tation)h +14(app)h +1(ears)h +14(earlier.)h +177 2708(P)s +-1(erhaps)h +15(F)h +-3(unnelW)h +-3(eb's)h +13(w)h +-1(eak)h +-1(est)h +15(asp)h +1(ect)h +15(is)h +14(its)h +14(t)h +-1(yp)h +1(esetting)h +15(facilit)h +-1(y)h +-3(.)h +692 2785(When)s +15(F)h +-3(unnelW)h +-3(eb)h +14(generates)h +17(a)h +15(table)h +15(of)h +15(con)h +-1(ten)h +-1(ts,)h +16(the)h +15(section)h +16(n)h +-1(um)h +-1(b)h +1(ers)h +177 2835(are)s +14(not)h +14(quite)h +14(aligned)h +13(with)h +14(the)h +14(start)h +15(of)h +13(the)h +14(con)h +-1(trolling)h +13(heading)h +14(ab)h +1(o)h +-1(v)h +-1(e)h +13(them.)h +1042 2940(45)s +46 @eop +47 @bop0 +cmti10.300 sf +[<000F8400304C00403C0080180100180300180300180600100600100600000700000700 +0003E00003FC0001FF00007F800007C00001C00001C00000C00000C02000C02000C06001 +80600180600300600200F00400CC180083E000> +24 30 -3 28 23] 83 dc +cmbx10.300 sf +[<0003800000038000000380000003800000038000000380000003800000038000000380 +000003800000038000000380000003800000038000FFFFFFFCFFFFFFFCFFFFFFFC000380 +000003800000038000000380000003800000038000000380000003800000038000000380 +0000038000000380000003800000038000> +32 31 -3 25 37] 43 dc +47 @bop1 +cmsy10.300 sf +1116 1406(f)s +165(g)h +cmbx10.432 sf +177 2610(4.10)s +70(Lister)h +cmtt10.300 sf +405 1095(@^\(num\))s +1343 1176(@+)s +1094 1406(@)s +164(@)h +687 1456(@[)s +147(@])h +1685 1587(tt)s +22(font)h +cmti10.300 sf +919 503(F)s +-3(unnelWeb)h +19(macr)h +-2(os)h +276 2048(gener)s +-2(ate)h +877(Spider)h +177 2098(Spider)s +1047 2148(Spider)s +cmbx10.300 sf +177 42(T)s +-1(yp)h +1(esetting)h +20(strength)h +-1(:)h +177 222(T)s +-1(yp)h +1(eset)h +12(a)h +13(p)h +1(ortion)h +-1(:)h +177 403(Generic)s +14(t)h +-1(yp)h +1(esetter)h +13(option)h +-1(:)h +177 683(Suppress)s +-1(ion)h +15(of)h +18(includ)h +-1(e)h +16(\014les:)h +177 914(Cross)s +14(reference)h +12(of)h +14(iden)h +-1(t)h +-1(i)h +-1(\014ers)h +-1(:)h +177 1045(Supp)s +1(ort)h +18(for)h +19(non-pri)h +-1(n)h +-2(tab)h +-1(les)h +-1(:)h +177 1176(Supp)s +1(ort)h +14(for)h +16(@+)h +17(sequences:)h +177 1306(T)s +-1(yp)h +1(eset)h +11(text)h +12(in)h +11(macro)h +12(b)h +1(o)h +1(dies:)h +177 1587(Non-tt)s +14(t)h +-1(yp)h +1(esettin)h +-1(g:)h +1559 2048([Ramsey89])s +177 2735(Glue)s +17(factor:)h +cmr10.300 sf +665 42(It)s +20(should)h +20(b)h +1(e)h +20(p)h +1(ossible)h +20(to)h +19(sp)h +1(ecify)h +20(the)h +20(lev)h +-1(el)h +20(of)h +19(t)h +-1(yp)h +1(esetting)h +20(strength)h +21(for)h +177 91(headings)s +16(so)h +16(that)h +17(short)h +16(do)h +1(cumen)h +-1(ts)h +16(do)h +16(not)h +16(lo)h +1(ok)h +15(o)h +-1(v)h +-1(erdone)h +16(when)h +17(t)h +-1(yp)h +1(eset.)h +26(A)h +16(new)h +17(pragma)h +14(w)h +-1(ould)h +15(b)h +1(e)h +177 141(go)s +1(o)h +1(d)h +14(for)h +13(this.)h +576 222(Sometim)s +-1(es)h +10(it)h +11(is)h +11(desirable)h +11(to)h +11(t)h +-1(yp)h +1(eset)h +13(just)h +11(a)h +11(p)h +1(ortion)h +11(of)h +10(a)h +11(program.)h +15(A)h +12(comm)h +-1(and)h +177 272(line)s +12(option)h +11(could)h +12(b)h +1(e)h +12(added)h +12(to)h +12(do)h +12(this.)h +17(The)h +13(option)h +11(could)h +11(accept)h +14(as)h +12(its)h +12(argumen)h +-1(t,)h +10(a)h +12(string)h +12(con)h +-1(taining)h +177 322(a)s +14(list)h +13(of)h +13(section)h +15(n)h +-1(um)h +-1(b)h +1(ers)h +14(or)h +13(heading)h +14(names.)h +746 403(In)s +14(addition)h +12(to)h +14(building)h +12(in)h +13(a)h +13(n)h +-1(um)h +-1(b)h +1(er)h +13(of)h +13(di\013eren)h +-1(t)h +15(v)h +-1(ersions)h +14(of)h +13(W)h +-3(ea)h +-1(v)h +-1(e,)h +177 453(one)s +17(for)h +17(eac)h +-1(h)h +17(p)h +1(opular)h +17(t)h +-1(yp)h +1(esetter,)h +19(it)h +17(w)h +-1(ould)h +16(b)h +1(e)h +17(p)h +1(ossible)h +17(to)h +17(add)h +17(a)h +16(sp)h +1(ecial)h +17(generic)h +18(format)h +15(where)h +18(the)h +177 503(t)s +-1(yp)h +1(eset)h +19(output)h +17(is)h +17(expressed)h +19(in)h +17(terms)h +17(of)h +364(.)h +27(The)h +18(user)h +18(could)h +17(then)h +17(sp)h +1(ecify)h +18(macro)h +177 552(de\014nitions)s +13(for)h +13(a)h +12(non-supp)h +1(orted)h +14(t)h +-1(yp)h +1(esette)h +1(r)h +15(and)h +13(run)h +13(the)h +13(output)h +14(through)h +13(F)h +-3(unnelW)h +-3(eb)h +12(T)h +-3(angle)h +12(to)h +13(get)h +13(a)h +177 602(t)s +-1(yp)h +1(eset)h +16(\014le)h +13(in)h +14(a)h +13(format)h +12(suitable)h +14(for)h +14(the)h +14(unsupp)h +1(orted)h +16(t)h +-1(yp)h +1(esetter.)h +784 683(It)s +16(should)h +16(b)h +1(e)h +16(p)h +1(ossible)h +17(to)h +15(sp)h +1(ecify)h +17(in)h +15(the)h +17(input)h +15(\014le)h +16(that)h +16(particular)h +177 733(included)s +14(\014les)h +14(not)h +13(app)h +1(ear)h +14(in)h +13(the)h +14(t)h +-1(yp)h +1(eset)h +15(output.)h +18(Curren)h +-1(tly)h +-3(,)h +13(the)h +14(fact)h +13(that)h +13(an)h +14(inclusion)h +12(has)h +14(o)h +1(ccurred)h +177 783(is)s +15(not)h +16(ev)h +-1(en)h +16(represen)h +-1(ted)h +18(in)h +15(the)h +16(t)h +-1(yp)h +1(eset)h +16(output.)h +23(Suppression)h +16(of)h +15(inclusions)h +15(is)h +15(particularly)h +15(necessary)h +177 833(where)s +15(a)h +14(library)h +13(of)h +13(macros)h +13(has)h +14(b)h +1(een)h +15(included)h +14(at)h +14(the)h +15(top)h +13(of)h +14(eac)h +-1(h)h +14(of)h +13(a)h +14(group)h +14(of)h +13(source)h +15(\014les.)h +799 914(WEB)s +13(pro)h +-1(vides)h +12(a)h +12(list)h +12(of)h +12(iden)h +-1(ti\014ers)h +13(and)h +12(a)h +12(list)h +12(of)h +12(all)h +11(the)h +13(de\014nitions)h +177 964(in)s +14(whic)h +-1(h)h +13(they)h +15(are)h +14(used.)h +19(A)h +14(simila)h +-1(r)h +12(feature)h +15(could)h +14(b)h +1(e)h +14(added)h +14(to)h +14(F)h +-3(unnelW)h +-3(eb.)h +783 1045(Curren)s +-1(tly)h +18(F)h +-3(unnelW)h +-3(eb)h +17(do)h +1(es)h +18(not)h +17(pro)h +-1(vide)h +18(supp)h +1(ort)h +18(for)h +17(t)h +-1(yp)h +1(esetting)h +177 1095(the)s +15(sp)h +1(ecial)h +14(\\)h +154(")h +12(sequences.)h +20(This)h +14(should)h +14(b)h +1(e)h +14(added.)h +765 1176(Curren)s +-1(tly)h +15(W)h +-3(ea)h +-1(v)h +-1(e)h +14(do)h +1(es)h +15(not)h +14(see)h +16(\\)h +44(")h +14(sequences)h +17(as)h +14(suc)h +-1(h.)h +21(Instead)h +15(it)h +177 1225(p)s +1(erceiv)h +-1(es)h +16(them)h +13(as)h +14(ordinary)h +13(EOLs.)h +19(Ho)h +-1(w)h +-1(ev)h +-1(er,)h +14(there)h +15(are)h +15(argumen)h +-1(ts)h +13(for)h +13(t)h +-1(yp)h +1(esetting)h +15(them)h +13(sp)h +1(ecially)h +-3(.)h +807 1306(One)s +12(of)h +10(the)h +11(m)h +-1(uc)h +-1(h-lo)h +-1(v)h +-1(ed)h +9(features)h +11(of)h +10(WEB)h +11(is)h +11(the)h +11(w)h +-1(a)h +-1(y)h +10(that)h +11(it)h +10(allo)h +-1(ws)h +177 1356(the)s +13(user)h +14(to)h +12(switc)h +-1(h)h +13(recursiv)h +-1(ely)h +13(b)h +1(et)h +-1(w)h +-1(een)h +14(do)h +1(cumen)h +-1(t)h +12(and)h +12(program)h +11(formats.)h +16(F)h +-3(unnelW)h +-3(eb)h +12(do)h +1(es)h +13(not)h +12(allo)h +-1(w)h +177 1406(this,)s +18(but)h +18(should.)h +29(In)h +17(F)h +-3(unnelW)h +-3(eb,)h +18(the)h +18(delimiters)h +17(\\)h +43(")h +16(and)h +18(\\)h +43(")h +16(are)h +18(already)h +17(used)h +19(consisten)h +-1(tly)h +18(to)h +177 1456(delimit)s +18(macro)h +18(text.)h +37(The)h +20(\\)h +44(")h +19(and)h +19(\\)h +44(")h +19(sequences)h +22(ha)h +-1(v)h +-1(e)h +20(b)h +1(een)h +21(reserv)h +-1(ed)h +22(for)h +19(the)h +21(delimi)h +-1(tation)h +17(of)h +177 1506(do)s +1(cumen)h +-1(tation)h +13(text.)h +599 1587(The)s +13(curren)h +-1(t)h +15(v)h +-1(ersion)h +14(of)h +13(F)h +-3(unnelW)h +-3(eb)h +13(sets)h +15(all)h +12(its)h +13(macro)h +12(text)h +14(in)h +167(.)h +17(This)h +177 1637(is)s +14(b)h +1(oth)h +14(a)h +13(blessing)h +14(and)h +14(a)h +14(curse.)h +19(It)h +14(is)h +14(a)h +13(blessing)h +14(b)h +1(ecause)h +16(it)h +13(connects)h +16(the)h +14(reader)h +15(directly)h +14(to)h +14(the)h +14(co)h +1(de,)h +177 1686(with)s +14(no)h +14(complicated)h +13(in)h +-1(termediary)h +-3(.)h +17(It)h +14(is)h +14(a)h +14(curse)h +16(b)h +1(ecause)h +16(it)h +14(lo)h +1(oks)h +13(ugly)h +14(compared)h +13(to)h +14(the)h +15(b)h +1(eautifully)h +177 1736(t)s +-1(yp)h +1(eset)h +16(programs)h +12(pro)h +1(duced)h +15(b)h +-1(y)h +14(other)h +14(literate)h +15(programm)h +-1(i)h +-1(ng)h +12(to)h +1(ols.)h +177 1817(The)s +20(di\016cult)h +-1(y)h +18(with)h +18(adding)h +18(suc)h +-1(h)h +20(b)h +1(eautiful)h +18(t)h +-1(yp)h +1(esetting)h +20(is)h +19(that)h +19(it)h +19(is)h +19(necessarily)h +20(language-sp)h +1(eci\014c.)h +177 1867(Keyw)s +-1(ords)h +15(and)h +14(syn)h +-1(tax)h +14(di\013er)h +14(from)h +12(language)h +14(to)h +13(language)h +13(and)h +14(it)h +14(w)h +-1(ould)h +13(not)h +14(b)h +1(e)h +15(easy)h +14(to)h +14(come)h +13(up)h +14(with)h +177 1917(a)s +14(set)h +15(of)h +13(language)h +13(indep)h +1(enden)h +-1(t)h +15(rules.)h +177 1998(One)s +19(approac)h +-1(h)h +19(is)h +18(to)h +18(write)h +18(a)h +19(set)h +19(of)h +17(W)h +-3(ea)h +-1(v)h +-1(e)h +18(bac)h +-1(k-ends,)h +20(one)h +18(for)h +18(eac)h +-1(h)h +19(language.)h +31(Another)h +19(approac)h +-1(h)h +177 2048(is)s +17(to)h +183(bac)h +-1(k)h +17(ends.)h +28(This)h +17(is)h +17(the)h +17(approac)h +-1(h)h +17(tak)h +-1(en)h +17(in)h +16(the)h +150(system)h +239(.)h +26(In)h +17(the)h +308 2098(system,)s +16(the)h +17(programm)h +-1(er)h +15(writes)h +16(pro)h +1(duction)h +17(rules)h +16(for)h +16(con)h +-1(v)h +-1(erting)h +16(lexical)h +15(comp)h +1(onen)h +-1(ts)h +16(of)h +15(the)h +177 2148(program)s +14(text)h +15(in)h +-1(to)h +15(t)h +-1(yp)h +1(esetter)h +17(instructions.)h +22(The)h +146(program)h +13(reads)h +16(these)h +17(rules)h +15(and)h +15(generates)h +17(a)h +177 2197(new)s +14(v)h +-1(ersion)h +15(of)h +13(WEB)h +14(suited)h +14(for)h +14(the)h +14(target)h +15(language.)h +177 2278(F)s +-3(or)h +18(F)h +-3(unnelW)h +-3(eb)h +18(a)h +18(sligh)h +-1(tly)h +17(di\013eren)h +-1(t)h +20(system)h +18(is)h +18(prop)h +1(osed)h +20(in)h +18(whic)h +-1(h)h +18(Spider-lik)h +-1(e)h +18(rules)h +19(app)h +1(ear)h +19(in)h +18(the)h +177 2328(input)s +16(\014le)h +17(and)h +16(are)h +17(used)h +18(directly)h +16(b)h +-1(y)h +17(W)h +-3(ea)h +-1(v)h +-1(e)h +16(to)h +16(p)h +1(erform)h +16(the)h +17(t)h +-1(yp)h +1(esetting.)h +27(An)h +16(in)h +-1(termediate)h +16(abstract)h +177 2378(t)s +-1(yp)h +1(esetting)h +13(language)h +11(could)h +12(b)h +1(e)h +13(used)h +13(so)h +12(that)h +12(the)h +13(pro)h +1(ductions)h +12(can)h +13(b)h +1(e)h +12(made)h +11(language)h +11(sp)h +1(eci\014c,)h +14(but)h +12(not)h +177 2428(t)s +-1(yp)h +1(esetter)h +16(sp)h +1(eci\014c.)h +453 2735(A)s +16(glue)h +16(factor)h +16(could)h +16(b)h +1(e)h +17(added)h +17(that)h +16(determines)h +17(ho)h +-1(w)h +16(man)h +-1(y)h +14(lines)h +16(can)h +17(b)h +1(e)h +17(in)h +15(b)h +1(et)h +-1(w)h +-1(een)h +177 2785(t)s +-1(w)h +-1(o)h +14(diagnostics)h +14(in)h +13(the)h +15(listing)h +13(b)h +1(efore)h +15(the)h +14(t)h +-1(w)h +-1(o)h +14(groups)h +14(of)h +14(lines)h +14(are)h +14(joined)h +14(together)h +15(in)h +13(the)h +15(listing)h +13(with)h +177 2835(no)s +14(in)h +-1(terv)h +-1(ening)h +14(ellipsis.)h +1042 2940(46)s +47 @eop +48 @bop0 +48 @bop1 +cmsy10.300 sf +239 1452(\017)s +239 1535(\017)s +239 1618(\017)s +239 1701(\017)s +cmbx10.432 sf +177 42(4.11)s +70(Diagnostics)h +177 594(4.12)s +70(Sp)h +2(eed)h +177 1170(4.13)s +70(Correctness)h +177 2104(4.14)s +70(T)h +-6(est)h +22(Suite)h +cmbx10.300 sf +177 157(Advisory)s +16(informati)h +-1(on)h +-1(:)h +177 382(Ab)s +1(ort)h +15(after)h +14(n)h +15(errors:)h +177 709(Measuremen)s +-1(t)h +11(of)h +13(sp)h +1(eed:)h +177 834(Find)s +19(the)h +20(hot)h +19(sp)h +1(ots:)h +177 958(Change)s +17(some)h +16(declaration)h +-1(s:)h +177 1286(Bounds)s +17(analysis:)h +177 1892(Stac)s +-1(k)h +18(detection)h +-1(:)h +cmtt10.300 sf +177 2337(Lister)s +177 2386(------)s +243 2436(LR01:)s +20(Test)h +21(with)h +21(a)h +22(full)h +21(listing)h +20(with)h +21(no)h +21(diagnostics.)h +243 2486(LR02:)s +20(Test)h +21(with)h +21(a)h +22(full)h +21(listing)h +20(with)h +21(diagnostics.)h +243 2536(LR03:)s +20(Test)h +21(with)h +21(an)h +22(abbreviated)h +19(listing)h +20(with)h +21(no)h +22(diagnostics.)h +243 2586(LR04:)s +20(Test)h +21(with)h +21(an)h +22(abbreviated)h +19(listing)h +20(with)h +21(diagnostics.)h +243 2635(LR05:)s +20(Test)h +21(error)h +21(context)h +20(system)h +21(with)h +21(nearby)h +20(diagnostics.)h +177 2735(Boundary)s +20(Cases)h +177 2785(-------------)s +-1(-)h +177 2835(Static)s +21(analysis)h +20(might)h +21(preclude)h +20(the)h +21(need)h +21(for)h +21(most)h +21(of)h +21(these)h +21(tests.)h +cmr10.300 sf +661 157(Some)s +13(of)h +15(F)h +-3(unnelW)h +-3(eb's)h +15(diagnostics)h +14(pro)h +-1(vide)h +15(a)h +15(detailed)h +15(explanatory)h +15(para-)h +177 207(graph.)s +17(While)h +11(this)h +12(informa)h +-1(tion)h +9(migh)h +-1(t)h +10(b)h +1(e)h +12(useful)h +12(the)h +12(\014rst)h +12(time,)h +11(it)h +11(has)h +12(the)h +12(capacit)h +-1(y)h +11(to)h +12(clog)h +11(up)h +12(a)h +11(listing)h +177 257(\014le)s +15(if)h +14(the)h +15(user)h +16(has)h +15(made)h +14(the)h +15(same)h +14(error)h +16(man)h +-1(y)h +13(times.)h +20(T)h +-3(o)h +14(solv)h +-1(e)h +14(this)h +15(problem,)h +13(F)h +-3(unnelW)h +-3(eb)h +15(could)h +14(b)h +1(e)h +177 307(mo)s +1(di\014ed)h +13(so)h +14(that)h +14(suc)h +-1(h)h +14(explanations)h +13(are)h +15(only)h +13(displa)h +-1(y)h +-1(ed)h +13(the)h +15(\014rst)h +14(time)h +13(the)h +14(error)h +15(o)h +1(ccurs.)h +629 382(A)s +14(facilit)h +-1(y)h +12(could)h +13(b)h +1(e)h +14(added)h +14(to)h +13(prev)h +-1(en)h +-1(t)h +15(F)h +-3(unnelW)h +-3(eb's)h +13(scanning,)h +13(parsing,)h +13(and)h +177 431(analysing)s +13(phases)h +15(from)h +12(con)h +-1(tin)h +-1(uing)h +13(if)h +13(a)h +13(certain)h +15(n)h +-1(um)h +-1(b)h +1(er)h +13(of)h +13(errors)h +15(ha)h +-1(v)h +-1(e)h +14(already)h +14(b)h +1(een)h +15(issued.)h +673 709(Although)s +11(F)h +-3(unnelW)h +-3(eb)h +11(can)h +12(generate)h +13(a)h +11(breakdo)h +-1(wn)h +12(of)h +11(where)h +13(it)h +11(is)h +11(sp)h +1(ending)h +177 759(its)s +14(time,)h +12(it)h +14(do)h +1(es)h +14(not)h +14(giv)h +-1(e)h +13(a)h +14(\014nal)h +13(rating)h +14(in)h +13(lines)h +14(p)h +1(er)h +15(min)h +-1(ute.)h +16(This)h +14(should)h +14(b)h +1(e)h +14(added.)h +619 834(Although)s +17(F)h +-3(unnelW)h +-3(eb)h +18(has)h +18(b)h +1(een)h +19(designed)h +19(to)h +17(allo)h +-1(w)h +17(high)h +17(sp)h +1(eed,)h +20(not)h +18(m)h +-1(uc)h +-1(h)h +177 884(e\013ort)s +15(has)h +14(so)h +14(far)h +13(b)h +1(een)h +15(made)h +13(to)h +14(mak)h +-1(e)h +12(it)h +14(fast.)h +18(This)h +13(should)h +14(b)h +1(e)h +15(done.)h +756 958(F)s +-3(unnelW)h +-3(eb)h +14(is)h +14(full)h +14(of)h +14(v)h +-2(ariable)h +14(declarations)h +15(where)h +16(the)h +15(v)h +-2(ariables)h +14(are)h +177 1008(wider)s +14(than)h +14(they)h +15(need)h +14(b)h +1(e.)h +19(Replacing)h +13(these)h +15(migh)h +-1(t)h +12(sp)h +1(eed)h +16(it)h +13(up.)h +552 1286(Not)s +16(m)h +-1(uc)h +-1(h)h +15(e\013ort)h +18(has)h +16(gone)h +17(in)h +-1(to)h +16(the)h +17(design)h +17(of)h +16(F)h +-3(unnelW)h +-3(eb's)h +15(input)h +17(b)h +1(oundaries.)h +177 1336(An)s +12(analysis)h +11(should)h +11(b)h +1(e)h +12(made)h +11(of)h +11(F)h +-3(unnelW)h +-3(eb's)h +11(b)h +1(eha)h +-1(viour)h +11(when)h +12(the)h +13(follo)h +-1(wi)h +-1(ng)h +10(quan)h +-1(tities)h +11(are)h +12(stretc)h +-1(hed:)h +281 1452(Input)s +14(line)h +14(length.)h +281 1535(Input)s +14(\014le)h +14(size.)h +281 1618(Num)s +-1(b)h +1(er)h +13(of)h +14(macros.)h +281 1701(Length)s +14(of)h +13(macro.)h +177 1818(In)s +14(particular,)h +13(F)h +-3(unnelW)h +-3(eb's)h +13(b)h +1(eha)h +-1(viour)h +14(at)h +14(32K)h +14(and)h +13(64K)h +14(b)h +1(oundaries)h +14(should)h +14(b)h +1(e)h +14(observ)h +-1(ed.)h +537 1892(Macin)s +-1(tosh)h +16(THINK-C)h +16(pro)h +-1(vides)h +16(just)h +17(6K)h +16(of)h +15(memo)h +-1(ry)h +14(for)h +16(the)h +17(stac)h +-1(k.)h +24(It)h +16(migh)h +-1(t)h +14(b)h +1(e)h +177 1942(w)s +-1(orth)h +14(adding)h +13(c)h +-1(hec)h +-1(ks)h +15(to)h +14(mak)h +-1(e)h +12(sure)h +15(that)h +14(the)h +15(stac)h +-1(k)h +14(is)h +14(not)h +14(b)h +1(eing)h +14(blo)h +-1(wn.)h +177 2220(The)s +14(follo)h +-1(wing)h +12(tests)h +15(should)h +14(b)h +1(e)h +14(added)h +14(to)h +14(the)h +15(test)h +15(suite:)h +1042 2940(47)s +48 @eop +49 @bop0 +cmbx10.432 sf +[<0001FF0000001FFFC000007F80F00000FE00F80003FC01FC0003F803FC0007F003FC00 +07F003FC0007F003FC0007F001F80007F000F00007F000000007F000000007F000000007 +F0000000FFFFFFFC00FFFFFFFC00FFFFFFFC0007F001FC0007F001FC0007F001FC0007F0 +01FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001 +FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC +0007F001FC0007F001FC0007F001FC007FFF1FFFC07FFF1FFFC07FFF1FFFC0> +40 42 -1 41 38] 12 dc +49 @bop1 +cmbx10.300 sf +177 967(Icon)s +14(for)h +14(the)h +13(Macin)h +-1(tosh:)h +cmbx10.432 sf +177 851(4.15)s +70(Mac)h +-2(hine-Sp)h +2(eci\014c)h +20(Changes)h +177 1179(4.16)s +70(Summ)h +-3(ary)h +cmr10.300 sf +682 967(Curren)s +-1(tly)h +13(no)h +13(icon)h +12(is)h +12(supplied)h +13(for)h +12(the)h +14(Macin)h +-1(tosh)h +12(v)h +-1(ersion)h +13(of)h +12(F)h +-3(unnelW)h +-3(eb.)h +177 1017(An)s +14(icon)h +14(depicting)h +14(a)h +13(spider)h +15(or)h +14(a)h +13(funnelled)h +14(w)h +-1(eb)h +14(of)h +14(some)h +13(kind)h +13(w)h +-1(ould)h +13(seem)h +14(appropriate.)h +177 1295(This)s +15(c)h +-1(hapter)h +17(has)h +15(describ)h +1(es)h +17(some)h +15(of)h +14(the)h +16(problems)h +15(with)h +15(F)h +-3(unnelW)h +-3(eb)h +14(and)h +16(some)h +14(of)h +15(the)h +15(opp)h +1(ortunities)h +177 1345(that)s +13(exist)h +14(for)h +13(impro)h +-1(vi)h +-1(ng)h +12(it.)h +17(The)h +14(direction)h +13(and)h +13(sp)h +1(eed)h +15(in)h +13(whic)h +-1(h)h +13(F)h +-3(unnelW)h +-3(eb)h +13(will)h +11(dev)h +-1(elop)h +14(will)h +12(dep)h +1(end)h +177 1395(largely)s +15(on)h +16(user)h +17(feedbac)h +-1(k.)h +25(If)h +15(y)h +-1(ou)h +16(ha)h +-1(v)h +-1(e)h +15(an)h +-1(y)h +16(strong)h +16(feelings)h +16(on)h +16(where)h +17(F)h +-3(unnelW)h +-3(eb)h +15(should)h +16(go,)h +15(please)h +177 1444(email)s +12(them)h +13(to)h +14(Ross)h +14(Willi)h +-1(am)h +-1(s)h +12(\()h +547(\).)h +1042 2940(48)s +cmtt10.300 sf +243 42(BC01:)s +20(Test)h +21(what)h +21(happens)h +21(when)h +21(memory)h +20(runs)h +21(out.)h +243 91(BC02:)s +20(Test)h +21(on)h +22(a)h +21(file)h +21(with)h +21(a)h +22(single)h +20(line)h +21(of)h +22(a)h +21(megabyte.)h +243 141(BC03:)s +20(Test)h +21(on)h +22(a)h +21(file)h +21(of)h +22(a)h +21(megabyte)h +20(of)h +22(EOLs.)h +243 191(BC04:)s +20(Generate)h +20(an)h +22(output)h +20(file)h +21(with)h +21(an)h +22(extremely)h +20(long)h +21(line.)h +243 241(BC05:)s +20(Generate)h +20(an)h +22(output)h +20(file)h +21(with)h +21(one)h +21(million)h +21(lines.)h +243 291(BC06:)s +20(Test)h +21(on)h +22(a)h +21(file)h +21(with)h +21(very)h +21(many)h +21(macros.)h +177 390(General)s +177 440(-------)s +243 490(GN01:)s +20(A)h +22(large)h +21(legal)h +20(input)h +21(file)h +21(exercising)h +20(as)h +21(many)h +21(features)h +20(as)h +22(possible.)h +373 540(1.)s +22(Test)h +21(listing)h +20(file.)h +373 589(2.)s +22(Test)h +21(output)h +20(files.)h +373 639(3.)s +22(Test)h +21(typeset)h +20(file.)h +243 689(GN...)s +20(A)h +22(selection)h +20(of)h +21(ten)h +21(real-life)h +20(FunnelWeb)h +20(files.)h +733 1444(ross@spam.ade)s +-1(laide)h +-1(.edu.)h +-1(au)h +49 @eop +50 @bop0 +cmbx10.622 sf +[<00000001F80000000000000001F80000000000000003FC0000000000000003FC000000 +0000000007FE0000000000000007FE0000000000000007FE000000000000000FFF000000 +000000000FFF000000000000001FFF800000000000001FFF800000000000001FFF800000 +000000003FFFC00000000000003FFFC00000000000007FFFE00000000000007DFFE00000 +000000007DFFE0000000000000FDFFF0000000000000F8FFF0000000000001F8FFF80000 +00000001F07FF8000000000001F07FF8000000000003F07FFC000000000003E03FFC0000 +00000007E03FFE000000000007C01FFE00000000000FC01FFF00000000000F801FFF0000 +0000000F800FFF00000000001F800FFF80000000001F0007FF80000000003F0007FFC000 +0000003E0003FFC0000000003E0003FFC0000000007E0003FFE0000000007C0001FFE000 +000000FC0001FFF000000000F80000FFF000000000F80000FFF000000001FFFFFFFFF800 +000001FFFFFFFFF800000003FFFFFFFFFC00000003FFFFFFFFFC00000003E000003FFC00 +000007E000003FFE00000007C000001FFE0000000FC000001FFF0000000F8000000FFF00 +00001F8000000FFF8000001F0000000FFF8000001F00000007FF8000003F00000007FFC0 +00003E00000003FFC000007E00000003FFE00000FF00000001FFE000FFFFFC0001FFFFFF +F0FFFFFC0001FFFFFFF0FFFFFC0001FFFFFFF0FFFFFC0001FFFFFFF0> +72 59 -3 58 75] 65 dc +[<00FE007FC000FFFE01FFF800FFFE07FFFE00FFFE1F03FF00FFFE3C01FF0007FE7801FF +8003FE7000FF8003FEE000FFC003FFC000FFC003FFC000FFC003FF8000FFC003FF8000FF +C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF +C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF +C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF +C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC0FFFFFC3FFFFFFFFFFC3FFF +FFFFFFFC3FFFFFFFFFFC3FFFFF> +48 38 -4 37 55] 110 dc +[<000000003FC00000003FFFC00000003FFFC00000003FFFC00000003FFFC000000001FF +C000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FF +C000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FF +C000000000FFC000000000FFC000000000FFC000000000FFC00000FFC0FFC0000FFFF8FF +C0003FFFFEFFC000FFE03FFFC001FF000FFFC007FE0003FFC00FFC0001FFC00FF80000FF +C01FF80000FFC03FF00000FFC03FF00000FFC07FF00000FFC07FE00000FFC07FE00000FF +C0FFE00000FFC0FFE00000FFC0FFE00000FFC0FFE00000FFC0FFE00000FFC0FFE00000FF +C0FFE00000FFC0FFE00000FFC0FFE00000FFC0FFE00000FFC07FE00000FFC07FE00000FF +C07FF00000FFC03FF00000FFC03FF00000FFC01FF00000FFC01FF80001FFC00FFC0003FF +C007FC0007FFC003FF001FFFE000FFC07EFFFF003FFFFCFFFF000FFFF0FFFF0001FF80FF +FF> +48 60 -3 59 55] 100 dc +[<00F00003FC0007FE000FFE000FFF001FFF001FFF001FFF000FFF000FFE0007FE0003FC +0000F00000000000000000000000000000000000000000000000000000000000000000FF +00FFFF00FFFF00FFFF00FFFF0007FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF +0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF +0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00FFFFF8FFFFF8FFFF +F8FFFFF8> +24 61 -3 60 27] 105 dc +[<FFFFF007FFFCFFFFF007FFFCFFFFF007FFFCFFFFF007FFFC01FF8000FC0000FFC000F8 +0000FFE001F000007FF003E000003FF007C000001FF80FC000000FFC1F8000000FFE1F00 +000007FF3E00000003FFFC00000001FFF800000000FFF0000000007FE0000000007FF000 +0000003FF8000000001FF8000000001FFC000000003FFE000000007FFF00000000FBFF80 +000001F9FF80000003F0FFC0000003E07FE0000007C07FF000000F803FF800001F001FFC +00003E000FFC00007C0007FE0000FC0003FF0001FC0003FF80FFFF801FFFFEFFFF801FFF +FEFFFF801FFFFEFFFF801FFFFE> +48 38 -2 37 52] 120 dc +cmbx10.746 sf +[<000000003FFE00000E000000000FFFFFC0001E000000007FFFFFF8003E00000003FFFF +FFFE00FE0000000FFFFFFFFF81FE0000003FFFF800FFC3FE000000FFFF80000FF7FE0000 +01FFFC000003FFFE000007FFF0000001FFFE00000FFFC00000007FFE00001FFF80000000 +3FFE00003FFF000000001FFE00007FFE000000000FFE0000FFFC0000000007FE0001FFF8 +0000000007FE0003FFF00000000003FE0003FFF00000000001FE0007FFE00000000001FE +0007FFE00000000000FE000FFFC00000000000FE000FFFC000000000007E001FFFC00000 +0000007E001FFF8000000000007E003FFF8000000000007E003FFF8000000000003E003F +FF8000000000003E007FFF8000000000003E007FFF0000000000003E007FFF0000000000 +0000007FFF0000000000000000FFFF0000000000000000FFFF0000000000000000FFFF00 +00000000000000FFFF0000000000000000FFFF0000000000000000FFFF00000000000000 +00FFFF0000000000000000FFFF0000000000000000FFFF0000000000000000FFFF000000 +0000000000FFFF0000000000000000FFFF0000000000000000FFFF0000007FFFFFFFFE7F +FF0000007FFFFFFFFE7FFF0000007FFFFFFFFE7FFF8000007FFFFFFFFE7FFF8000007FFF +FFFFFE3FFF8000000000FFFE003FFF8000000000FFFE003FFF8000000000FFFE001FFF80 +00000000FFFE001FFFC000000000FFFE000FFFC000000000FFFE000FFFC000000000FFFE +0007FFE000000000FFFE0007FFE000000000FFFE0003FFF000000000FFFE0003FFF80000 +0000FFFE0001FFF800000000FFFE0000FFFC00000000FFFE00007FFE00000000FFFE0000 +3FFF00000000FFFE00001FFF80000000FFFE00000FFFE0000001FFFE000007FFF0000003 +FFFE000001FFFC000007FFFE000000FFFF80001FFFFE0000003FFFFC00FFC7FE0000000F +FFFFFFFF83FE00000003FFFFFFFE00FE000000007FFFFFF8003E000000000FFFFFE0000E +00000000003FFE00000000> +80 73 -7 71 93] 71 dc +[<FFFFFFFFF80001FFFFFFC0FFFFFFFFF80001FFFFFFC0FFFFFFFFF80001FFFFFFC0FFFF +FFFFF80001FFFFFFC0FFFFFFFFF80001FFFFFFC0001FFFC000000000FF8000001FFFC000 +0000003E0000001FFFC0000000003E0000001FFFC0000000003E0000001FFFC000000000 +3E0000001FFFC0000000003E0000001FFFC0000000003E0000001FFFC0000000003E0000 +001FFFC0000000003E0000001FFFC0000000003E0000001FFFC0000000003E0000001FFF +C0000000003E0000001FFFC0000000003E0000001FFFC0000000003E0000001FFFC00000 +00003E0000001FFFC0000000003E0000001FFFC0000000003E0000001FFFC0000000003E +0000001FFFC0000000003E0000001FFFC0000000003E0000001FFFC0000000003E000000 +1FFFC0000000003E0000001FFFC0000000003E0000001FFFC0000000003E0000001FFFC0 +000000003E0000001FFFC0000000003E0000001FFFC0000000003E0000001FFFC0000000 +003E0000001FFFC0000000003E0000001FFFC0000000003E0000001FFFC0000000003E00 +00001FFFC0000000003E0000001FFFC0000000003E0000001FFFC0000000003E0000001F +FFC0000000003E0000001FFFC0000000003E0000001FFFC0000000003E0000001FFFC000 +0000003E0000001FFFC0000000003E0000001FFFC0000000003E0000001FFFC000000000 +3E0000001FFFC0000000003E0000001FFFC0000000003E0000001FFFC0000000003E0000 +001FFFC0000000003E0000001FFFC0000000003E0000001FFFC0000000003E0000000FFF +C0000000007E0000000FFFC0000000007C0000000FFFE0000000007C0000000FFFE00000 +0000FC00000007FFE000000000F800000007FFE000000001F800000003FFF000000001F8 +00000001FFF000000003F000000001FFF800000007E000000000FFF800000007E0000000 +007FFC0000001FC0000000003FFE0000003F80000000001FFF800000FF00000000000FFF +E00007FE000000000003FFFE007FFC000000000001FFFFFFFFF00000000000007FFFFFFF +E00000000000000FFFFFFF8000000000000001FFFFFC00000000000000000FFFC0000000 +00> +88 72 -4 70 91] 85 dc +[<FFFFFFFFFF000000FFFFFFFFFF000000FFFFFFFFFF000000FFFFFFFFFF000000FFFFFF +FFFF000000001FFFC000000000001FFFC000000000001FFFC000000000001FFFC0000000 +00001FFFC000000000001FFFC000000000001FFFC000000000001FFFC000000000001FFF +C000000000001FFFC000000000001FFFC000000000001FFFC000000000001FFFC0000000 +00001FFFC000000000001FFFC000000000001FFFC000000000001FFFC000000000001FFF +C000000000001FFFC000000000001FFFC000000000001FFFC000000000001FFFC0000000 +00001FFFC000000000001FFFC000000000001FFFC000000000001FFFC000000000001FFF +C000000000001FFFC000000000001FFFC000000000001FFFC000000000001FFFC0000000 +00001FFFC000000000001FFFC000000000001FFFC000000000001FFFC000000000001FFF +C000000000001FFFC000000000001FFFC000000000001FFFC0000000F8001FFFC0000000 +F8001FFFC0000000F8001FFFC0000000F8001FFFC0000001F0001FFFC0000001F0001FFF +C0000001F0001FFFC0000001F0001FFFC0000001F0001FFFC0000003F0001FFFC0000003 +F0001FFFC0000003F0001FFFC0000007F0001FFFC0000007F0001FFFC000000FE0001FFF +C000001FE0001FFFC000001FE0001FFFC000003FE0001FFFC000007FE0001FFFC00000FF +E0001FFFC00003FFE0001FFFC0000FFFE0001FFFC0007FFFE0FFFFFFFFFFFFFFC0FFFFFF +FFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0> +64 71 -4 70 71] 76 dc +[<FFFFFFFFE000001FFFFFE0FFFFFFFFE000001FFFFFE0FFFFFFFFE000001FFFFFE0FFFF +FFFFE000001FFFFFE0FFFFFFFFE000001FFFFFE0007FFF80000000003FE000003FFFC000 +0000000F8000003FFFC0000000001F8000001FFFE0000000001F0000001FFFE000000000 +3F0000000FFFE0000000003E0000000FFFF0000000007E00000007FFF0000000007C0000 +0007FFF8000000007C00000007FFF800000000FC00000003FFFC00000000F800000003FF +FC00000001F800000001FFFE00000001F000000001FFFE00000003F000000000FFFE0000 +0003E000000000FFFF00000007E0000000007FFF00000007C0000000007FFF80000007C0 +000000007FFF8000000FC0000000003FFFC000000F80000000003FFFC000001F80000000 +001FFFC000001F00000000001FFFE000003F00000000000FFFE000003E00000000000FFF +F000007E00000000000FFFF000007E000000000007FFF800007C000000000007FFF80000 +FC000000000003FFFC0000F8000000000003FFFC0001F8000000000001FFFC0001F00000 +00000001FFFE0003F0000000000000FFFE0003E0000000000000FFFF0003E00000000000 +00FFFF0007E00000000000007FFF8007C00000000000007FFF800FC00000000000003FFF +C00F800000000000003FFFC01F800000000000001FFFC01F000000000000001FFFE03F00 +0000000000000FFFE03E000000000000000FFFF03E000000000000000FFFF07E00000000 +00000007FFF87C0000000000000007FFF8FC0000000000000003FFF8F800000000000000 +03FFFDF80000000000000001FFFDF00000000000000001FFFFF00000000000000001FFFF +F00000000000000000FFFFE00000000000000000FFFFE000000000000000007FFFC00000 +0000000000007FFFC000000000000000003FFF8000000000000000003FFF800000000000 +0000001FFF0000000000000000001FFF0000000000000000001FFF000000000000000000 +0FFE0000000000000000000FFE00000000000000000007FC00000000000000000007FC00 +000000000000000003F800000000000000000003F800000000000000000001F000000000 +00> +88 72 -3 70 90] 86 dc +[<0000FFE00000000FFFFE0000003FFFFFC00000FFFFFFF00003FFFFFFFC0007FC01FFFE +000FE0007FFF001FC0001FFF803F80000FFFC03FE00007FFE07FF80007FFE07FFC0003FF +F0FFFC0003FFF0FFFE0001FFF8FFFE0001FFF8FFFE0001FFF8FFFE0000FFFCFFFE0000FF +FC7FFC0000FFFC7FFC0000FFFC3FF80000FFFC1FF00000FFFC0FE00000FFFC00000001FF +FC00000001FFF800000001FFF800000001FFF000000003FFF000000003FFE000000003FF +E000000007FFC000000007FF800000000FFF800000001FFF000000001FFE000000003FFC +000000007FF8000000007FE000000000FFC000000001FF8000000003FF0000000007FC00 +0000000FF8000000001FF0000000003FC0000000007F80007C0000FF00007C0000FE0000 +7C0001FC00007C0003F00000F80007E00000F8000FC00000F8001F800000F8003F000001 +F8007C000003F800FFFFFFFFF801FFFFFFFFF003FFFFFFFFF007FFFFFFFFF00FFFFFFFFF +F01FFFFFFFFFF03FFFFFFFFFF07FFFFFFFFFF07FFFFFFFFFF0FFFFFFFFFFE0FFFFFFFFFF +E0FFFFFFFFFFE0FFFFFFFFFFE0> +48 68 -6 67 59] 50 dc +cmtt10.300 sf +[<FE0FE0FF1FE0FE0FE01C07001C07000E0E000E0E00071C00071C00071C0003B80003B8 +0001F00001F00000E00000E00000E00000E00000E00000E00000E00000E00003F80007FC +0003F800> +24 25 -1 24 22] 89 dc +50 @bop1 +cmbx10.622 sf +177 380(App)s +3(endix)h +34(A)h +cmbx10.746 sf +177 615(GNU)s +40(General)h +42(Public)h +41(License)h +177 739(V)s +-10(ersion)h +41(2)h +cmti10.300 sf +1460 1032(F)s +-3(unnelWeb)h +19(User's)h +18(Manual)h +260 1082(F)s +-3(unnelWeb)h +19(Hacker's)h +17(Manual)h +cmr10.300 sf +177 983(This)s +16(app)h +1(endix)h +17(con)h +-1(tains)h +16(a)h +16(v)h +-1(erbatim)h +14(cop)h +-1(y)h +17(of)h +15(V)h +-3(ersion)h +17(2)h +16(of)h +15(the)h +17(GNU)h +16(General)h +16(Public)h +16(License)h +18(under)h +177 1032(whic)s +-1(h)h +18(the)h +18(F)h +-3(unnelW)h +-3(eb)h +18(computer)h +17(program)h +16(is)h +18(released.)h +31(Note)h +18(that)h +18(the)h +177 1082(and)s +562(are)h +17(released)h +17(under)h +18(a)h +16(m)h +-1(uc)h +-1(h)h +15(simpler)h +15(license)h +17(that)h +17(do)h +1(es)h +17(not)h +16(allo)h +-1(w)h +177 1132(mo)s +1(di\014cations.)h +1042 2940(49)s +cmtt10.300 sf +264 1340(GNU)s +22(GENERAL)h +20(PUBLIC)h +20(LICENSE)h +330 1390(Version)s +20(2,)h +21(June)h +21(1991)h +199 1490(Copyright)s +20(\(C\))h +21(1989,)h +21(1991)h +21(Free)h +21(Software)h +20(Foundation,)h +19(Inc.)h +744 1540(675)s +21(Mass)h +21(Ave,)h +21(Cambridge,)h +20(MA)h +21(02139,)h +21(USA)h +199 1589(Everyone)s +20(is)h +21(permitted)h +20(to)h +22(copy)h +21(and)h +21(distribute)h +20(verbatim)h +20(copies)h +199 1639(of)s +21(this)h +21(license)h +21(document,)h +20(but)h +21(changing)h +20(it)h +21(is)h +22(not)h +21(allowed.)h +264 1739(Preamble)s +221 1838(The)s +21(licenses)h +20(for)h +21(most)h +21(software)h +20(are)h +22(designed)h +20(to)h +21(take)h +21(away)h +21(your)h +177 1888(freedom)s +21(to)h +21(share)h +21(and)h +21(change)h +20(it.)h +43(By)h +22(contrast,)h +20(the)h +21(GNU)h +21(General)h +20(Public)h +177 1938(License)s +21(is)h +21(intended)h +20(to)h +21(guarantee)h +20(your)h +21(freedom)h +21(to)h +21(share)h +21(and)h +21(change)h +21(free)h +177 1988(software--to)s +19(make)h +21(sure)h +21(the)h +22(software)h +20(is)h +21(free)h +21(for)h +21(all)h +21(its)h +22(users.)h +42(This)h +177 2038(General)s +21(Public)h +20(License)h +20(applies)h +21(to)h +21(most)h +21(of)h +21(the)h +22(Free)h +21(Software)h +177 2087(Foundation's)s +19(software)h +21(and)h +21(to)h +21(any)h +21(other)h +21(program)h +20(whose)h +21(authors)h +21(commit)h +20(to)h +177 2137(using)s +21(it.)h +43(\(Some)h +21(other)h +20(Free)h +21(Software)h +21(Foundation)h +19(software)h +20(is)h +22(covered)h +20(by)h +177 2187(the)s +21(GNU)h +22(Library)h +20(General)h +20(Public)h +21(License)h +20(instead.\))h +42(You)h +21(can)h +21(apply)h +21(it)h +21(to)h +177 2237(your)s +21(programs,)h +20(too.)h +221 2337(When)s +21(we)h +21(speak)h +21(of)h +21(free)h +21(software,)h +20(we)h +22(are)h +21(referring)h +20(to)h +21(freedom,)h +20(not)h +177 2386(price.)s +43(Our)h +21(General)h +20(Public)h +21(Licenses)h +20(are)h +21(designed)h +20(to)h +21(make)h +21(sure)h +21(that)h +21(you)h +177 2436(have)s +21(the)h +21(freedom)h +21(to)h +21(distribute)h +20(copies)h +20(of)h +22(free)h +21(software)h +20(\(and)h +21(charge)h +20(for)h +177 2486(this)s +21(service)h +20(if)h +22(you)h +21(wish\),)h +21(that)h +21(you)h +21(receive)h +20(source)h +21(code)h +21(or)h +21(can)h +21(get)h +21(it)h +177 2536(if)s +22(you)h +21(want)h +21(it,)h +21(that)h +21(you)h +21(can)h +21(change)h +21(the)h +21(software)h +20(or)h +21(use)h +22(pieces)h +20(of)h +22(it)h +177 2586(in)s +22(new)h +21(free)h +21(programs;)h +20(and)h +21(that)h +21(you)h +21(know)h +21(you)h +21(can)h +21(do)h +22(these)h +20(things.)h +221 2685(To)s +21(protect)h +20(your)h +21(rights,)h +21(we)h +21(need)h +21(to)h +22(make)h +20(restrictions)h +20(that)h +21(forbid)h +177 2735(anyone)s +21(to)h +21(deny)h +21(you)h +21(these)h +21(rights)h +21(or)h +21(to)h +21(ask)h +21(you)h +22(to)h +21(surrender)h +20(the)h +21(rights.)h +177 2785(These)s +21(restrictions)h +19(translate)h +20(to)h +22(certain)h +20(responsibili)h +-1(ties)h +19(for)h +22(you)h +21(if)h +21(you)h +177 2835(distribute)s +20(copies)h +20(of)h +22(the)h +21(software,)h +20(or)h +21(if)h +22(you)h +21(modify)h +20(it.)h +1772 2 177 1188 r +50 @eop +51 @bop0 +51 @bop1 +cmr10.300 sf +1042 2940(50)s +cmtt10.300 sf +221 91(For)s +21(example,)h +20(if)h +21(you)h +22(distribute)h +19(copies)h +21(of)h +21(such)h +21(a)h +22(program,)h +20(whether)h +177 141(gratis)s +21(or)h +21(for)h +21(a)h +22(fee,)h +21(you)h +21(must)h +21(give)h +21(the)h +21(recipients)h +20(all)h +21(the)h +21(rights)h +21(that)h +177 191(you)s +21(have.)h +43(You)h +21(must)h +21(make)h +21(sure)h +21(that)h +21(they,)h +21(too,)h +21(receive)h +20(or)h +21(can)h +22(get)h +21(the)h +177 241(source)s +21(code.)h +42(And)h +21(you)h +22(must)h +21(show)h +21(them)h +21(these)h +20(terms)h +21(so)h +21(they)h +21(know)h +21(their)h +177 291(rights.)s +221 390(We)s +21(protect)h +20(your)h +21(rights)h +21(with)h +21(two)h +21(steps:)h +21(\(1\))h +21(copyright)h +20(the)h +21(software,)h +20(and)h +177 440(\(2\))s +21(offer)h +21(you)h +21(this)h +21(license)h +21(which)h +20(gives)h +21(you)h +21(legal)h +21(permission)h +20(to)h +21(copy,)h +177 490(distribute)s +20(and/or)h +20(modify)h +21(the)h +21(software.)h +221 589(Also,)s +21(for)h +21(each)h +21(author's)h +20(protection)h +20(and)h +21(ours,)h +20(we)h +22(want)h +21(to)h +21(make)h +21(certain)h +177 639(that)s +21(everyone)h +20(understands)h +20(that)h +21(there)h +21(is)h +21(no)h +21(warranty)h +20(for)h +22(this)h +21(free)h +177 689(software.)s +42(If)h +21(the)h +21(software)h +21(is)h +21(modified)h +20(by)h +21(someone)h +21(else)h +21(and)h +21(passed)h +21(on,)h +21(we)h +177 739(want)s +21(its)h +21(recipients)h +20(to)h +21(know)h +21(that)h +21(what)h +21(they)h +21(have)h +21(is)h +22(not)h +21(the)h +21(original,)h +20(so)h +177 789(that)s +21(any)h +21(problems)h +20(introduced)h +20(by)h +22(others)h +20(will)h +21(not)h +21(reflect)h +21(on)h +21(the)h +21(original)h +177 839(authors')s +20(reputations.)h +221 938(Finally,)s +20(any)h +21(free)h +21(program)h +20(is)h +22(threatened)h +19(constantly)h +20(by)h +22(software)h +177 988(patents.)s +42(We)h +21(wish)h +21(to)h +22(avoid)h +21(the)h +21(danger)h +20(that)h +21(redistributors)h +19(of)h +22(a)h +21(free)h +177 1038(program)s +21(will)h +20(individually)h +20(obtain)h +20(patent)h +21(licenses,)h +20(in)h +21(effect)h +21(making)h +20(the)h +177 1088(program)s +21(proprietar)h +-1(y.)h +42(To)h +21(prevent)h +20(this,)h +21(we)h +21(have)h +21(made)h +21(it)h +22(clear)h +21(that)h +21(any)h +177 1137(patent)s +21(must)h +21(be)h +21(licensed)h +20(for)h +21(everyone's)h +20(free)h +21(use)h +21(or)h +22(not)h +21(licensed)h +20(at)h +21(all.)h +221 1237(The)s +21(precise)h +20(terms)h +21(and)h +21(conditions)h +20(for)h +21(copying,)h +20(distribution)h +20(and)h +177 1287(modification)s +19(follow.)h +264 1386(GNU)s +22(GENERAL)h +20(PUBLIC)h +20(LICENSE)h +243 1436(TERMS)s +20(AND)h +21(CONDITIONS)h +20(FOR)h +21(COPYING,)h +21(DISTRIBUTI)h +-1(ON)h +20(AND)h +21(MODIFICATION)h +221 1536(0.)s +21(This)h +21(License)h +20(applies)h +21(to)h +21(any)h +21(program)h +21(or)h +21(other)h +21(work)h +21(which)h +21(contains)h +177 1586(a)s +22(notice)h +20(placed)h +21(by)h +21(the)h +21(copyright)h +20(holder)h +21(saying)h +20(it)h +22(may)h +21(be)h +21(distributed)h +177 1636(under)s +21(the)h +21(terms)h +21(of)h +21(this)h +21(General)h +21(Public)h +20(License.)h +42(The)h +21("Program",)h +20(below,)h +177 1685(refers)s +21(to)h +21(any)h +21(such)h +21(program)h +21(or)h +21(work,)h +21(and)h +21(a)h +21("work)h +21(based)h +21(on)h +21(the)h +22(Program")h +177 1735(means)s +21(either)h +20(the)h +22(Program)h +20(or)h +21(any)h +22(derivative)h +19(work)h +21(under)h +21(copyright)h +20(law:)h +177 1785(that)s +21(is)h +22(to)h +21(say,)h +21(a)h +21(work)h +21(containing)h +20(the)h +21(Program)h +21(or)h +21(a)h +22(portion)h +20(of)h +21(it,)h +177 1835(either)s +21(verbatim)h +20(or)h +21(with)h +21(modifications)h +19(and/or)h +21(translated)h +20(into)h +21(another)h +177 1885(language.)s +42(\(Hereinafter)h +-1(,)h +20(translation)h +20(is)h +21(included)h +20(without)h +20(limitation)h +20(in)h +177 1934(the)s +21(term)h +21("modification")h +-1(.\))h +42(Each)h +21(licensee)h +20(is)h +21(addressed)h +20(as)h +21("you".)h +177 2034(Activities)s +20(other)h +21(than)h +21(copying,)h +20(distributio)h +-1(n)h +20(and)h +21(modification)h +20(are)h +21(not)h +177 2084(covered)s +21(by)h +21(this)h +21(License;)h +20(they)h +21(are)h +21(outside)h +20(its)h +22(scope.)h +42(The)h +21(act)h +21(of)h +177 2134(running)s +21(the)h +21(Program)h +20(is)h +21(not)h +22(restricted,)h +19(and)h +21(the)h +21(output)h +21(from)h +21(the)h +21(Program)h +177 2183(is)s +22(covered)h +20(only)h +21(if)h +21(its)h +21(contents)h +21(constitute)h +19(a)h +22(work)h +21(based)h +21(on)h +21(the)h +177 2233(Program)s +21(\(independe)h +-1(nt)h +20(of)h +21(having)h +21(been)h +21(made)h +21(by)h +21(running)h +20(the)h +22(Program\).)h +177 2283(Whether)s +21(that)h +20(is)h +22(true)h +21(depends)h +20(on)h +22(what)h +21(the)h +21(Program)h +20(does.)h +221 2383(1.)s +21(You)h +21(may)h +21(copy)h +21(and)h +22(distribute)h +19(verbatim)h +20(copies)h +21(of)h +21(the)h +22(Program's)h +177 2433(source)s +21(code)h +21(as)h +21(you)h +21(receive)h +21(it,)h +21(in)h +21(any)h +21(medium,)h +21(provided)h +20(that)h +21(you)h +177 2482(conspicuously)s +19(and)h +21(appropriately)h +20(publish)h +20(on)h +21(each)h +21(copy)h +21(an)h +22(appropriate)h +177 2532(copyright)s +20(notice)h +21(and)h +21(disclaimer)h +20(of)h +21(warranty;)h +20(keep)h +21(intact)h +20(all)h +22(the)h +177 2582(notices)s +21(that)h +20(refer)h +21(to)h +22(this)h +21(License)h +20(and)h +21(to)h +21(the)h +22(absence)h +20(of)h +21(any)h +22(warranty;)h +177 2632(and)s +21(give)h +21(any)h +21(other)h +21(recipients)h +20(of)h +21(the)h +22(Program)h +20(a)h +21(copy)h +21(of)h +22(this)h +21(License)h +177 2682(along)s +21(with)h +21(the)h +21(Program.)h +177 2781(You)s +21(may)h +22(charge)h +20(a)h +22(fee)h +21(for)h +21(the)h +21(physical)h +20(act)h +21(of)h +22(transferring)h +19(a)h +22(copy,)h +21(and)h +177 2831(you)s +21(may)h +22(at)h +21(your)h +21(option)h +20(offer)h +21(warranty)h +20(protection)h +20(in)h +21(exchange)h +21(for)h +21(a)h +21(fee.)h +51 @eop +52 @bop0 +52 @bop1 +cmr10.300 sf +1042 2940(51)s +cmtt10.300 sf +221 91(2.)s +21(You)h +21(may)h +21(modify)h +21(your)h +21(copy)h +21(or)h +21(copies)h +21(of)h +21(the)h +21(Program)h +21(or)h +21(any)h +21(portion)h +177 141(of)s +22(it,)h +21(thus)h +21(forming)h +20(a)h +22(work)h +21(based)h +20(on)h +22(the)h +21(Program,)h +20(and)h +21(copy)h +21(and)h +177 191(distribute)s +20(such)h +21(modification)h +-1(s)h +20(or)h +21(work)h +21(under)h +21(the)h +21(terms)h +21(of)h +21(Section)h +21(1)h +177 241(above,)s +21(provided)h +20(that)h +21(you)h +21(also)h +21(meet)h +21(all)h +21(of)h +21(these)h +21(conditions:)h +264 340(a\))s +22(You)h +21(must)h +21(cause)h +21(the)h +21(modified)h +20(files)h +21(to)h +21(carry)h +21(prominent)h +20(notices)h +264 390(stating)s +21(that)h +21(you)h +21(changed)h +20(the)h +21(files)h +21(and)h +21(the)h +21(date)h +21(of)h +22(any)h +21(change.)h +264 490(b\))s +22(You)h +21(must)h +21(cause)h +21(any)h +21(work)h +21(that)h +21(you)h +21(distribute)h +20(or)h +21(publish,)h +20(that)h +21(in)h +264 540(whole)s +21(or)h +21(in)h +22(part)h +21(contains)h +20(or)h +21(is)h +22(derived)h +20(from)h +21(the)h +21(Program)h +21(or)h +21(any)h +264 589(part)s +21(thereof,)h +20(to)h +22(be)h +21(licensed)h +20(as)h +22(a)h +21(whole)h +21(at)h +21(no)h +22(charge)h +20(to)h +22(all)h +21(third)h +264 639(parties)s +21(under)h +20(the)h +22(terms)h +20(of)h +22(this)h +21(License.)h +264 739(c\))s +22(If)h +21(the)h +21(modified)h +20(program)h +21(normally)h +20(reads)h +21(commands)h +20(interactivel)h +-1(y)h +264 789(when)s +21(run,)h +21(you)h +21(must)h +21(cause)h +21(it,)h +21(when)h +21(started)h +21(running)h +20(for)h +21(such)h +264 839(interactive)s +20(use)h +21(in)h +21(the)h +22(most)h +21(ordinary)h +20(way,)h +21(to)h +21(print)h +21(or)h +21(display)h +21(an)h +264 888(announcement)s +20(including)h +20(an)h +21(appropriate)h +19(copyright)h +20(notice)h +21(and)h +21(a)h +264 938(notice)s +21(that)h +21(there)h +21(is)h +21(no)h +21(warranty)h +21(\(or)h +21(else,)h +20(saying)h +21(that)h +21(you)h +21(provide)h +264 988(a)s +22(warranty\))h +20(and)h +21(that)h +21(users)h +21(may)h +21(redistribute)h +19(the)h +21(program)h +21(under)h +264 1038(these)s +21(conditions,)h +20(and)h +21(telling)h +20(the)h +21(user)h +21(how)h +21(to)h +22(view)h +21(a)h +21(copy)h +21(of)h +22(this)h +264 1088(License.)s +42(\(Exception:)h +20(if)h +21(the)h +21(Program)h +21(itself)h +20(is)h +22(interactive)h +19(but)h +264 1137(does)s +21(not)h +21(normally)h +21(print)h +20(such)h +21(an)h +22(announcemen)h +-1(t,)h +20(your)h +21(work)h +21(based)h +21(on)h +264 1187(the)s +22(Program)h +20(is)h +21(not)h +21(required)h +21(to)h +21(print)h +21(an)h +21(announcement.)h +-1(\))h +177 1287(These)s +21(requirements)h +19(apply)h +21(to)h +21(the)h +22(modified)h +20(work)h +21(as)h +21(a)h +22(whole.)h +42(If)h +177 1337(identifiable)s +19(sections)h +21(of)h +21(that)h +21(work)h +21(are)h +21(not)h +21(derived)h +21(from)h +21(the)h +21(Program,)h +177 1386(and)s +21(can)h +22(be)h +21(reasonably)h +20(considered)h +19(independent)h +20(and)h +21(separate)h +20(works)h +21(in)h +177 1436(themselves,)s +20(then)h +21(this)h +21(License,)h +20(and)h +21(its)h +21(terms,)h +21(do)h +21(not)h +21(apply)h +21(to)h +21(those)h +177 1486(sections)s +20(when)h +21(you)h +21(distribute)h +20(them)h +21(as)h +22(separate)h +20(works.)h +42(But)h +21(when)h +21(you)h +177 1536(distribute)s +20(the)h +21(same)h +21(sections)h +20(as)h +22(part)h +21(of)h +21(a)h +21(whole)h +21(which)h +21(is)h +21(a)h +22(work)h +21(based)h +177 1586(on)s +22(the)h +21(Program,)h +20(the)h +21(distribution)h +19(of)h +22(the)h +21(whole)h +21(must)h +21(be)h +21(on)h +21(the)h +22(terms)h +20(of)h +177 1636(this)s +21(License,)h +20(whose)h +21(permissions)h +20(for)h +21(other)h +20(licensees)h +20(extend)h +21(to)h +21(the)h +177 1685(entire)s +21(whole,)h +20(and)h +21(thus)h +21(to)h +22(each)h +21(and)h +21(every)h +21(part)h +21(regardless)h +19(of)h +22(who)h +21(wrote)h +21(it.)h +177 1785(Thus,)s +21(it)h +21(is)h +22(not)h +21(the)h +21(intent)h +21(of)h +21(this)h +21(section)h +20(to)h +22(claim)h +20(rights)h +21(or)h +21(contest)h +177 1835(your)s +21(rights)h +21(to)h +21(work)h +21(written)h +20(entirely)h +21(by)h +21(you;)h +21(rather,)h +20(the)h +21(intent)h +21(is)h +21(to)h +177 1885(exercise)s +20(the)h +21(right)h +21(to)h +22(control)h +20(the)h +21(distribution)h +19(of)h +22(derivative)h +20(or)h +177 1934(collective)s +20(works)h +21(based)h +20(on)h +22(the)h +21(Program.)h +177 2034(In)s +22(addition,)h +19(mere)h +21(aggregation)h +20(of)h +21(another)h +21(work)h +21(not)h +21(based)h +21(on)h +21(the)h +21(Program)h +177 2084(with)s +21(the)h +21(Program)h +21(\(or)h +21(with)h +21(a)h +21(work)h +21(based)h +21(on)h +21(the)h +22(Program\))h +20(on)h +21(a)h +22(volume)h +20(of)h +177 2134(a)s +22(storage)h +20(or)h +21(distribution)h +20(medium)h +20(does)h +21(not)h +21(bring)h +21(the)h +21(other)h +21(work)h +21(under)h +177 2183(the)s +21(scope)h +21(of)h +21(this)h +21(License.)h +221 2283(3.)s +21(You)h +21(may)h +21(copy)h +21(and)h +22(distribute)h +19(the)h +22(Program)h +20(\(or)h +21(a)h +22(work)h +21(based)h +20(on)h +22(it,)h +177 2333(under)s +21(Section)h +20(2\))h +22(in)h +21(object)h +21(code)h +21(or)h +21(executable)h +20(form)h +21(under)h +20(the)h +22(terms)h +20(of)h +177 2383(Sections)s +20(1)h +22(and)h +21(2)h +22(above)h +20(provided)h +21(that)h +21(you)h +21(also)h +21(do)h +21(one)h +21(of)h +22(the)h +21(following:)h +264 2482(a\))s +22(Accompany)h +20(it)h +21(with)h +21(the)h +21(complete)h +20(corresponding)h +19(machine-readabl)h +-1(e)h +264 2532(source)s +21(code,)h +21(which)h +20(must)h +21(be)h +22(distributed)h +19(under)h +21(the)h +21(terms)h +21(of)h +21(Sections)h +264 2582(1)s +22(and)h +21(2)h +22(above)h +20(on)h +22(a)h +21(medium)h +21(customarily)h +19(used)h +21(for)h +22(software)h +20(interchange)h +-1(;)h +20(or,)h +264 2682(b\))s +22(Accompany)h +20(it)h +21(with)h +21(a)h +22(written)h +20(offer,)h +20(valid)h +21(for)h +21(at)h +22(least)h +21(three)h +264 2731(years,)s +21(to)h +21(give)h +21(any)h +21(third)h +21(party,)h +21(for)h +21(a)h +21(charge)h +21(no)h +21(more)h +21(than)h +21(your)h +264 2781(cost)s +21(of)h +22(physically)h +19(performing)h +20(source)h +21(distributio)h +-1(n,)h +20(a)h +21(complete)h +264 2831(machine-readab)s +-1(le)h +20(copy)h +21(of)h +21(the)h +21(corresponding)h +19(source)h +21(code,)h +21(to)h +21(be)h +52 @eop +53 @bop0 +53 @bop1 +cmr10.300 sf +1042 2940(52)s +cmtt10.300 sf +264 42(distributed)s +20(under)h +21(the)h +21(terms)h +21(of)h +21(Sections)h +20(1)h +22(and)h +21(2)h +21(above)h +21(on)h +22(a)h +21(medium)h +264 91(customarily)s +20(used)h +21(for)h +21(software)h +20(interchange;)h +19(or,)h +264 191(c\))s +22(Accompany)h +20(it)h +21(with)h +21(the)h +21(information)h +20(you)h +21(received)h +20(as)h +21(to)h +22(the)h +21(offer)h +264 241(to)s +22(distribute)h +19(corresponding)h +20(source)h +20(code.)h +43(\(This)h +20(alternative)h +20(is)h +264 291(allowed)s +21(only)h +21(for)h +21(noncommercia)h +-1(l)h +20(distribution)h +19(and)h +21(only)h +21(if)h +22(you)h +264 340(received)s +20(the)h +22(program)h +20(in)h +21(object)h +21(code)h +21(or)h +21(executable)h +20(form)h +21(with)h +21(such)h +264 390(an)s +22(offer,)h +20(in)h +22(accord)h +20(with)h +21(Subsection)h +20(b)h +21(above.\))h +177 490(The)s +21(source)h +21(code)h +21(for)h +21(a)h +22(work)h +21(means)h +20(the)h +22(preferred)h +19(form)h +21(of)h +22(the)h +21(work)h +21(for)h +177 540(making)s +21(modificatio)h +-1(ns)h +20(to)h +21(it.)h +43(For)h +21(an)h +22(executable)h +19(work,)h +21(complete)h +20(source)h +177 589(code)s +21(means)h +21(all)h +21(the)h +21(source)h +21(code)h +21(for)h +21(all)h +21(modules)h +20(it)h +22(contains,)h +20(plus)h +21(any)h +177 639(associated)s +20(interface)h +20(definition)h +20(files,)h +20(plus)h +21(the)h +21(scripts)h +21(used)h +21(to)h +177 689(control)s +21(compilatio)h +-1(n)h +20(and)h +21(installation)h +20(of)h +21(the)h +21(executable.)h +41(However,)h +21(as)h +21(a)h +177 739(special)s +21(exception,)h +19(the)h +21(source)h +21(code)h +21(distributed)h +19(need)h +21(not)h +22(include)h +177 789(anything)s +20(that)h +21(is)h +22(normally)h +20(distributed)h +19(\(in)h +21(either)h +21(source)h +21(or)h +21(binary)h +177 839(form\))s +21(with)h +21(the)h +21(major)h +21(components)h +20(\(compiler,)h +19(kernel,)h +21(and)h +21(so)h +21(on\))h +21(of)h +22(the)h +177 888(operating)s +20(system)h +21(on)h +21(which)h +21(the)h +21(executable)h +20(runs,)h +20(unless)h +21(that)h +21(component)h +177 938(itself)s +21(accompanies)h +19(the)h +21(executable.)h +177 1038(If)s +22(distributi)h +-1(on)h +20(of)h +21(executable)h +20(or)h +21(object)h +21(code)h +21(is)h +21(made)h +21(by)h +22(offering)h +177 1088(access)s +21(to)h +21(copy)h +21(from)h +21(a)h +22(designated)h +19(place,)h +21(then)h +21(offering)h +20(equivalent)h +177 1137(access)s +21(to)h +21(copy)h +21(the)h +21(source)h +21(code)h +21(from)h +21(the)h +21(same)h +21(place)h +21(counts)h +20(as)h +177 1187(distribution)s +19(of)h +22(the)h +21(source)h +21(code,)h +20(even)h +21(though)h +21(third)h +21(parties)h +20(are)h +21(not)h +177 1237(compelled)s +20(to)h +21(copy)h +21(the)h +22(source)h +20(along)h +21(with)h +21(the)h +21(object)h +21(code.)h +221 1337(4.)s +21(You)h +21(may)h +21(not)h +22(copy,)h +20(modify,)h +21(sublicense,)h +19(or)h +22(distribute)h +19(the)h +22(Program)h +177 1386(except)s +21(as)h +21(expressly)h +20(provided)h +20(under)h +21(this)h +21(License.)h +42(Any)h +21(attempt)h +177 1436(otherwise)s +20(to)h +21(copy,)h +21(modify,)h +21(sublicense)h +19(or)h +22(distribute)h +19(the)h +22(Program)h +20(is)h +177 1486(void,)s +21(and)h +21(will)h +21(automatically)h +19(terminate)h +20(your)h +21(rights)h +21(under)h +20(this)h +21(License.)h +177 1536(However,)s +20(parties)h +21(who)h +21(have)h +21(received)h +20(copies,)h +20(or)h +22(rights,)h +20(from)h +21(you)h +21(under)h +177 1586(this)s +21(License)h +20(will)h +21(not)h +22(have)h +21(their)h +20(licenses)h +20(terminated)h +20(so)h +22(long)h +21(as)h +21(such)h +177 1636(parties)s +21(remain)h +20(in)h +21(full)h +21(compliance.)h +221 1735(5.)s +21(You)h +21(are)h +21(not)h +22(required)h +20(to)h +21(accept)h +21(this)h +21(License,)h +20(since)h +21(you)h +21(have)h +21(not)h +177 1785(signed)s +21(it.)h +43(However,)h +20(nothing)h +20(else)h +21(grants)h +21(you)h +21(permission)h +20(to)h +21(modify)h +21(or)h +177 1835(distribute)s +20(the)h +21(Program)h +20(or)h +22(its)h +21(derivative)h +20(works.)h +42(These)h +21(actions)h +20(are)h +177 1885(prohibited)s +20(by)h +21(law)h +21(if)h +22(you)h +21(do)h +21(not)h +22(accept)h +20(this)h +21(License.)h +42(Therefore,)h +20(by)h +177 1934(modifying)s +20(or)h +21(distributing)h +20(the)h +21(Program)h +20(\(or)h +21(any)h +22(work)h +21(based)h +20(on)h +22(the)h +177 1984(Program\),)s +20(you)h +21(indicate)h +20(your)h +21(acceptance)h +20(of)h +21(this)h +21(License)h +21(to)h +21(do)h +22(so,)h +21(and)h +177 2034(all)s +21(its)h +22(terms)h +20(and)h +21(conditions)h +20(for)h +21(copying,)h +20(distributing)h +20(or)h +21(modifying)h +177 2084(the)s +21(Program)h +21(or)h +21(works)h +21(based)h +21(on)h +21(it.)h +221 2183(6.)s +21(Each)h +21(time)h +21(you)h +21(redistribute)h +20(the)h +21(Program)h +20(\(or)h +21(any)h +21(work)h +21(based)h +21(on)h +22(the)h +177 2233(Program\),)s +20(the)h +21(recipient)h +20(automatically)h +19(receives)h +20(a)h +22(license)h +20(from)h +21(the)h +177 2283(original)s +20(licensor)h +20(to)h +22(copy,)h +21(distribute)h +19(or)h +22(modify)h +20(the)h +21(Program)h +21(subject)h +20(to)h +177 2333(these)s +21(terms)h +21(and)h +21(conditions.)h +41(You)h +21(may)h +22(not)h +21(impose)h +20(any)h +21(further)h +177 2383(restrictions)s +19(on)h +22(the)h +21(recipients')h +20(exercise)h +20(of)h +21(the)h +21(rights)h +21(granted)h +20(herein.)h +177 2433(You)s +21(are)h +22(not)h +21(responsible)h +19(for)h +21(enforcing)h +20(compliance)h +20(by)h +21(third)h +21(parties)h +21(to)h +177 2482(this)s +21(License.)h +221 2582(7.)s +21(If,)h +21(as)h +22(a)h +21(consequence)h +20(of)h +21(a)h +22(court)h +21(judgment)h +20(or)h +21(allegation)h +20(of)h +21(patent)h +177 2632(infringement)s +19(or)h +22(for)h +21(any)h +21(other)h +21(reason)h +21(\(not)h +20(limited)h +21(to)h +21(patent)h +21(issues\),)h +177 2682(conditions)s +20(are)h +21(imposed)h +20(on)h +22(you)h +21(\(whether)h +20(by)h +21(court)h +21(order,)h +21(agreement)h +20(or)h +177 2731(otherwise\))s +20(that)h +21(contradict)h +20(the)h +21(conditions)h +19(of)h +22(this)h +21(License,)h +20(they)h +21(do)h +21(not)h +177 2781(excuse)s +21(you)h +21(from)h +21(the)h +21(conditions)h +20(of)h +21(this)h +21(License.)h +42(If)h +21(you)h +22(cannot)h +177 2831(distribute)s +20(so)h +21(as)h +22(to)h +21(satisfy)h +20(simultaneously)h +19(your)h +21(obligations)h +20(under)h +21(this)h +53 @eop +54 @bop0 +54 @bop1 +cmr10.300 sf +1042 2940(53)s +cmtt10.300 sf +177 42(License)s +21(and)h +21(any)h +21(other)h +21(pertinent)h +20(obligation)h +-1(s,)h +20(then)h +21(as)h +21(a)h +22(consequence)h +19(you)h +177 91(may)s +21(not)h +22(distribute)h +19(the)h +21(Program)h +21(at)h +21(all.)h +43(For)h +21(example,)h +20(if)h +22(a)h +21(patent)h +177 141(license)s +21(would)h +20(not)h +21(permit)h +21(royalty-free)h +19(redistribution)h +19(of)h +22(the)h +21(Program)h +20(by)h +177 191(all)s +21(those)h +21(who)h +21(receive)h +21(copies)h +20(directly)h +20(or)h +22(indirectly)h +19(through)h +21(you,)h +21(then)h +177 241(the)s +21(only)h +21(way)h +21(you)h +22(could)h +20(satisfy)h +21(both)h +21(it)h +21(and)h +21(this)h +21(License)h +21(would)h +20(be)h +22(to)h +177 291(refrain)s +21(entirely)h +20(from)h +21(distributio)h +-1(n)h +20(of)h +21(the)h +21(Program.)h +177 390(If)s +22(any)h +21(portion)h +20(of)h +21(this)h +21(section)h +21(is)h +21(held)h +21(invalid)h +20(or)h +22(unenforceabl)h +-1(e)h +20(under)h +177 440(any)s +21(particular)h +20(circumstance,)h +19(the)h +21(balance)h +21(of)h +21(the)h +21(section)h +21(is)h +21(intended)h +20(to)h +177 490(apply)s +21(and)h +21(the)h +21(section)h +21(as)h +21(a)h +22(whole)h +20(is)h +22(intended)h +20(to)h +21(apply)h +21(in)h +21(other)h +177 540(circumstances)s +-1(.)h +177 639(It)s +22(is)h +21(not)h +21(the)h +21(purpose)h +21(of)h +21(this)h +21(section)h +20(to)h +22(induce)h +20(you)h +21(to)h +22(infringe)h +20(any)h +177 689(patents)s +21(or)h +21(other)h +21(property)h +20(right)h +21(claims)h +20(or)h +21(to)h +22(contest)h +20(validity)h +20(of)h +22(any)h +177 739(such)s +21(claims;)h +20(this)h +21(section)h +21(has)h +21(the)h +21(sole)h +21(purpose)h +20(of)h +22(protecting)h +20(the)h +177 789(integrity)s +20(of)h +21(the)h +22(free)h +21(software)h +20(distributio)h +-1(n)h +20(system,)h +20(which)h +21(is)h +177 839(implemented)s +20(by)h +21(public)h +21(license)h +20(practices.)h +41(Many)h +21(people)h +21(have)h +21(made)h +177 888(generous)s +20(contributions)h +19(to)h +22(the)h +21(wide)h +21(range)h +21(of)h +21(software)h +20(distributed)h +177 938(through)s +21(that)h +20(system)h +21(in)h +21(reliance)h +21(on)h +21(consistent)h +20(application)h +19(of)h +22(that)h +177 988(system;)s +21(it)h +21(is)h +21(up)h +22(to)h +21(the)h +21(author/donor)h +20(to)h +21(decide)h +20(if)h +22(he)h +21(or)h +22(she)h +21(is)h +21(willing)h +177 1038(to)s +22(distribute)h +19(software)h +20(through)h +21(any)h +21(other)h +21(system)h +20(and)h +21(a)h +22(licensee)h +20(cannot)h +177 1088(impose)s +21(that)h +21(choice.)h +177 1187(This)s +21(section)h +20(is)h +22(intended)h +20(to)h +21(make)h +21(thoroughly)h +20(clear)h +21(what)h +21(is)h +21(believed)h +20(to)h +177 1237(be)s +22(a)h +21(consequence)h +20(of)h +21(the)h +21(rest)h +21(of)h +22(this)h +21(License.)h +221 1337(8.)s +21(If)h +22(the)h +21(distributio)h +-1(n)h +20(and/or)h +21(use)h +21(of)h +21(the)h +21(Program)h +21(is)h +21(restricted)h +20(in)h +177 1386(certain)s +21(countries)h +19(either)h +21(by)h +21(patents)h +21(or)h +21(by)h +21(copyrighted)h +20(interfaces,)h +20(the)h +177 1436(original)s +20(copyright)h +20(holder)h +21(who)h +21(places)h +21(the)h +21(Program)h +20(under)h +21(this)h +21(License)h +177 1486(may)s +21(add)h +22(an)h +21(explicit)h +20(geographical)h +19(distribution)h +20(limitation)h +19(excluding)h +177 1536(those)s +21(countries,)h +20(so)h +21(that)h +21(distribution)h +19(is)h +22(permitted)h +20(only)h +21(in)h +21(or)h +21(among)h +177 1586(countries)s +20(not)h +21(thus)h +21(excluded.)h +42(In)h +21(such)h +21(case,)h +21(this)h +21(License)h +20(incorporates)h +177 1636(the)s +21(limitation)h +20(as)h +21(if)h +22(written)h +20(in)h +22(the)h +21(body)h +21(of)h +21(this)h +21(License.)h +221 1735(9.)s +21(The)h +21(Free)h +21(Software)h +20(Foundation)h +20(may)h +21(publish)h +21(revised)h +20(and/or)h +21(new)h +21(versions)h +177 1785(of)s +22(the)h +21(General)h +20(Public)h +21(License)h +20(from)h +21(time)h +21(to)h +21(time.)h +43(Such)h +21(new)h +21(versions)h +20(will)h +177 1835(be)s +22(similar)h +20(in)h +21(spirit)h +21(to)h +21(the)h +21(present)h +21(version,)h +20(but)h +21(may)h +21(differ)h +21(in)h +21(detail)h +21(to)h +177 1885(address)s +21(new)h +21(problems)h +20(or)h +21(concerns.)h +177 1984(Each)s +21(version)h +20(is)h +22(given)h +21(a)h +21(distinguishing)h +19(version)h +20(number.)h +43(If)h +21(the)h +21(Program)h +177 2034(specifies)s +20(a)h +22(version)h +20(number)h +21(of)h +21(this)h +21(License)h +20(which)h +21(applies)h +20(to)h +22(it)h +21(and)h +21("any)h +177 2084(later)s +21(version",)h +20(you)h +21(have)h +21(the)h +21(option)h +21(of)h +21(following)h +20(the)h +21(terms)h +21(and)h +21(conditions)h +177 2134(either)s +21(of)h +21(that)h +21(version)h +20(or)h +22(of)h +21(any)h +21(later)h +21(version)h +20(published)h +20(by)h +22(the)h +21(Free)h +177 2183(Software)s +20(Foundation.)h +42(If)h +21(the)h +21(Program)h +21(does)h +20(not)h +22(specify)h +20(a)h +22(version)h +20(number)h +20(of)h +177 2233(this)s +21(License,)h +20(you)h +21(may)h +22(choose)h +20(any)h +21(version)h +21(ever)h +21(published)h +20(by)h +21(the)h +21(Free)h +21(Software)h +177 2283(Foundation.)s +221 2383(10.)s +21(If)h +21(you)h +21(wish)h +21(to)h +22(incorporate)h +19(parts)h +21(of)h +21(the)h +22(Program)h +20(into)h +21(other)h +21(free)h +177 2433(programs)s +20(whose)h +21(distribution)h +19(conditions)h +20(are)h +21(different,)h +20(write)h +21(to)h +21(the)h +21(author)h +177 2482(to)s +22(ask)h +21(for)h +21(permission.)h +41(For)h +21(software)h +21(which)h +20(is)h +22(copyrighted)h +19(by)h +22(the)h +21(Free)h +177 2532(Software)s +20(Foundation,)h +20(write)h +21(to)h +21(the)h +21(Free)h +21(Software)h +20(Foundation;)h +20(we)h +21(sometimes)h +177 2582(make)s +21(exceptions)h +20(for)h +21(this.)h +43(Our)h +21(decision)h +20(will)h +21(be)h +21(guided)h +21(by)h +21(the)h +21(two)h +22(goals)h +177 2632(of)s +22(preserving)h +19(the)h +21(free)h +21(status)h +21(of)h +21(all)h +22(derivative)h +-1(s)h +20(of)h +21(our)h +22(free)h +21(software)h +20(and)h +177 2682(of)s +22(promoting)h +19(the)h +22(sharing)h +20(and)h +21(reuse)h +21(of)h +21(software)h +20(generally.)h +264 2781(NO)s +22(WARRANTY)h +54 @eop +55 @bop0 +55 @bop1 +cmr10.300 sf +1042 2940(54)s +cmtt10.300 sf +221 42(11.)s +21(BECAUSE)h +20(THE)h +21(PROGRAM)h +21(IS)h +21(LICENSED)h +20(FREE)h +21(OF)h +22(CHARGE,)h +20(THERE)h +21(IS)h +21(NO)h +22(WARRANTY)h +177 91(FOR)s +21(THE)h +22(PROGRAM,)h +20(TO)h +21(THE)h +21(EXTENT)h +21(PERMITTED)h +20(BY)h +21(APPLICABLE)h +20(LAW.)h +43(EXCEPT)h +20(WHEN)h +177 141(OTHERWISE)s +20(STATED)h +21(IN)h +21(WRITING)h +20(THE)h +22(COPYRIGHT)h +19(HOLDERS)h +21(AND/OR)h +20(OTHER)h +21(PARTIES)h +177 191(PROVIDE)s +21(THE)h +21(PROGRAM)h +20("AS)h +21(IS")h +21(WITHOUT)h +21(WARRANTY)h +20(OF)h +21(ANY)h +21(KIND,)h +21(EITHER)h +21(EXPRESSED)h +177 241(OR)s +22(IMPLIED,)h +20(INCLUDING,)h +19(BUT)h +22(NOT)h +21(LIMITED)h +20(TO,)h +21(THE)h +21(IMPLIED)h +21(WARRANTIES)h +20(OF)h +177 291(MERCHANTABILI)s +-1(TY)h +20(AND)h +21(FITNESS)h +20(FOR)h +22(A)h +21(PARTICULAR)h +20(PURPOSE.)h +42(THE)h +21(ENTIRE)h +21(RISK)h +20(AS)h +177 340(TO)s +22(THE)h +21(QUALITY)h +20(AND)h +21(PERFORMANCE)h +20(OF)h +21(THE)h +21(PROGRAM)h +21(IS)h +21(WITH)h +21(YOU.)h +43(SHOULD)h +20(THE)h +177 390(PROGRAM)s +21(PROVE)h +20(DEFECTIVE,)h +20(YOU)h +21(ASSUME)h +21(THE)h +21(COST)h +21(OF)h +21(ALL)h +21(NECESSARY)h +20(SERVICING,)h +177 440(REPAIR)s +21(OR)h +21(CORRECTION.)h +221 540(12.)s +21(IN)h +21(NO)h +22(EVENT)h +20(UNLESS)h +21(REQUIRED)h +20(BY)h +22(APPLICABLE)h +19(LAW)h +21(OR)h +22(AGREED)h +20(TO)h +22(IN)h +21(WRITING)h +177 589(WILL)s +21(ANY)h +21(COPYRIGHT)h +20(HOLDER,)h +21(OR)h +21(ANY)h +21(OTHER)h +21(PARTY)h +21(WHO)h +21(MAY)h +21(MODIFY)h +21(AND/OR)h +177 639(REDISTRIBUTE)s +19(THE)h +22(PROGRAM)h +20(AS)h +21(PERMITTED)h +20(ABOVE,)h +21(BE)h +21(LIABLE)h +21(TO)h +21(YOU)h +21(FOR)h +22(DAMAGES,)h +177 689(INCLUDING)s +20(ANY)h +21(GENERAL,)h +20(SPECIAL,)h +21(INCIDENTAL)h +19(OR)h +22(CONSEQUENTI)h +-1(AL)h +20(DAMAGES)h +20(ARISING)h +177 739(OUT)s +21(OF)h +22(THE)h +21(USE)h +21(OR)h +21(INABILITY)h +20(TO)h +22(USE)h +21(THE)h +21(PROGRAM)h +20(\(INCLUDING)h +20(BUT)h +21(NOT)h +22(LIMITED)h +177 789(TO)s +22(LOSS)h +21(OF)h +21(DATA)h +21(OR)h +21(DATA)h +21(BEING)h +21(RENDERED)h +20(INACCURATE)h +20(OR)h +21(LOSSES)h +21(SUSTAINED)h +20(BY)h +177 839(YOU)s +21(OR)h +22(THIRD)h +20(PARTIES)h +21(OR)h +21(A)h +22(FAILURE)h +20(OF)h +22(THE)h +21(PROGRAM)h +20(TO)h +21(OPERATE)h +21(WITH)h +21(ANY)h +21(OTHER)h +177 888(PROGRAMS\),)s +20(EVEN)h +21(IF)h +21(SUCH)h +21(HOLDER)h +21(OR)h +21(OTHER)h +21(PARTY)h +21(HAS)h +21(BEEN)h +21(ADVISED)h +20(OF)h +22(THE)h +177 938(POSSIBILITY)s +20(OF)h +21(SUCH)h +21(DAMAGES.)h +286 1038(END)s +21(OF)h +22(TERMS)h +20(AND)h +22(CONDITIONS)h +177 1137(Appendix:)s +20(How)h +21(to)h +22(Apply)h +20(These)h +21(Terms)h +21(to)h +21(Your)h +21(New)h +21(Programs)h +221 1237(If)s +21(you)h +21(develop)h +21(a)h +21(new)h +21(program,)h +21(and)h +21(you)h +21(want)h +21(it)h +21(to)h +22(be)h +21(of)h +21(the)h +22(greatest)h +177 1287(possible)s +20(use)h +21(to)h +22(the)h +21(public,)h +20(the)h +22(best)h +21(way)h +21(to)h +21(achieve)h +20(this)h +21(is)h +22(to)h +21(make)h +21(it)h +177 1337(free)s +21(software)h +20(which)h +21(everyone)h +20(can)h +21(redistribute)h +20(and)h +21(change)h +20(under)h +21(these)h +21(terms.)h +221 1436(To)s +21(do)h +22(so,)h +21(attach)h +20(the)h +21(following)h +20(notices)h +21(to)h +21(the)h +21(program.)h +42(It)h +22(is)h +21(safest)h +177 1486(to)s +22(attach)h +20(them)h +21(to)h +21(the)h +22(start)h +20(of)h +22(each)h +21(source)h +20(file)h +21(to)h +22(most)h +21(effectively)h +177 1536(convey)s +21(the)h +21(exclusion)h +20(of)h +21(warranty;)h +20(and)h +21(each)h +21(file)h +21(should)h +21(have)h +21(at)h +21(least)h +177 1586(the)s +21("copyright")h +20(line)h +21(and)h +21(a)h +22(pointer)h +20(to)h +21(where)h +21(the)h +21(full)h +21(notice)h +21(is)h +21(found.)h +264 1685(<one)s +21(line)h +21(to)h +22(give)h +21(the)h +21(program's)h +20(name)h +21(and)h +21(a)h +21(brief)h +21(idea)h +21(of)h +22(what)h +21(it)h +21(does.>)h +264 1735(Copyright)s +20(\(C\))h +21(19yy)h +43(<name)h +21(of)h +21(author>)h +264 1835(This)s +21(program)h +21(is)h +21(free)h +21(software;)h +20(you)h +21(can)h +21(redistribute)h +20(it)h +21(and/or)h +21(modify)h +264 1885(it)s +22(under)h +20(the)h +22(terms)h +20(of)h +22(the)h +21(GNU)h +21(General)h +20(Public)h +21(License)h +20(as)h +22(published)h +20(by)h +264 1934(the)s +22(Free)h +20(Software)h +21(Foundation;)h +19(either)h +21(version)h +20(2)h +22(of)h +21(the)h +21(License,)h +20(or)h +264 1984(\(at)s +22(your)h +20(option\))h +21(any)h +21(later)h +21(version.)h +264 2084(This)s +21(program)h +21(is)h +21(distributed)h +20(in)h +21(the)h +21(hope)h +21(that)h +21(it)h +21(will)h +21(be)h +22(useful,)h +264 2134(but)s +22(WITHOUT)h +20(ANY)h +21(WARRANTY;)h +20(without)h +20(even)h +21(the)h +21(implied)h +21(warranty)h +20(of)h +264 2183(MERCHANTABILIT)s +-1(Y)h +20(or)h +21(FITNESS)h +21(FOR)h +21(A)h +22(PARTICULAR)h +19(PURPOSE.)h +42(See)h +21(the)h +264 2233(GNU)s +22(General)h +20(Public)h +20(License)h +21(for)h +21(more)h +21(details.)h +264 2333(You)s +22(should)h +20(have)h +21(received)h +20(a)h +22(copy)h +21(of)h +21(the)h +21(GNU)h +21(General)h +21(Public)h +20(License)h +264 2383(along)s +21(with)h +21(this)h +21(program;)h +20(if)h +22(not,)h +21(write)h +20(to)h +22(the)h +21(Free)h +21(Software)h +264 2433(Foundation,)s +20(Inc.,)h +21(675)h +21(Mass)h +21(Ave,)h +21(Cambridge,)h +19(MA)h +22(02139,)h +20(USA.)h +177 2532(Also)s +21(add)h +21(information)h +20(on)h +21(how)h +21(to)h +22(contact)h +20(you)h +21(by)h +22(electronic)h +19(and)h +22(paper)h +20(mail.)h +177 2632(If)s +22(the)h +21(program)h +20(is)h +21(interactive,)h +20(make)h +21(it)h +21(output)h +21(a)h +21(short)h +21(notice)h +21(like)h +21(this)h +177 2682(when)s +21(it)h +22(starts)h +20(in)h +21(an)h +22(interactive)h +19(mode:)h +264 2781(Gnomovision)s +20(version)h +20(69,)h +21(Copyright)h +20(\(C\))h +21(19yy)h +21(name)h +21(of)h +22(author)h +264 2831(Gnomovision)s +20(comes)h +21(with)h +21(ABSOLUTELY)h +19(NO)h +22(WARRANTY;)h +20(for)h +21(details)h +55 @eop +56 @bop0 +cmtt10.300 sf +[<0C1E3C7870F0E0E0E0F0F87830> +8 13 -8 27 22] 96 dc +56 @bop1 +cmr10.300 sf +1042 2940(55)s +cmtt10.300 sf +264 42(type)s +21(`show)h +21(w'.)h +264 91(This)s +21(is)h +22(free)h +21(software,)h +20(and)h +21(you)h +21(are)h +21(welcome)h +20(to)h +22(redistribute)h +19(it)h +264 141(under)s +21(certain)h +20(conditions;)h +20(type)h +21(`show)h +21(c')h +21(for)h +21(details.)h +177 241(The)s +21(hypothetical)h +20(commands)h +20(`show)h +21(w')h +21(and)h +21(`show)h +21(c')h +21(should)h +21(show)h +21(the)h +21(appropriate)h +177 291(parts)s +21(of)h +21(the)h +21(General)h +21(Public)h +20(License.)h +42(Of)h +22(course,)h +20(the)h +21(commands)h +20(you)h +22(use)h +21(may)h +177 340(be)s +22(called)h +20(something)h +20(other)h +21(than)h +21(`show)h +21(w')h +21(and)h +21(`show)h +21(c';)h +21(they)h +21(could)h +21(even)h +21(be)h +177 390(mouse-clicks)s +19(or)h +22(menu)h +21(items--whate)h +-1(ver)h +20(suits)h +20(your)h +21(program.)h +177 490(You)s +21(should)h +21(also)h +21(get)h +21(your)h +21(employer)h +20(\(if)h +21(you)h +21(work)h +21(as)h +22(a)h +21(programmer\))h +20(or)h +21(your)h +177 540(school,)s +21(if)h +21(any,)h +21(to)h +21(sign)h +21(a)h +22("copyright)h +20(disclaimer)h +-1(")h +20(for)h +21(the)h +21(program,)h +21(if)h +177 589(necessary.)s +42(Here)h +21(is)h +21(a)h +22(sample;)h +20(alter)h +21(the)h +21(names:)h +221 689(Yoyodyne,)s +20(Inc.,)h +20(hereby)h +21(disclaims)h +20(all)h +21(copyright)h +20(interest)h +20(in)h +22(the)h +21(program)h +221 739(`Gnomovisio)s +-1(n')h +20(\(which)h +20(makes)h +21(passes)h +21(at)h +21(compilers\))h +20(written)h +20(by)h +22(James)h +20(Hacker.)h +221 839(<signature)s +19(of)h +22(Ty)h +21(Coon>,)h +21(1)h +21(April)h +21(1989)h +221 888(Ty)s +21(Coon,)h +21(President)h +20(of)h +21(Vice)h +177 988(This)s +21(General)h +20(Public)h +21(License)h +20(does)h +21(not)h +22(permit)h +20(incorporating)h +19(your)h +21(program)h +20(into)h +177 1038(proprietary)s +20(programs.)h +41(If)h +22(your)h +21(program)h +20(is)h +21(a)h +22(subroutine)h +20(library,)h +20(you)h +21(may)h +177 1088(consider)s +20(it)h +22(more)h +21(useful)h +20(to)h +22(permit)h +20(linking)h +20(proprietary)h +20(applications)h +19(with)h +21(the)h +177 1137(library.)s +42(If)h +21(this)h +21(is)h +22(what)h +21(you)h +21(want)h +21(to)h +21(do,)h +21(use)h +22(the)h +21(GNU)h +21(Library)h +20(General)h +177 1187(Public)s +21(License)h +20(instead)h +20(of)h +22(this)h +21(License.)h +1772 2 177 1280 r +56 @eop +57 @bop0 +57 @bop1 +cmr10.300 sf +1042 2940(56)s +57 @eop +58 @bop0 +cmbx10.622 sf +[<FFFFFFFFFFC00000FFFFFFFFFFFC0000FFFFFFFFFFFF0000FFFFFFFFFFFFC000007FF0 +0001FFF000007FF000007FF800007FF000003FFC00007FF000001FFE00007FF000001FFE +00007FF000000FFF00007FF000000FFF00007FF0000007FF80007FF0000007FF80007FF0 +000007FF80007FF0000007FF80007FF0000007FF80007FF0000007FF80007FF0000007FF +80007FF0000007FF00007FF000000FFF00007FF000000FFF00007FF000001FFE00007FF0 +00001FFC00007FF000003FF800007FF000007FF000007FF00001FFE000007FF0000FFF80 +00007FFFFFFFFE0000007FFFFFFFFE0000007FFFFFFFFFC000007FF000007FF000007FF0 +00001FFC00007FF000000FFE00007FF0000007FF00007FF0000007FF80007FF0000003FF +C0007FF0000003FFC0007FF0000001FFE0007FF0000001FFE0007FF0000001FFF0007FF0 +000001FFF0007FF0000001FFF0007FF0000001FFF0007FF0000001FFF0007FF0000001FF +F0007FF0000001FFF0007FF0000001FFF0007FF0000001FFE0007FF0000003FFE0007FF0 +000003FFC0007FF0000007FFC0007FF000000FFF80007FF000001FFF00007FF000003FFE +00007FF00001FFFC00FFFFFFFFFFFFF800FFFFFFFFFFFFE000FFFFFFFFFFFF8000FFFFFF +FFFFF80000> +64 59 -4 58 70] 66 dc +cmbx10.746 sf +[<FFFFFFFFFFFC0000000000FFFFFFFFFFFFF000000000FFFFFFFFFFFFFE00000000FFFF +FFFFFFFFFF80000000FFFFFFFFFFFFFFE0000000001FFF80001FFFF8000000001FFF8000 +01FFFC000000001FFF8000007FFF000000001FFF8000003FFF800000001FFF8000001FFF +800000001FFF8000000FFFC00000001FFF8000000FFFE00000001FFF8000000FFFE00000 +001FFF80000007FFF00000001FFF80000007FFF00000001FFF80000007FFF80000001FFF +80000007FFF80000001FFF80000007FFF80000001FFF80000007FFF80000001FFF800000 +07FFF80000001FFF80000007FFF80000001FFF80000007FFF80000001FFF80000007FFF8 +0000001FFF80000007FFF00000001FFF80000007FFF00000001FFF8000000FFFE0000000 +1FFF8000000FFFE00000001FFF8000000FFFC00000001FFF8000001FFF800000001FFF80 +00003FFF000000001FFF800000FFFE000000001FFF800003FFF8000000001FFF80001FFF +F0000000001FFFFFFFFFFFC0000000001FFFFFFFFFFE00000000001FFFFFFFFFF8000000 +00001FFFFFFFFFFE00000000001FFF80007FFF80000000001FFF80001FFFC0000000001F +FF800007FFE0000000001FFF800003FFF0000000001FFF800001FFF8000000001FFF8000 +01FFFC000000001FFF800000FFFE000000001FFF800000FFFE000000001FFF8000007FFE +000000001FFF8000007FFF000000001FFF8000007FFF000000001FFF8000007FFF000000 +001FFF8000007FFF000000001FFF8000007FFF000000001FFF8000007FFF000000001FFF +8000007FFF000000001FFF8000007FFF800000001FFF8000007FFF800000001FFF800000 +7FFF800000001FFF8000007FFF800000001FFF8000007FFF800000001FFF8000007FFF80 +00E0001FFF8000007FFF8001F0001FFF8000007FFFC001F0001FFF8000007FFFC001F000 +1FFF8000003FFFC001F0001FFF8000003FFFC003F0001FFF8000001FFFE003E0001FFF80 +00000FFFE007E0FFFFFFFFF00007FFF007C0FFFFFFFFF00003FFFC1F80FFFFFFFFF00001 +FFFFFF00FFFFFFFFF000007FFFFE00FFFFFFFFF000001FFFFC000000000000000000FFF0 +00> +88 72 -4 70 89] 82 dc +cmti10.300 sf +[<01FFC0003C0000380000380000380000380000700000700000700000700000E00000E0 +0000E00000E00001C00001C00001C00001C0000380000380000380000380000700000700 +000700000700000F0000FFE000> +24 28 -2 27 16] 73 dc +[<007FF0000780000700000700000700000700000E00000E00000E00000E00001C00001C +00001C00001C0000380000380000380000380000700000700000700000700060E000E0E0 +00C0C00081C0008380004700003C0000> +24 29 -5 27 22] 74 dc +cmr10.300 sf +[<FFFFF0> +24 1 0 11 21] 123 dc +58 @bop1 +cmcsc10.300 sf +723 1718(a)s +cmbx10.622 sf +177 378(App)s +3(endix)h +34(B)h +cmbx10.746 sf +177 610(References)s +cmti10.300 sf +1524 1025(Communic)s +-2(ations)h +17(of)h +17(the)h +177 1075(A)s +-1(CM)h +1512 1972(Communic)s +-2(ations)h +23(of)h +23(the)h +177 2022(A)s +-1(CM)h +1635 2096(SIAM)s +18(Journal)h +17(of)h +177 2146(Computing)s +cmbx10.300 sf +177 851([ANSI])s +177 1025([Ben)s +-1(tley86])h +177 1150([Hoare80])s +177 1324([Horton90])s +177 1399([Kernighan88])s +177 1523([Kn)s +-1(uth83])h +177 1648([Kn)s +-1(uth84])h +177 1723([Lamp)s +1(ort86])h +177 1847([Rabino)s +-1(witz90])h +177 1972([Ramsey89])s +177 2096([T)s +-4(arjan72])h +177 2221([USDOD83])s +cmr10.300 sf +342 851(Australian)s +20(Standard)h +21(AS)h +20(3955-1991,)h +19(\\Programm)h +-1(ing)h +18(Languages)h +20(|)h +20(C",)h +20(\(ISBN:)h +20(0-7262-)h +177 901(6970-0\),)s +16(12)h +17(July)h +17(1991.)h +27(Iden)h +-1(tical)h +17(to:)h +24(In)h +-1(ternational)h +17(Standard)h +17(ISO/IEC)h +18(9899:)h +23(1990)h +16(Programm)h +-1(ing)h +177 951(Languages)s +14(|)h +13(C.)h +427 1025(Ben)s +-1(tley)h +16(J.,)h +16(\\Programm)h +-1(i)h +-1(ng)h +14(P)h +-1(earls:)h +22(Literate)h +16(Programmi)h +-1(ng",)h +274 1075(,)s +13(V)h +-3(ol.)h +13(29,)h +12(No.)h +14(5,)h +13(pp.)h +13(364{369,)h +12(1986.)h +388 1150(Hoare)s +10(C.A.R.,)h +9(\\The)h +10(Emp)h +1(eror's)h +10(Old)h +10(Clothes",)h +10(T)h +-3(uring)h +10(Aw)h +-1(ard)h +10(Lecture,)h +12(1980,)h +10(from)h +8(\\A)h +-1(CM)h +177 1200(T)s +-3(uring)h +15(Aw)h +-1(ard)h +15(Lectures:)h +24(The)h +16(First)h +15(Tw)h +-1(en)h +-1(t)h +-1(y)h +16(Y)h +-3(ears)h +16(1966{1985",)h +13(A)h +-1(CM)h +15(Press,)h +17(New)h +17(Y)h +-3(ork,)h +15(\(ISBN:)h +15(0-)h +177 1249(201-07794-9\),)s +11(1987)h +13(\(see)h +15(p.)h +14(155\).)h +415 1324(Horton)s +14(M.R.,)h +12(\\P)h +-1(ortable)h +14(C)h +14(Soft)h +-1(w)h +-1(are",)h +12(Pren)h +-1(tice)h +16(Hall,)h +12(\(ISBN:)h +14(0-13-868050-)h +-1(7\),)h +12(1990.)h +487 1399(Kernighan)s +17(B.W.,)h +17(Ritc)h +-1(hie)h +16(D.M.,)h +16(\\The)h +17(C)h +17(Programm)h +-1(ing)h +14(Language",)h +17(\(second)h +18(edi-)h +177 1449(tion,\\ANSI)s +13(C"\),)h +13(Pren)h +-1(tice)h +16(Hall,)h +12(\(ISBN:)h +14(0-13-110362-)h +-1(8\),)h +12(1988.)h +401 1523(Kn)s +-1(uth)h +15(D.E.,)h +14(\\The)h +15(WEB)h +15(System)h +14(of)h +15(Structured)h +16(Do)h +1(cumen)h +-1(tation",)h +13(\(W)h +-3(eb)h +15(User)h +16(Man)h +-1(ual,)h +177 1573(V)s +-3(ersion)h +14(2.5,)h +13(No)h +-1(v)h +-1(em)h +-1(b)h +1(er,)h +12(1983\),)h +13(Stanford)h +13(Univ)h +-1(ersit)h +-1(y)h +-3(,)h +13(1983.)h +399 1648(Kn)s +-1(uth)h +15(D.E.,)h +12(\\The)h +14(T)h +767 1657(E)s +790 1648(Xb)s +1(o)h +1(ok",)h +13(Addison-W)h +-3(esley)h +-3(,)h +13(\(ISBN:)h +14(0-201-13448-)h +-1(9\),)h +12(1984.)h +449 1723(Lamp)s +1(ort)h +16(L.,)h +16(\\L)h +4(T)h +765 1736(E)s +788 1723(X:)s +16(A)h +16(Do)h +1(cumen)h +-1(t)h +16(Preparation)h +17(System",)h +16(Addison-W)h +-3(esley)h +-3(,)h +16(\(ISBN:)h +177 1773(0-201-15790-)s +-1(X\),)h +12(1986.)h +504 1847(Rabino)s +-1(witz)h +16(H.,)h +17(Sc)h +-1(haap)h +17(C.,)h +18(\\P)h +-1(ortable)h +17(C",)h +16(Pren)h +-1(tice)h +19(Hall,)h +16(\(ISBN:0-13-685967-4\))h +177 1897(1990.)s +438 1972(Ramsey)s +21(N.,)h +24(\\W)h +-3(ea)h +-1(ving)h +21(a)h +22(Language-Indep)h +1(enden)h +-1(t)h +23(WEB",)h +274 2022(,)s +13(V)h +-3(ol.)h +13(32,)h +12(No.)h +14(9,)h +13(pp.)h +13(1051{1055,)h +11(1989.)h +404 2096(T)s +-3(arjan)h +15(R.E.,)h +16(\\Depth-First)h +16(Searc)h +-1(h)h +18(and)h +16(Linear)h +16(Graph)h +16(Algorithms",)h +374 2146(,)s +14(V)h +-3(ol.)h +12(1,)h +13(No.)h +14(2,)h +13(pp.)h +13(146{160,)h +12(June)h +15(1972.)h +442 2221(\\The)s +19(Programm)h +-1(ing)h +16(Language)h +18(Ada)h +18(Reference)h +20(Man)h +-1(ual",)h +18(American)h +18(National)h +17(Stan-)h +177 2271(dards)s +15(Institute)h +14(Inc,)h +14(ANSI/MIL-STD-1815A-1983,)h +11(1983.)h +1042 2940(57)s +58 @eop +59 @bop0 +cmbx10.746 sf +[<7FFFFF801FFFFF007FFFFF801FFFFF007FFFFF801FFFFF007FFFFF801FFFFF007FFFFF +801FFFFF00007FF80001FF0000007FFC0001FC0000003FFE0003F80000001FFF0007F000 +00000FFF0007E000000007FF800FC000000003FFC01F8000000003FFE03F8000000001FF +F07F0000000000FFF8FE00000000007FF9FC00000000003FFFF800000000003FFFF00000 +0000001FFFE000000000000FFFC0000000000007FFC0000000000003FFC0000000000001 +FFE0000000000001FFF0000000000001FFF8000000000003FFFC000000000003FFFE0000 +00000007FFFE00000000000FEFFF00000000001FCFFF80000000003F87FFC0000000007F +03FFE000000000FE01FFE000000001FC00FFF000000001F8007FF800000003F0007FFC00 +000007F0003FFE0000000FE0001FFF0000001FC0000FFF0000003F800007FF800000FF80 +0007FFC000FFFFF8003FFFFFC0FFFFF8003FFFFFC0FFFFF8003FFFFFC0FFFFF8003FFFFF +C0FFFFF8003FFFFFC0> +64 46 -2 45 63] 120 dc +cmr10.300 sf +[<7FFFFFC0FFFFFFE0000000000000000000000000000000000000000000000000000000 +0000000000FFFFFFE07FFFFFC0> +32 12 -2 15 32] 61 dc +[<003F800000C0600003001800040004000800020010000100201F00802070808040E040 +4040C0384041C03840818038208380382083803820838038208380382083803820818038 +2041C0382040C0384040E0784020709880201F0F00100000000800000004000000030001 +E000C01F80003FF000> +32 29 -2 28 32] 64 dc +[<7FFFF07C01F07001E06003C06003C0400780400F80400F00401E00001E00003C00007C +0000780000F00000F00001E00003E00003C0100780100780100F00101F00301E00203C00 +203C00607800E0F803E0FFFFE0> +24 28 -2 27 25] 90 dc +59 @bop1 +cmbx10.746 sf +177 279(Index)s +cmr10.300 sf +177 487(.cld)s +14(\014le)h +13(18)h +177 537(==)s +15(14)h +177 587(@M)s +14(23)h +177 637(@Z)s +15(23)h +177 687(abbreviations)s +14(iden)h +-1(ti\014er)h +14(28)h +177 737(ac)s +-1(kno)h +-1(wledgemen)h +-1(ts)h +13(7)h +177 787(Ada)s +14(18)h +177 837(Ada)s +14(27)h +177 886(Ada)s +14(7)h +177 936(adding)s +13(features)h +15(36)h +177 986(Adelaide)s +14(Univ)h +-1(ersit)h +-1(y)h +14(27)h +177 1036(analyser)s +14(45)h +177 1086(Andrew)s +15(T)h +-3(rev)h +-1(orro)h +-1(w)h +14(9)h +177 1136(ANSI)s +14(28)h +177 1186(ANSI)s +14(57)h +177 1236(an)s +-1(tiquated)h +14(features)h +15(43)h +177 1286(ASCI)s +1(I)h +14(mnemoni)h +-1(cs)h +13(45)h +177 1336(asking)s +13(for)h +14(trouble)h +14(28)h +177 1386(authorit)s +-1(y)h +13(design)h +15(36)h +177 1436(authorit)s +-1(y)h +13(securit)h +-1(y)h +15(36)h +177 1486(a)s +-1(v)h +-2(ailabil)h +-1(it)h +-1(y)h +11(program)h +13(37)h +177 1536(bac)s +-1(kw)h +-1(ards)h +14(compatibili)h +-1(t)h +-1(y)h +12(11)h +177 1586(Barry)s +15(Dwy)h +-1(er)h +14(7)h +177 1636(Begg)s +14(Jerem)h +-1(y)h +14(7)h +177 1686(Ben)s +-1(tley)h +15(Jon)h +14(11)h +177 1736(Ben)s +-1(tley86)h +14(11)h +177 1786(Ben)s +-1(tley86)h +14(57)h +177 1836(blank)s +13(inden)h +-1(tation)h +14(12)h +177 1886(blank)s +13(inden)h +-1(tation)h +14(12)h +177 1935(break)s +-1(out,)h +14(GNU)h +13(41)h +177 1985(Brissenden)s +16(Roger)h +14(7)h +177 2035(c)s +-1(hanges)h +15(dangers)h +14(35)h +177 2085(co)s +1(ding)h +14(st)h +-1(yle)h +14(28)h +177 2135(comma)s +-1(nd)h +12(in)h +-1(terface)h +15(43)h +177 2185(comma)s +-1(nd)h +12(in)h +-1(terpreter)h +16(43)h +177 2235(comma)s +-1(nd)h +12(line)h +14(in)h +-1(terface)h +14(design)h +14(goals)h +13(19)h +177 2285(comma)s +-1(nd)h +12(line)h +14(in)h +-1(terface)h +14(18)h +177 2335(comma)s +-1(nd)h +12(setall)h +14(43)h +177 2385(commen)s +-1(t)h +12(duplication)h +13(18)h +177 2435(Comm)s +-2(unicati)h +-1(ons)h +12(of)h +14(the)h +14(A)h +-1(CM)h +14(11)h +177 2485(compatibili)s +-1(t)h +-1(y)h +12(bac)h +-1(kw)h +-1(ards)h +14(11)h +177 2535(compiler)s +13(ThinkC)h +13(30)h +177 2585(compiler)s +13(35)h +177 2635(conditionals)s +13(44)h +177 2685(con)s +-1(tiguous)h +14(mem)h +-1(ory)h +12(45)h +177 2735(cop)s +-1(yrigh)h +-1(t)h +14(la)h +-1(w)h +13(38)h +177 2785(cop)s +-1(yrigh)h +-1(t)h +14(notice)h +14(1)h +177 2835(cop)s +-1(yrigh)h +-1(t)h +14(38)h +1136 487(correctness)s +16(47)h +1136 537(coun)s +-1(ting)h +13(diagnostic)h +13(43)h +1136 587(cross)s +15(references)h +16(46)h +1136 637(dangers)s +14(c)h +-1(hanges)h +15(35)h +1136 687(dangers)s +14(inden)h +-1(tation)h +13(13)h +1136 737(dangers)s +14(languages)h +14(35)h +1136 787(Da)s +-1(vid)h +12(Hulse)h +15(27)h +1136 837(Da)s +-1(vid)h +12(Hulse)h +15(7)h +1136 886(DCL)s +13(13)h +1136 936(deriv)s +-1(ed)h +14(w)h +-1(ork)h +14(38)h +1136 986(design)s +14(authorit)h +-1(y)h +13(36)h +1136 1036(design)s +14(F)h +-3(unnelW)h +-3(eb)h +13(11)h +1136 1086(design)s +14(goals)h +13(comm)h +-1(and)h +12(line)h +13(in)h +-1(terface)h +15(19)h +1136 1136(design)s +14(language)h +13(44)h +1136 1186(detection)s +15(recursion)h +15(45)h +1136 1236(diagnostic)s +13(coun)h +-1(ting)h +13(43)h +1136 1286(diagnostic)s +13(messages)h +14(25)h +1136 1336(diagnostics)s +13(47)h +1136 1386(do)s +1(cumen)h +-1(t)h +13(structure)h +16(macro)h +13(structure)h +16(23)h +1136 1436(do)s +1(cumen)h +-1(t)h +13(structure)h +16(16)h +1136 1486(do)s +1(cumen)h +-1(t)h +13(structure)h +16(23)h +1136 1536(do)s +1(cumen)h +-1(tation)h +12(out)h +14(of)h +13(date)h +15(18)h +1136 1586(do)s +1(cumen)h +-1(tation)h +12(43)h +1136 1636(Donald)s +12(Kn)h +-1(uth)h +15(11)h +1136 1686(Donald)s +12(Kn)h +-1(uth)h +15(7)h +1136 1736(duplication)s +12(commen)h +-1(t)h +12(18)h +1136 1786(Dwy)s +-1(er)h +14(Barry)h +14(7)h +1136 1836(e\016ciency)s +14(47)h +1136 1886(EOL)s +14(represen)h +-1(tation)h +15(45)h +1136 1935(example)s +12(o\016cial)h +13(43)h +1136 1985(extensions)s +15(\014lename)h +12(20)h +1136 2035(factor)s +14(glue)h +13(46)h +1136 2085(features)s +15(adding)h +13(36)h +1136 2135(features)s +15(an)h +-1(tiquated)h +13(43)h +1136 2185(features)s +15(mo)h +1(di\014catio)h +-1(n)h +12(35)h +1136 2235(features)s +15(remo)h +-1(ving)h +12(35)h +1136 2285(\014le)s +14(.cld)h +13(18)h +1136 2335(\014le)s +14(extension)h +14(protection)h +15(37)h +1136 2385(\014le)s +14(mark)h +-1(ers)h +13(44)h +1136 2435(\014le)s +14(names)h +13(19)h +1136 2485(\014le)s +14(names)h +13(21)h +1136 2535(\014le)s +14(signature)h +14(44)h +1136 2585(\014lename)s +12(extensions)h +15(20)h +1136 2635(\014lename)s +12(inheritance)h +15(20)h +1136 2685(\014lenames)s +13(length)h +14(29)h +1136 2735(\014lenames)s +13(p)h +1(ortable)h +14(21)h +1136 2785(formal)s +11(parameter)h +14(list)h +13(44)h +1136 2835(F)s +-3(unnelW)h +-3(eb)h +13(design)h +14(11)h +1042 2940(58)s +59 @eop +60 @bop0 +60 @bop1 +cmr10.300 sf +177 42(F)s +-3(unnelW)h +-3(eb)h +14(future)h +14(43)h +177 91(F)s +-3(unnelW)h +-3(eb)h +14(history)h +13(27)h +177 141(F)s +-3(unnelW)h +-3(eb)h +14(impl)h +-1(em)h +-1(en)h +-1(tation)h +12(27)h +177 191(F)s +-3(unnelW)h +-3(eb)h +14(manag)h +-1(em)h +-1(en)h +-1(t)h +13(39)h +177 241(F)s +-3(unnelW)h +-3(eb)h +14(mo)h +1(di\014catio)h +-1(n)h +12(35)h +177 291(F)s +-3(unnelW)h +-3(eb)h +14(motiv)h +-3(atio)h +-1(n)h +12(11)h +177 341(F)s +-3(unnelW)h +-3(eb)h +14(o\016cial)h +12(39)h +177 391(F)s +-3(unnelW)h +-3(eb)h +14(past)h +14(use)h +14(27)h +177 441(F)s +-3(unnelW)h +-3(eb)h +14(protection)h +14(37)h +177 490(F)s +-3(unnelW)h +-3(eb)h +14(syn)h +-1(tax)h +13(14)h +177 540(F)s +-3(unnelW)h +-3(eb)h +14(V1)h +13(11)h +177 590(F)s +-3(unnelW)h +-3(eb)h +14(v)h +-1(ersion)h +14(1)h +13(27)h +177 640(F)s +-3(unnelW)h +-3(eb)h +14(v)h +-1(ersion)h +14(2)h +13(27)h +177 690(F)s +-3(unnelW)h +-3(eb)h +14(v)h +-1(ersion)h +14(3)h +13(27)h +177 740(F)s +-3(unnelW)h +-3(eb)h +14(writing)h +13(itself)h +13(28)h +177 790(future)s +15(F)h +-3(unnelW)h +-3(eb)h +13(43)h +177 840(genealogy)s +13(program)h +13(36)h +177 889(generic)s +15(t)h +-1(yp)h +1(esetter)h +16(46)h +177 939(glue)s +14(factor)h +14(46)h +177 989(GNU)s +14(break)h +-1(out)h +14(41)h +177 1039(GNU)s +14(license)h +15(35)h +177 1089(GNU)s +14(license)h +15(39)h +177 1139(GNU)s +14(License)h +15(49)h +177 1189(GNU)s +14(v)h +-1(ersion)h +14(41)h +177 1239(Hac)s +-1(k)h +-1(ett)h +15(Simon)h +12(7)h +177 1288(headings)s +14(16)h +177 1338(heap)s +14(memory)h +12(29)h +177 1388(hierarc)s +-1(hical)h +14(structure)h +16(23)h +177 1438(history)s +14(F)h +-3(unnelW)h +-3(eb)h +13(27)h +177 1488(Hoare80)s +14(36)h +177 1538(Hoare80)s +14(57)h +177 1588(Horton90)s +14(28)h +177 1638(Horton90)s +14(57)h +177 1687(Hulse)s +15(Da)h +-1(vid)h +12(27)h +177 1737(Hulse)s +15(Da)h +-1(vid)h +12(7)h +177 1787(iden)s +-1(ti\014er)h +14(abbreviations)h +14(28)h +177 1837(iden)s +-1(ti\014er)h +14(28)h +177 1887(implem)s +-1(en)h +-1(tation)h +12(F)h +-3(unnelW)h +-3(eb)h +13(27)h +177 1937(include)s +14(\014le)h +14(suppression)h +15(46)h +177 1987(inden)s +-1(tation)h +13(blank)h +14(12)h +177 2037(inden)s +-1(tation)h +13(dangers)h +15(13)h +177 2086(inden)s +-1(tation)h +13(no)h +14(12)h +177 2136(inden)s +-1(tation)h +13(text)h +15(12)h +177 2186(inden)s +-1(tation)h +13(text)h +15(30)h +177 2236(inden)s +-1(tation)h +13(text)h +15(45)h +177 2286(inden)s +-1(tation)h +13(12)h +177 2336(inden)s +-1(tation)h +13(12)h +177 2386(inden)s +-1(ted)h +15(macro)h +12(call)h +13(12)h +177 2436(index)s +14(program)h +12(43)h +177 2486(inheritance)s +15(\014lename)h +12(20)h +177 2535(in)s +-1(terface)h +15(comm)h +-1(and)h +12(line)h +13(18)h +177 2585(in)s +-1(terface)h +15(comm)h +-1(and)h +12(43)h +177 2635(in)s +-1(terpreter)h +16(comm)h +-1(and)h +12(43)h +177 2685(in)s +-1(terpreter)h +16(shell)h +14(43)h +177 2735(in)s +-1(v)h +-1(o)h +1(cations)h +13(n)h +-1(um)h +-1(b)h +1(er)h +13(22)h +177 2785(issues)s +15(miscellaneous)h +13(18)h +177 2835(Jerem)s +-1(y)h +14(Begg)h +14(7)h +1136 42(Jon)s +14(Ben)h +-1(tley)h +14(11)h +1136 91(Kernighan88)s +13(28)h +1136 141(Kernighan88)s +13(57)h +1136 191(Kn)s +-1(uth)h +14(Donald)h +13(11)h +1136 241(Kn)s +-1(uth)h +14(Donald)h +13(7)h +1136 291(Kn)s +-1(uth83)h +13(11)h +1136 341(Kn)s +-1(uth83)h +13(57)h +1136 391(Kn)s +-1(uth84)h +13(57)h +1136 441(Kn)s +-1(uth84)h +13(9)h +1136 490(Lamp)s +1(ort86)h +12(57)h +1136 540(Lamp)s +1(ort86)h +12(9)h +1136 590(language)s +13(design)h +14(44)h +1136 640(languages)s +13(dangers)h +15(35)h +1136 690(LaT)s +-3(eX)h +13(9)h +1136 740(LaT)s +-3(eX)h +13(9)h +1136 790(la)s +-1(w)h +13(cop)h +-1(yrigh)h +-1(t)h +13(38)h +1136 840(leak)s +-2(age)h +13(mem)h +-1(ory)h +12(30)h +1136 889(length)s +13(\014lenames)h +14(29)h +1136 939(license)s +14(GNU)h +14(35)h +1136 989(license)s +14(GNU)h +14(39)h +1136 1039(License)s +15(GNU)h +13(49)h +1136 1089(license)s +14(38)h +1136 1139(lister)s +14(46)h +1136 1189(Macin)s +-1(tosh)h +14(29)h +1136 1239(Macin)s +-1(tosh)h +14(30)h +1136 1288(Macin)s +-1(tosh)h +14(9)h +1136 1338(macro)s +12(call)h +13(syn)h +-1(tax)h +14(16)h +1136 1388(macro)s +12(de\014nition)h +14(syn)h +-1(tax)h +14(14)h +1136 1438(macro)s +12(structure)h +16(do)h +1(cumen)h +-1(t)h +14(structure)h +16(23)h +1136 1488(macro)s +12(structure)h +16(23)h +1136 1538(mak)s +-1(e)h +12(44)h +1136 1588(mall)s +-1(o)h +1(c)h +12(29)h +1136 1638(managem)s +-1(en)h +-1(t)h +12(F)h +-3(unnelW)h +-3(eb)h +13(39)h +1136 1687(man)s +-1(ual)h +-1(s)h +12(mo)h +1(difying)h +11(38)h +1136 1737(mapp)s +1(er)h +13(44)h +1136 1787(mark)s +-1(ers)h +13(\014le)h +14(44)h +1136 1837(mem)s +-1(ory)h +12(con)h +-1(tiguous)h +14(45)h +1136 1887(mem)s +-1(ory)h +12(heap)h +14(29)h +1136 1937(mem)s +-1(ory)h +12(leak)h +-2(age)h +13(30)h +1136 1987(mem)s +-1(ory)h +12(pac)h +-1(k)h +-2(age)h +14(29)h +1136 2037(mem)s +-1(ory)h +12(stac)h +-1(k)h +14(30)h +1136 2086(mem)s +-1(ory)h +12(static)h +14(30)h +1136 2136(mem)s +-1(ory)h +12(use)h +15(of)h +13(29)h +1136 2186(messages)s +14(diagnostic)h +13(25)h +1136 2236(miscellaneous)s +12(issues)h +15(18)h +1136 2286(mnem)s +-1(onics)h +12(ASCI)h +1(I)h +14(45)h +1136 2336(mo)s +1(di\014catio)h +-1(n)h +12(features)h +15(35)h +1136 2386(mo)s +1(di\014catio)h +-1(n)h +12(F)h +-3(unnelW)h +-3(eb)h +14(35)h +1136 2436(mo)s +1(dif)h +-1(ying)h +12(man)h +-1(ual)h +-1(s)h +12(38)h +1136 2486(motiv)s +-3(atio)h +-1(n)h +12(F)h +-3(unnelW)h +-3(eb)h +14(11)h +1136 2535(MSDOS)s +14(29)h +1136 2585(names)s +13(\014le)h +14(19)h +1136 2635(names)s +13(\014le)h +14(21)h +1136 2685(naming)s +11(p)h +1(oin)h +-1(ters)h +15(29)h +1136 2735(naming)s +11(t)h +-1(yp)h +1(es)h +15(29)h +1136 2785(no)s +13(inden)h +-1(tation)h +14(12)h +1136 2835(no)s +13(inden)h +-1(tation)h +14(12)h +1042 2940(59)s +60 @eop +61 @bop0 +61 @bop1 +cmr10.300 sf +177 42(notice)s +14(cop)h +-1(yrigh)h +-1(t)h +14(1)h +177 91(n)s +-1(um)h +-1(b)h +1(er)h +13(in)h +-1(v)h +-1(o)h +1(cations)h +13(22)h +177 141(n)s +-1(um)h +-1(b)h +1(er)h +13(output)h +14(\014les)h +15(12)h +177 191(n)s +-1(um)h +-1(b)h +1(ering)h +13(section)h +14(23)h +177 241(Occam's)s +13(razor)h +15(12)h +177 291(o\016cial)s +13(example)h +12(43)h +177 341(o\016cial)s +13(F)h +-3(unnelW)h +-3(eb)h +13(39)h +177 391(options)s +14(43)h +177 441(out)s +14(of)h +13(date)h +14(do)h +1(cumen)h +-1(tation)h +13(18)h +177 490(output)s +14(\014les)h +14(n)h +-1(um)h +-1(b)h +1(er)h +14(12)h +177 540(OzT)s +-3(eX)h +15(9)h +177 590(pac)s +-1(k)h +-2(age)h +14(mem)h +-1(ory)h +12(29)h +177 640(parameter)s +14(list)h +13(formal)h +12(44)h +177 690(parameterized)s +14(macro)h +13(call)h +13(syn)h +-1(tax)h +14(16)h +177 740(parameterized)s +14(macro)h +13(de\014nitions)h +14(syn)h +-1(tax)h +14(15)h +177 790(parser)s +15(45)h +177 840(P)s +-1(ascal)h +14(12)h +177 889(past)s +14(use)h +15(F)h +-3(unnelW)h +-3(eb)h +13(27)h +177 939(Ph.D.)s +13(27)h +177 989(p)s +1(oin)h +-1(ters)h +15(naming)h +11(29)h +177 1039(p)s +1(ortabilit)h +-1(y)h +13(28)h +177 1089(p)s +1(ortable)h +14(\014lenames)h +13(21)h +177 1139(pragma)s +12(syn)h +-1(tax)h +14(44)h +177 1189(pragma)s +12(v)h +-1(ersion)h +14(45)h +177 1239(preface)s +15(5)h +177 1288(presen)s +-1(tation)h +15(notes)h +15(9)h +177 1338(program)s +12(a)h +-1(v)h +-2(ailabil)h +-1(it)h +-1(y)h +12(37)h +177 1388(program)s +12(genealogy)h +14(36)h +177 1438(program)s +12(index)h +14(43)h +177 1488(programm)s +-1(ing)h +11(p)h +1(earls)h +15(11)h +177 1538(protection)s +15(\014le)h +13(extension)h +15(37)h +177 1588(protection)s +15(F)h +-3(unnelW)h +-3(eb)h +13(37)h +177 1638(Rabino)s +-1(witz90)h +12(28)h +177 1687(Rabino)s +-1(witz90)h +12(28)h +177 1737(Rabino)s +-1(witz90)h +12(57)h +177 1787(Ramsey89)s +12(46)h +177 1837(Ramsey89)s +12(57)h +177 1887(recursion)s +15(detection)h +15(45)h +177 1937(recursion)s +15(test)h +15(43)h +177 1987(reference)s +1(s)h +16(cross)h +15(46)h +177 2037(reference)s +1(s)h +16(57)h +177 2086(regression)s +15(testing)h +15(18)h +177 2136(remo)s +-1(ving)h +12(features)h +15(35)h +177 2186(representation)s +15(EOL)h +14(45)h +177 2236(Rob)s +1(ert)h +14(Endre)h +15(T)h +-3(arjan)h +13(45)h +177 2286(Roger)s +14(Brissenden)h +16(7)h +177 2336(Ross)s +14(William)h +-2(s)h +12(1)h +177 2386(scanner)s +15(44)h +177 2436(section)s +15(n)h +-1(um)h +-1(b)h +1(ering)h +12(23)h +177 2486(section)s +15(syn)h +-1(tax)h +14(44)h +177 2535(sections)s +15(16)h +177 2585(securit)s +-1(y)h +15(authorit)h +-1(y)h +13(36)h +177 2635(setall)s +14(comm)h +-1(and)h +12(43)h +177 2685(shell)s +14(in)h +-1(terpreter)h +16(43)h +177 2735(signature)s +14(\014le)h +14(44)h +177 2785(Simon)s +12(Hac)h +-1(k)h +-1(ett)h +15(7)h +177 2835(size)s +15(stac)h +-1(k)h +14(30)h +1136 42(South)s +11(Australian)h +10(Go)h +-1(v)h +-1(ernmen)h +-1(t)h +10(Departmen)h +-1(t)h +10(of)h +1302 91(Lands)s +14(28)h +1136 141(sp)s +1(eed)h +15(47)h +1136 191(spider)s +14(46)h +1136 241(stac)s +-1(k)h +14(memo)h +-1(ry)h +12(30)h +1136 291(stac)s +-1(k)h +14(size)h +15(30)h +1136 341(static)s +14(memo)h +-1(ry)h +12(30)h +1136 391(static)s +14(v)h +-2(ariables)h +13(30)h +1136 440(strength)s +15(t)h +-1(yp)h +1(esetting)h +15(46)h +1136 490(structure)s +16(do)h +1(cumen)h +-1(t)h +13(16)h +1136 540(structure)s +16(do)h +1(cumen)h +-1(t)h +13(23)h +1136 590(structure)s +16(hierarc)h +-1(hical)h +13(23)h +1136 640(structure)s +16(macro)h +12(23)h +1136 690(st)s +-1(yle)h +14(co)h +1(ding)h +13(28)h +1136 740(suite)s +14(test)h +15(47)h +1136 790(suppression)s +15(include)h +14(\014le)h +14(46)h +1136 840(syn)s +-1(tax)h +13(F)h +-3(unnelW)h +-3(eb)h +14(14)h +1136 889(syn)s +-1(tax)h +13(macro)h +13(call)h +13(16)h +1136 939(syn)s +-1(tax)h +13(macro)h +13(de\014nition)h +14(14)h +1136 989(syn)s +-1(tax)h +13(parameterized)h +15(macro)h +12(call)h +13(16)h +1136 1039(syn)s +-1(tax)h +13(parameterized)h +15(macro)h +12(de\014nitions)h +14(15)h +1136 1089(syn)s +-1(tax)h +13(pragma)h +12(44)h +1136 1139(syn)s +-1(tax)h +13(section)h +15(44)h +1136 1189(table)s +13(of)h +14(con)h +-1(ten)h +-1(ts)h +15(45)h +1136 1239(tangle)s +13(45)h +1136 1288(T)s +-3(arjan)h +13(Rob)h +1(ert)h +14(Endre)h +15(45)h +1136 1338(T)s +-3(arjan72)h +12(45)h +1136 1388(T)s +-3(arjan72)h +12(57)h +1136 1438(test)s +15(recursion)h +15(43)h +1136 1488(test)s +15(suite)h +14(47)h +1136 1538(testing)s +14(regression)h +15(18)h +1136 1588(text)s +14(inden)h +-1(tation)h +13(12)h +1136 1638(text)s +14(inden)h +-1(tation)h +13(12)h +1136 1687(text)s +14(inden)h +-1(tation)h +13(30)h +1136 1737(text)s +14(inden)h +-1(tation)h +13(45)h +1136 1787(T)s +-3(eX)h +14(23)h +1136 1837(T)s +-3(eX)h +14(9)h +1136 1887(ThinkC)s +13(compiler)h +12(30)h +1136 1937(trademark)s +13(36)h +1136 1987(T)s +-3(rev)h +-1(orro)h +-1(w)h +13(Andrew)h +15(9)h +1136 2037(trouble)s +14(asking)h +13(for)h +13(28)h +1136 2086(t)s +-1(yp)h +1(es)h +14(naming)h +12(29)h +1136 2136(t)s +-1(yp)h +1(esetter)h +16(generic)h +15(46)h +1136 2186(t)s +-1(yp)h +1(esetting)h +14(strength)h +16(46)h +1136 2236(t)s +-1(yp)h +1(esetting)h +14(9)h +1136 2286(Univ)s +-1(ersit)h +-1(y)h +13(Adelaide)h +14(27)h +1136 2336(Unix)s +13(36)h +1136 2386(USDOD83)s +13(27)h +1136 2436(USDOD83)s +13(57)h +1136 2485(use)s +14(of)h +14(mem)h +-1(ory)h +12(29)h +1136 2535(v)s +-2(ariables)h +13(static)h +14(30)h +1136 2585(v)s +-2(ax)h +13(vms)h +12(18)h +1136 2635(v)s +-1(ersion)h +14(GNU)h +13(41)h +1136 2685(v)s +-1(ersion)h +14(pragma)h +12(45)h +1136 2735(video)s +13(game)h +13(35)h +1136 2785(vms)s +12(v)h +-2(ax)h +13(18)h +1136 2835(w)s +-1(ea)h +-1(v)h +-1(e)h +14(45)h +1042 2940(60)s +61 @eop +62 @bop0 +62 @bop1 +cmr10.300 sf +177 42(William)s +-2(s)h +13(Ross)h +13(1)h +177 91(w)s +-1(ork)h +14(38)h +177 141(writing)s +13(itself)h +14(F)h +-3(unnelW)h +-3(eb)h +13(28)h +1042 2940(61)s +62 @eop +@end |