init
[uebersetzerbau-ss10.git] / doc / ox / oxURM.ps
1 %!PS-Adobe-2.0
2 %%Creator: dvips 5.519 Copyright 1986, 1993 Radical Eye Software
3 %%Title: manonly.dvi
4 %%CreationDate: Sun Nov 14 02:00:43 1993
5 %%Pages: 57
6 %%PageOrder: Ascend
7 %%BoundingBox: 0 0 612 792
8 %%EndComments
9 %DVIPSCommandLine: dvips -o manonly.ps manonly.dvi
10 %DVIPSSource:  TeX output 1993.11.14:0200
11 %%BeginProcSet: tex.pro
12 /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
13 /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
14 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
15 ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
16 isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
17 hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
18 TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get
19 round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{
20 statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0
21 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn
22 begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X
23 array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo
24 setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx
25 FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{
26 pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}
27 B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup
28 length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B
29 /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type
30 /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp
31 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2
32 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff
33 ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice
34 ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{
35 ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn
36 /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1
37 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{cc 1 add D
38 }B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0
39 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add
40 .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage
41 userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
42 known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
43 /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
44 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
45 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
46 {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
47 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
48 ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley
49 false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley
50 scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave
51 transform round exch round exch itransform moveto rulex 0 rlineto 0
52 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta
53 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}
54 B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{
55 3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p
56 -1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{
57 3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end
58 %%EndProcSet
59 TeXDict begin 40258431 52099146 1000 300 300
60 (/home/grad2/bischoff/oxDevelop/oxman/manonly.dvi) @start
61 /Fa 80 126 df<60F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0600000000060F0F06004197798
62 16>33 D<6030F078F078F078F078F078F078F078F078E038E038E0380D0C7C9916>I<03
63 87000387000387000387000387000387007FFFC0FFFFE0FFFFE0070E00070E00070E000F
64 1E000E1C000E1C000E1C00FFFFE0FFFFE07FFFC01C38001C38001C38001C38001C38001C
65 380013197F9816>I<3801807C0380FE0780FE0700EE0700EE0F00EE0E00EE1E00FE1C00
66 FE3C007C380038380000780000700000F00000E00000E00001E00001C00003C000038000
67 0383800787C0070FE00F0EE00E0EE01E0EE01C0EE01C0EE03C0FE03807C018038013207F
68 9C16>37 D<03C00007E0000FE0001EF0001C70001C70001C70001CF7E01CE7E01DE7E01F
69 C7000F8F000F0E001F0E003F1E007F9C00F3BC00E3F800E1F800E1F1C0E0F1C0F1F9C07F
70 FFC03F9F801F0F0013197F9816>I<183C3E1E0E0E0E1E1C3C78F060070D799816>I<00E0
71 01E007C007000F001E003C0038007800700070007000F000E000E000E000E000E000E000
72 E000F000700070007000780038003C001E000F00070007C001E000E00B217A9C16>I<E0
73 00F0007C001C001E000F000780038003C001C001C001C001E000E000E000E000E000E000
74 E000E001E001C001C001C003C0038007800F001E001C007C00F000E0000B217C9C16>I<
75 01C00001C00001C00001C00071C700F9CF807FFF001FFC0007F00007F0001FFC007FFF00
76 F9CF8071C70001C00001C00001C00001C00011127E9516>I<01C00001C00001C00001C0
77 0001C00001C00001C00001C000FFFF80FFFF80FFFF8001C00001C00001C00001C00001C0
78 0001C00001C00001C00011137E9516>I<387C7E7E3E0E1E3C7CF860070B798416>I<FFFF
79 80FFFF80FFFF8011037E8D16>I<70F8F8F8700505788416>I<0001800003800007800007
80 00000F00000E00001E00001C00003C0000380000780000700000F00000E00001E00001C0
81 0001C00003C0000380000780000700000F00000E00001E00001C00003C00003800007800
82 00700000F00000E00000E0000011207E9C16>I<03E0000FF8001FFC001E3C00380E0078
83 0F00700700700700E00380E00380E00380E00380E00380E00380E00380E00380F0078070
84 0700700700780F003C1E001E3C001FFC000FF80003E00011197E9816>I<018003800780
85 07801F807F80FF8073800380038003800380038003800380038003800380038003800380
86 03807FF87FFC7FF80E197C9816>I<07E0001FF8007FFE00783F00F00F00F00780F00380
87 F00380000380000380000780000700000F00001E00003C0000780000F00003E000078000
88 0F00001E03803C03807FFF80FFFF807FFF8011197E9816>I<07E0001FFC007FFE00781F
89 00780F00780700000700000F00000F00003E0007FC0007F80007FC00001E000007000007
90 80000380000380F00380F00780F00700F81F007FFE003FFC0007E00011197E9816>I<00
91 7C0000FC0000DC0001DC00039C00039C00071C000F1C000E1C001E1C003C1C00381C0078
92 1C00F01C00FFFFE0FFFFE0FFFFE0001C00001C00001C00001C00001C0001FFC001FFC001
93 FFC013197F9816>I<3FFE003FFE003FFE00380000380000380000380000380000380000
94 3800003FF0003FFC003FFE003C0F00300700000780000380600380F00380F00780F00F00
95 F81F007FFE001FF80007E00011197E9816>I<07F0001FFC003FFE007C1F00F00780E003
96 80E00380E003807007007C1F001FFC0007F0001FFC003C1E00700700F00780E00380E003
97 80E00380F007807007007C1F003FFE001FFC0007F00011197E9816>56
98 D<03E0000FF8003FFC007C1E00780F00F00700E00700E00780E00780E00380F00780F007
99 80780F803FFF803FFB800FE380000780000700300F00780E00781E00787C007FF8003FE0
100 000F800011197E9816>I<70F8F8F870000000000000000070F8F8F8700512789116>I<38
101 7C7C7C380000000000000000387C7C7C3C1C3C38F8F0600618799116>I<000380000780
102 001F80003E0000FC0003F00007E0001F80003E0000FC0000F00000FC00003E00001F8000
103 07E00003F00000FC00003E00001F8000078000038011157E9616>I<7FFF00FFFF80FFFF
104 80000000000000000000000000000000FFFF80FFFF807FFF00110B7E9116>I<E00000F0
105 0000FC00003E00001F800007E00003F00000FC00003E00001F80000780001F80003E0000
106 FC0003F00007E0001F80003E0000FC0000F00000E0000011157E9616>I<0FE03FF87FFC
107 F01EF00EF00E601E007C00F801F003E003C0038003800380038003000000000000000000
108 03000780078003000F197D9816>I<00F80003FE000FFF001F0F803E3F803C7F8078FFC0
109 71E7C0F1C3C0E3C3C0E381C0E381C0E381C0E381C0E381C0E3C3C0F1C38071E78078FF00
110 3C7E003E3C001F03C00FFFC003FF0000FC0012197E9816>I<00E00001F00001F00001B0
111 0001B00003B80003B80003B800031800071C00071C00071C00071C00071C000E0E000E0E
112 000FFE000FFE001FFF001C07001C07001C07007F1FC0FF1FE07F1FC013197F9816>I<7F
113 F800FFFE007FFF001C0F001C07801C03801C03801C03801C07801C07001FFF001FFE001F
114 FE001C1F001C03801C03C01C01C01C01C01C01C01C01C01C03C01C07807FFF80FFFF007F
115 FC0012197F9816>I<01F18007FF800FFF801F0F803C0780780780780380700380F00000
116 E00000E00000E00000E00000E00000E00000E00000F000007003807803807803803C0780
117 1F0F000FFE0007FC0001F00011197E9816>I<7FF800FFFE007FFF001C0F001C07801C03
118 C01C01C01C01C01C01E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C01
119 C01C01C01C03C01C07801C0F807FFF00FFFE007FF8001319809816>I<7FFFC0FFFFC07F
120 FFC01C01C01C01C01C01C01C01C01C00001C00001C1C001C1C001FFC001FFC001FFC001C
121 1C001C1C001C00001C00E01C00E01C00E01C00E01C00E07FFFE0FFFFE07FFFE013197F98
122 16>I<FFFFE0FFFFE0FFFFE01C00E01C00E01C00E01C00E01C00001C00001C1C001C1C00
123 1FFC001FFC001FFC001C1C001C1C001C00001C00001C00001C00001C00001C0000FF8000
124 FFC000FF800013197F9816>I<03E30007FF001FFF003E1F003C0F00780F007807007007
125 00F00000E00000E00000E00000E00000E03F80E07FC0E03F80F00700700700780F00780F
126 003C0F003E1F001FFF0007FF0003E70012197E9816>I<7F1FC0FFBFE07F1FC01C07001C
127 07001C07001C07001C07001C07001C07001FFF001FFF001FFF001C07001C07001C07001C
128 07001C07001C07001C07001C07001C07007F1FC0FFBFE07F1FC013197F9816>I<FFFEFF
129 FEFFFE038003800380038003800380038003800380038003800380038003800380038003
130 8003800380FFFEFFFEFFFE0F197D9816>I<FFC000FFC000FFC0001C00001C00001C0000
131 1C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0040
132 1C00E01C00E01C00E01C00E0FFFFE0FFFFE0FFFFE013197F9816>76
133 D<7E1FC0FF3FE07F1FC01D07001D87001D87001D87001DC7001DC7001CC7001CC7001CE7
134 001CE7001CE7001C67001C67001C77001C77001C37001C37001C37001C17007F1F00FF9F
135 007F0F0013197F9816>78 D<1FFC003FFE007FFF00780F00F00780E00380E00380E00380
136 E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380F00780
137 F00780780F007FFF003FFE001FFC0011197E9816>I<7FF800FFFE007FFF001C0F801C03
138 801C03C01C01C01C01C01C01C01C03C01C03801C0F801FFF001FFE001FF8001C00001C00
139 001C00001C00001C00001C00001C00007F0000FF80007F000012197F9816>I<7FE000FF
140 F8007FFC001C1E001C0F001C07001C07001C07001C07001C0F001C1E001FFC001FF8001F
141 FC001C3E001C0E001C0E001C0E001C0E001C0E201C0E701C0E707F0FF0FF87E07F03C014
142 197F9816>82 D<07E3001FFF007FFF00781F00F00F00E00700E00700E00000F000007800
143 007F80001FF00007FC0000FE00000F00000780000380000380E00380E00380F00780F80F
144 00FFFE00FFFC00C7F00011197E9816>I<7FFFE0FFFFE0FFFFE0E0E0E0E0E0E0E0E0E0E0
145 E0E000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
146 E00000E00000E00000E00007FC000FFE0007FC0013197F9816>I<FE0FE0FF1FE0FE0FE0
147 3803801C07001C07001C07001C07000E0E000E0E000E0E000E0E00060C00071C00071C00
148 071C00071C0003180003B80003B80003B80001B00001F00001F00000E00013197F9816>
149 86 D<FE0FE0FF1FE0FE0FE01C07001C07000E0E000E0E00071C00071C00071C0003B800
150 03B80001F00001F00000E00000E00000E00000E00000E00000E00000E00000E00003F800
151 07FC0003F80013197F9816>89 D<7FFF80FFFF80FFFF80E00700E00F00E01E00E01C0000
152 3C0000780000700000F00001E00001C00003C0000780000700000F00001E03801C03803C
153 0380780380700380FFFF80FFFF80FFFF8011197E9816>I<FFF0FFF0FFF0E000E000E000
154 E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000
155 E000E000E000E000E000FFF0FFF0FFF00C20789C16>I<E00000E00000F0000070000078
156 00003800003C00001C00001E00000E00000F000007000007800003800003C00001C00001
157 C00001E00000E00000F000007000007800003800003C00001C00001E00000E00000F0000
158 070000078000038000018011207E9C16>I<FFF0FFF0FFF0007000700070007000700070
159 007000700070007000700070007000700070007000700070007000700070007000700070
160 00700070FFF0FFF0FFF00C207F9C16>I<FFFF80FFFF80FFFF8011037E7E16>95
161 D<1FE0007FF8007FFC00783C00301E00000E00000E0003FE001FFE007E0E00F00E00E00E
162 00E00E00F01E00F83E007FFFE03FE7E00F83E013127E9116>97 D<7E0000FE00007E0000
163 0E00000E00000E00000E00000E3E000EFF800FFFC00F83E00F01E00E00F00E00F00E0070
164 0E00700E00700E00700E00F00F00E00F01E00F83C00FFFC00EFF00063C001419809816>
165 I<03F80FFE1FFE3C1E780C7000F000E000E000E000E000F000700778073E0F1FFE0FFC03
166 F010127D9116>I<003F00007F00003F0000070000070000070000070003C7000FF7003F
167 FF003C1F00780F00F00700F00700E00700E00700E00700E00700F00700F00F00781F007C
168 3F003FFFE01FF7F007C7E014197F9816>I<07E00FF81FFC3C3E780E700FF007FFFFFFFF
169 FFFFE000F000700778073E1F1FFE0FFC03F010127D9116>I<001F00007F8000FF8001E7
170 8001C30001C00001C0007FFF00FFFF00FFFF0001C00001C00001C00001C00001C00001C0
171 0001C00001C00001C00001C00001C00001C0003FFE007FFF003FFE0011197F9816>I<03
172 E3C00FFFE01FFFE01E3CC03C1E00380E00380E00380E003C1E001E3C001FFC001FF8003B
173 E0003800003800001FFC001FFF003FFFC07803C0F001E0E000E0E000E0E000E0F001E07C
174 07C03FFF800FFE0003F800131C7F9116>I<7E0000FE00007E00000E00000E00000E0000
175 0E00000E3C000EFF000FFF800F87800F03800F03800E03800E03800E03800E03800E0380
176 0E03800E03800E03800E03807FC7F0FFE7F87FC7F01519809816>I<018003C003C00180
177 00000000000000007FC07FC07FC001C001C001C001C001C001C001C001C001C001C001C0
178 01C07FFFFFFF7FFF101A7D9916>I<003000780078003000000000000000001FF81FF81F
179 F80038003800380038003800380038003800380038003800380038003800380038003800
180 3800386078F0F0FFE07FC03F800D237E9916>I<7E0000FE00007E00000E00000E00000E
181 00000E00000E7FE00E7FE00E7FE00E0F000E1E000E3C000E78000EF0000FF8000FF8000F
182 BC000F1E000E0E000E0F000E07807F87F0FFCFF07F87F01419809816>I<FFC000FFC000
183 FFC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000
184 01C00001C00001C00001C00001C00001C00001C00001C000FFFF80FFFF80FFFF8011197E
185 9816>I<F9C380FFEFC0FFFFE03E7CE03C78E03870E03870E03870E03870E03870E03870
186 E03870E03870E03870E03870E0FE7CF8FE7CF8FE7CF81512809116>I<7E3C00FEFF007F
187 FF800F87800F03800F03800E03800E03800E03800E03800E03800E03800E03800E03800E
188 03807FC7F0FFE7F87FC7F01512809116>I<03E0000FF8001FFC003C1E00780F00700700
189 E00380E00380E00380E00380E00380F00780700700780F003C1E001FFC000FF80003E000
190 11127E9116>I<7E3E00FEFF807FFFC00F83E00F01E00E00F00E00F00E00700E00700E00
191 700E00700E00F00F00E00F01E00F83C00FFFC00EFF000E3C000E00000E00000E00000E00
192 000E00000E00007FC000FFE0007FC000141B809116>I<FF0FC0FF3FE0FF7FE007F04007
193 E00007C000078000078000070000070000070000070000070000070000070000FFFC00FF
194 FC00FFFC0013127F9116>114 D<0FEC3FFC7FFCF03CE01CE01CF0007F801FF007FC003E
195 E00EE00EF00EF81EFFFCFFF8C7E00F127D9116>I<030000070000070000070000070000
196 7FFF00FFFF00FFFF00070000070000070000070000070000070000070000070100070380
197 07038007078007878003FF0003FE0000F80011177F9616>I<7E1F80FE3F807E1F800E03
198 800E03800E03800E03800E03800E03800E03800E03800E03800E03800E07800F0F800FFF
199 F007FFF803E3F01512809116>I<7F1FC0FF1FE07F1FC01C07001E0F000E0E000E0E000E
200 0E00071C00071C00071C00071C0003B80003B80003B80001F00001F00000E00013127F91
201 16>I<FF1FE0FFBFE0FF1FE038038038038038038038038038E38019F30019F30019B300
202 1DB7001DB7001DB7001DB7000F1E000F1E000F1E0013127F9116>I<7F1FC07F3FC07F1F
203 C00F1C00073C0003B80003F00001F00000E00001E00001F00003B800073C00071C000E0E
204 007F1FC0FF3FE07F1FC013127F9116>I<7F1FC0FF9FE07F1FC01C07000E07000E0E000E
205 0E00070E00071C00071C00039C00039C0003980001B80001B80000F00000F00000F00000
206 E00000E00000E00001C00079C0007BC0007F80003F00003C0000131B7F9116>I<3FFFC0
207 7FFFC07FFFC0700780700F00701E00003C0000F80001F00003E00007C0000F00001E01C0
208 3C01C07801C0FFFFC0FFFFC0FFFFC012127F9116>I<001F80007F8001FF8001E00001C0
209 0001C00001C00001C00001C00001C00001C00001C00001C00003C0007F8000FF0000FF00
210 007F800003C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001E0
211 0001FF80007F80001F8011207E9C16>I<E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0
212 E0E0E0E0E0E0E0E0E0E0E0E0E00320779C16>I<FC0000FF0000FFC00003C00001C00001
213 C00001C00001C00001C00001C00001C00001C00001C00001E00000FF00007F80007F8000
214 FF0001E00001C00001C00001C00001C00001C00001C00001C00001C00001C00003C000FF
215 C000FF0000FC000011207E9C16>I E /Fb 57 123 df<0001FF0000001FFFC000007F80
216 F00000FE00F80003FC01FC0003F803FC0007F003FC0007F003FC0007F003FC0007F001F8
217 0007F000F00007F000000007F000000007F000000007F0000000FFFFFFFC00FFFFFFFC00
218 FFFFFFFC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007
219 F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F0
220 01FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001
221 FC007FFF1FFFC07FFF1FFFC07FFF1FFFC0222A7FA926>12 D<1C007F00FF80FF80FFC0FF
222 C0FFC07FC01CC000C000C001C0018001800380070006000E001C00380030000A157BA913
223 >39 D<00030007001E003C007800F800F001E003E007C007C00F800F801F801F003F003F
224 003E003E007E007E007E007C00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC
225 00FC00FC007C007E007E007E003E003E003F003F001F001F800F800F8007C007C003E001
226 E000F000F80078003C001E00070003103C7AAC1B>I<C000E00078003C001E001F000F00
227 078007C003E003E001F001F001F800F800FC00FC007C007C007E007E007E003E003F003F
228 003F003F003F003F003F003F003F003F003F003F003F003F003E007E007E007E007C007C
229 00FC00FC00F801F801F001F003E003E007C007800F001F001E003C007800E000C000103C
230 7CAC1B>I<1C007F00FF80FF80FFC0FFC0FFC07FC01CC000C000C001C001800180038007
231 0006000E001C00380030000A157B8813>44 D<FFFF80FFFF80FFFF80FFFF80FFFF80FFFF
232 8011067F9017>I<1C007F00FF80FF80FF80FF80FF807F001C0009097B8813>I<003F8000
233 01FFF00007E0FC000FC07E001F803F001F803F003F001F803F001F807F001FC07F001FC0
234 7F001FC07F001FC0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0
235 FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE07F001FC0
236 7F001FC07F001FC07F001FC03F001F803F001F801F803F001F803F000FC07E0007E0FC00
237 01FFF000003F80001B277DA622>48 D<000E00001E00007E0007FE00FFFE00FFFE00F8FE
238 0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE
239 0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE
240 0000FE0000FE0000FE0000FE0000FE007FFFFE7FFFFE7FFFFE17277BA622>I<00FF8000
241 03FFF0000FFFFC003F03FF007C00FF807C007FC0FE007FC0FF003FE0FF003FE0FF003FE0
242 FF001FE07E001FE03C003FE000003FE000003FC000003FC000007F8000007F800000FF00
243 0001FE000001FC000003F0000007E000000FC000001F0000003E0000007C00E0007800E0
244 00F000E001E001C0038001C0070001C00FFFFFC01FFFFFC03FFFFFC07FFFFFC0FFFFFF80
245 FFFFFF80FFFFFF801B277DA622>I<007F800003FFF00007FFFC001F81FE001F00FF003F
246 80FF003F807F803FC07F803F807F803F807F801F007F800000FF800000FF000000FF0000
247 01FE000003F8000007F00000FFC00000FFF0000001FC000000FF0000007F8000007FC000
248 003FC000003FE000003FE000003FE03C003FE07E003FE0FF003FE0FF003FE0FF003FC0FF
249 007FC0FE007F807C00FF803F01FF001FFFFC0007FFF00000FF80001B277DA622>I<0000
250 0E0000001E0000003E0000007E000000FE000000FE000001FE000003FE0000077E00000E
251 7E00000E7E00001C7E0000387E0000707E0000E07E0000E07E0001C07E0003807E000700
252 7E000E007E000E007E001C007E0038007E0070007E00E0007E00FFFFFFF8FFFFFFF8FFFF
253 FFF80000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00007F
254 FFF8007FFFF8007FFFF81D277EA622>I<0C0003000F803F000FFFFE000FFFFE000FFFFC
255 000FFFF8000FFFE0000FFFC0000FFE00000E0000000E0000000E0000000E0000000E0000
256 000E0000000E7FC0000FFFF8000F80FE000E007F000C003F8000003F8000001FC000001F
257 C000001FE000001FE018001FE07E001FE0FE001FE0FE001FE0FE001FE0FE001FE0FE001F
258 C078003FC078003F803C007F001F01FE000FFFFC0003FFF00000FF80001B277DA622>I<
259 0007F000003FFC0000FFFF0001FC0F0007F01F800FE03F800FC03F801FC03F803F803F80
260 3F801F007F8000007F0000007F0000007F000000FF000000FF0FC000FF3FF800FF70FE00
261 FFE03F00FFC03F80FF801FC0FF801FC0FF801FC0FF001FE0FF001FE0FF001FE0FF001FE0
262 7F001FE07F001FE07F001FE07F001FE03F801FC03F801FC01F803F800FC03F8007E0FF00
263 03FFFC0000FFF000003FC0001B277DA622>I<380000003E0000003FFFFFF03FFFFFF03F
264 FFFFF07FFFFFE07FFFFFC07FFFFFC07FFFFF8070000F0070001E0070003C00E0003800E0
265 007800E000F0000001E0000003C0000003C0000007800000078000000F0000001F000000
266 1F0000001F0000003F0000003F0000003E0000007E0000007E0000007E0000007E000000
267 FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000
268 3800001C297CA822>I<007F800001FFF00007FFF8000FE0FE001FC07E003F803F007F00
269 3F807F003F80FF001FC0FF001FC0FF001FC0FF001FC0FF001FE0FF001FE0FF001FE0FF00
270 1FE07F003FE07F003FE07F003FE03F807FE01F80FFE00FE1DFE003FF9FE0007E1FE00000
271 1FE000001FC000001FC000001FC000003FC01F003F803F803F803F807F003F807F003F80
272 FE003F01FC001E03F8000FFFE00007FF800001FE00001B277DA622>57
273 D<1C007F00FF80FF80FF80FF80FF807F001C000000000000000000000000000000000000
274 001C007F00FF80FF80FF80FF80FF807F001C00091B7B9A13>I<000003800000000007C0
275 0000000007C0000000000FE0000000000FE0000000000FE0000000001FF0000000001FF0
276 000000003FF8000000003FF8000000003FF80000000073FC0000000073FC00000000F3FE
277 00000000E1FE00000000E1FE00000001C0FF00000001C0FF00000003C0FF80000003807F
278 80000007807FC0000007003FC0000007003FC000000E003FE000000E001FE000001E001F
279 F000001C000FF000001FFFFFF000003FFFFFF800003FFFFFF80000780007FC0000700003
280 FC0000700003FC0000E00001FE0000E00001FE0001E00001FF0001C00000FF0001C00000
281 FF00FFFE001FFFFEFFFE001FFFFEFFFE001FFFFE2F297EA834>65
282 D<00003FF001800003FFFE0780000FFFFF8F80003FF007FF8000FF8001FF8001FE00007F
283 8007FC00003F8007F800001F800FF000000F801FE000000F803FE0000007803FC0000007
284 807FC0000003807FC0000003807FC000000380FF8000000000FF8000000000FF80000000
285 00FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000
286 00FF8000000000FF80000000007FC0000000007FC0000003807FC0000003803FC0000003
287 803FE0000003801FE0000007800FF00000070007F800000F0007FC00001E0001FE00003C
288 0000FF8000F800003FF007F000000FFFFFC0000003FFFF000000003FF8000029297CA832
289 >67 D<FFFFFFF80000FFFFFFFF8000FFFFFFFFE00003FC001FF80003FC0007FC0003FC00
290 01FE0003FC0000FF0003FC00007F8003FC00003FC003FC00001FC003FC00001FE003FC00
291 001FE003FC00000FF003FC00000FF003FC00000FF003FC00000FF003FC00000FF803FC00
292 000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00
293 000FF803FC00000FF803FC00000FF803FC00000FF003FC00000FF003FC00000FF003FC00
294 001FE003FC00001FE003FC00001FC003FC00003FC003FC00007F8003FC00007F0003FC00
295 01FE0003FC0003FC0003FC001FF800FFFFFFFFE000FFFFFFFF8000FFFFFFFC00002D297D
296 A835>I<FFFFFFFFE0FFFFFFFFE0FFFFFFFFE003FC001FE003FC0007F003FC0001F003FC
297 0001F003FC0000F003FC00007003FC00007003FC00007003FC01C07803FC01C03803FC01
298 C03803FC01C03803FC03C00003FC03C00003FC0FC00003FFFFC00003FFFFC00003FFFFC0
299 0003FC0FC00003FC03C00003FC03C00003FC01C00E03FC01C00E03FC01C00E03FC01C01C
300 03FC00001C03FC00001C03FC00001C03FC00003C03FC00003803FC00007803FC0000F803
301 FC0001F803FC0003F803FC001FF8FFFFFFFFF0FFFFFFFFF0FFFFFFFFF027297DA82D>I<
302 00007FE003000003FFFC0F00001FFFFF1F00007FF00FFF0000FF8001FF0003FE0000FF00
303 07FC00007F000FF800003F000FF000001F001FE000001F003FE000000F003FC000000F00
304 7FC0000007007FC0000007007FC000000700FF8000000000FF8000000000FF8000000000
305 FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000
306 FF8001FFFFF8FF8001FFFFF87FC001FFFFF87FC00000FF007FC00000FF003FC00000FF00
307 3FE00000FF001FE00000FF000FF00000FF000FF80000FF0007FC0000FF0003FE0001FF00
308 00FF8001FF00007FF007FF00001FFFFFBF000003FFFE0F0000007FF003002D297CA836>
309 71 D<FFFFFCFFFFFCFFFFFC01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00
310 01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00
311 01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00
312 01FE0001FE0001FE00FFFFFCFFFFFCFFFFFC16297EA81A>73 D<FFFFFC0000FFFFFC0000
313 FFFFFC000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003
314 FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC
315 00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00
316 000003FC0001C003FC0001C003FC0001C003FC0001C003FC0003C003FC00038003FC0003
317 8003FC00078003FC00078003FC000F8003FC000F8003FC001F8003FC007F8003FC01FF00
318 FFFFFFFF00FFFFFFFF00FFFFFFFF0022297DA829>76 D<FFFE0000001FFFC0FFFE000000
319 1FFFC0FFFF0000003FFFC003FF0000003FF00003FF0000003FF00003BF80000077F00003
320 BF80000077F000039FC00000E7F000039FC00000E7F000038FE00001C7F000038FE00001
321 C7F0000387F0000387F0000387F0000387F0000387F0000387F0000383F8000707F00003
322 83F8000707F0000381FC000E07F0000381FC000E07F0000380FE001C07F0000380FE001C
323 07F0000380FF003807F00003807F003807F00003807F003807F00003803F807007F00003
324 803F807007F00003801FC0E007F00003801FC0E007F00003800FE1C007F00003800FE1C0
325 07F00003800FE1C007F000038007F38007F000038007F38007F000038003FF0007F00003
326 8003FF0007F000038001FE0007F000038001FE0007F000038000FC0007F000038000FC00
327 07F000FFFE00FC01FFFFC0FFFE007801FFFFC0FFFE007801FFFFC03A297DA841>I<0000
328 FFE000000007FFFC0000003FC07F8000007F001FC00001FC0007F00003F80003F80007F0
329 0001FC000FF00001FE001FE00000FF001FE00000FF003FC000007F803FC000007F807FC0
330 00007FC07F8000003FC07F8000003FC07F8000003FC0FF8000003FE0FF8000003FE0FF80
331 00003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF80
332 00003FE0FF8000003FE07F8000003FC07FC000007FC07FC000007FC03FC000007F803FC0
333 00007F801FE00000FF001FE00000FF000FF00001FE0007F00001FC0003F80003F80001FC
334 0007F00000FF001FE000003FC07F8000000FFFFE00000000FFE000002B297CA834>79
335 D<FFFFFFF800FFFFFFFF00FFFFFFFFC003FC003FE003FC000FF003FC0007F803FC0007FC
336 03FC0003FC03FC0003FE03FC0003FE03FC0003FE03FC0003FE03FC0003FE03FC0003FE03
337 FC0003FE03FC0003FC03FC0007FC03FC0007F803FC000FF003FC003FE003FFFFFF8003FF
338 FFFE0003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00
339 000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC0000
340 0003FC00000003FC000000FFFFF00000FFFFF00000FFFFF0000027297DA82F>I<FFFFFF
341 E00000FFFFFFFE0000FFFFFFFF800003FC007FE00003FC000FF00003FC0007F80003FC00
342 07FC0003FC0003FC0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE0003FC00
343 03FE0003FC0003FE0003FC0003FC0003FC0007F80003FC0007F80003FC001FE00003FC00
344 7FC00003FFFFFE000003FFFFF0000003FC01FC000003FC007F000003FC007F800003FC00
345 3FC00003FC003FC00003FC001FE00003FC001FE00003FC001FE00003FC001FE00003FC00
346 1FF00003FC001FF00003FC001FF00003FC001FF00003FC001FF00703FC001FF80703FC00
347 0FF80703FC000FFC0FFFFFF007FE1EFFFFF001FFFCFFFFF0003FF030297DA834>82
348 D<007F806003FFF0E00FFFFFE01F807FE03F001FE07E0007E07E0003E07C0003E0FC0001
349 E0FC0001E0FC0000E0FE0000E0FE0000E0FF000000FFC000007FFE00007FFFE0003FFFFC
350 003FFFFF001FFFFF8007FFFFC003FFFFE000FFFFF00007FFF000007FF000000FF8000007
351 F8000003F8E00003F8E00001F8E00001F8E00001F8F00001F8F00001F0F80003F0FC0003
352 E0FF0007E0FFE01FC0FFFFFF00E0FFFE00C01FF0001D297CA826>I<7FFFFFFFFFC07FFF
353 FFFFFFC07FFFFFFFFFC07F803FC03FC07E003FC007C078003FC003C078003FC003C07000
354 3FC001C0F0003FC001E0F0003FC001E0E0003FC000E0E0003FC000E0E0003FC000E0E000
355 3FC000E0E0003FC000E000003FC0000000003FC0000000003FC0000000003FC000000000
356 3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000000
357 3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000000
358 3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC00000007F
359 FFFFE000007FFFFFE000007FFFFFE0002B287EA730>I<FFFFF0003FFF80FFFFF0003FFF
360 80FFFFF0003FFF8003FF000001E00001FF000003C00000FF8000038000007FC000078000
361 007FE0000F0000003FE0000E0000001FF0001E0000001FF8003C0000000FF80038000000
362 07FC007800000007FE00F000000003FE00E000000001FF01E000000001FF83C000000000
363 FF8380000000007FC780000000007FEF00000000003FEE00000000001FFE00000000000F
364 FC00000000000FF8000000000007F8000000000007F8000000000007F8000000000007F8
365 000000000007F8000000000007F8000000000007F8000000000007F8000000000007F800
366 0000000007F8000000000007F8000000000007F8000000000007F8000000000007F80000
367 000001FFFFE000000001FFFFE000000001FFFFE0000031297FA834>89
368 D<01FF800007FFF0000F81FC001FC0FE001FC07F001FC07F001FC03F800F803F8000003F
369 8000003F8000003F80000FFF8000FFFF8007FC3F801FE03F803F803F807F803F807F003F
370 80FE003F80FE003F80FE003F80FE007F80FF007F807F00FFC03F83DFFC0FFF0FFC01FC03
371 FC1E1B7E9A21>97 D<FFE0000000FFE0000000FFE00000000FE00000000FE00000000FE0
372 0000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000
373 00000FE00000000FE00000000FE1FE00000FE7FF80000FFE07E0000FF803F8000FF001FC
374 000FE000FE000FE000FE000FE0007F000FE0007F000FE0007F800FE0007F800FE0007F80
375 0FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F000F
376 E000FF000FE000FE000FF000FE000FF001FC000FF803F8000F9E07E0000F0FFF80000E01
377 FC0000212A7EA926>I<001FF80000FFFE0003F01F000FE03F801FC03F803F803F803F80
378 3F807F801F007F000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
379 0000FF000000FF0000007F0000007F8000003F8001C03FC001C01FC003C00FE0078003F0
380 1F0000FFFC00001FE0001A1B7E9A1F>I<00003FF80000003FF80000003FF800000003F8
381 00000003F800000003F800000003F800000003F800000003F800000003F800000003F800
382 000003F800000003F800000003F800000003F800001FE3F80000FFFBF80003F03FF8000F
383 E00FF8001FC007F8003F8003F8003F8003F8007F8003F8007F0003F800FF0003F800FF00
384 03F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003
385 F8007F0003F8007F0003F8003F8003F8003F8007F8001FC00FF8000FE01FF80003F03FFF
386 8000FFF3FF80003FC3FF80212A7EA926>I<003FE00001FFF80003F07E000FE03F001FC0
387 1F803F800FC03F800FC07F000FC07F0007E0FF0007E0FF0007E0FF0007E0FFFFFFE0FFFF
388 FFE0FF000000FF000000FF000000FF0000007F0000007F8000003F8000E03F8001E01FC0
389 01C00FE003C003F81F8000FFFE00001FF0001B1B7E9A20>I<0007F0003FFC00FE3E01FC
390 7F03F87F03F87F07F07F07F03E07F00007F00007F00007F00007F00007F00007F000FFFF
391 C0FFFFC0FFFFC007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0
392 0007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0007FFF
393 807FFF807FFF80182A7EA915>I<00FF81F003FFE7FC0FC1FE7C1F80FC7C3F80FE7C3F00
394 7E107F007F007F007F007F007F007F007F007F007F007F007F003F007E003F80FE001F80
395 FC000FC1F8001FFFE00018FF8000380000003C0000003C0000003E0000003FFFF8003FFF
396 FF001FFFFFC00FFFFFE007FFFFF01FFFFFF07E0007F87C0001F8F80001F8F80000F8F800
397 00F8F80000F8FC0001F87E0003F03F0007E00FC01F8003FFFE00007FF0001E287E9A22>
398 I<FFE0000000FFE0000000FFE00000000FE00000000FE00000000FE00000000FE0000000
399 0FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000F
400 E00000000FE07F00000FE1FFC0000FE787E0000FEE07F0000FFC03F8000FF803F8000FF0
401 03F8000FF003F8000FF003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003
402 F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8
403 000FE003F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80FFFE3FFF80212A7DA926
404 >I<07001FC01FE03FE03FE03FE01FE01FC007000000000000000000000000000000FFE0
405 FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
406 0FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2B7DAA14>I<000700001FC0003FE0003FE000
407 3FE0003FE0003FE0001FC000070000000000000000000000000000000000000000000001
408 FFE001FFE001FFE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE000
409 0FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE000
410 0FE0000FE0000FE0000FE0000FE0000FE0000FE07C0FE0FE0FE0FE1FC0FE1FC0FE1F807C
411 3F003FFC000FF000133784AA15>I<FFE00000FFE00000FFE000000FE000000FE000000F
412 E000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000F
413 E000000FE01FFC0FE01FFC0FE01FFC0FE007C00FE00F800FE01E000FE07C000FE0F8000F
414 E1F0000FE3E0000FE7C0000FEFE0000FFFF0000FFFF0000FFFF8000FF3FC000FE1FE000F
415 C0FE000FC0FF000FC07F800FC03F800FC03FC00FC01FE00FC00FF0FFFC3FFEFFFC3FFEFF
416 FC3FFE1F2A7EA924>I<FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
417 0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
418 0FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2A7DA914>I<FFC07F800FF000
419 FFC1FFE03FFC00FFC783F0F07E000FCE03F9C07F000FDC01FB803F000FF801FF003F800F
420 F001FE003F800FF001FE003F800FF001FE003F800FE001FC003F800FE001FC003F800FE0
421 01FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001
422 FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC
423 003F800FE001FC003F800FE001FC003F80FFFE1FFFC3FFF8FFFE1FFFC3FFF8FFFE1FFFC3
424 FFF8351B7D9A3A>I<FFC07F0000FFC1FFC000FFC787E0000FCE07F0000FDC03F8000FF8
425 03F8000FF003F8000FF003F8000FF003F8000FE003F8000FE003F8000FE003F8000FE003
426 F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8
427 000FE003F8000FE003F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80FFFE3FFF80
428 211B7D9A26>I<003FE00001FFFC0003F07E000FC01F801F800FC03F800FE03F0007E07F
429 0007F07F0007F07F0007F0FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF
430 0007F8FF0007F87F0007F07F0007F03F800FE03F800FE01F800FC00FC01F8007F07F0001
431 FFFC00003FE0001D1B7E9A22>I<FFE1FE0000FFE7FF8000FFFE07E0000FF803F8000FF0
432 01FC000FE001FE000FE000FE000FE000FF000FE000FF000FE0007F800FE0007F800FE000
433 7F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE000FF
434 000FE000FF000FE000FE000FF001FE000FF003FC000FF803F8000FFE0FE0000FEFFF8000
435 0FE1FC00000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000F
436 E00000000FE00000000FE0000000FFFE000000FFFE000000FFFE00000021277E9A26>I<
437 001FC0380000FFF0780003F83CF8000FE01FF8001FE00FF8003FC007F8003F8007F8007F
438 8003F8007F8003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF00
439 03F800FF0003F800FF0003F800FF0003F8007F8003F8007F8003F8003F8003F8003FC007
440 F8001FC00FF8000FE01FF80003F07FF80000FFF3F800003FC3F800000003F800000003F8
441 00000003F800000003F800000003F800000003F800000003F800000003F800000003F800
442 00003FFF8000003FFF8000003FFF8021277E9A24>I<FFC1F0FFC7FCFFCE3E0FDC7F0FD8
443 7F0FF87F0FF07F0FF03E0FF0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0
444 000FE0000FE0000FE0000FE0000FE0000FE0000FE000FFFF00FFFF00FFFF00181B7E9A1C
445 >I<03FE300FFFF03E03F07800F07000F0F00070F00070F80070FC0000FFE000FFFE007F
446 FFC03FFFE01FFFF007FFF800FFFC0003FC0000FCE0007CE0003CF0003CF0003CF80078FC
447 0078FF01F0F7FFC0C1FF00161B7E9A1B>I<00700000700000700000700000F00000F000
448 00F00001F00003F00003F00007F0001FFFF0FFFFF0FFFFF007F00007F00007F00007F000
449 07F00007F00007F00007F00007F00007F00007F00007F00007F00007F03807F03807F038
450 07F03807F03807F03807F03803F87001F8F000FFE0001F8015267FA51B>I<FFE03FF800
451 FFE03FF800FFE03FF8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000F
452 E003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE0
453 03F8000FE003F8000FE003F8000FE003F8000FE003F8000FE007F8000FE007F8000FE00F
454 F80007E01FF80003F03BFF8001FFF3FF80003FC3FF80211B7D9A26>I<FFFE03FF80FFFE
455 03FF80FFFE03FF8007F000700007F000700007F800F00003F800E00003FC01E00001FC01
456 C00001FC01C00000FE03800000FE038000007F070000007F070000007F8F0000003F8E00
457 00003FDE0000001FDC0000001FDC0000000FF80000000FF80000000FF800000007F00000
458 0007F000000003E000000003E000000001C00000211B7F9A24>I<FFFE7FFC0FFEFFFE7F
459 FC0FFEFFFE7FFC0FFE0FE007E000E007F003F001C007F003F001C007F807F803C003F807
460 F8038003F807F8038001FC0EFC070001FC0EFC070001FE1EFC0F0000FE1C7E0E0000FE1C
461 7E0E0000FF383F1E00007F383F1C00007F783F3C00003FF01FB800003FF01FB800003FF0
462 1FF800001FE00FF000001FE00FF000000FC007E000000FC007E000000FC007E000000780
463 03C00000078003C0002F1B7F9A32>I<FFFC0FFF00FFFC0FFF00FFFC0FFF0007F003C000
464 03F807800001FC07800000FE0F000000FF1E0000007F3C0000003FF80000001FF0000000
465 0FF00000000FF000000007F000000007F80000000FFC0000001FFE0000001EFE0000003C
466 7F000000783F800000F01FC00001E01FE00001C00FE00003C007F000FFF01FFF80FFF01F
467 FF80FFF01FFF80211B7F9A24>I<FFFE03FF80FFFE03FF80FFFE03FF8007F000700007F0
468 00700007F800F00003F800E00003FC01E00001FC01C00001FC01C00000FE03800000FE03
469 8000007F070000007F070000007F8F0000003F8E0000003FDE0000001FDC0000001FDC00
470 00000FF80000000FF80000000FF800000007F000000007F000000003E000000003E00000
471 0001C000000001C000000003800000000380000038078000007C07000000FE0F000000FE
472 0E000000FE1E000000FE3C0000007C780000003FE00000000FC000000021277F9A24>I<
473 3FFFFF803FFFFF803F00FF803C00FF003801FE007803FC007807FC007007F800700FF000
474 701FE000001FE000003FC000007F800000FF800000FF000001FE038003FC038003FC0380
475 07F803800FF007801FF007801FE007003FC00F007F801F00FF807F00FFFFFF00FFFFFF00
476 191B7E9A1F>I E /Fc 3 104 df<03F0000FFC001FFE003FFF007FFF807FFF80FFFFC0FF
477 FFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC07FFF807FFF803FFF001FFE000FFC0003
478 F00012147D9519>15 D<000F0038007000E001C001C001C001C001C001C001C001C001C0
479 01C001C001C001C001C001C001C001C0038007001E00F0001E000700038001C001C001C0
480 01C001C001C001C001C001C001C001C001C001C001C001C001C001C000E000700038000F
481 10317CA419>102 D<F0001E000700038001C001C001C001C001C001C001C001C001C001
482 C001C001C001C001C001C001C001C000E000700038000F0038007000E001C001C001C001
483 C001C001C001C001C001C001C001C001C001C001C001C001C001C0038007001E00F00010
484 317CA419>I E /Fd 70 126 df<2008F01EF01EF01EF01EF01EF01EF01EF01E701C701C
485 701C701C701C600C0F0F7B9E1A>34 D<01818003C3C003C3C003C3C003C3C003C3C003C3
486 C07FFFF0FFFFF8FFFFF8FFFFF80787800787800787800F8F800F8F800F0F000F0F000F0F
487 00FFFFF8FFFFF8FFFFF87FFFF01E1E001E1E001E1E001E1E001E1E001E1E000C0C00151E
488 7E9D1A>I<00600000E00000E00000E00000E00003FC000FFF001FFF803EE7C078E1C0F0
489 E1E0E0E0E0E0E1E0E0E1E0E0E0C0F0E00078E0003FE0001FF8000FFE0001FF0000EF8000
490 E3C000E1C060E1E0F0E0E0F0E0E0F0E0E0E0E1E0F0E1C078E3C03EEF801FFF000FFE0003
491 F80000E00000E00000E00000600013277DA21A>I<3C00C07E01E07E03E0FF03E0E703C0
492 E707C0E707C0E70780E70F80E70F80E71F00FF1F007E1E007E3E003C3E00003C00007C00
493 007C0000F80000F80000F00001F00001F00001E00003E00003E00003C1E007C3F007C3F0
494 0F87F80F87380F07381F07381F07381E07383E07F83E03F03C03F01801E015277EA21A>
495 I<1C3C3E1E0E0E0E0E1E1C3C38F8F0E0070F779D1A>39 D<0038007800F801E003C00780
496 0F001E001C003C0038007800700070007000F000E000E000E000E000E000E000E000E000
497 F000700070007000780038003C001C001E000F00078003C001E000F8007800380D2878A2
498 1A>I<6000F00078003C001E000F00078003C001C001E000E000F0007000700070007800
499 380038003800380038003800380038007800700070007000F000E001E001C003C007800F
500 001E003C007800F00060000D287CA21A>I<00E00000E00000E00000E00040E040F0E1E0
501 F8E3E07EEFC01FFF0007FC0003F80007FC001FFF007EEFC0F8E3E0F0E1E040E04000E000
502 00E00000E00000E00013157D991A>I<0030000078000078000078000078000078000078
503 000078000078007FFFF0FFFFF8FFFFF87FFFF00078000078000078000078000078000078
504 0000780000780000300015167E991A>I<3C7E7F7F7F3F070F0E3EFCF8E0080D77851A>I<
505 7FFFC0FFFFE0FFFFE07FFFC013047D901A>I<78FCFCFCFC78060676851A>I<01F00007FC
506 000FFE001F1F001C07003803803803807001C07001C07001C0E000E0E000E0E000E0E000
507 E0E000E0E000E0E000E0E000E0E000E0F001E07001C07001C07803C03803803C07801C07
508 001F1F000FFE0007FC0001F000131E7D9D1A>48 D<00C001C003C003C007C00FC07FC0FD
509 C079C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001
510 C001C07FFF7FFF7FFF101E7B9D1A>I<07F8000FFE001FFF003C0F807803C0F001C0E001
511 E0F000E0F000E06000E00000E00000E00001E00001C00003C0000780000F00000E00003E
512 00007C0000F80001E00003C0000780000F00001E00E03C00E07FFFE0FFFFE07FFFE0131E
513 7D9D1A>I<78FCFCFCFC7800000000000000000078FCFCFCFC78061576941A>58
514 D<3C7E7E7E7E3C0000000000000000003C7C7E7E7E3E0E1E1C3CF8F0E0071C77941A>I<
515 7FFFF0FFFFF8FFFFF87FFFF00000000000000000000000007FFFF0FFFFF8FFFFF87FFFF0
516 150C7E941A>61 D<07FC001FFF007FFF807C07C0F001E0F000E0F000E06001E00007C000
517 0F80001F00003C0000780000F00000E00000E00000E00000E00000E00000E00000C00000
518 000000000000000000000000000000C00001E00001E00000C000131E7D9D1A>63
519 D<007E0001FF8003FFC007C3E00F00E01E0FF03C3FF0387FF07879F870F0F8F0E078E1E0
520 78E1C038E1C038E1C038E1C038E1C038E1C038E1E078F0E07070F0F07879E0387FE03C3F
521 C01E0F000F003807C1F803FFF801FFE0007F80151E7E9D1A>I<003800007C00007C0000
522 6C0000EE0000EE0000EE0000C60000C60001C70001C70001C70001C70003838003838003
523 83800383800701C00701C007FFC007FFC00FFFE00E00E00E00E00E00E00E00E01C00707F
524 01FCFF83FE7F01FC171E7F9D1A>I<00FE3803FFB807FFF80F83F81E00F81C00783C0078
525 780038700038700038F00000E00000E00000E00000E00000E00000E00000E00000E00000
526 F000007000387000387800383C00781C00701E00F00F83E007FFC003FF8000FE00151E7E
527 9D1A>67 D<7FFE00FFFF007FFF801C07C01C01E01C00F01C00701C00781C00381C00381C
528 003C1C001C1C001C1C001C1C001C1C001C1C001C1C001C1C001C1C003C1C00381C00381C
529 00781C00701C00F01C01E01C07C07FFFC0FFFF007FFE00161E7F9D1A>I<FFFFF8FFFFF8
530 FFFFF81C00381C00381C00381C00381C00001C00001C00001C0E001C0E001C0E001FFE00
531 1FFE001FFE001C0E001C0E001C0E001C00001C00001C00001C001C1C001C1C001C1C001C
532 1C001CFFFFFCFFFFFCFFFFFC161E7E9D1A>I<7FFFFCFFFFFC7FFFFC0E001C0E001C0E00
533 1C0E001C0E00000E00000E00000E03800E03800E03800FFF800FFF800FFF800E03800E03
534 800E03800E00000E00000E00000E00000E00000E00000E00000E00007FE000FFE0007FE0
535 00161E7F9D1A>I<01F8E003FEE007FFE00F0FE01E03E03C01E03801E07800E07000E070
536 00E0F00000E00000E00000E00000E00000E00000E00FF8E00FF8E00FF8F000E07000E070
537 01E07801E03801E03C03E01E03E00F0FE007FFE003FEE001F8E0151E7E9D1A>I<FFFF80
538 FFFF80FFFF8001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000
539 01C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000
540 01C00001C000FFFF80FFFF80FFFF80111E7C9D1A>73 D<7F03F8FF87FC7F03F81C01E01C
541 03C01C03801C07801C0F001C1E001C1C001C3C001C78001CF0001CF8001DFC001FFC001F
542 9E001F0E001F0F001E07001C07801C03801C03C01C01E01C01E01C00F01C00707F00FCFF
543 81FE7F00FC171E7F9D1A>75 D<7FE000FFF0007FE0000E00000E00000E00000E00000E00
544 000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00
545 000E00000E00000E001C0E001C0E001C0E001C0E001C7FFFFCFFFFFC7FFFFC161E7F9D1A
546 >I<7E003F00FF007F807F007F001D80DC001D80DC001D80DC001DC1DC001DC1DC001CC1
547 9C001CC19C001CE39C001CE39C001C631C001C771C001C771C001C361C001C361C001C3E
548 1C001C1C1C001C1C1C001C001C001C001C001C001C001C001C001C001C001C001C001C00
549 1C007F007F00FF80FF807F007F00191E809D1A>I<FE03FEFF03FEFF03FE1D80701D8070
550 1DC0701CC0701CC0701CE0701CE0701C60701C70701C70701C30701C38701C38701C1870
551 1C1C701C1C701C0C701C0E701C0E701C06701C06701C07701C03701C0370FF81F0FF81F0
552 FF80F0171E7F9D1A>I<0FFE003FFF807FFFC07C07C07001C0F001E0E000E0E000E0E000
553 E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000
554 E0E000E0E000E0F001E0F001E07001C07C07C07FFFC03FFF800FFE00131E7D9D1A>I<FF
555 FE00FFFF80FFFFC01C03E01C00F01C00701C00781C00381C00381C00381C00381C00781C
556 00701C00F01C03E01FFFC01FFF801FFE001C00001C00001C00001C00001C00001C00001C
557 00001C00001C0000FF8000FF8000FF8000151E7E9D1A>I<FFFC00FFFF00FFFF801C07C0
558 1C01E01C00F01C00701C00701C00701C00701C00F01C01E01C07C01FFF801FFF001FFF80
559 1C07C01C01E01C00E01C00E01C00E01C00E01C00E01C00E21C00E71C00E71C00E7FF80FF
560 FF807EFF803C181E7F9D1A>82 D<07F1C01FFDC03FFFC07C1FC07007C0F003C0E001C0E0
561 01C0E001C0E00000F000007800003F00001FF8000FFE0001FF00000F800003C00001C000
562 01E00000E06000E0E000E0E000E0F001E0F003C0FE0780FFFF80FFFE00E3FC00131E7D9D
563 1A>I<7FFFFEFFFFFEFFFFFEE0380EE0380EE0380EE0380E003800003800003800003800
564 003800003800003800003800003800003800003800003800003800003800003800003800
565 00380000380000380000380003FF8003FF8003FF80171E7F9D1A>I<FF83FEFF83FEFF83
566 FE1C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C00
567 701C00701C00701C00701C00701C00701C00701C00701C00701E00F00E00E00F01E007C7
568 C003FF8001FF00007C00171E7F9D1A>I<FF01FEFF01FEFF01FE1C00701C00701C00701E
569 00F00E00E00E00E00E00E00701C00701C00701C00701C003838003838003838003838001
570 C70001C70001C70001C70000C60000EE0000EE0000EE00006C00007C00007C0000380017
571 1E7F9D1A>I<7F87F87F87F87F87F80F01C007038007838003870003C70001CE0001EE00
572 00FC0000FC00007800007800007800007C00007C0000FE0000EE0001CF0001C700038780
573 0383800703C00701C00E00E00E00E07F01FCFF83FE7F01FC171E7F9D1A>88
574 D<FF01FEFF01FEFF01FE1C00700E00E00E00E00701C00701C00783C003838003C78001C7
575 0001C70000EE0000EE00007C00007C000038000038000038000038000038000038000038
576 0000380000380000380001FF0001FF0001FF00171E7F9D1A>I<3FFFF87FFFF87FFFF870
577 00707000F07001E07001C00003C0000780000F00000E00001E00003C0000380000780000
578 F00000E00001E00003C0000380000780000F00001E00381C00383C0038780038700038FF
579 FFF8FFFFF8FFFFF8151E7E9D1A>I<FFF8FFF8FFF8E000E000E000E000E000E000E000E0
580 00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
581 00E000E000E000E000E000E000E000FFF8FFF8FFF80D2776A21A>I<FFF8FFF8FFF80038
582 003800380038003800380038003800380038003800380038003800380038003800380038
583 00380038003800380038003800380038003800380038003800380038FFF8FFF8FFF80D27
584 7EA21A>93 D<7FFFC0FFFFE0FFFFE07FFFC013047D7E1A>95 D<1FF0003FFC007FFE0078
585 1F0030078000038000038000FF8007FF801FFF803F83807C0380F00380E00380E00380E0
586 0380F007807C1F803FFFFC1FFDFC07F0FC16157D941A>97 D<FE0000FE0000FE00000E00
587 000E00000E00000E00000E00000E00000E3F000EFFC00FFFE00FE1F00F80700F00780F00
588 380E003C0E001C0E001C0E001C0E001C0E001C0F003C0F00380F00780F80F00FC3E00FFF
589 C00EFF80067E00161E7F9D1A>I<01FF8007FFC00FFFE01F01E03C00C0780000700000F0
590 0000E00000E00000E00000E00000E00000F000007000007800703C00701F01F00FFFE007
591 FFC001FF0014157D941A>I<001FC0001FC0001FC00001C00001C00001C00001C00001C0
592 0001C001F9C007FDC00FFFC01F0FC03C07C07803C07003C0F001C0E001C0E001C0E001C0
593 E001C0E001C0F003C07003C07807C03807C03E1FC01FFFFC0FFDFC03F1FC161E7E9D1A>
594 I<01FC0007FF000FFF801F07C03C01E07800E07000F0F00070E00070FFFFF0FFFFF0FFFF
595 F0E00000F000007000007800703C00701F01F00FFFE007FFC001FF0014157D941A>I<00
596 0FF0001FF8003FF800787800F03000E00000E00000E00000E0007FFFF0FFFFF0FFFFF000
597 E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
598 E00000E00000E0003FFF807FFFC03FFF80151E7F9D1A>I<01F8FC07FFFE0FFFFE1F0F8C
599 1C03803C03C03801C03801C03801C03C03C01C03801F0F801FFF003FFE0039F800380000
600 3C00001C00001FFF801FFFF03FFFF87C00FC70001CF0001EE0000EE0000EE0000EF0001E
601 78003C3F01F81FFFF00FFFE001FF0017217F941A>I<FE0000FE0000FE00000E00000E00
602 000E00000E00000E00000E00000E3F000EFF800FFFC00FE1E00F80E00F00E00F00E00E00
603 E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E0FFE3FEFFE7
604 FEFFE3FE171E7F9D1A>I<00C00001E00001E00000C00000000000000000000000000000
605 00000000007FE0007FE0007FE00000E00000E00000E00000E00000E00000E00000E00000
606 E00000E00000E00000E00000E00000E00000E00000E0007FFF80FFFFC07FFF80121F7C9E
607 1A>I<FE0000FE0000FE00000E00000E00000E00000E00000E00000E00000E0FFC0E1FFE
608 0E0FFC0E03C00E07800E0F000E1E000E3C000E78000EFC000FFC000FDE000F8F000E0780
609 0E03C00E03C00E01E00E00F0FFE3FEFFE3FFFFE3FE181E7F9D1A>107
610 D<FFE000FFE000FFE00000E00000E00000E00000E00000E00000E00000E00000E00000E0
611 0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0
612 0000E00000E00000E000FFFFE0FFFFE0FFFFE0131E7D9D1A>I<7DF1F000FFFBF8007FFF
613 FC001F1F1C001E1E1C001E1E1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C
614 1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C007F1F1F00FF9F9F807F1F
615 1F00191580941A>I<FE3F00FEFF80FFFFC00FE1E00F80E00F00E00F00E00E00E00E00E0
616 0E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E0FFE3FEFFE7FEFFE3FE
617 17157F941A>I<01F00007FC001FFF003E0F803C07807803C07001C0E000E0E000E0E000
618 E0E000E0E000E0E000E0F001E07001C07803C03C07803E0F801FFF0007FC0001F0001315
619 7D941A>I<FE3F00FEFFC0FFFFE00FE1F00F80700F00780F00380E003C0E001C0E001C0E
620 001C0E001C0E001C0F003C0F00380F00780F80F00FC3E00FFFC00EFF800E7E000E00000E
621 00000E00000E00000E00000E00000E00000E0000FFE000FFE000FFE00016207F941A>I<
622 7F87F0FF9FFC7FBFFC03FC3C03F01803E00003E00003C00003C000038000038000038000
623 0380000380000380000380000380000380007FFF00FFFF007FFF0016157E941A>114
624 D<0FFB803FFF807FFF80F80F80E00380E00380E00380F800007FC0003FFC000FFF00007F
625 800007C06001C0E001C0F001C0F003C0FC0F80FFFF00FFFE00E7F80012157C941A>I<00
626 C00001C00001C00001C00001C00001C00001C0007FFFE0FFFFE0FFFFE001C00001C00001
627 C00001C00001C00001C00001C00001C00001C00001C00001C07001C07001C07001C0F001
628 E1E000FFE0007FC0003F00141C7F9B1A>I<FE0FE0FE0FE0FE0FE00E00E00E00E00E00E0
629 0E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E01E00E01E00F07E0
630 07FFFE03FFFE01FCFE17157F941A>I<7F83FCFFC7FE7F83FC0E00E00E00E00E00E00701
631 C00701C00701C003838003838003838001C70001C70001C70000EE0000EE0000EE00007C
632 00007C0000380017157F941A>I<FF83FEFFC7FEFF83FE3800383800381C00701C00701C
633 00701C38701C7C701C7C700E6CE00E6CE00EEEE00EEEE00EEEE00EC6E006C6C007C7C007
634 C7C003838017157F941A>I<7FC7F87FCFFC7FC7F80703C003838003C70001EF0000FE00
635 007C00007800003800007C0000EE0001EE0001C7000383800783C00F01C07FC7FCFFC7FE
636 7FC7FC17157F941A>I<7FC3FCFFC7FE7FC3FC0E00E00E00E00700E00701C00781C00381
637 C003838003C38001C38001C70000E70000E70000E600006600006E00003C00003C00003C
638 0000380000380000380000700000700030700078E00071E0007FC0003F80001E00001720
639 7F941A>I<7FFFF0FFFFF0FFFFF0E001E0E003C0E00780000F00001E00003C0000780000
640 F00001E00003C0000780000F00381E00383C0038780038FFFFF8FFFFF8FFFFF815157E94
641 1A>I<0007E0001FE0003FE0007C0000F00000E00000E00000E00000E00000E00000E000
642 00E00000E00000E00000E00000E00001E00007C000FF8000FF0000FF800007C00001E000
643 00E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000F000
644 007C00003FE0001FE00007E013277DA21A>I<7C0000FF0000FF800007C00001E00000E0
645 0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000F000007C
646 00003FE0001FE0003FE0007C0000F00000E00000E00000E00000E00000E00000E00000E0
647 0000E00000E00000E00000E00001E00007C000FF8000FF00007C000013277DA21A>125
648 D E /Fe 46 123 df<007E0001C1800301800703C00E03C00E01800E00000E00000E0000
649 0E00000E0000FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
650 0E01C00E01C00E01C00E01C00E01C00E01C00E01C07F87F8151D809C17>12
651 D<6060F0F0F8F86868080808080808101010102020404080800D0C7F9C15>34
652 D<004000800100020006000C000C0018001800300030007000600060006000E000E000E0
653 00E000E000E000E000E000E000E000E000E000600060006000700030003000180018000C
654 000C00060002000100008000400A2A7D9E10>40 D<800040002000100018000C000C0006
655 00060003000300038001800180018001C001C001C001C001C001C001C001C001C001C001
656 C001C0018001800180038003000300060006000C000C00180010002000400080000A2A7E
657 9E10>I<0006000000060000000600000006000000060000000600000006000000060000
658 0006000000060000000600000006000000060000FFFFFFE0FFFFFFE00006000000060000
659 000600000006000000060000000600000006000000060000000600000006000000060000
660 00060000000600001B1C7E9720>43 D<60F0F0701010101020204080040C7C830C>I<FF
661 E0FFE00B0280890E>I<60F0F06004047C830C>I<60F0F0600000000000000000000060F0
662 F06004127C910C>58 D<000600000006000000060000000F0000000F0000000F00000017
663 800000178000001780000023C0000023C0000023C0000041E0000041E0000041E0000080
664 F0000080F0000180F8000100780001FFF80003007C0002003C0002003C0006003E000400
665 1E0004001E000C001F001E001F00FF80FFF01C1D7F9C1F>65 D<FFFFC00F00F00F00380F
666 003C0F001C0F001E0F001E0F001E0F001E0F001C0F003C0F00780F01F00FFFE00F00780F
667 003C0F001E0F000E0F000F0F000F0F000F0F000F0F000F0F001E0F001E0F003C0F0078FF
668 FFE0181C7E9B1D>I<001F808000E0618001801980070007800E0003801C0003801C0001
669 8038000180780000807800008070000080F0000000F0000000F0000000F0000000F00000
670 00F0000000F0000000F0000000700000807800008078000080380000801C0001001C0001
671 000E000200070004000180080000E03000001FC000191E7E9C1E>I<FFFFF80F00780F00
672 180F00080F00080F000C0F00040F00040F02040F02000F02000F02000F06000FFE000F06
673 000F02000F02000F02000F02000F00000F00000F00000F00000F00000F00000F00000F80
674 00FFF800161C7E9B1B>70 D<001F808000E0618001801980070007800E0003801C000380
675 1C00018038000180780000807800008070000080F0000000F0000000F0000000F0000000
676 F0000000F0000000F000FFF0F0000F80700007807800078078000780380007801C000780
677 1C0007800E00078007000B800180118000E06080001F80001C1E7E9C21>I<FFF3FFC00F
678 003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F
679 003C000F003C000F003C000FFFFC000F003C000F003C000F003C000F003C000F003C000F
680 003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C00FFF3FFC01A
681 1C7E9B1F>I<FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F00
682 0F000F000F000F000F000F000F000F000F000F000F000F00FFF00C1C7F9B0F>I<FFF800
683 0F80000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000
684 0F00000F00000F00000F00000F00000F00080F00080F00080F00180F00180F00100F0030
685 0F00700F01F0FFFFF0151C7E9B1A>76 D<003F800000E0E0000380380007001C000E000E
686 001C0007003C00078038000380780003C0780003C0700001C0F00001E0F00001E0F00001
687 E0F00001E0F00001E0F00001E0F00001E0F00001E0700001C0780003C0780003C0380003
688 803C0007801C0007000E000E0007001C000380380000E0E000003F80001B1E7E9C20>79
689 D<07E0801C1980300580700380600180E00180E00080E00080E00080F00000F800007C00
690 007FC0003FF8001FFE0007FF0000FF80000F800007C00003C00001C08001C08001C08001
691 C0C00180C00180E00300D00200CC0C0083F800121E7E9C17>83 D<7FFFFFC0700F01C060
692 0F00C0400F0040400F0040C00F0020800F0020800F0020800F0020000F0000000F000000
693 0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000
694 0F0000000F0000000F0000000F0000000F0000000F0000001F800003FFFC001B1C7F9B1E
695 >I<FFF007FC0F8001E00780008007C0018003C0010003E0020001F0020000F0040000F8
696 040000780800007C1800003C1000001E2000001F2000000F4000000FC000000780000007
697 800000078000000780000007800000078000000780000007800000078000000780000007
698 8000007FF8001E1C809B1F>89 D<08081010202040404040808080808080B0B0F8F87878
699 30300D0C7A9C15>92 D<1FC000307000783800781C00301C00001C00001C0001FC000F1C
700 00381C00701C00601C00E01C40E01C40E01C40603C40304E801F870012127E9115>97
701 D<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C
702 001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C00
703 C01C01C01C01801E030019060010F800131D7F9C17>I<07E00C301878307870306000E0
704 00E000E000E000E000E00060007004300418080C3007C00E127E9112>I<003F00000700
705 00070000070000070000070000070000070000070000070000070003E7000C1700180F00
706 300700700700600700E00700E00700E00700E00700E00700E00700600700700700300700
707 180F000C370007C7E0131D7E9C17>I<03E00C301818300C700E6006E006FFFEE000E000
708 E000E00060007002300218040C1803E00F127F9112>I<00F8018C071E061E0E0C0E000E
709 000E000E000E000E00FFE00E000E000E000E000E000E000E000E000E000E000E000E000E
710 000E000E000E007FE00F1D809C0D>I<00038003C4C00C38C01C3880181800381C00381C
711 00381C00381C001818001C38000C300013C0001000003000001800001FF8001FFF001FFF
712 803003806001C0C000C0C000C0C000C06001803003001C0E0007F800121C7F9215>I<FC
713 00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C001C
714 87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
715 03801C03801C03801C0380FF9FF0141D7F9C17>I<18003C003C00180000000000000000
716 00000000000000FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C
717 001C001C00FF80091D7F9C0C>I<FC00001C00001C00001C00001C00001C00001C00001C
718 00001C00001C00001C00001C3FC01C0F001C0C001C08001C10001C20001C40001CE0001D
719 E0001E70001C78001C38001C3C001C1C001C0E001C0F001C0F80FF9FE0131D7F9C16>
720 107 D<FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
721 001C001C001C001C001C001C001C001C001C001C001C00FF80091D7F9C0C>I<FC7E07E0
722 001C838838001D019018001E01E01C001C01C01C001C01C01C001C01C01C001C01C01C00
723 1C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C
724 01C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C87001D03001E03801C0380
725 1C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380
726 FF9FF014127F9117>I<03F0000E1C00180600300300700380600180E001C0E001C0E001
727 C0E001C0E001C0E001C06001807003803003001806000E1C0003F00012127F9115>I<FC
728 7C001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C
729 01C01C01C01C01801E03001D06001CF8001C00001C00001C00001C00001C00001C00001C
730 0000FF8000131A7F9117>I<FCE01D301E781E781C301C001C001C001C001C001C001C00
731 1C001C001C001C001C00FFC00D127F9110>114 D<1F9030704030C010C010E010F8007F
732 803FE00FF000F880388018C018C018E010D0608FC00D127F9110>I<0400040004000400
733 0C000C001C003C00FFE01C001C001C001C001C001C001C001C001C001C101C101C101C10
734 1C100C100E2003C00C1A7F9910>I<FC1F801C03801C03801C03801C03801C03801C0380
735 1C03801C03801C03801C03801C03801C03801C03801C07800C07800E1B8003E3F014127F
736 9117>I<FF07E03C03801C01001C01000E02000E02000704000704000704000388000388
737 0003D80001D00001D00000E00000E00000E00000400013127F9116>I<FF3FCFE03C0F03
738 801C0701801C0701001C0B01000E0B82000E0B82000E1182000711C4000711C4000720C4
739 0003A0E80003A0E80003C0680001C0700001C0700001803000008020001B127F911E>I<
740 7F8FF00F03800F030007020003840001C80001D80000F00000700000780000F800009C00
741 010E00020E000607000403801E07C0FF0FF81512809116>I<FF07E03C03801C01001C01
742 000E02000E020007040007040007040003880003880003D80001D00001D00000E00000E0
743 0000E000004000004000008000008000F08000F10000F300006600003C0000131A7F9116
744 >I<7FFC70386038407040F040E041C003C0038007000F040E041C043C0C380870087038
745 FFF80E127F9112>I E /Ff 4 53 df<0C001C00EC000C000C000C000C000C000C000C00
746 0C000C000C000C000C000C000C000C00FFC00A137D9211>49 D<1F0060C06060F070F030
747 603000700070006000C001C00180020004000810101020207FE0FFE00C137E9211>I<0F
748 C030707038703870380038003000E00FC0007000380018001C601CF01CF018E03860701F
749 C00E137F9211>I<006000E000E00160026006600C600860106020606060C060FFFC0060
750 006000600060006003FC0E137F9211>I E /Fg 52 124 df<00000FC0F8000030718E00
751 00E0F31E0000C0F71E0001C0660C0001800E000003800E000003800E000003800E000007
752 001C000007001C000007001C000007001C000007001C0000FFFFFFC0000E003800000E00
753 3800000E003800000E003800001C007000001C007000001C007000001C007000001C0070
754 00001C00E000003800E000003800E000003800E000003800E000003801C000007001C000
755 007001C000007001C000007001C000006003800000E003800000E003800000E003000000
756 C003000001C0070000718E060000F19E0C0000F31E180000620C3000003C07C00000272D
757 82A21E>11 D<00000FE0000030180000E01C0001C03C0001803C00038038000380000003
758 80000007000000070000000700000007000000070000000E000000FFFFE0000E00E0000E
759 00E0000E01C0001C01C0001C01C0001C01C0001C0380001C038000380380003803800038
760 070000380700003807000070070800700E1000700E1000700E1000700E2000E0062000E0
761 03C000E0000000E0000000C0000001C0000001C0000071800000F1800000F30000006200
762 00003C0000001E2D82A21B>I<0C1E3F3F1D02020204040810204080080F75A20F>39
763 D<0E1E1E1E1E02020404080810204080070F7D840F>44 D<FFF0FFF0FFE00C037C8B11>
764 I<70F8F8F0E005057A840F>I<000FC000106000603800801800801C01001C02201E0210
765 1E04101E04101E04101E08203C08203C0840380840780880F00700E00001C00003000006
766 0000180000200000C0000100000200000400100800301000202000605F80C063FFC040FF
767 80807F00801E0017227CA019>50 D<07000F800F800F000E000000000000000000000000
768 00000000000000000000007000F800F800F000E00009157A940F>58
769 D<0000030000000300000007000000070000000F0000000F0000001F0000002F0000002F
770 0000004F0000004F80000087800000878000010780000207800002078000040780000407
771 800008078000080780001007800030078000200780007FFF80004007C0008007C0008003
772 C0010003C0030003C0020003C0040003C0040003C00C0003C03C0007C0FF003FFC1E237D
773 A224>65 D<00FFFFE0000F0038000F001C000F001E001E000E001E000F001E000F001E00
774 0F003C000E003C001E003C001E003C003C00780078007800F0007801E00078078000FFFF
775 8000F001E000F000F000F0007801E0007801E0003801E0003C01E0003C03C0007803C000
776 7803C0007803C000F0078000F0078001E0078003C0078007000F801E00FFFFF00020227D
777 A122>I<00007F00800003808100000E00630000380027000070001F0000E0000E0001C0
778 000E000380000E000700000E000F000004000E000004001E000004003C000004003C0000
779 0800780000000078000000007800000000F000000000F000000000F000000000F0000000
780 00F000000000E000000000E000002000E000002000E000004000E000004000F000008000
781 70000080007000010000380002000018000400001C0008000006003000000381C0000000
782 FE000000212479A223>I<00FFFFF000000F003C00000F000E00000F000700001E000380
783 001E000380001E0001C0001E0001C0003C0001C0003C0001E0003C0001E0003C0001E000
784 780001E000780001E000780001E000780001E000F00003C000F00003C000F00003C000F0
785 0003C001E000078001E000078001E000070001E0000F0003C0000E0003C0001C0003C000
786 3C0003C00038000780007000078000E000078001C00007800700000F801C0000FFFFF000
787 0023227DA125>I<00FFFFFF80000F000780000F000180000F000180001E000180001E00
788 0180001E000100001E000100003C000100003C000100003C010100003C01000000780200
789 000078020000007806000000780E000000FFFC000000F00C000000F00C000000F00C0000
790 01E008000001E008000001E008040001E000080003C000080003C000080003C000100003
791 C000100007800020000780006000078000C000078001C0000F8007C000FFFFFF80002122
792 7DA121>I<00FFFFFF000F000F000F0003000F0003001E0003001E0003001E0002001E00
793 02003C0002003C0002003C0102003C010000780200007802000078060000780E0000FFFC
794 0000F00C0000F00C0000F00C0001E0080001E0080001E0080001E0000003C0000003C000
795 0003C0000003C00000078000000780000007800000078000000F800000FFFC000020227D
796 A120>I<00007F00800003808100000E00630000380027000070001F0000E0000E0001C0
797 000E000380000E000700000E000F000004000E000004001E000004003C000004003C0000
798 0800780000000078000000007800000000F000000000F000000000F000000000F0000000
799 00F0003FFC00E00001E000E00001E000E00001E000E00003C000E00003C000F00003C000
800 700003C0007000078000380007800018000F80001C0013800006002300000381C1000000
801 FE000000212479A226>I<00FFF87FFC000F000780000F000780000F000780001E000F00
802 001E000F00001E000F00001E000F00003C001E00003C001E00003C001E00003C001E0000
803 78003C000078003C000078003C000078003C0000FFFFF80000F000780000F000780000F0
804 00780001E000F00001E000F00001E000F00001E000F00003C001E00003C001E00003C001
805 E00003C001E000078003C000078003C000078003C000078003C0000F8007C000FFF87FFC
806 0026227DA124>I<00FFF8000F00000F00000F00001E00001E00001E00001E00003C0000
807 3C00003C00003C0000780000780000780000780000F00000F00000F00000F00001E00001
808 E00001E00001E00003C00003C00003C00003C0000780000780000780000780000F8000FF
809 F80015227DA113>I<00FFFC00000F8000000F0000000F0000001E0000001E0000001E00
810 00001E0000003C0000003C0000003C0000003C0000007800000078000000780000007800
811 0000F0000000F0000000F0000000F0000001E0000001E0000001E0002001E0002003C000
812 4003C0004003C0008003C0008007800180078001000780030007800F000F803E00FFFFFE
813 001B227DA11F>76 D<00FF800007FC000F80000F80000F80001780000F80001780001780
814 002F000013C0002F000013C0004F000013C0008F000023C0009E000023C0011E000023C0
815 011E000023C0021E000043C0043C000043C0043C000043C0083C000041E0083C000081E0
816 1078000081E02078000081E02078000081E04078000101E040F0000101E080F0000101E1
817 00F0000101E100F0000200F201E0000200F201E0000200F401E0000200F801E0000400F8
818 03C0000400F003C0000400F003C0000C00E003C0001E00C007C000FFC0C07FFC002E227D
819 A12C>I<00FF000FFC000F8001E0000F800180000FC000800013C001000013C001000011
820 E001000011E001000021E002000020F002000020F002000020F002000040780400004078
821 0400004078040000403C040000803C080000803E080000801E080000801E080001001F10
822 0001000F100001000F10000100079000020007A000020007A000020003E000020003E000
823 040003C000040001C000040001C0000C0001C0001E00008000FFC000800026227DA124>
824 I<00FFFFE0000F0038000F001E000F000E001E0007001E0007001E0007001E0007003C00
825 0F003C000F003C000F003C001E0078001E0078003C00780078007800E000F003C000FFFE
826 0000F0000000F0000001E0000001E0000001E0000001E0000003C0000003C0000003C000
827 0003C00000078000000780000007800000078000000F800000FFF8000020227DA121>80
828 D<00FFFFC0000F0070000F003C000F001C001E000E001E000E001E000F001E000F003C00
829 1E003C001E003C001E003C003C0078003800780070007801E00078078000FFFC0000F00E
830 0000F0070000F0038001E003C001E003C001E003C001E003C003C0078003C0078003C007
831 8003C0078007800F0007800F0107800F01078007020F800702FFF8038C000000F020237D
832 A124>82 D<0001F020000E0C40001802C0003001C0006001C000E0018000C0018001C001
833 8001C0018003C0010003C0010003C0000003C0000003E0000001F8000001FF000000FFE0
834 00007FF000001FF8000003FC0000007C0000003C0000001E0000001E0000001E0020001C
835 0020001C0020001C00200018006000380060003000700060007000C000C8018000C60700
836 0081FC00001B247DA21B>I<1FFFFFF81E03C0381803C0183003C0182007801820078018
837 4007801040078010400F0010800F0010800F0010000F0000001E0000001E0000001E0000
838 001E0000003C0000003C0000003C0000003C000000780000007800000078000000780000
839 00F0000000F0000000F0000000F0000001E0000001E0000001E0000001E0000003E00000
840 FFFF00001D2277A123>I<3FFE03FF03C0007803C0006003C00020078000400780004007
841 800040078000400F0000800F0000800F0000800F0000801E0001001E0001001E0001001E
842 0001003C0002003C0002003C0002003C0002007800040078000400780004007800040070
843 000800F0000800F00010007000100070002000700040003000400038018000180200000E
844 0C000003F00000202377A124>I<007FF81FF8000FC007C000078003000007C002000003
845 C004000003C008000003E010000001E030000001E020000001F040000000F080000000F1
846 00000000FA000000007C000000007C000000007C000000003C000000003C000000007E00
847 0000009E000000011E000000031F000000060F000000040F000000080F80000010078000
848 002007C000004007C00000C003C000018003E000010001E000070001E0001F0003F000FF
849 C01FFE0025227EA124>88 D<FFF001FF1F8000780F0000600F0000400F8000C007800080
850 0780010007C0020003C0060003C0040003E0080001E0100001E0200001F0600000F04000
851 00F0800000F9000000FB0000007A0000007C000000780000007800000078000000780000
852 00F0000000F0000000F0000000F0000001E0000001E0000001E0000001E0000003E00000
853 3FFC0000202276A124>I<00F8C00185C00705C00E03800E03801C03803C038038070078
854 0700780700780700F00E00F00E00F00E00F00E10F01C20701C20703C20305C40308C400F
855 078014157B9419>97 D<03C03F8003800380038007000700070007000E000E000E000E00
856 1C001CF81D0C1E0E3C0638073807380F700F700F700F700FE01EE01EE01EE03CE038E038
857 607060E031C01F0010237BA216>I<007E0001C1000301800703800E07801C07803C0000
858 380000780000780000780000F00000F00000F00000F00000F00100700100700200300C00
859 1830000FC00011157B9416>I<00003C0003F80000380000380000380000700000700000
860 700000700000E00000E00000E00000E00001C000F9C00185C00705C00E03800E03801C03
861 803C0380380700780700780700780700F00E00F00E00F00E00F00E10F01C20701C20703C
862 20305C40308C400F078016237BA219>I<00F803840E021C023C0238027804F018FFE0F0
863 00F000E000E000E000E000E002E0026004701830600F800F157A9416>I<00003E000047
864 0000CF00018F000186000380000380000380000700000700000700000700000700000E00
865 00FFF0000E00000E00000E00001C00001C00001C00001C00001C00003800003800003800
866 00380000380000700000700000700000700000700000E00000E00000E00000E00000C000
867 01C00001C000718000F18000F300006200003C0000182D82A20F>I<001F180030B800E0
868 B801C07001C0700380700780700700E00F00E00F00E00F00E01E01C01E01C01E01C01E01
869 C01E03800E03800E0780060B8006170001E700000700000700000E00000E00000E00701C
870 00F01800F0300060E0003F8000151F7E9416>I<00F0000FE00000E00000E00000E00001
871 C00001C00001C00001C000038000038000038000038000070000071F0007218007C0C00F
872 00E00F00E00E00E00E00E01C01C01C01C01C01C01C01C038038038038038038038070470
873 0708700E08700E10700610E006206003C016237DA219>I<00C001E001C001C000000000
874 0000000000000000000000001C002300430043008700870087000E000E001C001C001C00
875 380038003840708070807080710032001C000B217BA00F>I<00F0000FE00000E00000E0
876 0000E00001C00001C00001C00001C0000380000380000380000380000700000701E00702
877 10070C700E10F00E10F00E20600E40001D80001E00001FC0001C7000383800383800381C
878 00381C20703840703840703840701880E01880600F0014237DA216>107
879 D<01E01FC001C001C001C0038003800380038007000700070007000E000E000E000E001C
880 001C001C001C0038003800380038007000700070007100E200E200E200E200640038000B
881 237CA20C>I<1C0F80F8002610C10C004760660600878078070087807807008700700700
882 87007007000E00E00E000E00E00E000E00E00E000E00E00E001C01C01C001C01C01C001C
883 01C01C001C01C03820380380384038038070403803807080380380308070070031003003
884 001E0023157B9428>I<1C0F002631C04740C08780E08780E08700E08700E00E01C00E01
885 C00E01C00E01C01C03801C03801C03801C0704380708380E08380E103806107006203003
886 C016157B941B>I<007E0001C3000381800701C00E01C01C01E03C01E03801E07801E078
887 01E07801E0F003C0F003C0F00380F00780700700700E00700C0030180018700007C00013
888 157B9419>I<01C1F002621804741C08780C08700E08700E08701E00E01E00E01E00E01E
889 00E01E01C03C01C03C01C03C01C07803807003807003C0E003C1C0072380071E00070000
890 0700000E00000E00000E00000E00001C00001C00001C0000FFC000171F7F9419>I<00F8
891 400184C00705C00E03800E03801C03803C0380380700780700780700780700F00E00F00E
892 00F00E00F00E00F01C00701C00703C00305C0030B8000F38000038000038000070000070
893 0000700000700000E00000E00000E0000FFE00121F7B9416>I<1C1F002620804741C087
894 83C08703C08701808700000E00000E00000E00000E00001C00001C00001C00001C000038
895 000038000038000038000070000030000012157B9415>I<00FC00018300020080040180
896 0C03800C03000C00000F00000FF00007FC0003FE00003E00000F00000700700700F00600
897 F00600E004004008002030001FC00011157D9414>I<00C001C001C001C001C003800380
898 038003800700FFF8070007000E000E000E000E001C001C001C001C003800380038003810
899 702070207040708031001E000D1F7C9E10>I<1E00602300E04380E04381C08381C08701
900 C08701C00703800E03800E03800E03801C07001C07001C07001C07081C0E10180E101C0E
901 101C1E200C262007C3C015157B941A>I<1E03802307C04387C04383C08381C08700C087
902 00C00700800E00800E00800E00801C01001C01001C01001C02001C02001C04001C08001C
903 08000C300003C00012157B9416>I<03C1E0046210083470103CF02038F0203860203800
904 00700000700000700000700000E00000E00000E00000E02061C040F1C040F1C080E2C100
905 446200383C0014157D9416>120 D<1E00302300704380704380E08380E08700E08700E0
906 0701C00E01C00E01C00E01C01C03801C03801C03801C03801C07001C07001C07001C0F00
907 0C3E0003CE00000E00000E00001C00601C00F03800F03000E0600080C0004380003E0000
908 141F7B9418>I<01E02003F06007F8C0041F800801000802000004000008000010000020
909 000040000080000100000200000400800801001003003F060061FC0040F8008070001315
910 7D9414>I<FFFFFC16017C8C19>I E /Fh 4 53 df<03000700FF00070007000700070007
911 000700070007000700070007000700070007000700070007007FF00C157E9412>49
912 D<0F8030E040708030C038E0384038003800700070006000C00180030006000C08080810
913 183FF07FF0FFF00D157E9412>I<0FE030306018701C701C001C00180038006007E00030
914 0018000C000E000EE00EE00EC00C401830300FE00F157F9412>I<00300030007000F001
915 F001700270047008701870107020704070C070FFFE0070007000700070007003FE0F157F
916 9412>I E /Fi 8 116 df<70F8F8F87005057C840E>58 D<0000001800000078000001E0
917 0000078000001E00000078000003E000000F8000003C000000F0000003C000000F000000
918 3C000000F0000000F00000003C0000000F00000003C0000000F00000003C0000000F8000
919 0003E0000000780000001E0000000780000001E000000078000000181D1C7C9926>60
920 D<C0000000F00000003C0000000F00000003C0000000F00000003E0000000F80000001E0
921 000000780000001E0000000780000001E00000007800000078000001E00000078000001E
922 00000078000001E000000F8000003E000000F0000003C000000F0000003C000000F00000
923 00C00000001D1C7C9926>62 D<007FC003FF0007C000780007C000600005E000200009E0
924 00400009E000400008F000400008F000400010F800800010780080001078008000103C00
925 8000203C010000203E010000201E010000201E010000400F020000400F020000400F0200
926 00400782000080078400008007C400008003C400008003C400010001E800010001E80001
927 0001F800010000F800020000F0000200007000020000700006000070000F00002000FFE0
928 00200028227EA127>78 D<007FFFE0000007803C000007800E000007800700000F000780
929 000F000380000F0003C0000F0003C0001E000780001E000780001E000780001E000F0000
930 3C001E00003C003C00003C007000003C01C000007FFE00000078078000007801C0000078
931 01E00000F000F00000F000F00000F000F00000F000F00001E001E00001E001E00001E001
932 E00001E001E00003C003C00003C003C04003C003C04003C001C08007C001C080FFFC00E3
933 000000003C0022237EA125>82 D<00786001C4E00302E00601C00E01C01C01C03C01C038
934 0380780380780380780380F00700F00700F00700F00708F00E10700E10701E1030262018
935 C6200F01C015157E941A>97 D<003E0000C1800380C00700E00E00E01C00F03C00F03C00
936 F07800F07800F07800F0F001E0F001E0F001C0F003C0700380700700700600381C001C38
937 0007E00014157E9417>111 D<007E000081000300800201800603800603000600000700
938 0007F80003FE0001FF00003F00000780000380700380F00300F00300E002004004003018
939 000FE00011157E9417>115 D E /Fj 56 123 df<000FF000007FFC0001F80E0003E01F
940 0007C03F000F803F000F803F000F801E000F800C000F8000000F8000000F8000000F8000
941 00FFFFFF00FFFFFF000F801F000F801F000F801F000F801F000F801F000F801F000F801F
942 000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F
943 000F801F000F801F007FF0FFE07FF0FFE01B237FA21F>12 D<387CFEFFFF7F3B03030706
944 060C1C18702008117CA210>39 D<387CFEFFFF7F3B03030706060C1C18702008117C8610
945 >44 D<FFFCFFFCFFFCFFFC0E047F8C13>I<387CFEFEFE7C3807077C8610>I<00FE0007FF
946 C00F83E01F01F03E00F83E00F87C007C7C007C7C007CFC007CFC007EFC007EFC007EFC00
947 7EFC007EFC007EFC007EFC007EFC007EFC007EFC007EFC007EFC007E7C007C7C007C7C00
948 7C3E00F83E00F81F01F00F83E007FFC000FE0017207E9F1C>48 D<00180000780001F800
949 FFF800FFF80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F800
950 01F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F800
951 01F80001F80001F8007FFFE07FFFE013207C9F1C>I<03FC000FFF003C1FC07007E07C07
952 F0FE03F0FE03F8FE03F8FE01F87C01F83803F80003F80003F00003F00007E00007C0000F
953 80001F00003E0000380000700000E01801C0180380180700180E00380FFFF01FFFF03FFF
954 F07FFFF0FFFFF0FFFFF015207D9F1C>I<00FE0007FFC00F07E01E03F03F03F03F81F83F
955 81F83F81F81F03F81F03F00003F00003E00007C0001F8001FE0001FF000007C00001F000
956 01F80000FC0000FC3C00FE7E00FEFF00FEFF00FEFF00FEFF00FC7E01FC7801F81E07F00F
957 FFC001FE0017207E9F1C>I<0000E00001E00003E00003E00007E0000FE0001FE0001FE0
958 0037E00077E000E7E001C7E00187E00307E00707E00E07E00C07E01807E03807E07007E0
959 E007E0FFFFFEFFFFFE0007E00007E00007E00007E00007E00007E00007E000FFFE00FFFE
960 17207E9F1C>I<1000201E01E01FFFC01FFF801FFF001FFE001FF8001BC0001800001800
961 0018000018000019FC001FFF001E0FC01807E01803E00003F00003F00003F80003F83803
962 F87C03F8FE03F8FE03F8FC03F0FC03F07007E03007C01C1F800FFF0003F80015207D9F1C
963 >I<001F8000FFE003F07007C0F00F01F81F01F83E01F83E01F87E00F07C00007C0000FC
964 0800FC7FC0FCFFE0FD80F0FF00F8FE007CFE007CFC007EFC007EFC007EFC007E7C007E7C
965 007E7C007E3C007C3E007C1E00F80F00F00783E003FFC000FF0017207E9F1C>I<600000
966 7800007FFFFE7FFFFE7FFFFC7FFFF87FFFF87FFFF0E00060E000C0C00180C00300C00300
967 000600000C00001C0000180000380000780000780000F00000F00000F00001F00001F000
968 01F00003F00003F00003F00003F00003F00003F00003F00001E00017227DA11C>I<00FE
969 0003FFC00703E00E00F01C00F01C00783C00783E00783F00783F80783FE0F01FF9E01FFF
970 C00FFF8007FFC003FFE007FFF01E7FF83C1FFC7807FC7801FEF000FEF0003EF0001EF000
971 1EF0001CF8001C7800383C00381F01F00FFFC001FF0017207E9F1C>I<01FE0007FF800F
972 83E01E01F03E00F07C00F87C0078FC007CFC007CFC007CFC007EFC007EFC007EFC007E7C
973 00FE7C00FE3E01FE1E037E0FFE7E07FC7E00207E00007C00007C1E007C3F00F83F00F83F
974 00F03F01E01E03C01C0F800FFE0003F80017207E9F1C>I<387CFEFEFE7C380000000000
975 000000387CFEFEFE7C3807167C9510>I<000070000000007000000000F800000000F800
976 000000F800000001FC00000001FC00000003FE00000003FE00000003FE00000006FF0000
977 00067F0000000E7F8000000C3F8000000C3F800000183FC00000181FC00000381FE00000
978 300FE00000300FE00000600FF000006007F00000E007F80000FFFFF80000FFFFF8000180
979 01FC00018001FC00038001FE00030000FE00030000FE000600007F000600007F00FFE00F
980 FFF8FFE00FFFF825227EA12A>65 D<FFFFFF8000FFFFFFE00007F001F80007F000FC0007
981 F0007E0007F0007E0007F0007F0007F0007F0007F0007F0007F0007F0007F0007F0007F0
982 007E0007F000FE0007F000FC0007F003F80007FFFFF00007FFFFF00007F001FC0007F000
983 7E0007F0003F0007F0003F8007F0001F8007F0001FC007F0001FC007F0001FC007F0001F
984 C007F0001FC007F0001FC007F0003F8007F0003F8007F0007F0007F001FE00FFFFFFF800
985 FFFFFFC00022227EA128>I<0003FE0080001FFF818000FF01E38001F8003F8003E0001F
986 8007C0000F800F800007801F800007803F000003803F000003807F000001807E00000180
987 7E00000180FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE
988 00000000FE000000007E000000007E000001807F000001803F000001803F000003801F80
989 0003000F8000030007C000060003F0000C0001F800380000FF00F000001FFFC0000003FE
990 000021227DA128>I<FFFFFF8000FFFFFFF00007F003FC0007F0007E0007F0003F0007F0
991 001F8007F0000FC007F00007E007F00007E007F00007F007F00003F007F00003F007F000
992 03F007F00003F807F00003F807F00003F807F00003F807F00003F807F00003F807F00003
993 F807F00003F807F00003F807F00003F007F00003F007F00003F007F00007E007F00007E0
994 07F0000FC007F0001F8007F0003F0007F0007E0007F003FC00FFFFFFF000FFFFFF800025
995 227EA12B>I<FFFFFFFCFFFFFFFC07F000FC07F0003C07F0001C07F0000C07F0000E07F0
996 000E07F0000607F0180607F0180607F0180607F0180007F0380007F0780007FFF80007FF
997 F80007F0780007F0380007F0180007F0180007F0180307F0180307F0000307F0000607F0
998 000607F0000607F0000E07F0000E07F0001E07F0003E07F001FCFFFFFFFCFFFFFFFC2022
999 7EA125>I<FFFFFFF8FFFFFFF807F001F807F0007807F0003807F0001807F0001C07F000
1000 1C07F0000C07F0000C07F0180C07F0180C07F0180007F0180007F0380007F0780007FFF8
1001 0007FFF80007F0780007F0380007F0180007F0180007F0180007F0180007F0000007F000
1002 0007F0000007F0000007F0000007F0000007F0000007F00000FFFFE000FFFFE0001E227E
1003 A123>I<0003FE0040001FFFC0C0007F00F1C001F8003FC003F0000FC007C00007C00FC0
1004 0003C01F800003C03F000001C03F000001C07F000000C07E000000C07E000000C0FE0000
1005 0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000FFF
1006 FC7E000FFFFC7F00001FC07F00001FC03F00001FC03F00001FC01F80001FC00FC0001FC0
1007 07E0001FC003F0001FC001FC003FC0007F80E7C0001FFFC3C00003FF00C026227DA12C>
1008 I<FFFFE0FFFFE003F80003F80003F80003F80003F80003F80003F80003F80003F80003F8
1009 0003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F8
1010 0003F80003F80003F80003F80003F80003F80003F80003F800FFFFE0FFFFE013227FA115
1011 >73 D<FFFFE000FFFFE00007F0000007F0000007F0000007F0000007F0000007F0000007
1012 F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007
1013 F0000007F0000007F0000007F0000007F0001807F0001807F0001807F0001807F0003807
1014 F0003807F0007007F0007007F000F007F001F007F007F0FFFFFFF0FFFFFFF01D227EA122
1015 >76 D<FFF000000FFFFFF800001FFF07F800001FE006FC000037E006FC000037E006FC00
1016 0037E0067E000067E0067E000067E0063F0000C7E0063F0000C7E0061F800187E0061F80
1017 0187E0060FC00307E0060FC00307E0060FC00307E00607E00607E00607E00607E00603F0
1018 0C07E00603F00C07E00601F81807E00601F81807E00601F81807E00600FC3007E00600FC
1019 3007E006007E6007E006007E6007E006003FC007E006003FC007E006001F8007E006001F
1020 8007E006001F8007E006000F0007E0FFF00F00FFFFFFF00600FFFF30227EA135>I<0007
1021 FC0000003FFF800000FC07E00003F001F80007E000FC000FC0007E001F80003F001F8000
1022 3F003F00001F803F00001F807F00001FC07E00000FC07E00000FC0FE00000FE0FE00000F
1023 E0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0
1024 7E00000FC07F00001FC07F00001FC03F00001F803F80003F801F80003F000FC0007E0007
1025 E000FC0003F001F80000FC07E000003FFF80000007FC000023227DA12A>79
1026 D<FFFFFF00FFFFFFE007F007F007F001FC07F000FC07F0007E07F0007E07F0007F07F000
1027 7F07F0007F07F0007F07F0007F07F0007E07F0007E07F000FC07F001FC07F007F007FFFF
1028 E007FFFF0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000
1029 0007F0000007F0000007F0000007F0000007F00000FFFF8000FFFF800020227EA126>I<
1030 FFFFFE0000FFFFFFC00007F007F00007F001F80007F000FC0007F0007E0007F0007F0007
1031 F0007F0007F0007F0007F0007F0007F0007F0007F0007F0007F0007E0007F000FC0007F0
1032 01F80007F007F00007FFFFC00007FFFF800007F00FE00007F007F00007F003F80007F001
1033 FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC
1034 0007F001FC0607F000FE0607F000FF0CFFFF803FF8FFFF800FF027227EA12A>82
1035 D<01FC0407FF8C1F03FC3C007C7C003C78001C78001CF8000CF8000CFC000CFC0000FF00
1036 00FFE0007FFF007FFFC03FFFF01FFFF80FFFFC03FFFE003FFE0003FF00007F00003F0000
1037 3FC0001FC0001FC0001FE0001EE0001EF0003CFC003CFF00F8C7FFE080FF8018227DA11F
1038 >I<7FFFFFFF807FFFFFFF807E03F80F807803F807807003F803806003F80180E003F801
1039 C0E003F801C0C003F800C0C003F800C0C003F800C0C003F800C00003F800000003F80000
1040 0003F800000003F800000003F800000003F800000003F800000003F800000003F8000000
1041 03F800000003F800000003F800000003F800000003F800000003F800000003F800000003
1042 F800000003F800000003F800000003F8000003FFFFF80003FFFFF80022227EA127>I<FF
1043 FF803FFCFFFF803FFC07F000018007F000018007F000018007F000018007F000018007F0
1044 00018007F000018007F000018007F000018007F000018007F000018007F000018007F000
1045 018007F000018007F000018007F000018007F000018007F000018007F000018007F00001
1046 8007F000018007F000018007F000018007F000018003F000030003F800030001F8000600
1047 00FC000E00007E001C00003F80F800000FFFE0000001FF000026227EA12B>I<07FC001F
1048 FF803F07C03F03E03F01E03F01F01E01F00001F00001F0003FF003FDF01FC1F03F01F07E
1049 01F0FC01F0FC01F0FC01F0FC01F07E02F07E0CF81FF87F07E03F18167E951B>97
1050 D<FF000000FF0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000
1051 001F0000001F0000001F0000001F0000001F0FE0001F3FF8001FF07C001F801E001F001F
1052 001F000F801F000F801F000FC01F000FC01F000FC01F000FC01F000FC01F000FC01F000F
1053 C01F000FC01F000F801F001F801F801F001FC03E001EE07C001C3FF800180FC0001A237E
1054 A21F>I<00FF8007FFE00F83F01F03F03E03F07E03F07C01E07C0000FC0000FC0000FC00
1055 00FC0000FC0000FC00007C00007E00007E00003E00301F00600FC0E007FF8000FE001416
1056 7E9519>I<0001FE000001FE0000003E0000003E0000003E0000003E0000003E0000003E
1057 0000003E0000003E0000003E0000003E0000003E0001FC3E0007FFBE000F81FE001F007E
1058 003E003E007E003E007C003E00FC003E00FC003E00FC003E00FC003E00FC003E00FC003E
1059 00FC003E00FC003E007C003E007C003E003E007E001E00FE000F83BE0007FF3FC001FC3F
1060 C01A237EA21F>I<00FE0007FF800F87C01E01E03E01F07C00F07C00F8FC00F8FC00F8FF
1061 FFF8FFFFF8FC0000FC0000FC00007C00007C00007E00003E00181F00300FC07003FFC000
1062 FF0015167E951A>I<003F8000FFC001E3E003C7E007C7E00F87E00F83C00F80000F8000
1063 0F80000F80000F80000F8000FFFC00FFFC000F80000F80000F80000F80000F80000F8000
1064 0F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8000
1065 7FF8007FF80013237FA211>I<03FC1E0FFF7F1F0F8F3E07CF3C03C07C03E07C03E07C03
1066 E07C03E07C03E03C03C03E07C01F0F801FFF0013FC003000003000003800003FFF801FFF
1067 F00FFFF81FFFFC3800FC70003EF0001EF0001EF0001EF0001E78003C7C007C3F01F80FFF
1068 E001FF0018217E951C>I<FF000000FF0000001F0000001F0000001F0000001F0000001F
1069 0000001F0000001F0000001F0000001F0000001F0000001F0000001F07E0001F1FF8001F
1070 307C001F403C001F803E001F803E001F003E001F003E001F003E001F003E001F003E001F
1071 003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E00FF
1072 E1FFC0FFE1FFC01A237EA21F>I<1C003F007F007F007F003F001C000000000000000000
1073 000000000000FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F00
1074 1F001F001F001F001F00FFE0FFE00B247EA310>I<FF000000FF0000001F0000001F0000
1075 001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000
1076 001F00FF801F00FF801F0038001F0060001F01C0001F0380001F0700001F0E00001F1C00
1077 001F7E00001FFF00001FCF00001F0F80001F07C0001F03E0001F01E0001F01F0001F00F8
1078 001F007C001F003C00FFE0FFC0FFE0FFC01A237EA21E>107 D<FF00FF001F001F001F00
1079 1F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
1080 1F001F001F001F001F001F001F001F001F001F00FFE0FFE00B237EA210>I<FF07F007F0
1081 00FF1FFC1FFC001F303E303E001F403E403E001F801F801F001F801F801F001F001F001F
1082 001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F
1083 001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F
1084 001F001F001F00FFE0FFE0FFE0FFE0FFE0FFE02B167E9530>I<FF07E000FF1FF8001F30
1085 7C001F403C001F803E001F803E001F003E001F003E001F003E001F003E001F003E001F00
1086 3E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E00FFE1
1087 FFC0FFE1FFC01A167E951F>I<00FE0007FFC00F83E01E00F03E00F87C007C7C007C7C00
1088 7CFC007EFC007EFC007EFC007EFC007EFC007EFC007E7C007C7C007C3E00F81F01F00F83
1089 E007FFC000FE0017167E951C>I<FF0FE000FF3FF8001FF07C001F803E001F001F001F00
1090 1F801F001F801F000FC01F000FC01F000FC01F000FC01F000FC01F000FC01F000FC01F00
1091 0FC01F001F801F001F801F803F001FC03E001FE0FC001F3FF8001F0FC0001F0000001F00
1092 00001F0000001F0000001F0000001F0000001F0000001F000000FFE00000FFE000001A20
1093 7E951F>I<FE1F00FE3FC01E67E01EC7E01E87E01E87E01F83C01F00001F00001F00001F
1094 00001F00001F00001F00001F00001F00001F00001F00001F00001F0000FFF000FFF00013
1095 167E9517>114 D<0FF3003FFF00781F00600700E00300E00300F00300FC00007FE0007F
1096 F8003FFE000FFF0001FF00000F80C00780C00380E00380E00380F00700FC0E00EFFC00C7
1097 F00011167E9516>I<0180000180000180000180000380000380000780000780000F8000
1098 3F8000FFFF00FFFF000F80000F80000F80000F80000F80000F80000F80000F80000F8000
1099 0F80000F80000F81800F81800F81800F81800F81800F830007C30003FE0000F80011207F
1100 9F16>I<FF01FE00FF01FE001F003E001F003E001F003E001F003E001F003E001F003E00
1101 1F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E00
1102 1F007E001F00FE000F81BE0007FF3FC001FC3FC01A167E951F>I<FFE01FE0FFE01FE00F
1103 8006000F8006000FC00E0007C00C0007E01C0003E0180003E0180001F0300001F0300000
1104 F8600000F86000007CC000007CC000007FC000003F8000003F8000001F0000001F000000
1105 0E0000000E00001B167F951E>I<FFE7FF07F8FFE7FF07F81F007800C00F807801800F80
1106 7C01800F807C018007C07E030007C0DE030007E0DE070003E0DF060003E18F060001F18F
1107 0C0001F38F8C0001FB079C0000FB07D80000FE03D800007E03F000007E03F000007C01F0
1108 00003C01E000003800E000001800C00025167F9528>I<FFE07FC0FFE07FC00F801C0007
1109 C0380003E0700003F0600001F8C00000F98000007F8000003F0000001F0000001F800000
1110 3FC0000037C0000063E00000C1F00001C0F8000380FC0007007E000E003E00FF80FFE0FF
1111 80FFE01B167F951E>I<FFE01FE0FFE01FE00F8006000F8006000FC00E0007C00C0007E0
1112 1C0003E0180003E0180001F0300001F0300000F8600000F86000007CC000007CC000007F
1113 C000003F8000003F8000001F0000001F0000000E0000000E0000000C0000000C00000018
1114 000078180000FC380000FC300000FC60000069C000007F8000001F0000001B207F951E>
1115 I<7FFFF07FFFF07C03E07007C0600FC0E01F80C01F00C03E00C07E0000FC0000F80001F0
1116 0003F03007E03007C0300F80701F80703F00603E00E07C03E0FFFFE0FFFFE014167E9519
1117 >I E /Fk 35 91 df<FFE0FFE00B027D8B10>45 D<003F0000E1800180C00300E0070060
1118 0E00700E00701E00701C00703C00703C00703C00703800F07800F07800F07800F07800F0
1119 7800F0F001E0F001E0F001E0F001E0F001E0F003C0F003C0F00380E00380E00780700700
1120 700E00700E00381C001C700007C00014227CA018>48 D<0004000C007C079C001C001C00
1121 380038003800380038003800700070007000700070007000E000E000E000E000E000E001
1122 C001C001C001C001C001C003C003C0FFFE0F217CA018>I<001FC000607000803801003C
1123 02003C04001E04001E0F001E0F801E0F801E0F003E06003C00003C0000780000780000F0
1124 0001E00001C0000380000700000E0000180000300000600000C000018010030010040010
1125 0800201000203FFFE07FFFC0FFFFC017217EA018>I<001F8000E0E00100700200780400
1126 780780780F80780F80780700F80000F00000F00001E00001C0000380000E0000FC000007
1127 000003800003C00001E00001E00001E00001F03001F07803E0F803E0F803E0F003C08007
1128 C0400780400F00200E00183C0007E00015227DA018>I<0000400000C00001C00001C000
1129 03C00005C0000F80000B8000138000238000438000C38000870001070002070006070004
1130 0700080700100E00300E00200E00400E00800E00FFFFF8001C00001C00001C00001C0000
1131 1C00001C00003800003C0007FFC015217DA018>I<00800801E03801FFF001FFE001FF80
1132 017E00010000020000020000020000020000020000023E0004C3800501C00600C00400E0
1133 0000E00000F00000F00000F00000F00000F07000F0F801E0F001E0E001E08001C0400380
1134 400780400700200C0018380007E00015227DA018>I<0007C000183000601000C0380180
1135 780380780700700E00000E00001C00001C00003C00003C7C003987007A03807C01807C01
1136 C07801C0F801E0F801E0F001E0F001E0F001E0F001E0F003C0F003C0E003C0E003807007
1137 00700700300E00381C001C300007C00015227CA018>I<1000003800003FFFF03FFFE03F
1138 FFE060004040008040010080020080020000040000080000100000200000200000400000
1139 C00000C0000180000180000380000300000700000700000F00000F00000E00001E00001E
1140 00001E00001E00003C00003C00003C0000180000142379A118>I<001F800060E0008030
1141 0100180200180600180400180C00180E00180E00180F00300F806007C0C007F18003FE00
1142 00FC0000FF00033F80060FC00C07E01803E03000E06000E0600070C00060C00060C00060
1143 C00040C000C06000806001003002001C1C0007E00015227DA018>I<003F0000E1800180
1144 C00300E00700600E00701E00701C00703C00703C00703C00703C00F07800F07800F07800
1145 F03801F03801F03801F01C03E00C05E00619E003E1E00001C00003C00003800003800007
1146 00600600F00E00F01C00E0380080700040C0003F000014227CA018>I<060F1F1F0E0000
1147 0000000000000000003078F8787008157C940E>I<0000040000000006000000000E0000
1148 00001E000000001E000000003E000000003F000000004F000000004F000000008F000000
1149 008F000000010F0000000107800000020780000002078000000407800000040780000008
1150 07C000000803C000001003C000001003C000002003C000003FFFE000004001E000004001
1151 E000008001E000008001E000010001E000010000F000020000F000060000F000040000F0
1152 000C0000F0003E0001F800FF800FFF8021237EA225>65 D<03FFFFE0003E0078003C003C
1153 003C001E003C001F003C000F003C000F0078000F0078001F0078001F0078001F0078003E
1154 0078003C00F0007800F001F000F007C000FFFFC000F001F000F000F801E0007801E0007C
1155 01E0003C01E0003E01E0003E01E0003E03C0003C03C0007C03C0007C03C000F803C000F0
1156 03C001E0078003C007C00F80FFFFFC0020227EA123>I<0001FC02000F0306003C008C00
1157 70005C00E0003C01C0003C0380001C0700001C0F0000181E0000181E0000083E0000083C
1158 0000087C0000087C000000F8000000F8000000F8000000F8000000F8000000F0000000F0
1159 000000F0000000F0000020F0000020F0000040F80000407800004078000080380001003C
1160 0001001C0002000E000C000700100001C0E000003F00001F247AA223>I<03FFFFC00000
1161 3E00F000003C003C00003C001E00003C000E00003C000F00003C00078000780007800078
1162 00078000780007C000780003C000780003C000780007C000F00007C000F00007C000F000
1163 07C000F00007C000F00007C000F00007C001E0000F8001E0000F8001E0000F8001E0000F
1164 0001E0001F0001E0001E0003C0001E0003C0003C0003C000780003C000700003C000E000
1165 03C001C000078007800007C01E0000FFFFF8000022227EA125>I<03FFFFFF003E001F00
1166 3C000E003C0006003C0002003C0002003C00020078000200780002007800020078020200
1167 7802000078060000F0040000F0040000F01C0000FFFC0000F01C0000F00C0001E0080001
1168 E0080001E0080001E0080201E0000401E0000403C0000403C0000803C0000803C0001803
1169 C0001003C00030078000F007C003E0FFFFFFE020227EA121>I<03FFFFFF003E001F003C
1170 000E003C0006003C0002003C0002003C0002007800020078000200780002007802020078
1171 02000078060000F0040000F0040000F01C0000FFFC0000F01C0000F00C0001E0080001E0
1172 080001E0080001E0080001E0000001E0000003C0000003C0000003C0000003C0000003C0
1173 000003C0000007C0000007C00000FFFE000020227EA120>I<0000FE0100070183001C00
1174 460070002E00E0001E01C0001E0380000E0780000E0F00000C1E00000C1E0000043E0000
1175 043C0000047C0000047C000000F8000000F8000000F8000000F8000000F8000000F00000
1176 00F0003FFFF00001F0F00000F0F00000F0F00000F0F80001E0780001E0780001E0380001
1177 E01C0001E00E0003E0060004C0038008C001E07040003F800020247AA226>I<03FFE0FF
1178 F8003E000F80003C000F00003C000F00003C000F00003C000F00003C000F000078001E00
1179 0078001E000078001E000078001E000078001E000078001E0000F0003C0000F0003C0000
1180 F0003C0000FFFFFC0000F0003C0000F0003C0001E000780001E000780001E000780001E0
1181 00780001E000780001E000780003C000F00003C000F00003C000F00003C000F00003C000
1182 F00003C000F000078001E00007C001F000FFFC3FFF0025227EA125>I<03FFF0003E0000
1183 3C00003C00003C00003C00003C0000780000780000780000780000780000780000F00000
1184 F00000F00000F00000F00000F00001E00001E00001E00001E00001E00001E00003C00003
1185 C00003C00003C00003C00003C00007800007C000FFFC0014227EA112>I<03FFF000003E
1186 0000003C0000003C0000003C0000003C0000003C00000078000000780000007800000078
1187 0000007800000078000000F0000000F0000000F0000000F0000000F0000000F0000001E0
1188 000001E0000001E0000001E0002001E0002001E0004003C0004003C0004003C000C003C0
1189 008003C0018003C003800780078007C01F00FFFFFF001B227EA11E>76
1190 D<03FE00000FF8003E00001F80002F00001F00002F00002F00002F00002F00002F00004F
1191 00002F00004F00004780009E00004780009E00004780011E00004780011E00004780021E
1192 000043C0041E000083C0043C000083C0083C000083C0083C000083C0103C000081E0103C
1193 000081E0203C000101E02078000101E04078000101E04078000100F08078000100F08078
1194 000100F10078000200F100F0000200F200F00002007C00F00002007C00F00002007800F0
1195 0006007800F00006007001E0001F003001F000FFE0203FFF002D227EA12D>I<03FE001F
1196 F8003E0003C0003F000180002F000100002F80010000278001000027C001000043C00200
1197 0043C002000041E002000041E002000040F002000040F002000080780400008078040000
1198 803C040000803C040000801E040000801E040001000F080001000F080001000F88000100
1199 078800010007C800010003C800020003D000020001F000020001F000020000F000020000
1200 F000060000700006000060001F00002000FFE000200025227EA125>I<0001FC00000E07
1201 00003801C0007000E001E000F003C00078078000780700003C0F00003C1E00003C1E0000
1202 3E3C00003E3C00003E7C00003E7C00003EF800003EF800003EF800003EF800003EF80000
1203 3EF800007CF000007CF000007CF00000F8F00000F8F80000F0F80001F0780001E0780003
1204 C0780007803C0007001C000E000E001C000700780003C1E000007F00001F247AA226>I<
1205 03FFFFC0003E00F0003C0078003C003C003C003E003C001E003C003E0078003E0078003E
1206 0078003E0078003E0078003C0078007C00F0007800F000F000F001E000F0078000FFFE00
1207 00F0000001E0000001E0000001E0000001E0000001E0000001E0000003C0000003C00000
1208 03C0000003C0000003C0000003C000000780000007C00000FFFC00001F227EA121>I<03
1209 FFFF0000003E01E000003C007800003C003C00003C003C00003C003E00003C003E000078
1210 003E000078003E000078003E000078003E000078007C00007800780000F000F00000F001
1211 E00000F007800000FFFC000000F00C000000F007000001E007000001E003800001E00380
1212 0001E003C00001E003C00001E003C00003C007C00003C007C00003C007C00003C007C000
1213 03C007C04003C007C080078007C08007C003E100FFFC01E3000000007C0022237EA124>
1214 82 D<000FC0800030318000C00B0001800700038007000300030007000300070003000E
1215 0002000E0002000F0002000F0000000F0000000F80000007E0000007FE000003FFC00001
1216 FFE000007FF000000FF8000000F8000000780000003C0000003C0000003C0020003C0040
1217 0038004000380040003800600030006000700060006000F000C000E8018000C607000081
1218 FC000019247DA21B>I<1FFFFFFE3C03E03E3803C00C3003C0042003C0046003C0044003
1219 C00440078004C007800480078004800780040007800000078000000F0000000F0000000F
1220 0000000F0000000F0000000F0000001E0000001E0000001E0000001E0000001E0000001E
1221 0000003C0000003C0000003C0000003C0000003C0000003C0000007C000000FC00003FFF
1222 F0001F227AA123>I<FFF807FE0F8000F00F0000600F0000400F0000400F0000400F0000
1223 401E0000801E0000801E0000801E0000801E0000801E0000803C0001003C0001003C0001
1224 003C0001003C0001003C0001007800020078000200780002007800020078000200780004
1225 007800040078000400780008007800080038001000380020001C0040000E008000070300
1226 0000FC00001F2378A125>I<FFF8007FE00FC0001F000F80000E000780000C0007800008
1227 000780001000078000100007C000200003C000200003C000400003C000400003C0008000
1228 01E000800001E001000001E003000001E002000001F004000000F004000000F008000000
1229 F008000000F010000000F81000000078200000007820000000784000000078C00000007C
1230 800000003D000000003D000000003E000000003E000000001C000000001C000000001800
1231 0000001800000023237AA125>I<FFF83FFC03FF1F8007E000F80F0003C000700F0003C0
1232 00200F0003C000600F8003E00040078001E00040078003E00080078003E00080078005E0
1233 0100078005E00100078009E0020007C009F0020003C010F0040003C010F0040003C020F0
1234 080003C020F0080003C040F0100003C040F0100001E08078200001E08078200001E10078
1235 400001E10078400001E20078800001E20078800001E40079000000F4003D000000F8003E
1236 000000F8003E000000F8003C000000F0003C000000F0003C000000E00038000000600018
1237 000000400010000030237AA132>I<03FFE01FF8003F800FC0001F000700001F00060000
1238 0F000400000F80080000078010000007C020000003C060000003E040000001E080000001
1239 F100000000F200000000FC000000007C000000007C000000003C000000003E000000005E
1240 000000009F000000010F000000030F80000002078000000407C000000803C000001003E0
1241 00002001E000006001F000004000F000008000F80001000078000300007C001F8000FC00
1242 FFE007FFC025227FA125>I<FFF8003FE00FC0001F000F80000C00078000080007C00010
1243 0003C000100003E000200001E000400001F000800000F001800000F001000000F8020000
1244 0078040000007C0C0000003C080000003E100000001E200000001F400000001FC0000000
1245 0F800000000F000000000F000000000F000000000F000000000E000000001E000000001E
1246 000000001E000000001E000000001E000000001C000000003C000000003E00000007FFE0
1247 000023227AA125>I<01FFFFF803F000F003C001E0038003C0030003C00600078004000F
1248 0004001E000C001E0008003C00080078000000F0000000F0000001E0000003C0000007C0
1249 0000078000000F0000001E0000003E0000003C00000078004000F0004001F0004001E000
1250 8003C00080078000800F8001800F0001001E0003003C0007007C001F0078007E00FFFFFE
1251 001D227DA11E>I E /Fl 1 14 df<0001FE0000000FFFC000003E01F00000F0003C0001
1252 C0000E00038000070007000003800E000001C00C000000C01C000000E038000000703000
1253 0000303000000030700000003860000000186000000018E00000001CC00000000CC00000
1254 000CC00000000CC00000000CC00000000CC00000000CC00000000CC00000000CC0000000
1255 0CE00000001C600000001860000000187000000038300000003030000000303800000070
1256 1C000000E00C000000C00E000001C00700000380038000070001C0000E0000F0003C0000
1257 3E01F000000FFFC0000001FE0000262B7DA02D>13 D E /Fm 25
1258 122 df<001F83E000F06E3001C078780380F8780300F030070070000700700007007000
1259 07007000070070000700700007007000FFFFFF8007007000070070000700700007007000
1260 070070000700700007007000070070000700700007007000070070000700700007007000
1261 07007000070070000700700007007000070070007FE3FF001D20809F1B>11
1262 D<70F8FCFC74040404080810102040060E7C840D>44 D<70F8F8F87005057C840D>46
1263 D<018003800F80F380038003800380038003800380038003800380038003800380038003
1264 80038003800380038003800380038003800380038007C0FFFE0F1E7C9D17>49
1265 D<03F0000C1C00100E00200700400780800780F007C0F803C0F803C0F803C02007C00007
1266 C0000780000780000F00000E00001C0000380000700000600000C0000180000300000600
1267 400C00401800401000803FFF807FFF80FFFF80121E7E9D17>I<03F0000C1C00100E0020
1268 0F00780F80780780780780380F80000F80000F00000F00000E00001C0000380003F00000
1269 3C00000E00000F000007800007800007C02007C0F807C0F807C0F807C0F0078040078040
1270 0F00200E001C3C0003F000121F7E9D17>I<000600000600000E00000E00001E00002E00
1271 002E00004E00008E00008E00010E00020E00020E00040E00080E00080E00100E00200E00
1272 200E00400E00C00E00FFFFF0000E00000E00000E00000E00000E00000E00000E0000FFE0
1273 141E7F9D17>I<03F0000E18001C0C00380600380700700700700380F00380F00380F003
1274 C0F003C0F003C0F003C0F003C07007C07007C03807C0180BC00E13C003E3C00003800003
1275 80000380000700300700780600780E00700C002018001070000FC000121F7E9D17>57
1276 D<FFFFE0000F80380007801E0007801F0007800F0007800F8007800F8007800F8007800F
1277 8007800F8007800F0007801F0007801E0007803C0007FFF00007803C0007801E0007800F
1278 0007800F8007800780078007C0078007C0078007C0078007C0078007C00780078007800F
1279 8007800F0007801F000F803C00FFFFF0001A1F7E9E20>66 D<FFFC0FFC0FC003E0078001
1280 800780010007800200078004000780080007801000078020000780400007808000078100
1281 000783000007878000078F80000793C0000791E00007A1E00007C0F0000780F000078078
1282 0007803C0007803C0007801E0007801E0007800F000780078007800780078007C00FC007
1283 E0FFFC3FFC1E1F7E9E23>75 D<FF80001FF80F80001F800780001F0005C0002F0005C000
1284 2F0005C0002F0004E0004F0004E0004F000470008F000470008F000470008F000438010F
1285 000438010F000438010F00041C020F00041C020F00041C020F00040E040F00040E040F00
1286 040E040F000407080F000407080F000407080F000403900F000403900F000401E00F0004
1287 01E00F000401E00F000E00C00F001F00C01F80FFE0C1FFF8251F7E9E2A>77
1288 D<FF803FF807C007C007C0038005E0010005E0010004F001000478010004780100043C01
1289 00043C0100041E0100040F0100040F010004078100040781000403C1000401E1000401E1
1290 000400F1000400F1000400790004003D0004003D0004001F0004001F0004000F00040007
1291 00040007000E0003001F000300FFE001001D1F7E9E22>I<0E0000FE00000E00000E0000
1292 0E00000E00000E00000E00000E00000E00000E00000E00000E3E000EC3800F01C00F00E0
1293 0E00E00E00700E00700E00780E00780E00780E00780E00780E00780E00700E00700E00E0
1294 0F00E00D01C00CC300083E0015207F9F19>98 D<03F80E0C1C1E381E380C70007000F000
1295 F000F000F000F000F00070007000380138011C020E0C03F010147E9314>I<03F0000E1C
1296 001C0E00380700380700700700700380F00380F00380FFFF80F00000F00000F000007000
1297 007000003800801800800C010007060001F80011147F9314>101
1298 D<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00
1299 000E3E000E43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
1300 C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16207F9F19>104
1301 D<1C001E003E001E001C000000000000000000000000000E007E000E000E000E000E000E
1302 000E000E000E000E000E000E000E000E000E000E000E000E00FFC00A1F809E0C>I<0E1F
1303 01F000FE618618000E81C81C000F00F00E000F00F00E000E00E00E000E00E00E000E00E0
1304 0E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E
1305 000E00E00E000E00E00E000E00E00E000E00E00E00FFE7FE7FE023147F9326>109
1306 D<01F800070E001C03803801C03801C07000E07000E0F000F0F000F0F000F0F000F0F000
1307 F0F000F07000E07000E03801C03801C01C0380070E0001F80014147F9317>111
1308 D<0E78FE8C0F1E0F1E0F0C0E000E000E000E000E000E000E000E000E000E000E000E000E
1309 000E00FFE00F147F9312>114 D<1F9030704030C010C010C010E00078007F803FE00FF0
1310 0070803880188018C018C018E030D0608F800D147E9312>I<020002000200060006000E
1311 000E003E00FFF80E000E000E000E000E000E000E000E000E000E000E000E080E080E080E
1312 080E080610031001E00D1C7F9B12>I<0E01C0FE1FC00E01C00E01C00E01C00E01C00E01
1313 C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E03C00603C0030D
1314 C001F1FC16147F9319>I<FF83F81E01E01C00C00E00800E00800E008007010007010003
1315 820003820003820001C40001C40001EC0000E80000E80000700000700000700000200015
1316 147F9318>I<FF83F81E01E01C00C00E00800E00800E0080070100070100038200038200
1317 03820001C40001C40001EC0000E80000E800007000007000007000002000002000004000
1318 004000004000F08000F08000F100006200003C0000151D7F9318>121
1319 D E /Fn 79 125 df<001F83E000706E3000C07C780180F8780380F07807007000070070
1320 0007007000070070000700700007007000070070000700700007007000FFFFFFC0070070
1321 000700700007007000070070000700700007007000070070000700700007007000070070
1322 000700700007007000070070000700700007007000070070000700700007007000070078
1323 007FE3FF801D2380A21C>11 D<001FC0000070200000C010000180380003807800070078
1324 000700300007000000070000000700000007000000070000000700000007000000FFFFF8
1325 000700780007003800070038000700380007003800070038000700380007003800070038
1326 000700380007003800070038000700380007003800070038000700380007003800070038
1327 00070038007FE1FF80192380A21B>I<001FD8000070380000C078000180780003807800
1328 070038000700380007003800070038000700380007003800070038000700380007003800
1329 FFFFF8000700380007003800070038000700380007003800070038000700380007003800
1330 070038000700380007003800070038000700380007003800070038000700380007003800
1331 07003800070038007FF3FF80192380A21B>I<000FC07F00007031C08000E00B00400180
1332 1E00E003803E01E007003C01E007001C00C007001C000007001C000007001C000007001C
1333 000007001C000007001C000007001C0000FFFFFFFFE007001C01E007001C00E007001C00
1334 E007001C00E007001C00E007001C00E007001C00E007001C00E007001C00E007001C00E0
1335 07001C00E007001C00E007001C00E007001C00E007001C00E007001C00E007001C00E007
1336 001C00E007001C00E07FF1FFCFFE272380A229>I<7038F87CFC7EFC7E743A0402040204
1337 0204020804080410081008201040200F0F7EA218>34 D<003C000000006200000000C200
1338 000001810000000181000000038100000003810000000381000000038100000003820000
1339 0003820000000384000000038800000001C800000001D000000001E003FF8001C0007C00
1340 00E000380001E000300001F0002000027000400004700040000838008000183C00800030
1341 1C010000701E020000700E020000F007040000F007880000F003880000F001D00100F000
1342 E0010078007003003800B802003C031C04000E0C0E0C0003F003F00021257EA326>38
1343 D<70F8FCFC7404040404080810102040060F7CA20E>I<00200040008001000300060004
1344 000C000C00180018003000300030007000600060006000E000E000E000E000E000E000E0
1345 00E000E000E000E000E000E000E0006000600060007000300030003000180018000C000C
1346 0004000600030001000080004000200B327CA413>I<800040002000100018000C000400
1347 060006000300030001800180018001C000C000C000C000E000E000E000E000E000E000E0
1348 00E000E000E000E000E000E000E000C000C000C001C00180018001800300030006000600
1349 04000C00180010002000400080000B327DA413>I<000180000001800000018000000180
1350 000001800000018000000180000001800000018000000180000001800000018000000180
1351 00000180000001800000018000FFFFFFFEFFFFFFFE000180000001800000018000000180
1352 000001800000018000000180000001800000018000000180000001800000018000000180
1353 000001800000018000000180001F227D9C26>43 D<70F8FCFC7404040404080810102040
1354 060F7C840E>I<FFE0FFE00B027F8B10>I<70F8F8F87005057C840E>I<00018000018000
1355 0380000300000300000700000600000600000E00000C00000C00001C0000180000180000
1356 180000380000300000300000700000600000600000E00000C00000C00001C00001800001
1357 80000380000300000300000700000600000600000E00000C00000C00000C00001C000018
1358 0000180000380000300000300000700000600000600000E00000C00000C0000011317DA4
1359 18>I<01F000071C000C06001803003803803803807001C07001C07001C07001C0F001E0
1360 F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0
1361 F001E07001C07001C07001C07803C03803803803801C07000C0600071C0001F00013227E
1362 A018>I<008003800F80F380038003800380038003800380038003800380038003800380
1363 03800380038003800380038003800380038003800380038003800380038007C0FFFE0F21
1364 7CA018>I<03F0000C1C001007002007804003C04003C08003E0F003E0F801E0F801E0F8
1365 01E02003E00003E00003C00003C0000780000700000E00001C0000180000300000600000
1366 C0000180000100000200200400200800201800603000403FFFC07FFFC0FFFFC013217EA0
1367 18>I<03F8000C1E001007002007804007C07807C07803C07807C03807C0000780000780
1368 000700000F00000E0000380003F000001C00000F000007800007800003C00003C00003E0
1369 2003E07003E0F803E0F803E0F003C04003C0400780200780100F000C1C0003F00013227E
1370 A018>I<000200000600000E00000E00001E00001E00002E00004E00004E00008E00008E
1371 00010E00020E00020E00040E00040E00080E00100E00100E00200E00200E00400E00800E
1372 00FFFFF8000E00000E00000E00000E00000E00000E00000E00001F0001FFF015217FA018
1373 >I<1000801E07001FFF001FFE001FF80013E00010000010000010000010000010000010
1374 000010F800130E001407001803801003800001C00001C00001E00001E00001E00001E070
1375 01E0F001E0F001E0E001C08001C04003C04003802007001006000C1C0003F00013227EA0
1376 18>I<007E0001C1000300800601C00E03C01C03C0180180380000380000780000700000
1377 700000F0F800F30C00F40600F40300F80380F801C0F001C0F001E0F001E0F001E0F001E0
1378 F001E07001E07001E07001E03801C03801C01803801C03000C0600070C0001F00013227E
1379 A018>I<4000006000007FFFE07FFFC07FFFC0400080C001008001008002008002000004
1380 0000080000080000100000300000200000600000600000600000E00000C00000C00001C0
1381 0001C00001C00001C00003C00003C00003C00003C00003C00003C00003C00003C0000180
1382 0013237DA118>I<01F800060E000803001001802001802000C06000C06000C06000C070
1383 00C07801803E01003F02001FC4000FF80003F80003FC00067F00083F80100F803007C060
1384 01C06000E0C000E0C00060C00060C00060C000606000406000C03000801803000E0E0003
1385 F00013227EA018>I<01F000060C000C0600180700380380700380700380F001C0F001C0
1386 F001C0F001E0F001E0F001E0F001E0F001E07001E07003E03803E01805E00C05E00619E0
1387 03E1E00001C00001C00001C0000380000380300300780700780600700C00201800103000
1388 0FC00013227EA018>I<70F8F8F870000000000000000000000070F8F8F87005157C940E>
1389 I<70F8F8F870000000000000000000000070F8F8F87808080808101010204040051F7C94
1390 0E>I<0001800000018000000180000003C0000003C0000003C0000005E0000005E00000
1391 0DF0000008F0000008F0000010F800001078000010780000203C0000203C0000203C0000
1392 401E0000401E0000401E0000800F0000800F0000FFFF000100078001000780030007C002
1393 0003C0020003C0040003E0040001E0040001E00C0000F00C0000F03E0001F8FF800FFF20
1394 237EA225>65 D<FFFFF8000F800E0007800780078003C0078003E0078001E0078001F007
1395 8001F0078001F0078001F0078001F0078001E0078003E0078007C007800F8007803E0007
1396 FFFE0007800780078003C0078001E0078001F0078000F0078000F8078000F8078000F807
1397 8000F8078000F8078000F8078001F0078001F0078003E0078007C00F800F00FFFFFC001D
1398 227EA123>I<0007E0100038183000E0063001C00170038000F0070000F00E0000701E00
1399 00701C0000303C0000303C0000307C0000107800001078000010F8000000F8000000F800
1400 0000F8000000F8000000F8000000F8000000F800000078000000780000107C0000103C00
1401 00103C0000101C0000201E0000200E000040070000400380008001C0010000E002000038
1402 1C000007E0001C247DA223>I<FFFFF0000F801E0007800700078003C0078001C0078000
1403 E0078000F007800078078000780780007C0780003C0780003C0780003C0780003E078000
1404 3E0780003E0780003E0780003E0780003E0780003E0780003E0780003E0780003C078000
1405 3C0780007C0780007807800078078000F0078000E0078001E0078003C0078007000F801E
1406 00FFFFF8001F227EA125>I<FFFFFFC00F8007C0078001C0078000C00780004007800040
1407 078000600780002007800020078000200780202007802000078020000780200007806000
1408 0780E00007FFE0000780E000078060000780200007802000078020000780200807800008
1409 07800008078000100780001007800010078000300780003007800070078000E00F8003E0
1410 FFFFFFE01D227EA121>I<FFFFFFC00F8007C0078001C0078000C0078000400780004007
1411 800060078000200780002007800020078020200780200007802000078020000780600007
1412 80E00007FFE0000780E00007806000078020000780200007802000078020000780000007
1413 800000078000000780000007800000078000000780000007800000078000000FC00000FF
1414 FE00001B227EA120>I<0007F008003C0C1800E0021801C001B8038000F8070000780F00
1415 00381E0000381E0000183C0000183C0000187C0000087800000878000008F8000000F800
1416 0000F8000000F8000000F8000000F8000000F8000000F8001FFF780000F8780000787C00
1417 00783C0000783C0000781E0000781E0000780F00007807000078038000B801C000B800E0
1418 0318003C0C080007F00020247DA226>I<FFFC3FFF0FC003F0078001E0078001E0078001
1419 E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001
1420 E0078001E0078001E007FFFFE0078001E0078001E0078001E0078001E0078001E0078001
1421 E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001
1422 E00FC003F0FFFC3FFF20227EA125>I<FFFC0FC007800780078007800780078007800780
1423 078007800780078007800780078007800780078007800780078007800780078007800780
1424 07800780078007800FC0FFFC0E227EA112>I<03FFF0001F00000F00000F00000F00000F
1425 00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F
1426 00000F00000F00000F00000F00000F00000F00000F00000F00700F00F80F00F80F00F80E
1427 00F01E00401C0020380018700007C00014237EA119>I<FFFC03FF000FC000F800078000
1428 600007800040000780008000078001000007800200000780040000078008000007801000
1429 0007802000000780400000078080000007818000000783C000000787E000000789E00000
1430 0788F000000790F0000007A078000007C03C000007803C000007801E000007800F000007
1431 800F00000780078000078007C000078003C000078001E000078001E000078000F0000780
1432 00F8000FC000FC00FFFC07FF8021227EA126>I<FFFE00000FC000000780000007800000
1433 078000000780000007800000078000000780000007800000078000000780000007800000
1434 078000000780000007800000078000000780000007800000078000000780000007800000
1435 078000800780008007800080078000800780018007800180078001000780030007800300
1436 07800F000F803F00FFFFFF0019227EA11E>I<FFC00003FF0FC00003F007C00003E005E0
1437 0005E005E00005E004F00009E004F00009E004F00009E004780011E004780011E0047800
1438 11E0043C0021E0043C0021E0043C0021E0041E0041E0041E0041E0040F0081E0040F0081
1439 E0040F0081E004078101E004078101E004078101E00403C201E00403C201E00401E401E0
1440 0401E401E00401E401E00400F801E00400F801E00400F801E004007001E00E007001E01F
1441 007003F0FFE0203FFF28227EA12D>I<FF8007FF07C000F807C0007005E0002004F00020
1442 04F0002004780020047C0020043C0020041E0020041F0020040F00200407802004078020
1443 0403C0200401E0200401E0200400F0200400F8200400782004003C2004003E2004001E20
1444 04000F2004000F20040007A0040003E0040003E0040001E0040001E0040000E00E000060
1445 1F000060FFE0002020227EA125>I<000FE00000783C0000E00E0003C00780078003C00F
1446 0001E00E0000E01E0000F03C0000783C0000787C00007C7C00007C7800003C7800003CF8
1447 00003EF800003EF800003EF800003EF800003EF800003EF800003EF800003EF800003E78
1448 00003C7C00007C7C00007C3C0000783E0000F81E0000F00F0001E00F0001E0078003C003
1449 C0078000E00E0000783C00000FE0001F247DA226>I<FFFFF0000F803C0007800F000780
1450 0780078007C0078003C0078003E0078003E0078003E0078003E0078003E0078003E00780
1451 03C0078007C00780078007800F0007803C0007FFF0000780000007800000078000000780
1452 000007800000078000000780000007800000078000000780000007800000078000000780
1453 0000078000000FC00000FFFC00001B227EA121>I<FFFFE000000F803C000007800E0000
1454 0780078000078007C000078003C000078003E000078003E000078003E000078003E00007
1455 8003E000078003C000078007C000078007800007800E000007803C000007FFE000000780
1456 700000078038000007801C000007801E000007800E000007800F000007800F000007800F
1457 000007800F000007800F800007800F800007800F800007800F808007800FC080078007C0
1458 800FC003C100FFFC01E2000000007C0021237EA124>82 D<03F0200C0C601802603001E0
1459 7000E0600060E00060E00060E00020E00020E00020F00000F000007800007F00003FF000
1460 1FFE000FFF0003FF80003FC00007E00001E00000F00000F0000070800070800070800070
1461 800070C00060C00060E000C0F000C0C80180C6070081FC0014247DA21B>I<7FFFFFF878
1462 07807860078018400780084007800840078008C007800C80078004800780048007800480
1463 078004000780000007800000078000000780000007800000078000000780000007800000
1464 078000000780000007800000078000000780000007800000078000000780000007800000
1465 078000000780000007800000078000000FC00003FFFF001E227EA123>I<FFFC07FF0FC0
1466 00F807800070078000200780002007800020078000200780002007800020078000200780
1467 002007800020078000200780002007800020078000200780002007800020078000200780
1468 00200780002007800020078000200780002007800020078000200380004003C0004003C0
1469 004001C0008000E000800060010000300600001C08000003F00020237EA125>I<FFF000
1470 7FC01F80001F000F00000C000780000C000780000800078000080003C000100003C00010
1471 0003E000300001E000200001E000200000F000400000F000400000F00040000078008000
1472 0078008000007C018000003C010000003C010000001E020000001E020000001F02000000
1473 0F040000000F040000000F8C0000000788000000078800000003D000000003D000000003
1474 F000000001E000000001E000000000C000000000C000000000C0000022237FA125>I<FF
1475 F03FFC03FE1F8007E000F80F0003C000700F0003C000200F0003C00020078001E0004007
1476 8001E00040078001E0004003C002F0008003C002F0008003C002F0008001E00478010001
1477 E00478010001E00478010000F0083C020000F0083C020000F0083C020000F8183E060000
1478 78101E04000078101E0400007C101E0400003C200F0800003C200F0800003C200F080000
1479 1E40079000001E40079000001E40079000000F8003E000000F8003E000000F8003E00000
1480 070001C00000070001C00000070001C0000003000180000002000080002F237FA132>I<
1481 FFF0007FC01F80001F000F80000C00078000080007C000180003E000100001E000200001
1482 F000200000F000400000F800C000007C008000003C010000003E010000001E020000001F
1483 040000000F84000000078800000007D800000003D000000003E000000001E000000001E0
1484 00000001E000000001E000000001E000000001E000000001E000000001E000000001E000
1485 000001E000000001E000000001E000000003E00000003FFF000022227FA125>89
1486 D<FEFEC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
1487 C0C0C0C0C0C0C0C0C0C0C0C0FEFE07317BA40E>91 D<0804100820102010402040208040
1488 804080408040B85CFC7EFC7E7C3E381C0F0F7AA218>I<FEFE0606060606060606060606
1489 06060606060606060606060606060606060606060606060606060606060606060606FEFE
1490 07317FA40E>I<0FE0001838003C0C003C0E0018070000070000070000070000FF0007C7
1491 001E07003C0700780700700700F00708F00708F00708F00F087817083C23900FC1E01515
1492 7E9418>97 D<0E0000FE00001E00000E00000E00000E00000E00000E00000E00000E0000
1493 0E00000E00000E00000E00000E1F000E61C00E80600F00300E00380E003C0E001C0E001E
1494 0E001E0E001E0E001E0E001E0E001E0E001E0E001C0E003C0E00380F00700C80600C41C0
1495 083F0017237FA21B>I<01FE000703000C07801C0780380300780000700000F00000F000
1496 00F00000F00000F00000F00000F000007000007800403800401C00800C010007060001F8
1497 0012157E9416>I<0000E0000FE00001E00000E00000E00000E00000E00000E00000E000
1498 00E00000E00000E00000E00000E001F8E00704E00C02E01C01E03800E07800E07000E0F0
1499 00E0F000E0F000E0F000E0F000E0F000E0F000E07000E07800E03800E01801E00C02E007
1500 0CF001F0FE17237EA21B>I<01FC000707000C03801C01C03801C07801E07000E0F000E0
1501 FFFFE0F00000F00000F00000F00000F000007000007800203800201C00400E0080070300
1502 00FC0013157F9416>I<003C00C6018F038F030F07000700070007000700070007000700
1503 0700FFF80700070007000700070007000700070007000700070007000700070007000700
1504 0700070007807FF8102380A20F>I<00007001F198071E180E0E181C07001C07003C0780
1505 3C07803C07803C07801C07001C07000E0E000F1C0019F000100000100000180000180000
1506 1FFE000FFFC00FFFE03800F0600030400018C00018C00018C000186000306000303800E0
1507 0E038003FE0015217F9518>I<0E0000FE00001E00000E00000E00000E00000E00000E00
1508 000E00000E00000E00000E00000E00000E00000E1F800E60C00E80E00F00700F00700E00
1509 700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00
1510 700E00700E0070FFE7FF18237FA21B>I<1C001E003E001E001C00000000000000000000
1511 000000000000000E00FE001E000E000E000E000E000E000E000E000E000E000E000E000E
1512 000E000E000E000E000E00FFC00A227FA10E>I<01C003E003E003E001C0000000000000
1513 0000000000000000000001E00FE001E000E000E000E000E000E000E000E000E000E000E0
1514 00E000E000E000E000E000E000E000E000E000E000E000E000E060E0F0C0F18061803E00
1515 0B2C82A10F>I<0E0000FE00001E00000E00000E00000E00000E00000E00000E00000E00
1516 000E00000E00000E00000E00000E03FC0E01F00E01C00E01800E02000E04000E08000E10
1517 000E38000EF8000F1C000E1E000E0E000E07000E07800E03C00E01C00E01E00E00F00E00
1518 F8FFE3FE17237FA21A>I<0E00FE001E000E000E000E000E000E000E000E000E000E000E
1519 000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E
1520 000E000E000E00FFE00B237FA20E>I<0E1FC07F00FE60E183801E807201C00F003C00E0
1521 0F003C00E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E
1522 003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E00
1523 3800E00E003800E0FFE3FF8FFE27157F942A>I<0E1F80FE60C01E80E00F00700F00700E
1524 00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E
1525 00700E00700E0070FFE7FF18157F941B>I<01FC000707000C01801800C03800E0700070
1526 700070F00078F00078F00078F00078F00078F00078F000787000707800F03800E01C01C0
1527 0E038007070001FC0015157F9418>I<0E1F00FE61C00E80600F00700E00380E003C0E00
1528 1C0E001E0E001E0E001E0E001E0E001E0E001E0E001E0E003C0E003C0E00380F00700E80
1529 E00E41C00E3F000E00000E00000E00000E00000E00000E00000E00000E00000E0000FFE0
1530 00171F7F941B>I<01F8200704600E02601C01603801E07800E07800E0F000E0F000E0F0
1531 00E0F000E0F000E0F000E0F000E07000E07800E03801E01C01E00C02E0070CE001F0E000
1532 00E00000E00000E00000E00000E00000E00000E00000E00000E0000FFE171F7E941A>I<
1533 0E3CFE461E8F0F0F0F060F000E000E000E000E000E000E000E000E000E000E000E000E00
1534 0E000F00FFF010157F9413>I<0F8830786018C018C008C008E008F0007F803FE00FF001
1535 F8003C801C800C800CC00CC008E018D0308FC00E157E9413>I<02000200020002000600
1536 060006000E001E003E00FFF80E000E000E000E000E000E000E000E000E000E000E000E04
1537 0E040E040E040E040E040708030801F00E1F7F9E13>I<0E0070FE07F01E00F00E00700E
1538 00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E
1539 00F00E00F006017003827800FC7F18157F941B>I<FFC1FE1E00780E00300E00200E0020
1540 07004007004003808003808003808001C10001C10000E20000E20000E200007400007400
1541 00380000380000380000100017157F941A>I<FF8FF8FF1E01E03C1C01C0180E01C0180E
1542 01E0100E01E01007026020070270200702702003843040038438400384384001C8188001
1543 C81C8001C81C8000F00D0000F00F0000F00F0000600600006006000060060020157F9423
1544 >I<FF83FE1F01F00E00C007008003810003830001C20000E40000780000780000380000
1545 3C00004E00008E000187000103800201C00401E00C00E03E01F0FF03FE17157F941A>I<
1546 FFC1FE1E00780E00300E00200E002007004007004003808003808003808001C10001C100
1547 00E20000E20000E200007400007400003800003800003800001000001000002000002000
1548 002000004000F04000F08000F180004300003C0000171F7F941A>I<3FFFC03803803007
1549 80200700600E00401C00403C0040380000700000E00001E00001C0000380400700400F00
1550 400E00C01C0080380080780180700780FFFF8012157F9416>I<FFFFFFFFFFFF3001808C
1551 31>124 D E /Fo 51 123 df<00001FFC00000001FFFF00000007FFFFC000001FF807E0
1552 00007FC007F00000FF000FF00001FF000FF00001FE000FF00003FC001FF80003FC000FF0
1553 0003FC000FF00003FC0007E00003FC0001800003FC0000000003FC0000000003FC000000
1554 0003FC0000000003FC00FFF800FFFFFFFFF800FFFFFFFFF800FFFFFFFFF80003FC0007F8
1555 0003FC0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F8
1556 0003FC0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F8
1557 0003FC0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F8
1558 0003FC0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F8
1559 0003FC0007F8007FFFE0FFFFC07FFFE0FFFFC07FFFE0FFFFC02A327FB12E>12
1560 D<FFFFF0FFFFF0FFFFF0FFFFF0FFFFF0FFFFF0FFFFF014077F921B>45
1561 D<000FFC0000007FFF800001FFFFE00003FC0FF00007F003F8000FE001FC000FE001FC00
1562 1FC000FE003FC000FF003FC000FF003F80007F007F80007F807F80007F807F80007F807F
1563 80007F80FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF80
1564 007FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF8000
1565 7FC0FF80007FC0FF80007FC07F80007F807F80007F807F80007F807F80007F803F80007F
1566 003FC000FF003FC000FF001FC000FE001FE001FE000FE001FC0007F807F80003FC0FF000
1567 01FFFFE000007FFF8000000FFC0000222E7DAD29>48 D<0001E0000003E000000FE00000
1568 7FE0001FFFE000FFFFE000FFBFE000E03FE000003FE000003FE000003FE000003FE00000
1569 3FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE00000
1570 3FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE00000
1571 3FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE00000
1572 3FE000003FE000003FE000003FE0007FFFFFF07FFFFFF07FFFFFF01C2E7AAD29>I<003F
1573 F00001FFFE0007FFFF801FC07FE03F003FF07C001FF87F000FFCFF8007FEFFC007FEFFC0
1574 03FFFFC003FFFFC003FFFFC003FF7F8003FF3F0003FF000003FF000003FF000007FE0000
1575 07FE000007FC00000FF800001FF800001FF000003FE000007F8000007F000000FE000001
1576 FC000003F0000007E000000FC007001F8007003E0007007C000F00F8000E01F0000E01E0
1577 001E03FFFFFE07FFFFFE0FFFFFFE1FFFFFFE3FFFFFFE7FFFFFFCFFFFFFFCFFFFFFFCFFFF
1578 FFFC202E7CAD29>I<000FFC0000007FFF800001F01FE00003C00FF00007800FF8000FE0
1579 07FC001FF007FE001FF807FE001FF807FE001FF807FE001FF807FE001FF807FE000FF007
1580 FE0007E007FC0001800FFC0000000FF80000000FF80000001FF00000003FE00000007F80
1581 00001FFE0000001FFC0000001FFF800000001FF00000000FF800000007FE00000003FF00
1582 000003FF00000001FF80000001FF800E0001FFC03F8001FFC07FC001FFC0FFE001FFC0FF
1583 E001FFC0FFE001FFC0FFE001FFC0FFE001FF80FFE003FF807FC003FF007F0007FE003F00
1584 0FFC001FE01FF80007FFFFE00001FFFF8000001FFC0000222E7DAD29>I<000000780000
1585 0000F800000001F800000003F800000007F800000007F80000000FF80000001FF8000000
1586 3FF80000007FF800000077F8000000F7F8000001E7F8000003C7F800000787F800000707
1587 F800000F07F800001E07F800003C07F800007807F800007007F80000F007F80001E007F8
1588 0003C007F800078007F8000F0007F8000F0007F8001E0007F8003C0007F800780007F800
1589 F00007F800FFFFFFFFF0FFFFFFFFF0FFFFFFFFF000000FF80000000FF80000000FF80000
1590 000FF80000000FF80000000FF80000000FF80000000FF80000000FF800000FFFFFF0000F
1591 FFFFF0000FFFFFF0242E7EAD29>I<0C0000380FC003F80FFFFFF80FFFFFF00FFFFFE00F
1592 FFFFC00FFFFF800FFFFF000FFFFC000FFFF0000FFF00000F0000000F0000000F0000000F
1593 0000000F0000000F0000000F0000000F1FF8000FFFFF000FFFFFC00FF01FE00F800FF00F
1594 0007F80E0007FC000003FE000003FE000003FE000003FF000003FF1E0003FF7F8003FFFF
1595 8003FFFFC003FFFFC003FFFFC003FFFF8003FEFF8003FE7F0007FC7C0007FC3C000FF81E
1596 001FF00FC07FE007FFFF8001FFFE00003FE000202E7CAD29>I<00007F80000007FFF000
1597 001FC07800007F001C0000FE001E0001FC007E0003F800FF0007F001FF000FF001FF001F
1598 E001FF001FE001FF003FE000FE003FE0007C007FC00000007FC00000007FC00000007FC0
1599 000000FFC3FF8000FFC7FFE000FFCFBFF000FFDC03FC00FFF803FE00FFF001FF00FFF000
1600 FF00FFE000FF80FFE000FF80FFE000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FF
1601 C07FC000FFC07FC000FFC07FC000FFC07FC000FFC03FC000FFC03FC000FF801FE000FF80
1602 1FE000FF000FE001FF000FF001FE0007F803FC0001FC0FF80000FFFFE000003FFF800000
1603 07FC0000222E7DAD29>I<38000000003E000000003FFFFFFFC03FFFFFFFC03FFFFFFFC0
1604 3FFFFFFF807FFFFFFF007FFFFFFE007FFFFFFC007FFFFFF8007FFFFFF800780001F00070
1605 0003E000700007C000F0000F8000E0000F0000E0001F0000E0003E000000007C00000000
1606 F800000000F800000001F000000003F000000003F000000007E000000007E00000000FE0
1607 0000000FE00000000FE00000001FE00000001FC00000001FC00000003FC00000003FC000
1608 00003FC00000003FC00000003FC00000007FC00000007FC00000007FC00000007FC00000
1609 007FC00000007FC00000007FC00000007FC00000007FC00000003F800000001F00000022
1610 307BAF29>I<0007FC0000003FFF800000F80FE00001E003F00003C001F80007C000FC00
1611 0F8000FC000F80007E001F80007E001F80007E001FC0007E001FE0007E001FF0007E001F
1612 F800FE001FFE00FC001FFF81FC000FFFE3F8000FFFFFF00007FFFFC00003FFFF800003FF
1613 FFC00000FFFFF000007FFFF80001FFFFFC0007F7FFFE000FE1FFFF001FC0FFFF803F803F
1614 FF807F000FFF807E0003FFC0FE0000FFC0FC00007FC0FC00003FC0FC00001FC0FC00000F
1615 C0FC00000FC0FC00000F80FE00000F807E00001F807F00001F003F80003E001FC0007C00
1616 0FF803F80003FFFFE00000FFFF8000001FFC0000222E7DAD29>I<000FFC0000007FFF00
1617 0001FC0FC00007F807F0000FF003F8001FE001FC003FE001FC003FC001FE007FC000FF00
1618 7FC000FF00FFC000FF00FFC000FF80FFC000FF80FFC000FF80FFC000FF80FFC000FFC0FF
1619 C000FFC0FFC000FFC0FFC000FFC07FC001FFC07FC001FFC07FC001FFC03FE003FFC01FE0
1620 03FFC01FF007FFC00FF80EFFC003FF7CFFC001FFF8FFC0007FF0FFC0000000FF80000000
1621 FF80000000FF80000000FF800F8001FF001FC001FF003FE001FE003FE001FE003FE003FC
1622 003FE003F8003FC007F8001F800FF0001E001FE0000F807F800007FFFE000001FFF80000
1623 007FC00000222E7DAD29>I<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F000000
1624 0000000000000000000000000000000000001F003F807FC0FFE0FFE0FFE0FFE0FFE07FC0
1625 3F801F000B207A9F17>I<0000007C0000000000007C000000000000FE000000000000FE
1626 000000000000FE000000000001FF000000000001FF000000000003FF800000000003FF80
1627 0000000007FFC00000000007FFC00000000007FFC0000000000FFFE0000000000F7FE000
1628 0000001F7FF0000000001E3FF0000000001E3FF0000000003E3FF8000000003C1FF80000
1629 00007C1FFC00000000780FFC00000000780FFC00000000F80FFE00000000F007FE000000
1630 01F007FF00000001E003FF00000001E003FF00000003E003FF80000003C001FF80000007
1631 C001FFC00000078000FFC00000078000FFC000000FFFFFFFE000000FFFFFFFE000001FFF
1632 FFFFF000001E00003FF000001E00003FF000003C00003FF800003C00001FF800007C0000
1633 1FFC00007800000FFC00007800000FFC0000F0000007FE0000F0000007FE0001F0000007
1634 FF0003F8000003FF00FFFFC001FFFFFEFFFFC001FFFFFEFFFFC001FFFFFE37317DB03E>
1635 65 D<FFFFFFFFF80000FFFFFFFFFF0000FFFFFFFFFFE00000FF80003FF00000FF80000F
1636 F80000FF800007FC0000FF800007FE0000FF800003FF0000FF800003FF0000FF800001FF
1637 8000FF800001FF8000FF800001FF8000FF800001FF8000FF800001FF8000FF800001FF80
1638 00FF800003FF0000FF800003FF0000FF800007FF0000FF800007FE0000FF80000FFC0000
1639 FF80001FF80000FF8000FFE00000FFFFFFFF800000FFFFFFFF000000FFFFFFFFE00000FF
1640 80001FF80000FF800007FC0000FF800003FF0000FF800001FF0000FF800001FF8000FF80
1641 0000FFC000FF800000FFC000FF800000FFE000FF800000FFE000FF800000FFE000FF8000
1642 00FFE000FF800000FFE000FF800000FFE000FF800000FFE000FF800000FFC000FF800001
1643 FFC000FF800001FF8000FF800003FF8000FF800007FF0000FF80000FFE0000FF80003FFC
1644 00FFFFFFFFFFF000FFFFFFFFFFC000FFFFFFFFFE000033317EB03B>I<000003FF800380
1645 00003FFFF007800001FFFFFC0F800007FF007F1F80001FF8000FFF80007FE00003FF8000
1646 FFC00001FF8001FF000000FF8003FE0000007F8007FE0000003F800FFC0000001F801FF8
1647 0000001F801FF80000000F803FF80000000F803FF00000000F803FF000000007807FF000
1648 000007807FF000000007807FE00000000000FFE00000000000FFE00000000000FFE00000
1649 000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE0000000
1650 0000FFE00000000000FFE00000000000FFE000000000007FE000000000007FF000000000
1651 007FF000000003803FF000000003803FF000000003803FF800000003801FF80000000780
1652 1FF800000007000FFC0000000F0007FE0000000E0003FF0000001E0001FF0000003C0000
1653 FFC000007800007FE00001F000001FF80003E0000007FF003F80000001FFFFFE00000000
1654 3FFFF80000000003FF80000031317BB03C>I<FFFFFFFFF00000FFFFFFFFFF0000FFFFFF
1655 FFFFC00000FFC000FFF00000FFC0000FFC0000FFC00007FE0000FFC00001FF0000FFC000
1656 00FF8000FFC000007FC000FFC000003FE000FFC000003FE000FFC000001FF000FFC00000
1657 1FF000FFC000001FF800FFC000000FF800FFC000000FFC00FFC000000FFC00FFC000000F
1658 FC00FFC000000FFC00FFC000000FFE00FFC000000FFE00FFC000000FFE00FFC000000FFE
1659 00FFC000000FFE00FFC000000FFE00FFC000000FFE00FFC000000FFE00FFC000000FFE00
1660 FFC000000FFE00FFC000000FFE00FFC000000FFC00FFC000000FFC00FFC000000FFC00FF
1661 C000000FFC00FFC000000FF800FFC000001FF800FFC000001FF800FFC000001FF000FFC0
1662 00003FE000FFC000003FE000FFC000007FC000FFC00000FF8000FFC00001FF0000FFC000
1663 03FE0000FFC0000FFC0000FFC0007FF000FFFFFFFFFFE000FFFFFFFFFF0000FFFFFFFFF0
1664 000037317EB03F>I<FFFFFFFFFFF000FFFFFFFFFFF000FFFFFFFFFFF00000FFC0003FF0
1665 0000FFC00007F80000FFC00003F80000FFC00000F80000FFC00000F80000FFC000007800
1666 00FFC00000780000FFC00000380000FFC00000380000FFC00000380000FFC000001C0000
1667 FFC007001C0000FFC007001C0000FFC007001C0000FFC00700000000FFC00700000000FF
1668 C00F00000000FFC01F00000000FFC03F00000000FFFFFF00000000FFFFFF00000000FFFF
1669 FF00000000FFC03F00000000FFC01F00000000FFC00F00000000FFC00700000000FFC007
1670 00000000FFC00700038000FFC00700038000FFC00700038000FFC00000070000FFC00000
1671 070000FFC00000070000FFC00000070000FFC000000F0000FFC000000F0000FFC000001E
1672 0000FFC000001E0000FFC000003E0000FFC000007E0000FFC00000FE0000FFC00003FE00
1673 00FFC0001FFE00FFFFFFFFFFFC00FFFFFFFFFFFC00FFFFFFFFFFFC0031317EB036>I<FF
1674 FFFFFFFFF0FFFFFFFFFFF0FFFFFFFFFFF000FFC0003FF000FFC00007F800FFC00003F800
1675 FFC00000F800FFC00000F800FFC000007800FFC000007800FFC000003800FFC000003800
1676 FFC000003800FFC000001C00FFC000001C00FFC007001C00FFC007001C00FFC007000000
1677 FFC007000000FFC007000000FFC00F000000FFC01F000000FFC03F000000FFFFFF000000
1678 FFFFFF000000FFFFFF000000FFC03F000000FFC01F000000FFC00F000000FFC007000000
1679 FFC007000000FFC007000000FFC007000000FFC007000000FFC000000000FFC000000000
1680 FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000
1681 FFC000000000FFC000000000FFC000000000FFC0000000FFFFFFF00000FFFFFFF00000FF
1682 FFFFF000002E317EB034>I<FFFFFFC0FFFFFFC0FFFFFFC000FFC00000FFC00000FFC000
1683 00FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000
1684 00FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000
1685 00FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000
1686 00FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000
1687 00FFC00000FFC00000FFC00000FFC000FFFFFFC0FFFFFFC0FFFFFFC01A317EB01F>73
1688 D<FFFFFFF00000FFFFFFF00000FFFFFFF0000000FFC000000000FFC000000000FFC00000
1689 0000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC00000
1690 0000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC00000
1691 0000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC00000
1692 0000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC00000
1693 0000FFC000007000FFC000007000FFC000007000FFC00000F000FFC00000F000FFC00000
1694 E000FFC00000E000FFC00001E000FFC00001E000FFC00003E000FFC00003E000FFC00007
1695 E000FFC0000FE000FFC0001FE000FFC0007FC000FFC003FFC0FFFFFFFFFFC0FFFFFFFFFF
1696 C0FFFFFFFFFFC02C317EB032>76 D<FFFF8000000001FFFF80FFFFC000000003FFFF80FF
1697 FFE000000007FFFF8000FFE000000007FF800000EFF00000000EFF800000EFF00000000E
1698 FF800000EFF00000000EFF800000E7F80000001CFF800000E7F80000001CFF800000E3FC
1699 00000038FF800000E3FC00000038FF800000E1FE00000070FF800000E1FE00000070FF80
1700 0000E0FF000000E0FF800000E0FF000000E0FF800000E07F800001C0FF800000E07F8000
1701 01C0FF800000E03FC0000380FF800000E03FC0000380FF800000E03FC0000380FF800000
1702 E01FE0000700FF800000E01FE0000700FF800000E00FF0000E00FF800000E00FF0000E00
1703 FF800000E007F8001C00FF800000E007F8001C00FF800000E003FC003800FF800000E003
1704 FC003800FF800000E001FE007000FF800000E001FE007000FF800000E000FF00E000FF80
1705 0000E000FF00E000FF800000E000FF00E000FF800000E0007F81C000FF800000E0007F81
1706 C000FF800000E0003FC38000FF800000E0003FC38000FF800000E0001FE70000FF800000
1707 E0001FE70000FF800000E0000FFE0000FF800000E0000FFE0000FF800000E00007FC0000
1708 FF800000E00007FC0000FF800000E00007FC0000FF800000E00003F80000FF800001F000
1709 03F80000FF8000FFFFE001F000FFFFFF80FFFFE001F000FFFFFF80FFFFE000E000FFFFFF
1710 8049317EB04E>I<00000FFE0000000000FFFFE000000007FFFFFC0000001FFC07FF0000
1711 003FE000FF800000FF80003FE00001FF00001FF00003FE00000FF80007FC000007FC0007
1712 FC000007FC000FF8000003FE001FF8000003FF001FF0000001FF003FF0000001FF803FF0
1713 000001FF803FF0000001FF807FE0000000FFC07FE0000000FFC07FE0000000FFC0FFE000
1714 0000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE00000
1715 00FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000
1716 FFE07FE0000000FFC07FE0000000FFC07FF0000001FFC07FF0000001FFC03FF0000001FF
1717 803FF0000001FF801FF8000003FF001FF8000003FF000FFC000007FE000FFC000007FE00
1718 07FE00000FFC0003FF00001FF80001FF80003FF00000FFC0007FE000003FE000FF800000
1719 1FFC07FF00000007FFFFFC00000000FFFFE0000000000FFE00000033317BB03E>79
1720 D<FFFFFFFFE000FFFFFFFFFE00FFFFFFFFFF8000FFC001FFE000FFC0003FF000FFC0001F
1721 F800FFC0000FFC00FFC0000FFC00FFC00007FE00FFC00007FE00FFC00007FF00FFC00007
1722 FF00FFC00007FF00FFC00007FF00FFC00007FF00FFC00007FF00FFC00007FF00FFC00007
1723 FE00FFC00007FE00FFC0000FFC00FFC0000FFC00FFC0001FF800FFC0003FF000FFC001FF
1724 E000FFFFFFFF8000FFFFFFFE0000FFFFFFE00000FFC000000000FFC000000000FFC00000
1725 0000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC00000
1726 0000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC00000
1727 0000FFC000000000FFC000000000FFC000000000FFC0000000FFFFFFC00000FFFFFFC000
1728 00FFFFFFC0000030317EB038>I<FFFFFFFFC0000000FFFFFFFFFC000000FFFFFFFFFF80
1729 000000FFC001FFE0000000FFC0003FF0000000FFC0000FFC000000FFC00007FC000000FF
1730 C00007FE000000FFC00003FF000000FFC00003FF000000FFC00003FF800000FFC00003FF
1731 800000FFC00003FF800000FFC00003FF800000FFC00003FF800000FFC00003FF800000FF
1732 C00003FF000000FFC00003FF000000FFC00007FE000000FFC00007FC000000FFC0000FFC
1733 000000FFC0003FF0000000FFC001FFE0000000FFFFFFFF80000000FFFFFFFC00000000FF
1734 FFFFFE00000000FFC007FF80000000FFC000FFC0000000FFC0007FE0000000FFC0003FE0
1735 000000FFC0003FF0000000FFC0001FF8000000FFC0001FF8000000FFC0001FF8000000FF
1736 C0001FF8000000FFC0001FF8000000FFC0001FFC000000FFC0001FFC000000FFC0001FFC
1737 000000FFC0001FFC000000FFC0001FFC004000FFC0001FFC00E000FFC0001FFE00E000FF
1738 C0000FFE01E000FFC0000FFF01C000FFC00007FF87C0FFFFFFC003FFFF80FFFFFFC000FF
1739 FF00FFFFFFC0001FFC003B317EB03E>82 D<001FF0038000FFFF078003FFFFCF8007F00F
1740 FF801FC001FF801F80007F803F00003F807F00001F807E00000F807E00000F80FE000007
1741 80FE00000780FF00000380FF00000380FF80000380FFC0000000FFE0000000FFFC000000
1742 7FFFE000007FFFFE00003FFFFFC0003FFFFFF0001FFFFFFC000FFFFFFE0007FFFFFF0001
1743 FFFFFF00007FFFFF80001FFFFFC00000FFFFC0000007FFC0000000FFE00000007FE00000
1744 003FE00000001FE0E000001FE0E000000FE0E000000FE0E000000FE0F000000FE0F00000
1745 0FC0F800000FC0F800001F80FC00001F80FF00003F00FFC0007E00FFFC01FC00F9FFFFF8
1746 00F03FFFE000E007FF000023317BB02E>I<3FFFFFFFFFFF003FFFFFFFFFFF003FFFFFFF
1747 FFFF003FE00FFC01FF007F000FFC003F807E000FFC001F807C000FFC000F8078000FFC00
1748 078078000FFC00078070000FFC00038070000FFC00038070000FFC00038070000FFC0003
1749 80E0000FFC0001C0E0000FFC0001C0E0000FFC0001C0E0000FFC0001C000000FFC000000
1750 00000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000
1751 000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0000000000
1752 0FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000F
1753 FC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC
1754 00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00
1755 000000000FFC000000007FFFFFFF8000007FFFFFFF8000007FFFFFFF800032307DAF39>
1756 I<FFFFFFC003FFFFC0FFFFFFC003FFFFC0FFFFFFC003FFFFC000FFC0000007E00000FFC0
1757 000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C0
1758 0000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0
1759 000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C0
1760 0000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0
1761 000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C0
1762 0000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0
1763 000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C0
1764 0000FFC0000007C000007FC00000078000007FE00000078000003FE000000F8000003FE0
1765 00000F0000001FF000001E0000000FF800003E00000007FC0000FC00000003FF0003F800
1766 000000FFE01FE0000000007FFFFFC0000000000FFFFF000000000000FFF00000003A317E
1767 B03F>I<007FF8000003FFFF00000FFFFFC0001FE01FF0001FF007F8001FF007FC001FF0
1768 03FC001FF001FE000FE001FE0007C001FE00010001FE00000001FE00000001FE000001FF
1769 FE00003FFFFE0001FFF1FE0007FE01FE001FF001FE003FE001FE007FC001FE007F8001FE
1770 00FF8001FE00FF0001FE00FF0001FE00FF0001FE00FF8003FE00FF8007FE007FC00FFE00
1771 3FF03EFF001FFFF87FF807FFF03FF800FF801FF825207E9F28>97
1772 D<01F8000000FFF8000000FFF8000000FFF80000000FF800000007F800000007F8000000
1773 07F800000007F800000007F800000007F800000007F800000007F800000007F800000007
1774 F800000007F800000007F800000007F800000007F80FF00007F87FFE0007F9FFFF8007FF
1775 E03FE007FF000FF007FE0007F807FC0007F807F80003FC07F80003FE07F80003FE07F800
1776 01FE07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001
1777 FF07F80001FF07F80001FF07F80001FF07F80001FE07F80003FE07F80003FC07FC0003FC
1778 07FC0007F807FE000FF007FF801FE007E7E07FC007C1FFFF8007807FFE0007001FE00028
1779 327EB12E>I<0007FF00007FFFE001FFFFF803FC03FC07F807FC0FF007FC1FE007FC3FC0
1780 07FC3FC003F87FC001F07F800040FF800000FF800000FF800000FF800000FF800000FF80
1781 0000FF800000FF800000FF800000FF8000007FC000007FC000003FC0000E3FE0000E1FE0
1782 001E0FF0003C07F8007803FF01F001FFFFE0007FFF800007FC001F207D9F25>I<000000
1783 07E0000003FFE0000003FFE0000003FFE00000003FE00000001FE00000001FE00000001F
1784 E00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE0
1785 0000001FE00000001FE00000001FE0000FF81FE0007FFF1FE001FFFFDFE003FE03FFE00F
1786 F800FFE01FF0007FE01FE0003FE03FC0001FE03FC0001FE07FC0001FE07F80001FE0FF80
1787 001FE0FF80001FE0FF80001FE0FF80001FE0FF80001FE0FF80001FE0FF80001FE0FF8000
1788 1FE0FF80001FE0FF80001FE07F80001FE07FC0001FE07FC0001FE03FC0003FE01FE0007F
1789 E01FE000FFE00FF001FFE007FC07DFF001FFFF9FFF007FFE1FFF000FF01FFF28327DB12E
1790 >I<000FFE0000007FFFC00001FFFFE00003FE0FF00007F801F8000FF000FC001FE000FE
1791 003FC0007F003FC0007F007FC0003F007F80003F807F80003F80FF80003F80FF80003F80
1792 FFFFFFFF80FFFFFFFF80FFFFFFFF80FF80000000FF80000000FF800000007F800000007F
1793 800000007FC00000003FC00003803FE00003801FE00007800FF0000F0007F8003E0003FF
1794 01FC0000FFFFF800003FFFE0000007FF000021207E9F26>I<0000FF000007FFC0001FFF
1795 F0007FC7F000FF0FF801FF0FF801FE0FF803FE0FF803FC0FF803FC07F003FC01C003FC00
1796 0003FC000003FC000003FC000003FC000003FC000003FC0000FFFFF800FFFFF800FFFFF8
1797 0003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00
1798 0003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00
1799 0003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00007FFFF0
1800 007FFFF0007FFFF0001D327EB119>I<001FF007E000FFFE3FF003FFFFFFF807F83FF1F8
1801 0FE00FE1F81FE00FF1F81FC007F0603FC007F8003FC007F8003FC007F8003FC007F8003F
1802 C007F8003FC007F8003FC007F8001FC007F0001FE00FF0000FE00FE00007F83FC00007FF
1803 FF80000EFFFE00000E1FF000000E000000001E000000001E000000001F000000001F8000
1804 00001FFFFFC0000FFFFFF8000FFFFFFE0007FFFFFF8007FFFFFFC007FFFFFFE01FFFFFFF
1805 E03F00007FE07E00000FF0FE000007F0FC000003F0FC000003F0FC000003F0FE000007F0
1806 7E000007E07F00000FE03FC0003FC01FF801FF8007FFFFFE0000FFFFF000001FFF800025
1807 2F7E9F29>I<01F800000000FFF800000000FFF800000000FFF8000000000FF800000000
1808 07F80000000007F80000000007F80000000007F80000000007F80000000007F800000000
1809 07F80000000007F80000000007F80000000007F80000000007F80000000007F800000000
1810 07F80000000007F807F8000007F83FFF000007F87FFF800007F9F03FC00007FBC01FE000
1811 07FF801FE00007FF000FF00007FE000FF00007FC000FF00007FC000FF00007F8000FF000
1812 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000
1813 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000
1814 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000
1815 FFFFC1FFFF80FFFFC1FFFF80FFFFC1FFFF8029327DB12E>I<03C0000FF0001FF8001FF8
1816 001FF8001FFC001FF8001FF8001FF8000FF00003C0000000000000000000000000000000
1817 0000000000000000000001F800FFF800FFF800FFF8000FF80007F80007F80007F80007F8
1818 0007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F8
1819 0007F80007F80007F80007F80007F80007F80007F80007F800FFFF80FFFF80FFFF801133
1820 7DB217>I<01F800FFF800FFF800FFF8000FF80007F80007F80007F80007F80007F80007
1821 F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007
1822 F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007
1823 F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007
1824 F800FFFFC0FFFFC0FFFFC012327DB117>108 D<03F007F8000FF000FFF03FFF007FFE00
1825 FFF07FFF80FFFF00FFF1F03FC3E07F800FF3C01FE7803FC007F7801FEF003FC007F7000F
1826 FE001FE007FE000FFC001FE007FC000FF8001FE007FC000FF8001FE007F8000FF0001FE0
1827 07F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000F
1828 F0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE0
1829 07F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000F
1830 F0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE0
1831 FFFFC1FFFF83FFFFFFFFC1FFFF83FFFFFFFFC1FFFF83FFFF40207D9F45>I<03F007F800
1832 00FFF03FFF0000FFF07FFF8000FFF1F03FC0000FF3C01FE00007F7801FE00007F7000FF0
1833 0007FE000FF00007FC000FF00007FC000FF00007F8000FF00007F8000FF00007F8000FF0
1834 0007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF0
1835 0007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF0
1836 0007F8000FF00007F8000FF00007F8000FF00007F8000FF000FFFFC1FFFF80FFFFC1FFFF
1837 80FFFFC1FFFF8029207D9F2E>I<0007FE0000003FFFC00000FFFFF00003FC03FC0007F0
1838 00FE000FE0007F001FC0003F803FC0003FC03FC0003FC07F80001FE07F80001FE07F8000
1839 1FE0FF80001FF0FF80001FF0FF80001FF0FF80001FF0FF80001FF0FF80001FF0FF80001F
1840 F0FF80001FF07F80001FE07F80001FE07F80001FE03FC0003FC03FC0003FC01FE0007F80
1841 0FE0007F0007F801FE0003FE07FC0001FFFFF800003FFFC0000007FE000024207E9F29>
1842 I<01F80FF000FFF87FFE00FFF9FFFF80FFFFE07FE00FFF001FF007FE000FF807FC0007F8
1843 07F80007FC07F80003FE07F80003FE07F80003FE07F80001FF07F80001FF07F80001FF07
1844 F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80003FF07F8
1845 0003FE07F80003FE07F80003FC07FC0007FC07FC000FF807FE000FF007FF801FE007FFE0
1846 7FC007F9FFFF8007F87FFE0007F81FE00007F800000007F800000007F800000007F80000
1847 0007F800000007F800000007F800000007F800000007F800000007F800000007F8000000
1848 FFFFC00000FFFFC00000FFFFC00000282E7E9F2E>I<03F03F00FFF0FFC0FFF1FFF0FFF3
1849 C7F00FF78FF807F70FF807FE0FF807FE0FF807FC07F007FC03E007FC008007FC000007F8
1850 000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8
1851 000007F8000007F8000007F8000007F8000007F8000007F8000007F80000FFFFE000FFFF
1852 E000FFFFE0001D207E9F22>114 D<00FF870007FFEF001FFFFF003F007F007C001F007C
1853 000F00F8000F00F8000700FC000700FC000700FF000000FFF800007FFFC0007FFFF0003F
1854 FFFC001FFFFE0007FFFF0001FFFF80001FFF800000FFC000001FC0E0000FC0E0000FC0F0
1855 0007C0F00007C0F80007C0FC000F80FE001F80FF803F00FFFFFE00F3FFF800E07FC0001A
1856 207D9F21>I<00380000380000380000380000380000780000780000780000F80000F800
1857 01F80003F80007F8001FF800FFFFFEFFFFFEFFFFFE07F80007F80007F80007F80007F800
1858 07F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F807
1859 07F80707F80707F80707F80707F80707F80707FC0F03FC0E03FE1E01FFFC007FF8000FE0
1860 182E7EAD20>I<01F80003F000FFF801FFF000FFF801FFF000FFF801FFF0000FF8001FF0
1861 0007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF0
1862 0007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF0
1863 0007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF0
1864 0007F8001FF00007F8001FF00007F8003FF00007F8007FF00003FC00FFF00003FE03EFF8
1865 0001FFFFCFFF80007FFF0FFF80000FFC0FFF8029207D9F2E>I<FFFF801FFEFFFF801FFE
1866 FFFF801FFE07F80003E007F80001C007FC0003C003FC00038003FE00078001FE00070001
1867 FF000F0000FF000E0000FF801E00007F801C00007FC03C00003FC03800003FE03800001F
1868 E07000001FE07000000FF0E000000FF0E000000FF9E0000007F9C0000007FFC0000003FF
1869 80000003FF80000001FF00000001FF00000000FE00000000FE000000007C000000007C00
1870 00000038000027207E9F2C>I<FFFF0FFFF01FFEFFFF0FFFF01FFEFFFF0FFFF01FFE0FF0
1871 007E0003F00FF8007F0001E007F8007F0001C007F8003F8003C003FC003F80038003FC00
1872 7FC0038003FE007FC0078001FE00FFC0070001FF00EFE00F0000FF00EFE00E0000FF01C7
1873 F00E00007F81C7F01C00007F83C7F01C00007FC383F83C00003FC383F83800003FC701FC
1874 3800001FE701FC7000001FEF01FC7000001FFE00FEF000000FFE00FEE000000FFC007FE0
1875 000007FC007FC0000007FC007FC0000007F8003FC0000003F8003F80000003F0001F8000
1876 0001F0001F00000001E0000F00000000E0000E000037207E9F3C>I<FFFF00FFFCFFFF00
1877 FFFCFFFF00FFFC07F8001F8003FC001E0001FE003C0000FF00780000FF80F000007FC1E0
1878 00003FC1E000001FE3C000000FF780000007FF00000007FE00000003FE00000001FE0000
1879 0000FF00000001FF80000001FFC0000003FFE00000079FF000000F0FF000001E07F80000
1880 3C03FC00007801FE0000F001FF0001E000FF8001E0007FC007E0003FC0FFF801FFFEFFF8
1881 01FFFEFFF801FFFE27207E9F2C>I<FFFF801FFEFFFF801FFEFFFF801FFE07F80003E007
1882 F80001C007FC0003C003FC00038003FE00078001FE00070001FF000F0000FF000E0000FF
1883 801E00007F801C00007FC03C00003FC03800003FE03800001FE07000001FE07000000FF0
1884 E000000FF0E000000FF9E0000007F9C0000007FFC0000003FF80000003FF80000001FF00
1885 000001FF00000000FE00000000FE000000007C000000007C000000003800000000380000
1886 000070000000007000000000F000003C00E000007E01E00000FF01C00000FF03800000FF
1887 07800000FF0F0000007A3E0000007FFC0000003FF80000000FC0000000272E7E9F2C>I<
1888 3FFFFFFC3FFFFFFC3FFFFFFC3FC00FF83E001FF03C003FF038003FE078007FC07800FF80
1889 7001FF807003FF007003FE007007FC00000FFC00001FF800001FF000003FE000007FE00E
1890 00FFC00E00FF800E01FF000E03FF000E07FE001E07FC001E0FF8001C1FF0003C3FF0007C
1891 3FE000FC7FC007FCFFFFFFFCFFFFFFFCFFFFFFFC1F207E9F25>I
1892 E end
1893 %%EndProlog
1894 %%BeginSetup
1895 %%Feature: *Resolution 300dpi
1896 TeXDict begin
1897
1898 %%EndSetup
1899 %%Page: 0 1
1900 0 0 bop 909 506 a Fo(Ox:)519 567 y Fn(An)16 b(A)o(ttribute-Grammar)d
1901 (Compiling)i(System)681 627 y(based)i(on)f(Y)l(acc,)g(Lex,)f(and)i(C:)
1902 549 741 y Fo(User)28 b(Reference)e(Man)n(ual)773 851
1903 y Fm(b)o(y)16 b(Kurt)f(M.)f(Bisc)o(ho\013)784 908 y(No)o(v)o(em)o(b)q
1904 (er)h(14,)f(1993)683 963 y(c)670 964 y Fl(\015)p Fm(1992,)g(1993)g
1905 (Kurt)h(M.)g(Bisc)o(ho\013)p eop
1906 %%Page: 1 2
1907 1 1 bop 164 162 a Fk(CONTENTS)1318 b Fn(1)164 315 y Fo(Con)n(ten)n(ts)
1908 164 424 y Fj(1)45 b(Ov)n(erview)18 b(of)g(Use)1115 b(4)164
1909 533 y(2)45 b(Preliminary)1224 b(5)164 642 y(3)45 b(A)n(ttribute)18
1910 b(declarations)973 b(6)237 703 y Fn(3.1)50 b(Seman)o(tics)15
1911 b(of)h(attribute)g(declarations)43 b Fi(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f
1912 (:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)69 b Fn(7)164 811 y Fj(4)45
1913 b(Rules)18 b(and)h(attribute)f(o)r(ccurrences)730 b(7)164
1914 920 y(5)45 b(A)n(ttribute)18 b(de\014nitions)1013 b(8)237
1915 981 y Fn(5.1)50 b(Inherited)15 b(vs.)22 b(syn)o(thesized)14
1916 b(attributes)32 b Fi(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
1917 (:)h(:)f(:)69 b Fn(8)237 1041 y(5.2)50 b(A)o(ttribute)15
1918 b(reference)g(sections)h(in)g(the)g(Y-\014le)43 b Fi(:)25
1919 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)69 b Fn(9)349
1920 1101 y(5.2.1)56 b(Explicit)15 b(mo)q(de)25 b Fi(:)g(:)f(:)h(:)f(:)g(:)h
1921 (:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)44
1922 b Fn(10)349 1161 y(5.2.2)56 b(Implicit)13 b(mo)q(de)26
1923 b Fi(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
1924 h(:)f(:)h(:)f(:)h(:)f(:)44 b Fn(11)349 1221 y(5.2.3)56
1925 b(Mixed)15 b(mo)q(de)22 b Fi(:)i(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
1926 h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)44
1927 b Fn(11)237 1282 y(5.3)50 b(A)o(ttribute)15 b(reference)g(sections)h
1928 (in)g(the)g(L-\014le\(s\))32 b Fi(:)24 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
1929 h(:)f(:)44 b Fn(12)349 1342 y(5.3.1)56 b(Generalit)o(y)15
1930 b(of)i(Ox)43 b Fi(:)25 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)
1931 f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)44 b Fn(12)349 1402 y(5.3.2)56
1932 b(Ox)16 b(adaptation)i(to)f(Lex's)e(line-orien)o(ted)g(syn)o(tax)45
1933 b Fi(:)24 b(:)h(:)f(:)h(:)f(:)44 b Fn(13)349 1462 y(5.3.3)56
1934 b(Resolution)16 b(of)h(am)o(biguit)o(y)d(regarding)j(tok)o(en)f
1935 (returned)35 b Fi(:)25 b(:)f(:)44 b Fn(14)237 1522 y(5.4)50
1936 b(Cycles)36 b Fi(:)24 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g
1937 (:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
1938 44 b Fn(15)164 1631 y Fj(6)h(T)-5 b(ranslation)19 b(in)n(to)f(C)i(co)r
1939 (de)909 b(15)164 1740 y(7)45 b(T)-5 b(emp)r(oral)17 b(b)r(eha)n(vior)h
1940 (of)g(Ox-generated)f(ev)m(aluators)348 b(15)237 1800
1941 y Fn(7.1)50 b(Stac)o(k)16 b(op)q(erations)51 b Fi(:)25
1942 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g
1943 (:)h(:)f(:)h(:)f(:)h(:)f(:)44 b Fn(15)237 1861 y(7.2)50
1944 b(Placemen)o(t)14 b(of)j(generated)f(co)q(de)23 b Fi(:)h(:)h(:)f(:)h(:)
1945 f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)44
1946 b Fn(16)237 1921 y(7.3)50 b(Decoration)17 b(and)g(the)f(ready)g(set)d
1947 Fi(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
1948 (:)h(:)f(:)44 b Fn(17)164 2030 y Fj(8)h(Programming)16
1949 b(st)n(yle)1022 b(17)164 2139 y(9)45 b(P)n(ostdecoration)19
1950 b(tra)n(v)n(ersals)872 b(18)237 2199 y Fn(9.1)50 b(Example:)20
1951 b(in\014x)c(to)g(pre\014x)g(translation)31 b Fi(:)24
1952 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)44
1953 b Fn(18)237 2259 y(9.2)50 b(General)16 b(description)27
1954 b Fi(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)
1955 g(:)h(:)f(:)h(:)f(:)h(:)f(:)44 b Fn(21)349 2319 y(9.2.1)56
1956 b(T)l(ra)o(v)o(ersal)16 b(sp)q(eci\014cations)24 b Fi(:)h(:)f(:)h(:)f
1957 (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)44
1958 b Fn(21)349 2380 y(9.2.2)56 b(T)l(ra)o(v)o(ersal)16 b(action)g(sp)q
1959 (eci\014cations)32 b Fi(:)25 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
1960 (:)h(:)f(:)44 b Fn(22)p eop
1961 %%Page: 2 3
1962 2 2 bop 164 162 a Fk(CONTENTS)1318 b Fn(2)164 307 y Fj(10)17
1963 b(Ox)h(macros)1227 b(23)237 367 y Fn(10.1)26 b(Macro)17
1964 b(de\014nitions)33 b Fi(:)25 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
1965 (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)44
1966 b Fn(23)237 428 y(10.2)26 b(Macro)17 b(uses)12 b Fi(:)25
1967 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
1968 (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)44 b Fn(24)237
1969 488 y(10.3)26 b(Example)e Fi(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)
1970 f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
1971 (:)f(:)44 b Fn(24)164 597 y Fj(11)17 b(Automatic)g(generation)h(of)h
1972 (cop)n(y)f(rules)624 b(25)237 657 y Fn(11.1)26 b(Example)e
1973 Fi(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
1974 (:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)44
1975 b Fn(27)164 766 y Fj(12)17 b(File-lev)n(el)f(organization)i(of)h(Ox)f
1976 (ev)m(aluators)527 b(29)237 826 y Fn(12.1)26 b(Con)o(v)o(en)o(tions)16
1977 b(of)h(naming)e(Ox)h(output)h(\014les)38 b Fi(:)24 b(:)h(:)f(:)h(:)f(:)
1978 g(:)h(:)f(:)h(:)f(:)h(:)f(:)44 b Fn(29)237 886 y(12.2)26
1979 b(Review:)20 b(com)o(bining)15 b(the)h(outputs)h(of)f(Y)l(acc)g(and)h
1980 (Lex)64 b Fi(:)25 b(:)f(:)h(:)f(:)h(:)f(:)44 b Fn(29)237
1981 946 y(12.3)26 b(Com)o(bined)15 b(use)h(of)h(Ox,)e(Y)l(acc,)g(and)i(Lex)
1982 59 b Fi(:)25 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)44
1983 b Fn(30)237 1007 y(12.4)26 b(T)o(ypical)15 b(command)g(sequences)30
1984 b Fi(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
1985 (:)h(:)f(:)44 b Fn(30)164 1116 y Fj(13)17 b(Command-line)f(options)i
1986 (and)h(other)f(p)r(oin)n(ts)511 b(30)237 1176 y Fn(13.1)26
1987 b(Error)17 b(reco)o(v)o(ery)h Fi(:)25 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g
1988 (:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
1989 44 b Fn(31)237 1236 y(13.2)26 b(Memory)15 b(alignmen)o(t)38
1990 b Fi(:)24 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f
1991 (:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)44 b Fn(31)237 1296 y(13.3)26
1992 b(Stripping)16 b(Ox)g(constructs)47 b Fi(:)25 b(:)f(:)g(:)h(:)f(:)h(:)f
1993 (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)44
1994 b Fn(31)237 1356 y(13.4)26 b(Prev)o(en)o(ting)15 b(execution)g(of)i
1995 (attribute)f(de\014nition)g(co)q(de)j Fi(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f
1996 (:)44 b Fn(32)237 1417 y(13.5)26 b(Con)o(trol)17 b(of)f(storage)i(allo)
1997 q(cation)e(in)g(the)g(generated)g(ev)m(aluator)28 b Fi(:)c(:)h(:)f(:)44
1998 b Fn(32)237 1477 y(13.6)26 b(P)o(arse)17 b(tree)e(statistics)25
1999 b Fi(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)
2000 g(:)h(:)f(:)h(:)f(:)h(:)f(:)44 b Fn(33)237 1537 y(13.7)26
2001 b(Adjusting)16 b(the)g(sizes)g(of)h(Ox's)e(data)i(structures)31
2002 b Fi(:)24 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)44
2003 b Fn(34)164 1646 y Fj(14)17 b(Example:)22 b(an)d(in)n(teger)f
2004 (calculator)732 b(34)164 1755 y(15)17 b(Example:)22 b(a)d(binary)f(n)n
2005 (um)n(b)r(er)g(translator)568 b(36)164 1864 y(16)17 b(Example:)22
2006 b(translation)c(to)h(p)r(ost\014x)f(and)h(pre\014x)452
2007 b(40)164 1973 y(A)31 b(Using)19 b(Ox)f(with)h(non-Lex)e(lexical)g
2008 (analyzers)497 b(43)237 2033 y Fn(A.1)37 b(Default)16
2009 b(con)o(text-sensitivit)o(y)e(of)j(L-\014le)f(prepro)q(cessing)49
2010 b Fi(:)25 b(:)f(:)h(:)f(:)h(:)f(:)44 b Fn(43)237 2093
2011 y(A.2)37 b(Ox-prepro)q(cessing)17 b(of)f(C-co)q(ded)i(lexical)c
2012 (analyzers)43 b Fi(:)24 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)44
2013 b Fn(43)349 2153 y(A.2.1)f(Example)22 b Fi(:)i(:)h(:)f(:)h(:)f(:)h(:)f
2014 (:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
2015 f(:)44 b Fn(43)164 2262 y Fj(B)33 b(T)-5 b(ra)n(v)n(ersal)19
2016 b(seman)n(tics)1010 b(47)164 2371 y(C)33 b(List)18 b(of)h(reserv)n(ed)e
2017 (w)n(ords)j(and)f(reserv)n(ed)f(\014le)f(names)355 b(50)p
2018 eop
2019 %%Page: 3 4
2020 3 3 bop 164 162 a Fk(CONTENTS)1318 b Fn(3)164 307 y Fj(D)30
2021 b(Summary)16 b(of)j(command-line)c(options)633 b(51)p
2022 eop
2023 %%Page: 4 5
2024 4 4 bop 164 162 a Fk(1)49 b(O)o(VER)-5 b(VIEW)15 b(OF)h(USE)1048
2025 b Fn(4)164 315 y Fo(1)83 b(Ov)n(erview)25 b(of)j(Use)164
2026 425 y Fn(Lex)11 b(and)h(Y)l(acc)f(are)g(p)q(o)o(w)o(erful)g(and)h
2027 (widely-used)e(to)q(ols)j(for)e(the)g(automatic)g(generation)164
2028 485 y(of)j(language)h(recognizers.)20 b(Lex)13 b(accepts)h(a)g(set)g
2029 (of)g(user-written)f(regular)h(expressions)164 545 y(and)22
2030 b(writes)g(a)g(C)f(program)h(that)g(p)q(erforms)f(lexical)f(analysis)i
2031 (according)g(to)g(those)164 606 y(expressions.)i(Y)l(acc)17
2032 b(translates)g(user-written)g(grammar)f(rules)h(in)o(to)g(C)g(source)h
2033 (co)q(de)164 666 y(for)13 b(a)g(syn)o(tax)f(analyzer.)20
2034 b(While)12 b(they)g(a\013ord)i(\\ho)q(oks")g(for)f(execution)f(of)h
2035 (hand-co)q(ded)164 726 y(C-language)22 b(seman)o(tic)c(actions,)j(Lex)f
2036 (and)h(Y)l(acc)e(pro)o(vide)h(little)e(other)i(facilit)o(y)f(for)164
2037 786 y(automatic)c(implem)o(en)o(tation)e(of)k(language)g(seman)o(tics.)
2038 237 846 y(A)o(ttributed)e(parse)h(trees)f(are)h(often)g(used)g(as)g
2039 (data)h(structures)f(in)f(ev)m(aluators)i(for)164 907
2040 y(languages.)35 b(Often)20 b(the)h(language)g(implem)o(en)o(te)o(r)d
2041 (hand-crafts)j(co)q(de)g(for)g(building,)164 967 y(tra)o(v)o(ersing,)12
2042 b(and)i(ev)m(aluating)f(attributes)f(of)h(parse)g(trees,)g(and)g(for)g
2043 (parse-tree-related)164 1027 y(memory)j(managemen)o(t.)26
2044 b(A)18 b(Y)l(acc)g(sp)q(eci\014cation)g(de\014nes)h(a)g(con)o
2045 (text-free)e(language)164 1087 y(and)h(a)g(mapping)f(from)f(the)h(set)h
2046 (of)f(legal)g(sen)o(tences)g(to)h(the)f(set)g(of)h(parse)g(trees,)f
2047 (but)164 1147 y(co)q(de)f(for)h(parse-tree)f(managemen)o(t)e(is)i(not)h
2048 (generated)f(automatically)e(b)o(y)i(Y)l(acc.)237 1207
2049 y(The)23 b(Ox)430 1189 y Fh(1)473 1207 y Fn(user)g(can)f(sp)q(ecify)g
2050 (a)i(language)f(using)g(the)g(familiar)e(languages)j(of)164
2051 1268 y(Lex)14 b(and)h(Y)l(acc,)f(or)h(tak)o(e)f(an)h(existing)e(Lex/Y)l
2052 (acc)h(sp)q(eci\014cation,)h(and)g(add)g(seman)o(tics)164
2053 1328 y(to)k(the)e(language)j(b)o(y)d(augmen)o(ting)g(the)h(sp)q
2054 (eci\014cation)g(\014les)g(with)g(declarations)g(and)164
2055 1388 y(de\014nitions)e(of)h(t)o(yp)q(ed)e(attributes)i(of)f(parse-tree)
2056 g(no)q(des.)237 1448 y(That)h(sp)q(eci\014cation)e(constitutes)h(an)g
2057 Fg(attribute)i(gr)n(ammar)5 b Fn(,)15 b(and)h(from)f(it)g(Ox)h(can)164
2058 1508 y(automatically)c(generate)h(an)h Fg(evaluator)20
2059 b Fn(written)13 b(in)g(Y)l(acc,)g(Lex,)g(and)h(C.)f(F)l(or)h(a)g(giv)o
2060 (en)164 1569 y(input,)f(the)g(ev)m(aluator)h(builds)f(a)g(parse)h
2061 (tree,)f(determines)e(an)i(order)h(of)f(ev)m(aluation)h(for)164
2062 1629 y(attributes)j(of)h(the)f(tree,)f(and)i(p)q(erforms,)e(for)h(eac)o
2063 (h)g(attribute,)g(the)g(seman)o(tic)e(action)164 1689
2064 y(required)c(to)i(ev)m(aluate)e(it.)20 b(This)12 b(parse)h(tree)e(is)h
2065 (managed)g(indep)q(enden)o(tly)f(of)h(an)o(y)g(trees)164
2066 1749 y(managed)18 b(b)o(y)g(hand-written)h(C)g(co)q(de,)g(but)g
2067 (information)f(ma)o(y)f(b)q(e)h(mo)o(v)o(ed)f(b)q(et)o(w)o(een)164
2068 1809 y(the)f(ev)m(aluator-managed)h(tree)e(and)i(an)o(y)f(global)h
2069 (data)g(structure.)237 1870 y(Additionally)l(,)c(the)i(Ox)g(user)g(can)
2070 g(easily)f(sp)q(ecify)g(parse-tree)h(tra)o(v)o(ersals)f(that)i(are)164
2071 1930 y(p)q(erformed)k(after)i(ev)m(aluation)f(of)h(the)f(tree's)g
2072 (attributes)g(and)h(that)g(refer)f(to)h(those)164 1990
2073 y(attributes.)38 b(Suc)o(h)21 b(tra)o(v)o(ersals)h(greatly)f(simplify)e
2074 (tasks)k(suc)o(h)e(as)i(co)q(de)f(generation)164 2050
2075 y(and)17 b(the)f(gathering)h(of)f(compilation)f(statistics.)237
2076 2110 y(The)k(language)h(designer)f(is)g(freed)f(from)g(the)g(tedious)h
2077 (and)h(error-prone)f(details)164 2171 y(of)24 b(writing)g(co)q(de)g
2078 (for)g(parse-tree)g(managemen)o(t.)42 b(Ox-generated)23
2079 b(ev)m(aluators)i(use)164 2231 y(memory-m)o(anageme)o(n)o(t)16
2080 b(tec)o(hniques)i(that)h(bring)g(large)g(time-e\016cienc)o(y)d(gains)k
2081 (o)o(v)o(er)p 164 2274 648 2 v 220 2305 a Ff(1)239 2320
2082 y Fe(The)13 b(name)f(\\Ox")h(originated)g(as)g(a)g(homophone)e(for)i
2083 (an)g(acron)o(ym)f(for)h(\\An)g(A)o(ttribute)h(Gram-)164
2084 2370 y(mar)f(Compiling)d(System".)18 b(It)c(w)o(as)g(noticed)h(later)f
2085 (that)g(ev)o(ery)h(y)o(ak)f(is)f(an)h(o)o(x)g(and)g(that)g(Ox)g(gener-)
2086 164 2420 y(alizes)g(the)g(function)g(of)f(Y)m(acc.)p
2087 eop
2088 %%Page: 5 6
2089 5 5 bop 164 162 a Fk(2)49 b(PRELIMINAR)l(Y)1166 b Fn(5)164
2090 307 y(hand-built)15 b(ev)m(aluators)g(that)h(use)e(the)h(common)d(tec)o
2091 (hnique)h(of)j(calling)d Fd(malloc)g Fn(once)164 367
2092 y(for)i(eac)o(h)f(parse-tree)g(no)q(de.)21 b(Also,)15
2093 b(Ox)f(pro)o(vides)g(securit)o(y)f(b)o(y)h(testing)g(the)g
2094 (de\014nition)164 428 y(for)j(consistency)f(and)i(completeness,)c(and)k
2095 (the)f(Ox-generated)f(ev)m(aluator)i(p)q(erforms)164
2096 488 y(tests)24 b(to)g(ensure)g(that)g(a)g(circular)f(de\014nition)g
2097 (has)h(not)h(prev)o(en)o(ted)d(ev)m(aluation)i(of)164
2098 548 y(attributes.)237 608 y(Ox)17 b(is)f(a)i(prepro)q(cessor)f(that)g
2099 (accepts)g(t)o(w)o(o)g(or)g(more)e(\014les,)h(and)i(translates)f(these)
2100 164 668 y(in)o(to)e(\014les)g(suitable)g(for)h(input)f(to)h(Lex)895
2101 650 y Fh(2)930 668 y Fn(and)g(Y)l(acc.)k(With)15 b(few)h(exceptions,)e
2102 (all)h(Lex-)164 729 y(input/Y)l(acc-input)i(pairs)g(of)h(\014les)f
2103 (that)g(constitute)g(recognizers)g(or)g(translators)i(are)164
2104 789 y(legal)14 b(inputs)h(to)g(Ox.)20 b(Th)o(us)15 b(m)o(uc)o(h)d
2105 (existing)i(soft)o(w)o(are)g(is)h(amenable)e(to)i(mo)q(di\014cation)164
2106 849 y(using)21 b(Ox,)f(and)h(implem)o(en)o(tations)d(that)i(use)h(Ox)f
2107 (can)g(b)q(e)h(con)o(v)o(erted)e(step)o(wise)g(b)o(y)164
2108 909 y(hand)i(to)g(\\pure")h(Lex/Y)l(acc)e(implem)o(en)n(tations.)32
2109 b(This)21 b(mak)o(es)e(Ox)h(w)o(ell-suited)g(to)164 969
2110 y(language)g(designers,)g(exp)q(erimen)o(ters,)d(and)j(implem)o(en)o
2111 (ter)o(s)d(already)j(familiar)d(with)164 1029 y(Lex,)f(Y)l(acc,)f(and)i
2112 (C.)164 1196 y Fo(2)83 b(Preliminary)164 1305 y Fn(It)17
2113 b(is)h(assumed)g(that)g(the)g(reader)f(is)h(familiar)e(with)i(the)f
2114 (use)h(of)h(Y)l(acc)e([Johnson)g(75)q(],)164 1366 y(Lex)f([Lesk)g(75)q
2115 (],)g(and)h(C)f([KR)g(88)q(];)f(Ox)h(syn)o(tactic)g(constructs)h(are)f
2116 (describ)q(ed)g(mainly)164 1426 y(as)g(augmen)o(tations)f(of)g(the)g
2117 (languages)i(accepted)d(b)o(y)h(those)h(to)q(ols.)1437
2118 1408 y Fh(3)1478 1426 y Fn(Prior)g(acquain-)164 1486
2119 y(tance)i(with)g(the)g(basic)h(ideas)f(of)h(attribute)f(grammars)f
2120 (\(for)h(instance,)g(as)h(found)g(in)164 1546 y([W)l(aite)c(84)q(])h
2121 (or)h([Aho)e(86)q(]\))h(is)g(helpful.)237 1606 y(An)h(Ox)f(input)g(sp)q
2122 (eci\014cation)h(consists)g(of)g(at)g(least)g(t)o(w)o(o)f(\014les:)22
2123 b(a)17 b(syn)o(tactic)f(sp)q(ec-)164 1667 y(i\014cation)j(\(whic)o(h)f
2124 (resem)o(bles)f(a)i(Y)l(acc)g(input)g(sp)q(eci\014cation)g(and)g(is)g
2125 (called)f(a)i Fg(Y-\014le)p Fn(\))164 1727 y(that)f(Ox)g(translates)g
2126 (in)o(to)g(a)g(Y)l(acc)g(input)f(sp)q(eci\014cation,)h(and)h(one)f(or)g
2127 (more)f(lexical)164 1787 y(sp)q(eci\014cations)c(\(whic)o(h)f(resem)o
2128 (ble)e(Lex)j(input)g(sp)q(eci\014cations)g(and)h(are)f(called)e
2129 Fg(L-\014le)p Fn(s\))164 1847 y(that)j(Ox)f(translates)h(in)o(to)e(Lex)
2130 i(input)f(sp)q(eci\014cations.)20 b(Usually)14 b(there)g(is)g(exactly)f
2131 (one)164 1907 y(L-\014le,)21 b(but)f(an)g(ev)m(aluator)h(that)f(uses)g
2132 (more)f(than)i(one)f(lexical)e(analyzer)i([Lesk)c(75])164
2133 1967 y(ma)o(y)i(b)q(e)h(constructed)g(b)o(y)f(submitting)g(to)i(Ox)e
2134 (more)g(than)i(one)f(L-\014le.)30 b(This)20 b(man-)164
2135 2028 y(ual)h(presen)o(ts)f(descriptions)g(of)h(the)g(Ox-sp)q(eci\014c)e
2136 (constructs)i(that)h(ma)o(y)d(app)q(ear)i(in)164 2088
2137 y(these)f(\014les,)h(as)g(w)o(ell)f(as)h(p)q(ertinen)o(t)e(underlying)h
2138 (concepts.)34 b(These)21 b(constructs)g(are)164 2148
2139 y(illustrated)15 b(mainly)f(b)o(y)i(using)h(fragmen)o(ts)e(of)i(three)e
2140 (examples)f(of)j(Ox)f(input)g(sp)q(eci\014-)p 164 2192
2141 648 2 v 220 2222 a Ff(2)239 2237 y Fe(The)11 b(general)f(descriptions)i
2142 (in)e(this)h(man)o(ual)d(assume)i(the)h(use)g(of)f(a)g(Lex-based)i
2143 (lexical)d(analyzer.)164 2287 y(It)i(is)f(p)q(ossible,)h(ho)o(w)o(ev)o
2144 (er,)g(to)f(use)i(Ox)e(with)h(lexical)e(analyzers)i(hand-written)g(in)f
2145 (C:)g(details)g(are)h(giv)o(en)164 2337 y(separately)j(\(in)g(app)q
2146 (endix)g(A\).)220 2372 y Ff(3)239 2387 y Fe(\\Y)m(acc",)e(\\Lex",)g
2147 (and)g(\\C")g(can,)h(in)f(this)h(man)o(ual,)d(b)q(e)j(tak)o(en)g(to)f
2148 (mean)f(\\Y)m(acc)i(or)g(Bison",)f(\\Lex)164 2437 y(or)i(Flex",)f(and)h
2149 (\\C)f(or)h(C++",)g(resp)q(ectiv)o(ely)m(.)p eop
2150 %%Page: 6 7
2151 6 6 bop 164 162 a Fk(3)49 b(A)l(TTRIBUTE)15 b(DECLARA)l(TIONS)814
2152 b Fn(6)164 307 y(cations,)16 b(the)g(complete)e(texts)i(of)g(whic)o(h)g
2153 (app)q(ear)h(in)f(sections)g(14,)h(15,)f(and)h(16.)237
2154 367 y(Within)24 b(Ox-sp)q(eci\014c)g(constructs,)j(C-st)o(yle)d(and)i
2155 (C++-st)o(yle)e(commen)n(ts)e(ma)o(y)164 428 y(app)q(ear)27
2156 b(an)o(ywhere)e(whitespace)g(ma)o(y)g(app)q(ear.)51 b(The)25
2157 b(global)h(iden)o(ti\014ers)f(of)h(Ox-)164 488 y(generated)c(C)h(co)q
2158 (de,)g(lik)o(e)e(those)h(generated)g(b)o(y)g(Y)l(acc)g(and)g(Lex,)i
2159 (are)e(pre\014xed)f(b)o(y)164 548 y Fd(yy)p Fn(,)e(so)i(the)e(Ox)g
2160 (user)h(can)g(a)o(v)o(oid)f(name)g(con\015icts)g(in)g(the)h(generated)f
2161 (ev)m(aluator)h(b)o(y)164 608 y(abstaining)d(from)e(the)h(use)g(of)h
2162 (global)g(iden)o(ti\014ers)d(that)j(b)q(egin)g(with)f
2163 Fd(yy)p Fn(.)164 775 y Fo(3)83 b(A)n(ttribute)27 b(declarations)164
2164 884 y Fn(As)17 b(describ)q(ed)f(in)h([Johnson)g(75)q(],)g(the)g
2165 (declarations)g(section)f(of)i(a)f(Y)l(acc)g(input)g(sp)q(ec-)164
2166 944 y(i\014cation)g(is)h(the)g(part)g(that)g(precedes)f(the)g(\014rst)i
2167 Fd(\045\045)e Fn(mark,)f(and)i(in)g(it)f(the)h(user)f(ma)o(y)164
2168 1004 y(declare)c(the)h(start)g(sym)o(b)q(ol,)f(tok)o(ens,)h(asso)q
2169 (ciativities,)f(unions,)i(C)f(co)q(de)g(sections,)g(etc.)164
2170 1065 y(The)h(Y-\014le)f(con)o(tains)h(suc)o(h)f(a)i(declarations)f
2171 (section,)f(and)h(in)g(it)f(are)h(p)q(ermitted)e(all)i(of)164
2172 1125 y(the)g(constructs)g(of)g(Y)l(acc)g(declarations)g(sections,)f(as)
2173 i(w)o(ell)d(as)j(Ox)30 b Fg(attribute)17 b(de)n(clar)n(a-)164
2174 1185 y(tions)t Fn(.)29 b(An)18 b(attribute)h(declaration)f(consists)h
2175 (of)g(the)g(reserv)o(ed)e(w)o(ord)i Fd(@attribute)o(s)164
2176 1245 y Fn(follo)o(w)o(ed)13 b(b)o(y)g Fc(f)p Fn(,)h(an)g(attribute)f
2177 (declaration)g(list,)g Fc(g)p Fn(,)h(and)g(a)g(list)f(of)h(grammar)e
2178 (sym)o(b)q(ols.)237 1305 y(Supp)q(ose)23 b(that)g(a)f(grammar)f(has)i
2179 (a)f(sym)o(b)q(ol)f Fd(bitlist)f Fn(and)j(the)e(follo)o(wing)h(at-)164
2180 1366 y(tribute)16 b(declaration:)292 1467 y Fd(@attribute)o(s)23
2181 b({float)g(value;)h(int)g(scale,leng)o(th;)o(})f(bitlist)164
2182 1569 y Fn(Then)c(the)g(Ox-generated)h(ev)m(aluator,)g(when)f(building)g
2183 (a)g(parse-tree)h(no)q(de)g(lab)q(eled)164 1629 y Fd(bitlist)p
2184 Fn(,)10 b(allo)q(cates)i(storage)h(for)f(a)g(\015oat)h(named)e
2185 Fd(value)f Fn(and)j(in)o(tegers)e(named)g Fd(scale)164
2186 1689 y Fn(and)17 b Fd(length)p Fn(.)237 1750 y(An)g(attribute)f
2187 (declaration)h(list)f(\(in)g(the)h(previous)g(example,)d(the)j(part)g
2188 (b)q(et)o(w)o(een)164 1810 y(curly)23 b(braces\))h(resem)o(bles)e(a)i
2189 (C)h(structure)f(declaration)g(list.)44 b(Digit)24 b(strings)g(and)164
2190 1870 y(C-st)o(yle)d(iden)o(ti\014ers,)g(as)h(w)o(ell)e(as)i(the)f
2191 (follo)o(wing)g(c)o(haracters)h(and)g(reserv)o(ed)e(w)o(ords,)164
2192 1930 y(arranged)d(according)g(to)f(C)h(syn)o(tax,)e(are)i(legal)f(in)f
2193 (attribute)h(declaration)g(lists:)369 2032 y Fd(*)25
2194 b(:)h(;)f(,)g(char)f(short)g(int)h(long)f(float)g(double)472
2195 2092 y(signed)f(unsigned)g(struct)g(union)h(enum)164
2196 2194 y Fn(Note)15 b(that)i(curly)e(braces)h(ma)o(y)e(not)i(app)q(ear)h
2197 (inside)e(\(and)i(so)f(structures)g(and)g(unions)164
2198 2254 y(ma)o(y)21 b(not)h(b)q(e)g(declared)g(inside\))f(attribute)h
2199 (declaration)g(lists.)38 b(Despite)22 b(this,)h(an)o(y)164
2200 2314 y(fundamen)o(tal)12 b(or)h(deriv)o(ed)f(t)o(yp)q(e)g(p)q(ermitted)
2201 f(in)i(a)h(C)f(program)g(ma)o(y)e(b)q(e)j(used)f(as)h(an)f(at-)164
2202 2374 y(tribute)f(t)o(yp)q(e)h(sp)q(eci\014er:)19 b(Y)l(acc)12
2203 b(input)h(sp)q(eci\014cations)g(often)h(con)o(tain)e(C)i(co)q(de)f
2204 (sections)164 2434 y(b)q(et)o(w)o(een)i Fd(\045)p Fc(f)h
2205 Fn(and)h Fd(\045)p Fc(g)p Fn(,)f(and)h(these)f(are)h(also)g(p)q
2206 (ermitted)d(in)i(Ox)g(input)g(sp)q(eci\014cations.)p
2207 eop
2208 %%Page: 7 8
2209 7 7 bop 164 162 a Fk(4)49 b(R)o(ULES)16 b(AND)g(A)l(TTRIBUTE)f
2210 (OCCURRENCES)523 b Fn(7)164 307 y(An)o(y)12 b(t)o(yp)q(e)h(name)f(giv)o
2211 (en)g(meaning)g(b)o(y)g(using)i Fd(struct)p Fn(,)d Fd(union)p
2212 Fn(,)g Fd(typedef)p Fn(,)g(or)i Fd(#define)164 367 y
2213 Fn(in)j(a)h(previous)f(C)g(co)q(de)g(section)g(ma)o(y)f(b)q(e)h(used)h
2214 (as)g(an)f(attribute)g(t)o(yp)q(e)g(sp)q(eci\014er.)237
2215 428 y(The)h(list)e(of)i(grammar)e(sym)o(b)q(ols)g(follo)o(wing)i
2216 Fc(g)f Fn(is)g(a)h(p)q(ossibly)g(empt)o(y)d(list)i(of)h(Y)l(acc)164
2217 488 y(tok)o(ens)c(\(including)g(c)o(haracter)g(constan)o(ts\))i(and)f
2218 (non)o(terminals,)e(mem)o(b)q(ers)f(of)j(the)g(list)164
2219 548 y(b)q(eing)i(separated)h(b)o(y)f(whitespace.)237
2220 608 y(All)10 b(uses)h(of)g(the)f(Y)l(acc)h(reserv)o(ed)e(w)o(ords)i
2221 Fd(\045token)p Fn(,)f Fd(\045left)p Fn(,)f Fd(\045right)p
2222 Fn(,)h(and)h Fd(\045nonassoc)164 668 y Fn(m)o(ust)k(precede)g(all)h(of)
2223 g(the)g(attribute)g(declarations.)164 813 y Fb(3.1)70
2224 b(Seman)n(tics)21 b(of)i(attribute)f(declarations)164
2225 905 y Fn(An)15 b(attribute)g(declaration)h(informs)e(Ox)h(that)h(eac)o
2226 (h)f(sym)o(b)q(ol)g(in)g(the)g(grammar)f(sym-)164 965
2227 y(b)q(ol)23 b(list)e(has)i(attributes)g(of)f(the)g(names)g(and)h(t)o
2228 (yp)q(es)f(app)q(earing)h(in)f(the)g(attribute)164 1025
2229 y(declaration)17 b(list.)24 b(If)17 b Fi(a)g Fn(app)q(ears)i(in)e(the)g
2230 (attribute)g(declaration)g(list)g(and)h Fi(s)g Fn(app)q(ears)164
2231 1086 y(in)13 b(the)g(grammar)f(sym)o(b)q(ol)g(list,)h(then)g
2232 Fi(a)h Fn(is)f(said)h(to)f Fg(b)n(elong)20 b Fn(to)14
2233 b Fi(s)f Fn(or)h(to)g(b)q(e)f(an)h(attribute)164 1146
2234 y(of)20 b Fi(s)p Fn(.)32 b(Eac)o(h)20 b(grammar)e(sym)o(b)q(ol)g(has)j
2235 (its)e(o)o(wn)h(attribute)g(name)e(space.)32 b(When)20
2236 b(the)164 1206 y(ev)m(aluator)i(creates)e(a)i(no)q(de)f(lab)q(eled)g(b)
2237 o(y)g(one)g(of)g(the)g(listed)f(sym)o(b)q(ols,)h(it)g(allo)q(cates)164
2238 1266 y(storage)i(of)e(the)h(sp)q(eci\014ed)f(t)o(yp)q(e)g(for)h(eac)o
2239 (h)f(of)h(the)f(named)g(attributes.)37 b(A)21 b(storage)164
2240 1326 y(lo)q(cation)e(so)g(allo)q(cated)g(is)f(called)g(an)h
2241 Fg(attribute)h(instanc)n(e)k Fn(\(concisely)l(,)17 b(an)i
2242 Fg(instanc)n(e)t Fn(\))164 1387 y(in)d(the)g(parse)h(tree.)j(Instances)
2243 c(ma)o(y)f(b)q(e)h(said)h(to)f Fg(b)n(elong)23 b Fn(to)16
2244 b(no)q(des.)164 1553 y Fo(4)83 b(Rules)26 b(and)h(attribute)h(o)r
2245 (ccurrences)164 1663 y Fn(Y)l(acc)16 b(grammar)e(rules)i(\(pro)q
2246 (ductions\),)h(and)g(the)f(ob)s(jects)g(of)g Fd(return)e
2247 Fn(statemen)o(ts)h(in)164 1723 y(Lex)g(actions)g(\(eac)o(h)f(suc)o(h)g
2248 (ob)s(ject)h(b)q(eing)g(a)g(tok)o(en\),)f(are)h(here)f(referred)g(to)h
2249 (generically)164 1783 y(as)i Fg(rules)t Fn(.)k(Since)15
2250 b(Ox)h(accepts)g(the)g(constructs)g(of)g(Y)l(acc)g(and)g(Lex,)g(and)g
2251 (passes)h(these)164 1843 y(unc)o(hanged,)g(the)g(corresp)q(onding)h
2252 (constructs)f(of)g(Ox)g(input)f(sp)q(eci\014cations)h(are)g(also)164
2253 1903 y(called)k Fg(rules)t Fn(.)38 b(Eac)o(h)22 b(rule)f(is)g(view)o
2254 (ed)f(as)j(a)f(sequence)e(of)j(grammar)d(sym)o(b)q(ols,)h(the)164
2255 1964 y(ob)s(ject)10 b(of)i(eac)o(h)e Fd(return)f Fn(statemen)o(t)h(in)g
2256 (a)i(Lex)f(action)g(b)q(eing)g(a)g(sequence)f(consisting)i(of)164
2257 2024 y(a)g(single)f(grammar)f(sym)o(b)q(ol.)18 b(The)12
2258 b(leftmost)e(sym)o(b)q(ol)g(of)i(a)f(rule)g(is)h(called)e(the)h
2259 Fg(left-hand)164 2084 y(side)20 b Fn(\()p Fg(LHS)6 b
2260 Fn(\).)17 b(The)f Fg(right-hand)j(side)h Fn(\()p Fg(RHS)6
2261 b Fn(\))17 b(comprises)e(the)h(rule's)g(other)g(sym)o(b)q(ols.)164
2262 2144 y(A)24 b(sym)o(b)q(ol's)f(p)q(osition)h(in)g(a)h(rule)f(together)g
2263 (with)g(an)h(attribute)f(of)h(that)f(sym)o(b)q(ol)164
2264 2204 y(constitute)17 b(an)g Fg(attribute)j(o)n(c)n(curr)n(enc)n(e)g
2265 Fn(\(concisely)l(,)c(an)h Fg(o)n(c)n(curr)n(enc)n(e)t
2266 Fn(\))g(in)g(that)g(rule.)23 b(If)164 2264 y(the)18 b(attribute)f(in)h
2267 (question)g(is)g Fi(a)p Fn(,)f(the)h(o)q(ccurrence)f(is)h(said)g(to)h
2268 (b)q(e)f(an)g Fg(o)n(c)n(curr)n(enc)n(e)h(of)164 2325
2269 y Fi(a)p Fn(.)i(Supp)q(osing)c(the)f Fd(@attributes)d
2270 Fn(declaration)j(of)g(section)g(3)h(and)g(the)f(rule:)292
2271 2426 y Fd(num)127 b(:)179 b(bitlist)23 b(DOT)127 b(bitlist)p
2272 eop
2273 %%Page: 8 9
2274 8 8 bop 164 162 a Fk(5)49 b(A)l(TTRIBUTE)15 b(DEFINITIONS)880
2275 b Fn(8)164 307 y(the)23 b(attribute)h(o)q(ccurrence)f
2276 Fd(scale)e Fn(of)j(the)g(leftmost)e(app)q(earance)i(of)g
2277 Fd(bitlist)d Fn(is)164 367 y(denoted)j(in)f(Ox)g(co)q(de)h(as)g
2278 Fd(bitlist.0.)o(sca)o(le)o Fn(,)e(while)h(the)g(attribute)h(o)q
2279 (ccurrence)164 428 y Fd(scale)12 b Fn(of)h(the)h(righ)o(tmost)e(app)q
2280 (earance)i(of)g Fd(bitlist)d Fn(is)i(denoted)h Fd(bitlist.1.)o(sc)o
2281 (ale)o Fn(.)237 488 y(In)19 b(general,)g(attribute)g(o)q(ccurrences)g
2282 (are)g(named)f(b)o(y)h(a)g(grammar)f(sym)o(b)q(ol,)g(fol-)164
2283 548 y(lo)o(w)o(ed)13 b(b)o(y)h(a)h(p)q(erio)q(d,)f(follo)o(w)o(ed)g
2284 (optionally)g(b)o(y)f(a)i(non-negativ)o(e)f(decimal)e(in)o(teger)h(and)
2285 164 608 y(another)20 b(p)q(erio)q(d,)g(follo)o(w)o(ed)f(b)o(y)f(the)h
2286 (name)g(of)g(an)h(attribute)f(of)h(that)g(sym)o(b)q(ol.)29
2287 b(The)164 668 y(in)o(teger)12 b(and)i(the)f(second)h(p)q(erio)q(d)f
2288 (are)h(needed)e(only)h(when)h(a)f(giv)o(en)g(grammar)e(sym)o(b)q(ol)164
2289 729 y(app)q(ears)k(more)e(than)i(once)f(in)g(the)g(rule,)g(in)g(whic)o
2290 (h)f(case)i(those)f(distinct)g(app)q(earances)164 789
2291 y(are)h(n)o(um)o(b)q(ered)f(from)g(left)g(to)i(righ)o(t)f(with)g
2292 (consecutiv)o(e)f(increasing)h(in)o(tegers)f(starting)164
2293 849 y(with)i Fd(0)p Fn(.)21 b(F)l(or)16 b(a)h(sym)o(b)q(ol)e
2294 Fd(X)h Fn(with)g(an)h(attribute)f Fd(a)p Fn(,)f Fd(X.a)g
2295 Fn(is)h(a)h(synon)o(ym)e(for)h Fd(X.0.a)p Fn(.)237 909
2296 y(A)k(giv)o(en)e(rule)i(and)g(an)g(attribute)g(o)q(ccurrence)f(in)g
2297 (that)i(rule)e(constitute)g(an)h Fg(at-)164 969 y(tribute)e(o)n(c)n
2298 (curr)n(enc)n(e)i Fn(in)c(the)g(grammar.)164 1136 y Fo(5)83
2299 b(A)n(ttribute)27 b(de\014nitions)164 1245 y Fn(F)l(or)20
2300 b(eac)o(h)g(rule,)g(the)g(Ox)g(user)g(ma)o(y)f(pro)o(vide)h(an)g
2301 Fg(attribute)i(r)n(efer)n(enc)n(e)g(se)n(ction)t Fn(,)f(de-)164
2302 1305 y(limited)15 b(b)o(y)j Fd(@)p Fc(f)g Fn(and)g Fd(@)p
2303 Fc(g)p Fn(,)g(and)h(optionally)f(con)o(taining)g(de\014nitions)g(of)g
2304 (attribute)g(o)q(c-)164 1366 y(currences)i(of)h(the)f(giv)o(en)g(rule.)
2305 34 b(A)o(ttribute)19 b(o)q(ccurrences)h(ma)o(y)g(b)q(e)g(de\014ned)h
2306 (therein)164 1426 y(in)16 b(terms)f(of)i(the)g(rule's)f(other)g
2307 (attribute)h(o)q(ccurrences)f(and)h(C)g(co)q(de)g(suc)o(h)f(as)i
2308 (global)164 1486 y(v)m(ariables,)e(constan)o(ts,)g(macros,)f(and)i
2309 (function)f(calls.)164 1630 y Fb(5.1)70 b(Inherited)21
2310 b(vs.)31 b(syn)n(thesized)22 b(attributes)164 1723 y
2311 Fn(An)16 b(attribute)g(o)q(ccurrence)f Fi(o)i Fn(in)f(a)h(rule)e
2312 Fi(R)i Fn(is)f Fg(synthesize)n(d)22 b Fn(if)15 b(and)i(only)f(if)224
2313 1824 y(1.)24 b Fi(o)17 b Fn(is)f(on)g(the)g(LHS)h(of)f
2314 Fi(R)h Fn(and)g(the)f(attribute)g(reference)f(section)g(of)i
2315 Fi(R)g Fn(con)o(tains)286 1885 y(a)g(de\014nition)e(of)i
2316 Fi(o)p Fn(,)f(or)224 1986 y(2.)24 b Fi(o)16 b Fn(is)g(on)g(the)g(RHS)f
2317 (of)i Fi(R)f Fn(and)g(the)g(attribute)g(reference)e(section)h(of)h
2318 Fi(R)h Fn(con)o(tains)286 2047 y(no)g(de\014nition)e(of)i
2319 Fi(o)p Fn(.)237 2148 y(An)f(attribute)g(o)q(ccurrence)g
2320 Fi(o)g Fn(in)g(a)h(rule)e Fi(R)i Fn(is)f Fg(inherite)n(d)22
2321 b Fn(if)15 b(and)i(only)f(if)224 2250 y(1.)24 b Fi(o)17
2322 b Fn(is)f(on)g(the)g(LHS)h(of)f Fi(R)h Fn(and)g(the)f(attribute)g
2323 (reference)f(section)g(of)i Fi(R)g Fn(con)o(tains)286
2324 2310 y(no)g(de\014nition)e(of)i Fi(o)p Fn(,)f(or)224
2325 2412 y(2.)24 b Fi(o)16 b Fn(is)g(on)g(the)g(RHS)f(of)i
2326 Fi(R)f Fn(and)g(the)g(attribute)g(reference)e(section)h(of)h
2327 Fi(R)h Fn(con)o(tains)286 2472 y(a)g(de\014nition)e(of)i
2328 Fi(o)p Fn(.)p eop
2329 %%Page: 9 10
2330 9 9 bop 164 162 a Fk(5)49 b(A)l(TTRIBUTE)15 b(DEFINITIONS)880
2331 b Fn(9)237 307 y(An)18 b(error)f(message)g(is)h(issued)g(if)f(an)h
2332 (attribute)f(is)h(found)g(to)h(ha)o(v)o(e)d(b)q(oth)j(syn)o(the-)164
2333 367 y(sized)c(and)h(inherited)e(o)q(ccurrences)i(in)f(the)g(grammar.)20
2334 b(An)15 b(attribute)g(is)h Fg(synthesize)n(d)164 428
2335 y Fn(if)23 b(and)h(only)g(if)f(it)g(has)i(at)f(least)f(one)h(o)q
2336 (ccurrence,)g(and)h(its)e(ev)o(ery)f(o)q(ccurrence)h(is)164
2337 488 y(syn)o(thesized.)c(An)c(attribute)f(is)g Fg(inherite)n(d)20
2338 b Fn(if)14 b(and)h(only)g(if)f(it)g(has)h(at)g(least)g(one)f(o)q(ccur-)
2339 164 548 y(rence,)k(and)g(its)h(ev)o(ery)d(o)q(ccurrence)i(is)g
2340 (inherited.)27 b(It)17 b(follo)o(ws)i(from)e(the)h(ab)q(o)o(v)o(e)g
2341 (that)164 608 y(the)c(grammar's)f(start)i(sym)o(b)q(ol)e(ma)o(y)g(ha)o
2342 (v)o(e)h(only)g(syn)o(thesized)f(attributes.)21 b(Referring)164
2343 668 y(to)e(returned)f(tok)o(ens)g(as)h(rules)f(emphasizes)f(the)h
2344 (equal)g(status)h(of)g(tok)o(ens)f(and)h(non-)164 729
2345 y(terminals,)e(inasm)o(uc)o(h)g(as)i(eac)o(h)f(kind)g(of)h(sym)o(b)q
2346 (ol)e(\(except)h(the)g(start)h(sym)o(b)q(ol\))e(ma)o(y)164
2347 789 y(ha)o(v)o(e)d(b)q(oth)h(syn)o(thesized)e(and)i(inherited)e
2348 (attributes.)20 b(Since)14 b(eac)o(h)g(sym)o(b)q(ol)f(has)i(a)g(dis-)
2349 164 849 y(tinct)j(name)g(space)i(\(section)e(3.1\),)i(same-named)d
2350 (attributes)i(of)h(di\013eren)o(t)e(sym)o(b)q(ols)164
2351 909 y(are)h(di\013eren)o(t)f(attributes,)h(and)h(ma)o(y)d(di\013er)i
2352 (as)g(to)h(whether)e(they)h(are)g(inherited)f(or)164
2353 969 y(syn)o(thesized.)237 1029 y(F)l(or)e(eac)o(h)f(parse-tree)g(no)q
2354 (de)h(except)f(the)g(ro)q(ot)i(no)q(de,)e(t)o(w)o(o)h(rules)f(of)h(the)
2355 f(Ox)g(input)164 1090 y(sp)q(eci\014cation)21 b(are)h(of)g(particular)f
2356 (in)o(terest.)36 b(The)22 b Fg(home)g(rule)k Fn(is)21
2357 b(the)h(rule)e(applied)164 1150 y(at)i(the)g(no)q(de,)h(i.e.,)e(the)h
2358 (rule)f(whose)i(LHS)f(is)f(the)h(lab)q(el)f(of)h(the)g(giv)o(en)f(no)q
2359 (de,)i(and)164 1210 y(whose)c(RHS)g(sym)o(b)q(ols)e(are)i(the)g(lab)q
2360 (els)f(of)h(the)g(c)o(hildren)e(of)i(the)f(no)q(de.)30
2361 b(The)19 b Fg(p)n(ar)n(ent)164 1270 y(rule)24 b Fn(is)19
2362 b(the)g(rule)g(applied)f(at)i(the)f(no)q(de's)h(paren)o(t.)31
2363 b(The)19 b(attribute)g(de\014nition)g(of)h(a)164 1330
2364 y(syn)o(thesized)c(attribute)h(instance)g(of)h(a)g(giv)o(en)e(no)q(de)i
2365 (is)g(asso)q(ciated)g(with)f(the)g(no)q(de's)164 1391
2366 y(home)i(rule)g(\(i.e.,)f(it)h(app)q(ears)i(in)f(the)f(attribute)h
2367 (reference)e(section)h(for)h(that)g(rule\),)164 1451
2368 y(and)d(de\014nitions)g(of)g(inherited)e(attribute)h(instances)h(are)g
2369 (similarly)c(asso)q(ciated)18 b(with)164 1511 y(the)e(paren)o(t)g
2370 (rule.)237 1571 y(In)i(a)g(legal)g(input)g(sp)q(eci\014cation,)g(eac)o
2371 (h)f(attribute)h(of)g(a)h(sym)o(b)q(ol)e(app)q(earing)i(in)f(a)164
2372 1631 y(rule)e(is)g(either)g(syn)o(thesized)f(or)i(inherited,)e(but)i
2373 (not)g(b)q(oth,)g(so)h(the)e(de\014nitions)g(of)h(all)164
2374 1692 y(attributes)f(\\\014t)h(together")g(completely)c(and)k(without)f
2375 (con)o(tradiction.)164 1836 y Fb(5.2)70 b(A)n(ttribute)21
2376 b(reference)g(sections)h(in)g(the)g(Y-\014le)164 1928
2377 y Fn(The)c Fg(rules)i(se)n(ction)j Fn(of)c(a)g(Y)l(acc)f(\014le)g
2378 (follo)o(ws)g(the)g(\014rst)h Fd(\045\045)f Fn(mark)f([Johnson)g(75)q
2379 (],)h(and)164 1989 y(con)o(tains)g(the)h(pro)q(ductions)g(\(rules\))f
2380 (of)g(the)g(grammar.)26 b(As)19 b(men)o(tioned)d(ab)q(o)o(v)o(e,)i(the)
2381 164 2049 y(Ox)i(user)h(ma)o(y)e(augmen)o(t)g(eac)o(h)h(rule)g(b)o(y)g
2382 (an)h(attribute)f(reference)f(section,)i(eac)o(h)f(of)164
2383 2109 y(whic)o(h)d(is)g(delimited)d(b)o(y)j Fd(@)p Fc(f)g
2384 Fn(and)h Fd(@)p Fc(g)p Fn(,)f(and)h(whic)o(h)f(con)o(tains)h(zero)f(or)
2385 h(more)e Fg(attribute)164 2169 y(de\014nitions)t Fn(.)58
2386 b(When)18 b(presen)o(t,)g(the)h(attribute)f(reference)f(section)h(is)g
2387 (the)g(last)h(item)164 2229 y(\(other)c(than)h(a)g(terminating)e
2388 (semicolon\))g(in)h(a)g(rule.)1180 2211 y Fh(4)1221 2229
2389 y Fn(Conceptually)l(,)f(an)i(attribute)164 2290 y(de\014nition)g(has)g
2390 (a)h Fg(dep)n(endency)h(p)n(art)36 b Fn(and)17 b(an)g
2391 Fg(evaluation)h(p)n(art)5 b Fn(,)31 b(but)16 b(syn)o(tactically)l(,)p
2392 164 2333 648 2 v 220 2364 a Ff(4)239 2379 y Fe(Th)o(us)c(it)f(do)q(es)i
2393 (not)f(precede)i(an)o(y)d(Y)m(acc)i(action)e(or)h(the)g(Y)m(acc)h
2394 (reserv)o(ed)h(w)o(ord)d Fa(\045prec)g Fe(in)h(the)g(rule,)164
2395 2429 y(and)i(an)o(y)f(follo)o(wing)e(iden)o(ti\014er)k(m)o(ust)d(b)q(e)
2396 j(the)f(LHS)g(of)g(the)g(next)h(rule.)p eop
2397 %%Page: 10 11
2398 10 10 bop 164 162 a Fk(5)49 b(A)l(TTRIBUTE)15 b(DEFINITIONS)855
2399 b Fn(10)164 307 y(the)19 b(parts)h(ma)o(y)e(b)q(e)i(com)o(bined)d(or)j
2400 (separate.)31 b(There)19 b(are)h(three)f(mo)q(des)f(of)i(expres-)164
2401 367 y(sion)14 b(of)h(attribute)e(de\014nitions,)h(and)h(di\013eren)o(t)
2402 e(mo)q(des)h(ma)o(y)e(b)q(e)i(used)g(within)g(a)g(single)164
2403 428 y(attribute)20 b(reference)f(section.)33 b(Eac)o(h)20
2404 b(attribute)h(de\014nition)f(b)q(egins)g(with)h(a)f Fg(de\014ni-)164
2405 488 y(tion)f(mo)n(de)f(annunciator)24 b Fn(\()p Fd(@e)p
2406 Fn(,)17 b Fd(@i)p Fn(,)g(or)h Fd(@m)p Fn(,\))e(and)j(is)e(terminated)f
2407 (b)o(y)h(another)h(mo)q(de)164 548 y(ann)o(unciator)f(or)f(b)o(y)32
2408 b Fd(@)p Fc(g)p Fn(.)164 678 y Fj(5.2.1)55 b(Explicit)17
2409 b(mo)r(de)164 760 y Fn(In)h(this,)g(the)f(most)h(p)q(o)o(w)o(erful)f
2410 (and)i(most)e(v)o(erb)q(ose)h(attribute)g(de\014nition)g(mo)q(de,)35
2411 b(an)164 810 y(attribute)14 b(de\014nition)g(tak)o(es)g(the)g(form)f
2412 (of)h Fd(@e)g Fn(\(mnemonic)d(for)j Fg(explicit)21 b
2413 Fn(\))14 b(follo)o(w)o(ed)f(b)o(y)164 859 y(a)19 b Fg(dep)n(endency)j
2414 (expr)n(ession)h Fn(\(whic)o(h)18 b(expresses)g(the)h(dep)q(endency)f
2415 (part)i(of)f(the)g(de\014-)164 909 y(nition\))c(follo)o(w)o(ed)f(b)o(y)
2416 h(an)h Fg(evaluation)j(expr)n(ession)g Fn(\(whic)o(h)c(expresses)g(the)
2417 g(ev)m(aluation)164 959 y(part\).)20 b(In)12 b(the)g(follo)o(wing)g
2418 (example,)e(the)i(attribute)g(reference)f(section)g(con)o(tains)i
2419 (three)164 1009 y(attribute)j(de\014nitions,)f(eac)o(h)h(expressed)g
2420 (in)g(the)g(explicit)e(mo)q(de:)273 1100 y Fa(num)108
2421 b(:)153 b(bitlist)20 b(DOT)108 b(bitlist)447 1150 y(@{)22
2422 b(@e)f(num.value)f(:)i(bitlist.0.value)c(bitlist.1.value;)578
2423 1200 y(@num.value@)i(=)h(@bitlist.0.value@)d(+)k(@bitlist.1.value@)c(;)
2424 513 1250 y(@e)j(bitlist.0.scale)e(:)i(;)578 1299 y(@bitlist.0.scale@)d
2425 (=)k(0)f(;)513 1349 y(@e)g(bitlist.1.scale)e(:)i(bitlist.1.length)e(;)
2426 578 1399 y(@bitlist.1.scale@)f(=)k(-@bitlist.1.lengt)o(h@)d(;)447
2427 1449 y(@})447 1499 y(;)237 1600 y Fn(A)f(dep)q(endency)g(expression)g
2428 (mak)o(es)f(explicit)g(the)h(constrain)o(ts)h(on)g(the)f(order)h(of)164
2429 1661 y(execution)e(of)i(ev)m(aluation)f(expressions)g(and)h(is)f(a)g
2430 (non-empt)o(y)f(list)h(of)g(attribute)g(o)q(c-)164 1721
2431 y(currences)f(of)g(the)h(rule,)f(follo)o(w)o(ed)f(b)o(y)h(a)h(colon,)g
2432 (follo)o(w)o(ed)e(b)o(y)h(a)h(p)q(ossibly)g(empt)o(y)e(list)164
2433 1781 y(of)21 b(attribute)f(o)q(ccurrences)g(and)h(a)g(terminating)e
2434 (semicolon.)33 b(The)20 b(o)q(ccurrences)h(to)164 1841
2435 y(the)e(left)f(of)h(the)g(colon)g(are)g(said)g(to)g Fg(dep)n(end)i(up)n
2436 (on)h Fn(\(hence)d(are)g(called)37 b Fg(dep)n(endents)164
2437 1901 y Fn(of)s(\))16 b(those)g(to)g(the)f(righ)o(t,)g(and)h(are)f(the)h
2438 (o)q(ccurrences)f Fg(de\014ne)n(d)21 b Fn(in)15 b(the)h(giv)o(en)e
2439 (attribute)164 1962 y(de\014nition.)21 b(The)15 b(o)q(ccurrences)h(to)g
2440 (the)f(righ)o(t)h(are)f(called)g Fg(dep)n(ende)n(es)21
2441 b Fn(of)16 b(those)g(on)g(the)164 2022 y(left.)21 b(An)c(ev)m(aluation)
2442 g(expression)f(is)g(basically)g(a)h(C)g(co)q(de)g(fragmen)o(t)e(that)i
2443 (ma)o(y)e(con-)164 2082 y(tain)j Fg(attribute)h(r)n(efer)n(enc)n(es)t
2444 Fn(,)36 b(eac)o(h)17 b(of)h(whic)o(h)f(is)h(an)g(attribute)g(o)q
2445 (ccurrence)e(enclosed)164 2142 y(within)g Fd(@)g Fn(sym)o(b)q(ols.)21
2446 b(A)o(ttribute)15 b(references)g(b)q(eha)o(v)o(e)h(as)h(C)g(v)m
2447 (ariables,)f(and)h(all)f(of)h(the)164 2202 y(usual)i(C)g(op)q(erators,)
2448 h(suc)o(h)e(as)h(those)g(for)g(arithmetic,)d(logical,)i(and)h(p)q(oin)o
2449 (ter)g(op)q(era-)164 2263 y(tions,)14 b(ma)o(y)e(b)q(e)i(applied)f(to)h
2450 (them,)e(as)i(in)g(a)g(C)g(program.)20 b(The)13 b(ev)m(aluation)h
2451 (expression)164 2323 y(imme)o(diately)f(follo)o(ws)j(the)g(semicolon)e
2452 (of)j(the)f(dep)q(endency)f(expression.)237 2383 y(The)21
2453 b(Ox-generated)g(ev)m(aluator)h(c)o(ho)q(oses)g(an)f(ev)m(aluation)h
2454 (order)f(suc)o(h)g(that)g(the)164 2443 y(ev)m(aluation)16
2455 b(expressions)f(for)h(all)f(of)h(the)f(dep)q(endees)g(in)g(the)h
2456 (de\014nition)f(are)g(executed)p eop
2457 %%Page: 11 12
2458 11 11 bop 164 162 a Fk(5)49 b(A)l(TTRIBUTE)15 b(DEFINITIONS)855
2459 b Fn(11)164 307 y(b)q(efore)13 b(those)h(of)f(the)g(dep)q(enden)o(ts.)
2460 20 b(Usually)12 b(there)g(is)h(a)h(single)e(dep)q(enden)o(t)h(in)f(a)i
2461 (giv)o(en)164 367 y(attribute)21 b(de\014nition,)i(but)e(in)h(some)e
2462 (cases,)j(co)q(de)f(ma)o(y)e(b)q(e)i(made)f(more)f(compact)164
2463 428 y(b)o(y)e(placing)f(more)g(than)i(one)f(attribute)g(o)q(ccurrence)g
2464 (in)f(a)i(dep)q(enden)o(t)f(list,)f(thereb)o(y)164 488
2465 y(com)o(bining)g(the)i(de\014nitions)g(of)g(those)h(in)f(the)g(list.)29
2466 b(The)19 b(ev)m(aluation)g(expression)g(is)164 548 y(executed)10
2467 b(on)j(b)q(ehalf)f(of)g(the)g(dep)q(enden)o(ts)f Fg(taken)k(as)e(a)h
2468 (set)5 b Fn(,)12 b(rather)g(than)h(once)e(for)h(eac)o(h)164
2469 608 y(dep)q(enden)o(t.)28 b(This)19 b(is)g(kno)o(wn)g(as)g
2470 Fg(solving)25 b Fn(the)19 b(attribute)f(instances)h(corresp)q(onding)
2471 164 668 y(to)e(the)f(o)q(ccurrences)f(in)h(that)h(set.)164
2472 798 y Fj(5.2.2)55 b(Implicit)16 b(mo)r(de)164 880 y Fn(The)i
2473 Fg(implicit)h(mo)n(de)t Fn(,)36 b(whic)o(h)17 b(is)h(the)f(usual)i(mo)q
2474 (de)e(of)h(expressing)g(attribute)f(de\014ni-)164 930
2475 y(tions,)g(syn)o(tactically)e(com)o(bines)f(the)j(dep)q(endency)f(part)
2476 h(with)g(the)f(ev)m(aluation)h(part.)164 980 y(The)f(follo)o(wing)g(Ox)
2477 g(co)q(de)h(is)f(equiv)m(alen)o(t)e(to)j(that)g(of)f(the)g(preceding)g
2478 (example.)273 1071 y Fa(num)108 b(:)153 b(bitlist)20
2479 b(DOT)108 b(bitlist)447 1121 y(@{)22 b(@i)f(@num.value@)f(=)h
2480 (@bitlist.0.value@)d(+)k(@bitlist.1.value@)o(;)513 1171
2481 y(@i)f(@bitlist.0.scale@)d(=)k(0;)513 1221 y(@i)f(@bitlist.1.scale@)d
2482 (=)44 b(-@bitlist.1.leng)o(th@;)447 1270 y(@})447 1320
2483 y(;)164 1422 y Fn(In)20 b(this)g(mo)q(de,)g(an)h(attribute)e
2484 (de\014nition)h(tak)o(es)g(the)g(form)f(of)i Fd(@i)39
2485 b Fn(follo)o(w)o(ed)20 b(b)o(y)f(an)164 1482 y(ev)m(aluation)13
2486 b(expression.)20 b(The)13 b(mo)q(de)g(ann)o(unciator)g
2487 Fd(@i)26 b Fn(informs)12 b(Ox)h(that)g(the)g(de\014ni-)164
2488 1542 y(tion)i(has)h(a)f(single)g(dep)q(enden)o(t,)f(namely)f(the)i
2489 (\014rst)g(attribute)g(o)q(ccurrence)f(referenced)164
2490 1602 y(in)k(the)h(ev)m(aluation)g(expression.)28 b(The)19
2491 b(dep)q(endees)f(in)h(the)f(de\014nition)g(consist)h(of)g(all)164
2492 1663 y Fg(other)j Fn(attribute)15 b(o)q(ccurrences)h(referenced)f(in)h
2493 (the)g(ev)m(aluation)g(expression.)164 1793 y Fj(5.2.3)55
2494 b(Mixed)18 b(mo)r(de)164 1885 y Fg(Mixe)n(d)h(mo)n(de)39
2495 b Fn(attribute)17 b(de\014nitions)h(are)g(announced)g(b)o(y)g(the)f
2496 (reserv)o(ed)g(w)o(ord)36 b Fd(@m)p Fn(.)164 1945 y(There)21
2497 b(follo)o(w)g(one)h(or)g(more)e(dep)q(enden)o(ts,)i(a)g(semicolon,)f
2498 (and)h(an)g(ev)m(aluation)f(ex-)164 2005 y(pression.)38
2499 b(The)22 b(o)q(ccurrences)g(referenced)e(in)i(the)f(ev)m(aluation)h
2500 (expression,)h(except)164 2066 y(those)d(that)h(also)f(app)q(ear)h(b)q
2501 (et)o(w)o(een)e Fd(@m)g Fn(and)h(the)g(semicolon,)f(are)g(tak)o(en)h
2502 (to)g(b)q(e)g(the)164 2126 y(dep)q(endees)g(in)g(the)g(de\014nition.)33
2503 b(Th)o(us)21 b(the)f(dep)q(enden)o(ts)g(are)g(giv)o(en)g(explicitly)d
2504 (and)164 2186 y(the)i(dep)q(endees)g(implicitly)-5 b(.)28
2505 b(The)20 b(co)q(de)g(in)f(the)g(follo)o(wing)g(example)e(has)k(the)e
2506 (same)164 2246 y(meaning)c(as)i(that)g(in)f(the)g(previous)g(t)o(w)o
2507 (o.)p eop
2508 %%Page: 12 13
2509 12 12 bop 164 162 a Fk(5)49 b(A)l(TTRIBUTE)15 b(DEFINITIONS)855
2510 b Fn(12)273 307 y Fa(num)108 b(:)153 b(bitlist)20 b(DOT)108
2511 b(bitlist)447 357 y(@{)22 b(@m)f(num.value)f(;)578 407
2512 y(@num.value@)g(=)h(@bitlist.0.value@)d(+)k(@bitlist.1.value@)o(;)513
2513 457 y(@i)f(@bitlist.1.scale@)d(=)k(-)f(@bitlist.1.length@;)513
2514 506 y(@m)g(bitlist.0.scale)e(;)i(@bitlist.0.scale@)e(=)i(0;)447
2515 556 y(@})447 606 y(;)164 750 y Fb(5.3)70 b(A)n(ttribute)21
2516 b(reference)g(sections)h(in)g(the)g(L-\014le\(s\))164
2517 843 y Fn(De\014nitions)14 b(of)g(inherited)e(attributes)i(of)g(tok)o
2518 (ens)g(are)g(asso)q(ciated)h(with)e(rules)h(app)q(ear-)164
2519 903 y(ing)e(in)g(the)h(Y-\014le,)f(while)f(their)h(syn)o(thesized)f
2520 (attributes)h(are)h(de\014ned)f(in)g(the)g(L-\014le\(s\).)164
2521 963 y(Ox)19 b(pro)q(cesses)h(the)f(Y-\014le)f(b)q(efore)i(pro)q
2522 (cessing)g(the)f(L-\014le\(s\).)30 b(If)19 b(a)h(giv)o(en)e(attribute)
2523 164 1023 y(o)q(ccurrence)d(of)h(a)g(tok)o(en)f(is)g(not)h(de\014ned)g
2524 (in)f(the)g(Y-\014le,)g(then)g(the)h(attribute)f(is)g(tak)o(en)164
2525 1084 y(to)i(b)q(e)f(syn)o(thesized.)237 1144 y(Lexical)h(rules)g(are)h
2526 (asso)q(ciated)h(with)e Fd(return)f Fn(statemen)o(ts)g(in)i(Lex)f
2527 (actions.)26 b(Af-)164 1204 y(ter)19 b(the)h(terminating)e(semicolon)g
2528 (of)i(eac)o(h)f(suc)o(h)h(statemen)o(t,)e(there)i(ma)o(y)e(app)q(ear)j
2529 (a)164 1264 y(p)q(ossibly)16 b(empt)o(y)e Fg(attribute)k(r)n(efer)n
2530 (enc)n(e)f(se)n(ction)t Fn(,)f(delimited)d(b)o(y)i Fd(@)p
2531 Fc(f)h Fn(and)g Fd(@)p Fc(g)p Fn(,)f(in)h(whic)o(h)164
2532 1324 y(are)g(de\014ned)g(all)g(of)h(the)f(syn)o(thesized)f(attributes)h
2533 (of)g(the)g Fd(return)p Fn(ed)e(tok)o(en.)237 1385 y(Note)20
2534 b(that)g(eac)o(h)g(p)q(oin)o(t)g(of)h Fd(return)d Fn(of)i
2535 Fd(yylex)f Fn(m)o(ust)f(b)q(e)j Fg(explicit)26 b Fn(in)20
2536 b(the)g(sense)164 1445 y(that)c(the)f(text)f(m)o(ust)g(b)q(ear)i(the)f
2537 (C)h(reserv)o(ed)e(w)o(ord)h Fd(return)p Fn(.)k(In)c(particular,)g
2538 Fd(return)p Fn(s)164 1505 y(m)o(ust)f(not)h(b)q(e)h(done)f(within)g(C)g
2539 (macros,)f(unless)i(the)e(L-\014le)i(is)f(passed)h(through)g(the)f(C)
2540 164 1565 y(prepro)q(cessor)g(prior)e(to)h(pro)q(cessing)h(b)o(y)e(Ox.)
2541 20 b(Guaran)o(teeing)14 b(this)g(prop)q(ert)o(y)g(of)g
2542 Fd(yylex)164 1625 y Fn(is)i(the)g(resp)q(onsibilit)o(y)f(of)i(the)f(Ox)
2543 f(user|it)h(is)g(not)h(c)o(hec)o(k)o(ed)d(b)o(y)h(Ox.)164
2544 1755 y Fj(5.3.1)55 b(Generalit)n(y)17 b(of)i(Ox)164 1837
2545 y Fn(The)14 b(class)h(of)f(attribute)g(grammars)f(accepted)h(b)o(y)f
2546 (Ox)h(is)g(restricted)f(only)i(as)f(follo)o(ws:)164 1887
2547 y(syn)o(thesized)e(attributes)h(of)g(tok)o(ens)g(do)h(not)f(ha)o(v)o(e)
2548 g(dep)q(endees.)20 b(A)o(ttribute)11 b(de\014nitions)164
2549 1937 y(in)22 b(the)g(L-\014le\(s\))h(can)f(th)o(us)g(b)q(e)h(written)f
2550 (more)f(simply)f(than)j(in)f(the)g(Y-\014le:)32 b(eac)o(h)164
2551 1987 y(attribute)18 b(o)q(ccurrence)f(is)i(de\014ned)f(b)o(y)f
2552 (referring)h(to)g(it)g(in)g(C)h(co)q(de,)f(exactly)f(once)h(in)164
2553 2036 y(the)g(attribute)h(reference)d(section)j(asso)q(ciated)g(with)f
2554 (the)h Fd(return)d Fn(statemen)o(t,)h(as)i(in)164 2086
2555 y(the)d(follo)o(wing)g(example)e(\(wherein)h Fd(CONST)p
2556 Fn('s)g(only)h(syn)o(thesized)f(attribute)h(is)g Fd(val)p
2557 Fn(\):)273 2178 y Fa([0-9]+)64 b(return\(CONST\);)19
2558 b(@{)i(sscanf\(yytext,"\045d",)o(&@CON)o(ST.va)o(l@\);)d(@})164
2559 2279 y Fn(Th)o(us)f(mo)q(de)e(declarations)i(and)g(dep)q(endency)f
2560 (expressions)g(are)h(unnecessary)f(in)g(the)164 2339
2561 y(L-\014le\(s\).)p eop
2562 %%Page: 13 14
2563 13 13 bop 164 162 a Fk(5)49 b(A)l(TTRIBUTE)15 b(DEFINITIONS)855
2564 b Fn(13)164 307 y Fj(5.3.2)55 b(Ox)19 b(adaptation)g(to)f(Lex's)f
2565 (line-orien)n(ted)f(syn)n(tax)164 400 y Fn(When)e(Ox)f(is)g(pro)q
2566 (cessing)h(the)g(L-\014le)f(and)h(has)h(recognized)e(a)g(rule)g
2567 (\(i.e.,)f(the)i(ob)s(ject)f(of)164 460 y(a)19 b Fd(return)d
2568 Fn(statemen)o(t\),)g(if)i(the)g Fd(return)p Fn(ed)e(tok)o(en)i(has)h
2569 (syn)o(thesized)e(attributes,)h(Ox)164 520 y(lo)q(oks)c(for)g(an)h
2570 (attribute)e(reference)f(section)h(follo)o(wing)h(the)f
2571 Fd(return)f Fn(statemen)o(t.)18 b(Ox's)164 580 y(rules)11
2572 b(for)h(recognizing)f(attribute)g(reference)e(sections)j(in)f(the)g
2573 (L-\014le)g(are)h(adapted)g(from)164 640 y(the)h(w)o(a)o(y)g(Lex)h
2574 (actions)g(are)f(terminated:)18 b(Ox)13 b(giv)o(es)g(up)h(lo)q(oking)g
2575 (for)g(an)g(attribute)f(ref-)164 700 y(erence)e(section)i(when)f(it)h
2576 (pairs)f(the)h(righ)o(tmost)e(righ)o(t)i(curly)e(brace)i(in)f(the)g
2577 (action)h(with)164 761 y(the)h(leftmost)f(left)g(curly)g(brace,)h(or)h
2578 (when)f(it)g(encoun)o(ters)g(a)g(newline)f(unprotected)h(b)o(y)164
2579 821 y(curly)h(braces.)22 b(Newlines)14 b(are)j(insigni\014can)o(t)e
2580 (inside)h(attribute)g(reference)e(sections.)237 881 y(Examples)20
2581 b(of)h(correct)f(and)i(incorrect)e(syn)o(tax)h(are)g(sho)o(wn)h(b)q
2582 (elo)o(w.)35 b(All)20 b(of)h(the)164 941 y(correct)16
2583 b(forms)f(sho)o(wn)i(are)f(seman)o(tically)e(equiv)m(alen)o(t)g(to)j
2584 (one)f(another.)237 1055 y Fc(\017)24 b Fn(incorrect)15
2585 b(\(attribute)h(reference)f(section)h(app)q(ears)i(to)f(the)f(righ)o(t)
2586 g(of)h(the)f(righ)o(t-)286 1116 y(most)f(curly)h(brace\):)286
2587 1238 y Fd([a-zA-Z]+)22 b({)k(count\(\);)c(return)i(ID;)g(})h(@{)g
2588 (@ID.name@)e(=)i(id\(\);)f(@})237 1361 y Fc(\017)g Fn(incorrect)d
2589 (\(attribute)h(reference)e(section)i(not)h(part)g(of)f(rule,)h(since)e
2590 (the)h(Lex)286 1421 y(action)16 b(is)g(terminated)f(b)o(y)g(an)i
2591 (unprotected)f(newline\):)286 1543 y Fd([a-zA-Z]+)22
2592 b(count\(\);)h(return)g(ID;)542 1603 y(@{)i(@ID.name@)d(=)k(id\(\);)e
2593 (@})237 1726 y Fc(\017)g Fn(correct:)286 1848 y Fd([a-zA-Z]+)e({)k
2594 (count\(\);)c(return)i(ID;)50 b(@{)25 b(@ID.name@)d(=)j(id\(\);)f(@})h
2595 (})237 1971 y Fc(\017)f Fn(correct:)286 2093 y Fd([a-zA-Z]+)e(return)i
2596 (ID;)g(@{)h(count\(\);)e(@ID.name@)f(=)j(id\(\);)f(@})237
2597 2216 y Fc(\017)g Fn(correct:)286 2338 y Fd([a-zA-Z]+)e({)k(count\(\);)c
2598 (return)i(ID;)594 2398 y(@{)g(@ID.name@)f(=)i(id\(\);)f(@})542
2599 2458 y(})p eop
2600 %%Page: 14 15
2601 14 14 bop 164 162 a Fk(5)49 b(A)l(TTRIBUTE)15 b(DEFINITIONS)855
2602 b Fn(14)237 307 y Fc(\017)24 b Fn(correct:)286 430 y
2603 Fd([a-zA-Z]+)e(count\(\);)h(return)g(ID;)51 b(@{)1132
2604 490 y(@ID.name@)22 b(=)j(id\(\);)1081 550 y(@})164 680
2605 y Fj(5.3.3)55 b(Resolution)18 b(of)g(am)n(biguit)n(y)g(regarding)g(tok)
2606 n(en)g(returned)164 772 y Fn(A)e(sligh)o(t)f(di\016cult)o(y)g(arises)h
2607 (in)g(rules)g(lik)o(e)292 874 y Fd(return\(yyt)o(ext)o([0])o(\);)164
2608 976 y Fn(and)292 1077 y Fd(return\(con)o(d)23 b(?)i(TOKEN1)e(:)j
2609 (TOKEN2\);)164 1179 y Fn(for)13 b(whic)o(h)g(Ox)f(cannot)i(determine)c
2610 (at)j(ev)m(aluator-generation)h(time)d(whic)o(h)i(tok)o(en)f(will)164
2611 1239 y(b)q(e)k Fd(return)p Fn(ed.)237 1289 y(In)h(the)g(\014rst)h
2612 (case,)f(wherein)f(no)i(declared)e(tok)o(en)h(or)h(c)o(haracter)f
2613 (constan)o(t)g(is)g(rec-)164 1339 y(ognized)j(in)g(the)g
2614 Fd(return)p Fn(ed)e(expression,)j(Ox)f(assumes)g(that)g(the)g(tok)o(en)
2615 g Fd(return)p Fn(ed)164 1389 y(has)d(no)g(attributes,)e(and)i(issues)g
2616 (a)f(w)o(arning)h(lik)o(e:)273 1480 y Fa(ox:)k(scan.l:)f(warning:)h
2617 (line)g(8:)g(ambiguous)f(form)h(of)g(return)g(of)g(token.)317
2618 1530 y(unknown)f(node)h(type--assuming)e(no)i(attributes.)237
2619 1621 y Fn(In)f(the)f(second)h(case,)g(wherein)f(more)f(than)j(one)e
2620 (declared)g(tok)o(en)g(or)h(c)o(haracter)164 1671 y(constan)o(t)g(is)f
2621 (recognized,)g(the)g(no)q(de)h(app)q(ended)g(to)g(the)f(tree)g(during)h
2622 (ev)m(aluation)f(is)164 1721 y(of)c(the)f(t)o(yp)q(e)h(of)g(the)f
2623 (declared)g(tok)o(en)g(or)h(c)o(haracter)f(constan)o(t)h(app)q(earing)h
2624 Fg(leftmost)k Fn(in)164 1771 y(the)c(expression.)21 b(Ox)16
2625 b(issues)g(a)h(w)o(arning)f(lik)o(e:)273 1862 y Fa(ox:)21
2626 b(scan.l:)f(warning:)h(line)g(8:)g(ambiguous)f(form)h(of)g(return)g(of)
2627 g(token.)317 1912 y(multiple)f(tokens)g(in)i(object)e(of)i(return)e
2628 (statement.)164 2013 y Fn(The)k(ab)q(o)o(v)o(e)f(w)o(arnings)h(should)g
2629 (b)q(e)g(tak)o(en)f(seriously)l(,)i(b)q(ecause)f(the)f(conditions)h(of)
2630 164 2074 y(whic)o(h)16 b(they)h(w)o(arn)g(can)g(result)g(in)g(the)f
2631 (generated)h(ev)m(aluator)h(attempting)e(to)h(access)164
2632 2134 y(attribute)h(instances)g(that)h(are)g(nonexisten)o(t)e(or)i(of)g
2633 (the)f(wrong)i(t)o(yp)q(e.)27 b(These)18 b(kinds)164
2634 2194 y(of)g(w)o(arnings)g(are)f(most)g(often)g(seen)g(when)h(\014rst)g
2635 (con)o(v)o(erting)e(an)i(existing)e(Y)l(acc/Lex)164 2254
2636 y(translator)h(to)g(Ox.)237 2314 y(A)12 b(condition)f(causing)h(one)g
2637 (of)h(the)e(ab)q(o)o(v)o(e-describ)q(ed)h(w)o(arnings)g(ma)o(y)e(b)q(e)
2638 i(tolerated)164 2375 y(if)j(the)f(Ox)h(user)g(v)o(eri\014es)f(that)i
2639 (for)f(the)g(rule)g(\(i.e.,)e(ob)s(ject)h(of)i(the)f
2640 Fd(return)e Fn(statemen)o(t\))164 2435 y(in)j(question:)p
2641 eop
2642 %%Page: 15 16
2643 15 15 bop 164 162 a Fk(6)49 b(TRANSLA)l(TION)15 b(INTO)h(C)k(CODE)777
2644 b Fn(15)237 307 y Fc(\017)24 b Fn(all)14 b(of)h(the)f(tok)o(ens)g(that)
2645 h(can)f(b)q(e)h Fd(return)p Fn(ed)d(for)j(the)f(rule)g(are)g(con)o
2646 (tained)g(in)g(the)286 367 y(grammar-sym)o(b)q(ol)f(list)j(\(section)g
2647 (3\))g(of)h(a)g(single)e(attribute)h(declaration.)237
2648 467 y Fc(\017)24 b Fn(no)f(tok)o(en)f(that)g(can)h(b)q(e)g
2649 Fd(return)p Fn(ed)c(for)k(the)f(rule)g(app)q(ears)h(in)f(a)h(grammar-)
2650 286 527 y(sym)o(b)q(ol)15 b(list)g(of)i(an)g(attribute)f(declaration.)
2651 164 671 y Fb(5.4)70 b(Cycles)164 763 y Fn(It)18 b(is)g(easy)h(to)f
2652 (write)g(an)h(attribute)f(grammar)f(suc)o(h)h(that)h(some)e(attribute)h
2653 (instance)164 823 y(of)24 b(some)e(parse)i(tree)f(has)h(a)f(c)o(hain)g
2654 (of)h(dep)q(endencies)f(that)g(leads)h(bac)o(k)f(to)g(itself.)164
2655 883 y(Suc)o(h)14 b(a)g(grammar)f(is)h(called)f Fg(cir)n(cular)5
2656 b Fn(,)14 b(and)h(suc)o(h)e(a)i(c)o(hain)f(of)g(dep)q(endencies)f(is)h
2657 (called)164 944 y(a)21 b Fg(cycle)t Fn(.)35 b(F)l(or)20
2658 b(suc)o(h)g(a)h(tree,)f(there)g(is)g(an)h(attribute)f(instance)g(that)h
2659 (the)f(ev)m(aluator)164 1004 y(cannot)g(b)q(egin)f(to)h(solv)o(e)e(un)o
2660 (til)g(that)i(instance)f(has)g(already)g(b)q(een)h(solv)o(ed.)29
2661 b(A)19 b(cycle)164 1064 y(also)k(mak)o(es)e(it)h(imp)q(ossible)f(to)i
2662 (solv)o(e)f(an)o(y)g(attribute)g(instance)g(that)h(has)h(a)e(c)o(hain)
2663 164 1124 y(of)d(dep)q(endencies)f(leading)g(to)i(an)f(instance)f(in)o
2664 (v)o(olv)o(ed)f(in)h(the)h(cycle.)27 b(Circularit)o(y)17
2665 b(is)164 1184 y(usually)k(not)h(in)o(tended)e(b)o(y)h(the)g(ev)m
2666 (aluator)g(designer.)36 b(A)21 b(general)g(circularit)o(y)e(test)164
2667 1245 y(p)q(erformed)g(at)i(ev)m(aluator-generation)h(time)d(w)o(ould)h
2668 (require)g(exp)q(onen)o(tial)g(running)164 1305 y(time)d(for)j(some)e
2669 (inputs)i([Jaza)o(y)o(eri)14 b(75)q(].)30 b(P)o(olynomial-time)16
2670 b(tests)k(for)f(sp)q(ecial)g(kinds)164 1365 y(of)h(non-circularit)o(y)e
2671 (are)i(kno)o(wn,)g(but)g(the)f(presen)o(t)g(v)o(ersion)g(of)h(Ox)f
2672 (deals)h(with)f(the)164 1425 y(problem)c(b)o(y)g(c)o(hec)o(king)g(for)h
2673 (cycles)f(at)i(ev)m(aluation)f(time.)164 1590 y Fo(6)83
2674 b(T)-7 b(ranslation)27 b(in)n(to)g(C)h(co)r(de)164 1700
2675 y Fn(Ox)18 b(translates)g(attribute)g(declarations)g(in)o(to)f(C)i
2676 (structure)e(declarations,)h(with)g(the)164 1760 y(attribute)e(names)f
2677 (app)q(earing)i(as)g(structure)f(mem)o(b)q(ers.)237 1820
2678 y(The)22 b(ev)m(aluation)h(expression)f(of)h(eac)o(h)e(attribute)h
2679 (de\014nition)g(is)g(copied)g(v)o(erba-)164 1881 y(tim)e(in)o(to)i
2680 (Ox's)g(output,)i(except)d(that)i(attribute)f(references)e(are)j
2681 (translated)f(in)o(to)164 1941 y(paren)o(thesized)15
2682 b(references)g(to)i(C)f(v)m(ariables.)164 2106 y Fo(7)83
2683 b(T)-7 b(emp)r(oral)30 b(b)r(eha)n(vior)g(of)h(Ox-generated)f(ev)-5
2684 b(al-)288 2197 y(uators)164 2322 y Fb(7.1)70 b(Stac)n(k)23
2685 b(op)r(erations)164 2414 y Fn(Inasm)o(uc)o(h)16 b(as)i(an)h(ordinary)f
2686 (Y)l(acc/Lex)f(recognizer)g(emplo)o(ys)f(an)i(LR)g(parsing)h(algo-)164
2687 2474 y(rithm)10 b([Aho)16 b(86],)c(eac)o(h)f(input)g(en)o(tails)g(a)h
2688 (sequence)e(of)i(lo)q(ok)m(aheads,)i(shifts,)e(and)g(reduc-)p
2689 eop
2690 %%Page: 16 17
2691 16 16 bop 164 162 a Fk(7)49 b(TEMPORAL)17 b(BEHA)-5 b(VIOR)13
2692 b(OF)j(O)o(X)5 b(-GENERA)l(TED)16 b(EV)-5 b(ALUA)l(TORS)64
2693 b Fn(16)164 307 y(tions,)19 b(and)h(a)f(stac)o(k)g(of)g(parser)h
2694 (states)f(is)g(main)o(tained.)27 b(F)l(rom)18 b(ordinary)h(Y)l(acc/Lex)
2695 164 367 y(source,)k(Ox)f(generates)g(an)h(ev)m(aluator)f(whose)h
2696 Fd(yyparse)d Fn(go)q(es)j(through)g(the)f(same)164 428
2697 y(sequence)e(of)h(lo)q(ok)m(aheads,)i(shifts,)f(and)g(reductions)e(as)i
2698 (do)q(es)g(the)e Fd(yyparse)f Fn(of)i(the)164 488 y(ordinary)16
2699 b(Y)l(acc/Lex)g(recognizer.)237 548 y(The)i(Ox-generated)g(ev)m
2700 (aluator,)g(in)g(building)f(a)i(parse)f(tree,)f(main)o(tains)g(a)h
2701 (stac)o(k)164 608 y(of)h(subtrees.)27 b(The)19 b(op)q(erations)g(on)g
2702 (the)f(stac)o(k)g(of)h(subtrees)f(are)h(sync)o(hronized)e(with)164
2703 668 y(the)j(op)q(erations)h Fd(yyparse)c Fn(p)q(erforms)i(on)h(its)g
2704 (stac)o(k)g(of)g(parser)g(states,)h(except)d(that)164
2705 729 y(op)q(erations)i(in)o(v)o(olving)c(the)j(\\mark)o(er)e(non)o
2706 (terminals")g(\(see)h([Johnson)f(75)q(]\))h(inserted)164
2707 789 y(in)o(to)e(the)g(grammar)f(b)o(y)g(Y)l(acc)h(are)g(ignored.)237
2708 849 y(The)24 b(ev)m(aluator)g(main)o(tains)f(its)g(stac)o(k)h(of)g
2709 (subtrees)g(as)g(follo)o(ws.)44 b(Lo)q(ok)m(aheads)164
2710 909 y(coincide)22 b(with)g(calls)h(to)g Fd(yylex)p Fn(.)39
2711 b(Just)23 b(b)q(efore)g(a)g Fd(return)e Fn(is)i(executed)e(in)i(a)g
2712 (Lex)164 969 y(action,)15 b(an)g(image)e(of)i(a)g(leaf)f(no)q(de)i(is)e
2713 (created)g(in)g(the)h(ev)m(aluator's)g Fg(lo)n(okahe)n(ad)h(bu\013er)5
2714 b Fn(,)164 1029 y(and)18 b(its)e(syn)o(thesized)g(attribute)h
2715 (instances)g(are)g(solv)o(ed)g(and)g(placed)g(in)g(that)g(bu\013er.)164
2716 1090 y(A)o(t)e(eac)o(h)h(shift,)g(a)h(leaf)e(no)q(de)i(is)f(created)g
2717 (from)f(the)h(image)f(in)h(the)g(lo)q(ok)m(ahead)i(bu\013er,)164
2718 1150 y(and)j(the)g(subtree)f(consisting)h(of)g(that)g(leaf)g(no)q(de)g
2719 (is)g(pushed)g(on)o(to)g(the)f(stac)o(k.)35 b(A)o(t)164
2720 1210 y(eac)o(h)17 b(reduction,)g(zero)g(or)h(more)f(subtrees)g(are)h(p)
2721 q(opp)q(ed)g(from)f(the)g(stac)o(k,)g(and)i(their)164
2722 1270 y(ro)q(ots)g(b)q(ecome)e(the)h(c)o(hildren)e(of)j(a)f
2723 (newly-created)f(no)q(de,)i(yielding)e(a)h(new)h(subtree.)164
2724 1330 y(The)c(ro)q(ot)g(of)g(the)g(new)f(subtree)h(is)f(giv)o(en)g(a)h
2725 (lab)q(el)f(to)h(indicate)f(the)g(pro)q(duction)i(b)q(eing)164
2726 1391 y(applied)21 b(at)i(the)e(no)q(de,)j(and)e(the)g(new)g(subtree)g
2727 (is)g(pushed)g(on)o(to)g(the)g(stac)o(k.)38 b(The)164
2728 1451 y(parse)22 b(tree)f(is)g(completed)e(up)q(on)k(end)e(of)h(input)f
2729 (together)h(with)f(reduction)g(to)h(the)164 1511 y(start)17
2730 b(sym)o(b)q(ol.)164 1655 y Fb(7.2)70 b(Placemen)n(t)20
2731 b(of)j(generated)g(co)r(de)164 1748 y Fn(Co)q(de)18 b(for)g(parse-tree)
2732 g(managemen)o(t)d(and)k(attribute)e(ev)m(aluation)h(is)f(placed)g(in)h
2733 (Y)l(acc)164 1808 y(and)e(Lex)g(actions)g(in)g(Ox's)f(output.)22
2734 b(If)15 b(a)i(giv)o(en)d(rule)i(in)f(the)h(Y-\014le)f(has)h(an)h
2735 (ordinary)164 1868 y(Y)l(acc)c(action,)h(the)f(Ox-generated)h(co)q(de)g
2736 (is)f(placed)g Fg(after)20 b Fn(an)o(y)13 b(programmer-supplied)164
2737 1928 y(C)21 b(co)q(de)g(con)o(tained)g(in)g(the)f(action.)36
2738 b(If)21 b(a)g(giv)o(en)f(rule)g(in)h(the)g(Y-\014le)f(lac)o(ks)g(a)i(Y)
2739 l(acc)164 1989 y(action,)15 b(an)h(action)f(is)g(created,)g(and)h(the)f
2740 (Ox-generated)g(co)q(de)h(is)f(placed)g(there.)20 b(The)164
2741 2049 y(actions)c(so)g(created)f(are)g(in)o(tro)q(duced)g(only)h(at)f
2742 (the)h Fg(ends)k Fn(of)c(rules,)e(so)i(Y)l(acc)f(do)q(es)h(not)164
2743 2109 y(create)d(a)g(mark)o(er)f(non)o(terminal)f(for)j(the)f(action,)g
2744 (and)h(the)f(LALR\(1\))h(prop)q(ert)o(y)g(of)f(the)164
2745 2169 y(grammar)i(is)h(una\013ected.)237 2229 y(When)j(an)g(attribute)g
2746 (reference)e(section)i(in)g(an)g(L-\014le)g(con)o(tains)g
2747 (de\014nitions)g(for)164 2290 y(more)14 b(than)i(one)g(attribute)f(o)q
2748 (ccurrence,)f(co)q(de)i(for)f(impleme)o(n)o(ti)o(ng)e(those)j
2749 (de\014nitions)164 2350 y(is)e(executed)f(in)i(the)f(same)f(order)i(in)
2750 f(whic)o(h)g(the)g(de\014nitions)g(app)q(ear)i(in)e(that)h(section.)237
2751 2410 y(F)l(or)27 b(the)f(attribute)g(o)q(ccurrences)g(de\014ned)g(in)g
2752 (the)g(Y-\014le,)i(Ox)e(and)h(the)f(Ox-)164 2470 y(generated)14
2753 b(ev)m(aluator)h(p)q(erform)e(analyses)h(to)h(determine)c(when)k(to)f
2754 (execute)f(the)h(co)q(de)p eop
2755 %%Page: 17 18
2756 17 17 bop 164 162 a Fk(8)49 b(PR)o(OGRAMMING)15 b(STYLE)920
2757 b Fn(17)164 307 y(segmen)o(t)13 b(that)i(ev)m(aluates)g(a)h(giv)o(en)e
2758 (attribute.)20 b(The)15 b(order)g(of)g(execution)f(of)h(the)g(co)q(de)
2759 164 367 y(segmen)o(ts)c(asso)q(ciated)j(with)f(the)f(de\014nitions)h
2760 (in)f(a)i(giv)o(en)e(attribute)g(reference)f(section)164
2761 428 y(is)18 b(determined)e(b)o(y)i(the)g(dep)q(endencies)f(of)h(the)g
2762 (de\014nitions,)g(and)h(is)f(not)h(necessarily)164 488
2763 y(related)d(to)g(the)g(order)h(of)f(app)q(earance)h(of)g(the)f
2764 (de\014nitions.)237 548 y(Some)i(attribute)h(o)q(ccurrences,)g(for)g
2765 (example)e(those)i(that)h(ha)o(v)o(e)e(no)i(dep)q(endees,)164
2766 608 y(are)i(ev)m(aluated)h(as)g(part)g(of)f(the)h(Y)l(acc)e(action)i
2767 (executed)e(up)q(on)i(reduction)f(b)o(y)g(the)164 668
2768 y(asso)q(ciated)14 b(pro)q(duction.)21 b(De\014nitions)14
2769 b(of)f(suc)o(h)g(o)q(ccurrences)g(are)h(allo)o(w)o(ed)e(to)i(con)o
2770 (tain)164 729 y(references)f(to)i(the)f(Y)l(acc)g(pseudo)o(v)m
2771 (ariables)h Fd($$)p Fn(,)f Fd($1)p Fn(,)f Fd($2)p Fn(,)h(etc.)20
2772 b(If)14 b(Ox)g(determines)e(that)164 789 y(a)k(giv)o(en)f(attribute)g
2773 (o)q(ccurrence)g(cannot)i(b)q(e)f(ev)m(aluated)f(at)h(reduction)g
2774 (time,)d(and)j(the)164 849 y(de\014nition)g(refers)f(to)i(suc)o(h)f(a)h
2775 (pseudo)o(v)m(ariable,)e(Ox)h(issues)h(an)f(error)h(message.)164
2776 993 y Fb(7.3)70 b(Decoration)22 b(and)h(the)g(ready)g(set)164
2777 1086 y Fn(The)18 b(Ox-generated)h(ev)m(aluator)g(main)o(tains)e(a)h
2778 (set)h(of)g(attribute)f(instances)g(that)h(are)164 1146
2779 y(ready)i(to)g(b)q(e)g(solv)o(ed,)g(i.e.,)e(those)j(whose)f(ev)o(ery)e
2780 (dep)q(endee)i(has)g(b)q(een)g(solv)o(ed,)g(but)164 1206
2781 y(whic)o(h)e(ha)o(v)o(e)h(not)g(themselv)o(es)d(b)q(een)j(solv)o(ed.)33
2782 b(During)20 b(parsing)h(of)f(the)g(input,)g(it)g(is)164
2783 1266 y(p)q(ossible)12 b(to)g(remo)o(v)o(e)d(an)j(attribute)f(instance)g
2784 (from)g(this)g Fg(r)n(e)n(ady)h(set)5 b Fn(,)12 b(solv)o(e)f(it,)h(and)
2785 g(then)164 1326 y(c)o(hec)o(k)j(whether)h(the)g(solving)g(of)h(that)g
2786 (instance)f(has)h(caused)g(an)o(y)f(of)h(its)f(dep)q(enden)o(ts)164
2787 1387 y(to)e(b)q(e)g(ready)g(to)g(b)q(e)g(solv)o(ed.)20
2788 b(Instances)14 b(that)g(are)g(th)o(us)g(made)e(ready)i(are)g(then)f
2789 (placed)164 1447 y(in)23 b(the)h(ready)f(set.)44 b(Rep)q(eating)23
2790 b(this)h(pro)q(cess)g(un)o(til)f(the)g(ready)h(set)f(is)h(empt)o(y)d
2791 (is)164 1507 y(kno)o(wn)f(as)h Fg(de)n(c)n(or)n(ation)t
2792 Fn(.)33 b(F)l(ollo)o(wing)20 b(a)g(decoration,)h(further)f(parsing)h
2793 (of)g(the)f(input)164 1567 y(ma)o(y)12 b(result)g(in)h(creation)g(of)g
2794 (parse-tree)g(no)q(des)h(and)g(insertion)f(of)g(attribute)g(instances)
2795 164 1627 y(in)o(to)j(the)h(ready)g(set.)23 b(Sc)o(heduling)16
2796 b(of)h(decorations)g(is)g(p)q(erformed)e(automatically)g(b)o(y)164
2797 1688 y(the)k(ev)m(aluator.)30 b(Ev)m(aluation)20 b(of)f(a)h(giv)o(en)e
2798 (syn)o(tactically-correct)f(input)i(in)o(v)o(olv)o(es)e(at)164
2799 1748 y(least)k(one)g(decoration,)i(that)e(p)q(erformed)f(after)i(the)f
2800 (\014nal)g(reduction)g(to)g(the)g(start)164 1808 y(sym)o(b)q(ol.)164
2801 1974 y Fo(8)83 b(Programming)28 b(st)n(yle)164 2084 y
2802 Fn(De\014nitions)16 b(of)h Fg(attribute)h(gr)n(ammar)5
2803 b Fn(,)15 b(\(for)h(instance)g(those)h(in)f([Lorho)h(88)q(])e(and)164
2804 2144 y([W)l(aite)g(84)q(]\))22 b(emplo)o(y)d(no)k(notion)f(of)g
2805 (execution)43 b(sequence.)37 b(The)22 b(usual)h(Ox)e(pro-)164
2806 2204 y(gramming)13 b(st)o(yle)h(in)o(v)o(olv)o(es)f(de\014ning)i(syn)o
2807 (thesized)f(attribute)g(o)q(ccurrences)h(of)g(tok)o(ens)164
2808 2264 y(in)g(terms)f(of)i Fd(yytext)d Fn(and)j Fd(yyleng)e
2809 Fn(and)i(other)g(suc)o(h)f(data)h(structures)g(of)f(the)h(lexical)164
2810 2325 y(analyzer.)21 b(Then)16 b(the)f(attribute)h(de\014nitions)g(of)g
2811 (eac)o(h)f(pro)q(duction)i(are)f(written)f(only)164 2385
2812 y(in)e(terms)e(of)i(constan)o(ts)h(and)f(other)g(attribute)g(o)q
2813 (ccurrences)f(of)i(that)f(pro)q(duction.)21 b(F)l(or)164
2814 2445 y(a)15 b(giv)o(en)e(sen)o(tence,)h(the)g(syn)o(thesized)f
2815 (attribute)h(instances)g(of)h(the)f(tok)o(ens)h(then)f(com-)p
2816 eop
2817 %%Page: 18 19
2818 18 18 bop 164 162 a Fk(9)49 b(POSTDECORA)l(TION)16 b(TRA)-5
2819 b(VERSALS)678 b Fn(18)164 307 y(pletely)14 b(determine)g(the)h(v)m
2820 (alues)h(of)h(all)e(attribute)h(instances)g(of)g(the)g(parse)g(tree.)21
2821 b(The)164 367 y(attribute)14 b(instances)g(of)g(the)g(ro)q(ot)h(no)q
2822 (de)f(are)g(often)g(of)h(particular)e(in)o(terest,)g(and)i(their)164
2823 428 y(de\014nitions)i(often)g(con)o(tain)g(co)q(de)g(that)h(copies)f
2824 (their)f(v)m(alues)h(to)h(global)f(C)g(v)m(ariables,)164
2825 488 y(so)g(that)g(they)e(ma)o(y)g(b)q(e)h(used)h(in)f(co)q(de)g
2826 (executed)f(after)h(the)g(return)g(from)f Fd(yyparse)p
2827 Fn(.)237 548 y(Since)j(attribute)h(de\014nitions)f(in)h(Ox)f(co)q(de)h
2828 (ma)o(y)f(con)o(tain)g(an)o(y)h(C)g(co)q(de,)h(the)e(Ox)164
2829 608 y(programmer)f(ma)o(y)h(deviate)g(from)g(the)h(safe)g(approac)o(h)h
2830 (describ)q(ed)f(ab)q(o)o(v)o(e)g(b)o(y)g(using)164 668
2831 y(non-ro)q(ot)25 b(attribute)e(de\014nitions)h(that)f(read)h(or)g
2832 (write)e(global)i(v)m(ariables.)43 b(Before)164 729 y(attempting)17
2833 b(the)i(use)g(of)f(side)h(e\013ects,)f(the)h(programmer)d(should)k(b)q
2834 (e)e(familiar)f(with)164 789 y(the)f(material)e(of)j(section)f(7.)237
2835 849 y(Since)e(the)h(order)g(of)g(ev)m(aluation)g(of)g(attributes)g(b)o
2836 (y)f(the)h(Ox-generated)f(ev)m(aluator)164 909 y(is)d(not)g(explicit)e
2837 (in)i(the)g(Ox)g(input)g(sp)q(eci\014cations,)g(usually)g(it)g(is)g
2838 (not)g(con)o(v)o(enien)o(t)e(to)j(use)164 969 y(attribute)k
2839 (de\014nitions)g(for)g(order-sensitiv)o(e)f(side)h(e\013ects)g(suc)o(h)
2840 g(as)33 b(co)q(de)16 b(generation.)237 1029 y(A)22 b(common)e(general)i
2841 (approac)o(h)h(to)g(translation)f(is)g(to)h(build)f(and)g(decorate)h(a)
2842 164 1090 y(parse)e(tree)f(\(mean)o(while)d(p)q(erforming)j(some)f(of)i
2843 (the)f(c)o(hec)o(ks)f(for)i(seman)o(tic)d(errors\),)164
2844 1150 y(and)24 b(to)f(then)g(mak)o(e)e(one)i(or)g(more)f
2845 (determinate-order)f(tree)h(tra)o(v)o(ersals)h(for)g(\014nal)164
2846 1210 y(error)16 b(c)o(hec)o(ks,)e(gathering)j(of)g(compilation)d
2847 (statistics,)i(co)q(de)g(generation,)g(etc.)237 1270
2848 y(Ox)g(has)h(a)f(facilit)o(y)e(for)j(sp)q(eci\014cation)f(of)g(suc)o(h)
2849 g(tra)o(v)o(ersals,)f(and)i(this)e(is)h(the)g(topic)164
2850 1330 y(of)h(section)e(9.)164 1497 y Fo(9)83 b(P)n(ostdecoration)27
2851 b(tra)n(v)n(ersals)164 1606 y Fn(The)15 b(idea)g(of)h(decoration)f(w)o
2852 (as)h(describ)q(ed)f(in)g(section)f(7.3.)22 b Fg(Postde)n(c)n(or)n
2853 (ation)c Fn(refers)d(to)164 1667 y(an)o(y)f(time)e(after)j(the)f
2854 Fg(\014nal)21 b Fn(decoration)14 b(of)h(the)f(parse)h(tree,)e(whic)o(h)
2855 h(follo)o(ws)g(parsing)i(of)164 1727 y(a)d(correct)g(input.)20
2856 b(This)13 b(section)g(sho)o(ws)h(ho)o(w)f(the)g(Ox)g(user)g(can)g
2857 (cause)g Fg(p)n(ostde)n(c)n(or)n(ation)164 1787 y(tr)n(aversals)t
2858 Fn(,)42 b(eac)o(h)20 b(of)g(whic)o(h)g(p)q(ermits)f(access)h(\(in)g(a)g
2859 (user-sp)q(eci\014ed)g(order\))h(to)f(the)164 1847 y(tree's)15
2860 b(attribute)h(instances.)164 1992 y Fb(9.1)70 b(Example:)29
2861 b(in\014x)23 b(to)g(pre\014x)g(translation)164 2084 y
2862 Fn(The)15 b(problem)e(of)j(parsing)f(in\014x)g(arithmetic)d
2863 (expressions,)j(and)h(their)e(translation)i(to)164 2144
2864 y(pre\014x)g(form)f(serv)o(es)g(to)i(in)o(tro)q(duce)f(Ox's)g(p)q
2865 (ostdecoration)h(tra)o(v)o(ersal)e(facilit)o(y)l(.)237
2866 2204 y(The)j(tok)o(ens)g(of)g(the)g(example)e(language)j(are)f
2867 (determined)d(b)o(y)j(the)f(follo)o(wing)h(L-)164 2264
2868 y(\014le:)p eop
2869 %%Page: 19 20
2870 19 19 bop 164 162 a Fk(9)49 b(POSTDECORA)l(TION)16 b(TRA)-5
2871 b(VERSALS)678 b Fn(19)164 357 y Fa(\045{)164 407 y(#include)20
2872 b("y.tab.h")164 457 y(#include)g("oxout.h")164 506 y(\045})164
2873 606 y(\045\045)164 656 y([)i(\\n\\t\\f]*)85 b(;)164 706
2874 y([0-9]+)173 b(return\(CONST\);)19 b(@{)i(sscanf\(yytext,"\045d",)o
2875 (&@CON)o(ST.va)o(l@\);)d(@})164 756 y(\\\()261 b(return\('\('\);)164
2876 805 y(\\\))g(return\('\)'\);)164 855 y(\\+)g(return\('+'\);)164
2877 905 y(\\*)g(return\('*'\);)164 955 y(.)283 b(fprintf\(stderr,"il)o
2878 (legal)18 b(character\\n"\);)164 1005 y(\045\045)237
2879 1169 y Fn(The)e(follo)o(wing)g(Y-\014le)g(completes)e(the)i(sp)q
2880 (eci\014cation)g(of)g(the)g(ev)m(aluator.)p eop
2881 %%Page: 20 21
2882 20 20 bop 164 162 a Fk(9)49 b(POSTDECORA)l(TION)16 b(TRA)-5
2883 b(VERSALS)678 b Fn(20)164 357 y Fa(\045token)21 b(CONST)164
2884 407 y(\045left)g('+')164 457 y(\045left)g('*')164 556
2885 y(@attributes)e({int)i(val;})g(CONST)164 606 y(@traversal)f
2886 (@lefttoright)f(@preorder)h(LRpre)164 706 y(\045{)164
2887 756 y(#include)g("oxout.h")164 805 y(#include)g(<stdio.h>)164
2888 855 y(\045})164 955 y(\045\045)164 1005 y(expr)86 b(:)153
2889 b(expr)86 b('*')108 b(expr)544 b(/*)22 b(rule)f(1)g(*/)513
2890 1054 y(@{)g(@LRpre)42 b(printf\(")21 b(*)g("\);)g(@})338
2891 1154 y(|)153 b(expr)86 b('+')108 b(expr)544 b(/*)22 b(rule)f(2)g(*/)513
2892 1204 y(@{)g(@LRpre)42 b(printf\(")21 b(+)g("\);)g(@})338
2893 1303 y(|)153 b('\(')108 b(expr)86 b('\)')566 b(/*)22
2894 b(rule)f(3)g(*/)338 1403 y(|)153 b(CONST)870 b(/*)22
2895 b(rule)f(4)g(*/)513 1453 y(@{)g(@LRpre)42 b(printf\(")21
2896 b(\045d)g(",@CONST.val@\);)e(@})338 1503 y(;)164 1553
2897 y(\045\045)164 1702 y(main\(\))208 1752 y({yyparse\(\);)229
2898 1802 y(printf\("\\n"\);)208 1851 y(})237 2015 y Fn(The)25
2899 b(sequence:)38 b Fd(@traversal)22 b(@lefttorigh)o(t)h(@preorder)f
2900 (LRpre)h Fn(sp)q(eci\014es)164 2076 y(that)18 b(a)g(left-to-righ)o(t)f
2901 (preorder)g(tra)o(v)o(ersal)g(of)h(the)f(parse)h(tree)f(b)q(e)h(p)q
2902 (erformed)e(b)o(y)h(the)164 2136 y(ev)m(aluator)j(after)g(the)g
2903 (\014nal)f(decoration,)i(and)f(that)h(the)e(tra)o(v)o(ersal)g(b)q(e)h
2904 (iden)o(ti\014ed)e(as)164 2196 y Fd(LRpre)p Fn(.)25 b(Note)18
2905 b(that)h Fd(LRpre)d Fn(is)i(programmer-de\014ned,)e(and)j(is)f
2906 Fg(not)24 b Fn(an)18 b(Ox)g(reserv)o(ed)164 2256 y(w)o(ord.)237
2907 2316 y(Eac)o(h)h(attribute)g(reference)e(section)i(in)f(the)h(ab)q(o)o
2908 (v)o(e)g(Y-\014le)f(con)o(tains)h(a)g Fg(tr)n(aversal)164
2909 2377 y(action)e(sp)n(e)n(ci\014er)k Fn(starting)15 b(with)g(the)g
2910 Fg(tr)n(aversal)h(mo)n(de)g(annunciator)22 b Fd(@LRpre)p
2911 Fn(,)13 b(whic)o(h)164 2437 y(is)j(de\014ned)g(in)g(the)g(ab)q(o)o(v)o
2912 (e-men)o(tioned)e Fd(@traversal)f Fn(sp)q(eci\014cation.)p
2913 eop
2914 %%Page: 21 22
2915 21 21 bop 164 162 a Fk(9)49 b(POSTDECORA)l(TION)16 b(TRA)-5
2916 b(VERSALS)678 b Fn(21)237 307 y(When)24 b(the)g Fd(LRpre)e
2917 Fn(tra)o(v)o(ersal)h(reac)o(hes)h(a)g(no)q(de)h(at)f(whic)o(h)f(rule)h
2918 (1)g(is)g(applied,)164 367 y(an)f(asterisk)f(is)g(prin)o(ted,)h(then)f
2919 (eac)o(h)g(subtree)g(ro)q(oted)i(at)e(a)h(c)o(hild)e(of)i(the)f(no)q
2920 (de)h(is)164 428 y(tra)o(v)o(ersed,)14 b(the)h(leftmost)f(subtree)i
2921 (\014rst.)21 b(The)15 b(b)q(eha)o(vior)h(of)g(the)f(tra)o(v)o(ersal)g
2922 (at)g(a)h(no)q(de)164 488 y(at)22 b(whic)o(h)g(rule)f(2)h(is)g(applied)
2923 g(is)f(the)h(same,)g(except)f(that)h(a)h(plus)f(sign)g(is)g(prin)o(ted)
2924 164 548 y(instead)d(of)g(an)g(asterisk.)29 b(When)18
2925 b Fd(LRpre)f Fn(reac)o(hes)h(a)i(no)q(de)f(for)g(rule)f(3,)h(no)h(tra)o
2926 (v)o(ersal)164 608 y(action)15 b(is)f(p)q(erformed,)g(but)h(the)f(c)o
2927 (hildren)f(of)i(the)g(no)q(de)g(are)g(tra)o(v)o(ersed)f(recursiv)o(ely)
2928 e(as)164 668 y(describ)q(ed)k(ab)q(o)o(v)o(e)g(for)g(no)q(des)h(for)g
2929 (rules)f(1)g(and)h(2.)22 b(The)16 b Fd(val)f Fn(attribute)h(of)h(the)f
2930 Fd(CONST)164 729 y Fn(c)o(hild)i(is)h(prin)o(ted)f(when)i(a)g(no)q(de)g
2931 (for)f(rule)g(4)h(is)f(reac)o(hed.)29 b(No)20 b(action)f(is)g(p)q
2932 (erformed)164 789 y(during)d(a)h(tra)o(v)o(ersal)f(of)g(a)h(subtree)f
2933 (that)g(consists)h(of)g(a)f(terminal)e(no)q(de.)164 933
2934 y Fb(9.2)70 b(General)22 b(description)164 1025 y Fj(9.2.1)55
2935 b(T)-5 b(ra)n(v)n(ersal)19 b(sp)r(eci\014cations)164
2936 1118 y Fn(The)f(Ox)f(programmer)g(ma)o(y)f(place)h(in)h(the)f
2937 (declarations)h(section)g(\(the)f(part)i(b)q(efore)164
2938 1178 y(the)f(\014rst)g Fd(\045\045)f Fn(mark\))f(of)j(the)e(Y-\014le)g
2939 (one)h(or)g(more)f Fg(tr)n(aversal)i(sp)n(e)n(ci\014c)n(ations)t
2940 Fn(.)26 b(Suc)o(h)18 b(a)164 1238 y(sp)q(eci\014cation)d(consists)g(of)
2941 g(the)g(reserv)o(ed)e(w)o(ord)i Fd(@traversal)p Fn(,)c(follo)o(w)o(ed)j
2942 (b)o(y)h(a)g Fg(tr)n(aver-)164 1298 y(sal)i(sp)n(e)n(ci\014er)f(se)n
2943 (quenc)n(e)21 b Fn(and)16 b(a)f(non-empt)o(y)f(sequence)g(of)i(iden)o
2944 (ti\014ers,)d(the)i(iden)o(ti\014ers)164 1359 y(b)q(eing)k(separated)h
2945 (b)o(y)e(whitespace.)29 b(A)18 b(tra)o(v)o(ersal)h(sp)q(eci\014er)f
2946 (sequence)g(ma)o(y)f(con)o(tain)164 1419 y(the)f(follo)o(wing)g
2947 Fg(tr)n(aversal)h(sp)n(e)n(ci\014ers)j Fn(\(in)c(an)o(y)g(order\):)237
2948 1521 y Fc(\017)24 b Fn(at)17 b(most)e(one)h(of:)22 b
2949 Fd(@postorder)o Fn(,)13 b Fd(@preorder)237 1622 y Fc(\017)24
2950 b Fn(at)17 b(most)e(one)h(of:)22 b Fd(@lefttorig)o(ht)p
2951 Fn(,)12 b Fd(@righttolef)o(t)237 1724 y Fc(\017)24 b
2952 Fn(optionally:)d Fd(@disable)164 1826 y Fn(If)15 b(neither)g
2953 Fd(@postorder)d Fn(nor)k Fd(@preorder)c Fn(app)q(ears)17
2954 b(in)f(the)f(sequence,)f(the)i(tra)o(v)o(ersal)164 1886
2955 y(is)g(p)q(ostorder)h(b)o(y)e(default.)21 b(A)16 b(left-to-righ)o(t)f
2956 (tra)o(v)o(ersal)g(is)h(sp)q(eci\014ed)g(b)o(y)f(default)h(when)164
2957 1946 y(neither)f Fd(@lefttorigh)o(t)e Fn(nor)k Fd(@righttole)o(ft)c
2958 Fn(app)q(ears.)237 2006 y(F)l(ollo)o(wing)19 b(the)g(\014nal)h
2959 (decoration,)g(the)f(parse)g(tree)g(is)g(tra)o(v)o(ersed)g(once)g(for)g
2960 (eac)o(h)164 2066 y(tra)o(v)o(ersal)g(sp)q(eci\014cation.)32
2961 b(The)20 b(order)g(of)g(p)q(erforming)f(the)g(tra)o(v)o(ersals)h
2962 (corresp)q(onds)164 2127 y(to)j(the)f(order)h(of)g(app)q(earance)g(of)g
2963 (the)f(tra)o(v)o(ersal)g(sp)q(eci\014cations.)40 b(The)23
2964 b Fd(@disable)164 2187 y Fn(reserv)o(ed)15 b(w)o(ord)i(causes)g(the)f
2965 (generated)g(ev)m(aluator)h(to)g(skip)f(an)o(y)h(tra)o(v)o(ersal)e(in)h
2966 (whose)164 2247 y(sp)q(eci\014cation)g(it)g(app)q(ears,)h(whic)o(h)e
2967 (ma)o(y)g(b)q(e)h(useful)g(for)h(debugging.)237 2307
2968 y(The)f(co)q(de)h(fragmen)o(t:)292 2409 y Fd(@traversal)22
2969 b(@preorder)g(LRpre)292 2469 y(@traversal)g(LRpost)p
2970 eop
2971 %%Page: 22 23
2972 22 22 bop 164 162 a Fk(9)49 b(POSTDECORA)l(TION)16 b(TRA)-5
2973 b(VERSALS)678 b Fn(22)164 307 y(app)q(earing)14 b(in)e(the)h
2974 (declarations)g(section)f(sp)q(eci\014es)g(that,)i(after)f(the)f
2975 (\014nal)h(decoration,)164 367 y(the)g(generated)g(ev)m(aluator)g(is)g
2976 (to)h(p)q(erform)e(a)h(left-to-righ)o(t)g(preorder)g(tra)o(v)o(ersal)f
2977 (named)164 428 y Fd(LRpre)p Fn(,)i(follo)o(w)o(ed)h(b)o(y)h(a)h
2978 (left-to-righ)o(t)e(p)q(ostorder)j(tra)o(v)o(ersal)d(named)g
2979 Fd(LRpost)p Fn(.)164 557 y Fj(9.2.2)55 b(T)-5 b(ra)n(v)n(ersal)19
2980 b(action)f(sp)r(eci\014cations)164 650 y Fn(In)e(addition)g(to)g
2981 (attribute)g(de\014nitions)g(\(section)f(5.2\),)h(the)g(attribute)g
2982 (reference)e(sec-)164 710 y(tions)j(of)g(the)f(Y-\014le)f(ma)o(y)g(con)
2983 o(tain)i Fg(tr)n(aversal)g(action)i(sp)n(e)n(ci\014c)n(ations)t
2984 Fn(.)j(Eac)o(h)16 b(of)h(these)164 770 y(consists)f(of)g(a)g
2985 Fg(tr)n(aversal)g(mo)n(de)g(annunciator)5 b Fn(,)17 b(follo)o(w)o(ed)e
2986 (b)o(y)g(a)h(sequence)e(of)i Fg(dynamic)164 830 y(tr)n(aversal)h(mo)n
2987 (di\014ers)36 b Fn(and)17 b(a)g Fg(tr)n(aversal)g(action)t
2988 Fn(.)22 b(A)16 b(tra)o(v)o(ersal)f(mo)q(de)g(ann)o(unciator)i(is)164
2989 891 y Fd(@)f Fn(follo)o(w)o(ed)f(immedi)o(ately)e(b)o(y)j(the)g(name)f
2990 (of)h(a)h(previously-declared)e(tra)o(v)o(ersal.)237
2991 940 y(Supp)q(ose)j(tra)o(v)o(ersal)e(sp)q(eci\014cations)h(of)g
2992 Fd(LRpre)e Fn(and)j Fd(LRpost)d Fn(as)i(ab)q(o)o(v)o(e.)23
2993 b(Then)17 b(in)164 990 y(the)f(co)q(de)g(fragmen)o(t:)273
2994 1082 y Fa(s)87 b(:)109 b(expr)513 1131 y(@{)21 b(@LRpost)f
2995 (printf\("\\n"\);)521 b(/*)21 b(1)h(*/)578 1181 y(@LRpost)e(@revorder)g
2996 (\(1\))h(printf\("postfix:)41 b("\);)i(/*)21 b(2)h(*/)578
2997 1231 y(@LRpre)42 b(@revorder)20 b(\(1\))h(printf\("\\n"\);)216
2998 b(/*)21 b(3)h(*/)578 1281 y(@LRpre)42 b(printf\("prefix:)63
2999 b("\);)348 b(/*)21 b(4)h(*/)513 1331 y(@})382 1380 y(;)164
3000 1482 y Fn(the)14 b(attribute)h(reference)e(section)h(has)h(four)g(tra)o
3001 (v)o(ersal)f(action)h(sp)q(eci\014cations)f(and)h(no)164
3002 1542 y(attribute)20 b(de\014nitions.)34 b(Eac)o(h)20
3003 b(sp)q(eci\014cation)h(is)f(announced)h(b)o(y)f(either)f
3004 Fd(@LRpre)g Fn(or)164 1602 y Fd(@LRpost)p Fn(.)f(Eac)o(h)e(of)f(the)g
3005 Fd(printf)e Fn(statemen)o(ts)h(constitutes)h(a)h(tra)o(v)o(ersal)e
3006 (action.)21 b(The)164 1663 y(form)c(of)i(a)f(tra)o(v)o(ersal)g(action)g
3007 (is)g(that)h(of)f(a)h(C)f(co)q(de)h(fragmen)o(t,)e(except)g(that)i(it)e
3008 (ma)o(y)164 1723 y(con)o(tain)f(references)f(to)h(the)g(attribute)g(o)q
3009 (ccurrences)g(of)h(the)f(asso)q(ciated)h(rule.)237 1783
3010 y(The)j(second)f(and)h(third)g(sp)q(eci\014cations)f(eac)o(h)g(ha)o(v)o
3011 (e)g Fd(@revorder)j(\(1\))d Fn(as)h(a)g(dy-)164 1843
3012 y(namic)15 b(tra)o(v)o(ersal)i(mo)q(di\014er.)22 b(A)16
3013 b(dynamic)g(tra)o(v)o(ersal)g(mo)q(di\014er)f(is)i(either)f
3014 Fd(@revorder)164 1903 y Fn(or)24 b Fd(@revdirect)o(ion)o
3015 Fn(,)f(follo)o(w)o(ed)g(b)o(y)g(a)h(paren)o(thesized)f(expression)g
3016 (that)i(conforms)164 1964 y(to)e(C)f(syn)o(tax,)h(except)e(that)i(it)f
3017 (ma)o(y)e(refer)i(to)h(the)f(rule's)f(attribute)h(o)q(ccurrences.)164
3018 2024 y Fd(@revorder)e Fn(and)25 b Fd(@revdirec)o(tio)o(n)c
3019 Fn(ma)o(y)h(eac)o(h)h(o)q(ccur)h(at)g(most)f(once)g(in)h(a)g(giv)o(en)
3020 164 2084 y(tra)o(v)o(ersal)e(action)h(sp)q(eci\014cation.)40
3021 b(If)23 b Fd(@revdirec)o(tio)o(n)d Fn(app)q(ears)k(in)e(t)o(w)o(o)h
3022 (tra)o(v)o(ersal)164 2144 y(action)15 b(sp)q(eci\014cations)g(within)f
3023 (a)h(giv)o(en)f(attribute)g(reference)f(section,)h(the)h(t)o(w)o(o)g
3024 (sp)q(ec-)164 2204 y(i\014cations)25 b(m)o(ust)f(ha)o(v)o(e)g
3025 (di\013eren)o(t)g(ann)o(unciators.)48 b(Dynamic)24 b(tra)o(v)o(ersal)g
3026 (mo)q(di\014ers)164 2265 y(are)e(used)h(to)f(o)o(v)o(erride)f(the)h
3027 (tra)o(v)o(ersal)f(sp)q(eci\014cations)i(of)f(a)h(giv)o(en)e(tra)o(v)o
3028 (ersal)h(when)164 2325 y(it)13 b(reac)o(hes)g(a)h(giv)o(en)f(kind)g(of)
3029 h(no)q(de.)21 b(The)13 b(mo)q(di\014er)g Fd(@revorder)d
3030 Fg(expr)19 b Fn(means)13 b(roughly)164 2385 y(\\rev)o(erse)i(order)i
3031 Fd(if)e Fg(expr)5 b Fn(".)23 b(When)16 b(the)g Fd(LRpre)e
3032 Fn(tra)o(v)o(ersal)i(reac)o(hes)f(a)i(no)q(de)g(at)g(whic)o(h)164
3033 2445 y(the)f(rule)g Fd(s)26 b(:)51 b(expr)15 b Fn(is)h(applied,)g(the)h
3034 (expression)f Fd(\(1\))g Fn(is)g(ev)m(aluated,)g(and)i(b)q(ecause)p
3035 eop
3036 %%Page: 23 24
3037 23 23 bop 164 162 a Fk(10)50 b(O)o(X)20 b(MA)o(CR)o(OS)1162
3038 b Fn(23)164 307 y(it)16 b(is)g(nonzero,)g(the)g(third)f(tra)o(v)o
3039 (ersal)h(action,)f(whic)o(h)h(prin)o(ts)g(a)g(line)f(feed,)g(is)h
3040 (executed)164 367 y(as)e(if)f Fd(LRpre)e Fn(w)o(ere)i(a)g(p)q(ostorder)
3041 i(tra)o(v)o(ersal,)d(i.e.,)g Fg(after)19 b Fn(the)13
3042 b(recursiv)o(e)e(tra)o(v)o(ersal)i(of)g(the)164 428 y(subtree)k(ro)q
3043 (oted)i(at)f(the)g(no)q(de's)g(sole)f(c)o(hild.)25 b(The)17
3044 b(execution)g(of)h(the)f(fourth)i(tra)o(v)o(er-)164 488
3045 y(sal)e(action,)f Fd(printf\("p)o(ref)o(ix)o(:)48 b("\);)16
3046 b Fn(is)g(not)h(a\013ected)f(b)o(y)g(an)o(y)g(dynamic)f(tra)o(v)o
3047 (ersal)164 548 y(mo)q(di\014er,)k(and)i(o)q(ccurs)f(according)h(to)f
3048 Fd(LRpre)p Fn('s)e(\(static\))i(sp)q(eci\014cation,)g(i.e.)31
3049 b Fg(b)n(efor)n(e)164 608 y Fn(the)16 b(tra)o(v)o(ersal)f(of)i(the)f(c)
3050 o(hild)f(subtree.)237 668 y(When)k(the)g Fd(LRpost)f
3051 Fn(tra)o(v)o(ersal)g(reac)o(hes)h(a)g(no)q(de)h(at)g(whic)o(h)e
3052 Fd(s)26 b(:)51 b(expr)43 b Fn(is)19 b(ap-)164 729 y(plied,)e(the)h
3053 (second)h(tra)o(v)o(ersal)f(action)g(is)g(executed,)f(the)h(tra)o(v)o
3054 (ersal)g(pro)q(ceeds)g(to)h(the)164 789 y(c)o(hild)c(subtree,)g(then)h
3055 (the)g(\014rst)h(tra)o(v)o(ersal)e(action)i(is)f(executed.)237
3056 849 y(The)i(preceding)f(description)g(is)h(generally)f(su\016cien)o(t)g
3057 (for)h(understanding)h(p)q(ost-)164 909 y(decoration)12
3058 b(tra)o(v)o(ersals,)h(but)f(app)q(endix)g(B)g(con)o(tains)h(a)f(pseudo)
3059 q(co)q(de)i(description)d(that)164 969 y(describ)q(es)16
3060 b(the)g(b)q(eha)o(vior)g(somewhat)g(more)f(formally)l(.)237
3061 1029 y(F)l(acilit)o(y)j(for)i(inorder)g(tra)o(v)o(ersal)f(is)g(to)i(b)q
3062 (e)f(implem)o(en)n(ted)d(in)j(future)f(v)o(ersions)h(of)164
3063 1090 y(Ox.)164 1256 y Fo(10)83 b(Ox)27 b(macros)164 1366
3064 y Fn(Ox's)17 b(input)h(sp)q(eci\014cation)f(ma)o(y)g(b)q(e)h(suc)o(h)f
3065 (that)h(the)g(same)f(or)h(similar)e(text)h(app)q(ears)164
3066 1426 y(in)22 b(more)f(than)h(one)h(place)e(in)h(attribute)g(reference)f
3067 (sections.)38 b(There)22 b(is)g(a)h(macro)164 1486 y(substitution)16
3068 b(feature)g(that)h(can)g(b)q(e)f(used)g(to)h(decrease)f(v)o(erb)q(osit)
3069 o(y)f(in)h(suc)o(h)g(cases.)164 1630 y Fb(10.1)70 b(Macro)24
3070 b(de\014nitions)164 1723 y Fn(Ox)19 b(macros)f(are)h(de\014ned)f(in)h
3071 (the)g(declaration)f(section)h(of)g(the)g(Y-\014le.)28
3072 b(Suc)o(h)19 b(a)g(def-)164 1783 y(inition)e(consists)i(of)f(the)g
3073 Fd(@macro)e Fn(reserv)o(ed)h(w)o(ord,)h(an)h(iden)o(ti\014er)d(\(the)i
3074 (name)f(of)h(the)164 1843 y(macro\),)j(a)h(left)e(paren)o(thesis,)i(a)g
3075 (parameter)e(list,)h(a)h(righ)o(t)f(paren)o(thesis,)h(the)f(b)q(o)q(dy)
3076 164 1903 y(of)d(the)f(macro,)f(and)i(the)f Fd(@end)f
3077 Fn(reserv)o(ed)g(w)o(ord.)25 b(The)17 b(parameter)f(list)h(is)g(a)h(p)q
3078 (ossibly)164 1964 y(empt)o(y)10 b(sequence)h(of)i(iden)o(ti\014ers,)e
3079 (eac)o(h)h(\(including)g(the)g(last,)h(if)f(the)g(list)f(is)i(nonempt)o
3080 (y\))164 2024 y(follo)o(w)o(ed)j(b)o(y)g(a)h(comma.)j(Eac)o(h)c(iden)o
3081 (ti\014er)f(is)h(a)h(sequence)f(of)h(letters)e(and)j(digits,)e(b)q(e-)
3082 164 2084 y(ginning)g(with)g(a)g(letter.)k(The)c(b)q(o)q(dy)h(of)f(the)g
3083 (macro)f(is)g(a)i(segmen)o(t)d(of)i(arbitrary)g(text,)164
3084 2144 y(terminated)j(b)o(y)i(the)g(\014rst)h(o)q(ccurrence)e(of)i
3085 Fd(@end)p Fn(,)e(with)h(the)g(follo)o(wing)g(exceptions:)164
3086 2204 y(When)e(inside)f(a)h(commen)o(t)d(or)j(a)g(string,)g(or)h(when)f
3087 (preceded)e(immediatel)o(y)f(b)o(y)i(the)164 2264 y(bac)o(kslash)g
3088 (escap)q(e)g(c)o(haracter,)g(an)g(o)q(ccurrence)g(of)g
3089 Fd(@end)f Fn(is)h(considered)f(part)i(of)f(the)164 2325
3090 y(macro)f(b)q(o)q(dy)i(\(hence)f(do)q(es)h(not)f(terminate)e(the)i
3091 (macro\).)26 b(Suc)o(h)18 b(a)h(bac)o(kslash)f(c)o(har-)164
3092 2385 y(acter)e(is)g(deleted)f(from)g(the)h(macro)f(b)q(o)q(dy)l(.)p
3093 eop
3094 %%Page: 24 25
3095 24 24 bop 164 162 a Fk(10)50 b(O)o(X)20 b(MA)o(CR)o(OS)1162
3096 b Fn(24)164 307 y Fb(10.2)70 b(Macro)24 b(uses)164 400
3097 y Fn(Ox)f(macros)f(are)h(used)g(only)g(in)g(attribute)g(reference)e
3098 (sections)i(and)g(in)g(other)g(Ox)164 460 y(macros.)j(Substitution)18
3099 b(o)q(ccurs)g(where)g(a)g(macro)f(use)h(is)g(encoun)o(tered)f(outside)h
3100 (of)h(a)164 520 y(string,)d(commen)o(t,)d(or)j(attribute)g(name.)237
3101 580 y(A)h(macro)f(use)h(consists)g(of)h(the)e(name)g(of)h(a)h
3102 (previously-de\014ned)e(macro,)g(and)h(an)164 640 y(argumen)o(t)12
3103 b(list)h(in)g(paren)o(theses.)20 b(The)13 b(argumen)o(t)f(list)h(is)g
3104 (a)g(p)q(ossibly)h(empt)o(y)d(sequence)164 700 y(of)19
3105 b(text)g(fragmen)o(ts,)f(eac)o(h)g(\(including)g(the)h(last\))g(suc)o
3106 (h)f(fragmen)o(t)g(terminated)f(b)o(y)i(a)164 761 y(comma.)f(In)12
3107 b(expanding)h(a)h(macro)e(use,)h(eac)o(h)f(text)g(fragmen)o(t)g(is)g
3108 (substituted)h(for)g(eac)o(h)164 821 y(o)q(ccurrence)j(in)h(the)g
3109 (macro)f(b)q(o)q(dy)i(of)g(the)e(corresp)q(onding)i(parameter)e(in)h
3110 (the)g(macro)164 881 y(de\014nition.)33 b(If)20 b(commas,)f(paren)o
3111 (theses,)h(or)h(bac)o(kslashes)f(are)h(to)g(app)q(ear)g(in)f(a)h(text)
3112 164 941 y(fragmen)o(t,)16 b(they)g(m)o(ust)g(b)q(e)i(preceded)e(b)o(y)h
3113 (bac)o(kslash)g(escap)q(e)h(c)o(haracters,)e(whic)o(h)h(are)164
3114 1001 y(remo)o(v)o(ed)d(during)i(substitution.)237 1062
3115 y(It)f(is)h(not)g(necessary)f(that)h(the)g(de\014nition)f(of)h(a)g
3116 (macro)f(precede)f(that)i(of)g(another)164 1122 y(macro)d(in)g(whic)o
3117 (h)g(it)g(is)h(used,)g(as)g(no)g(macro)f(substitution)h(o)q(ccurs)g(un)
3118 o(til)f(Ox)g(pro)q(cesses)164 1182 y(the)j(attribute)g(reference)e
3119 (sections.)164 1326 y Fb(10.3)70 b(Example)164 1419 y
3120 Fn(The)16 b(follo)o(wing)g(excerpts)f(from)h(a)g(Y-\014le)g(illustrate)
3121 f(the)h(use)g(of)h(Ox)f(macros.)p eop
3122 %%Page: 25 26
3123 25 25 bop 164 162 a Fk(11)50 b(A)o(UTOMA)l(TIC)14 b(GENERA)l(TION)h(OF)
3124 h(COPY)g(R)o(ULES)386 b Fn(25)237 295 y(.)237 312 y(.)237
3125 329 y(.)164 412 y Fa(@macro)21 b(exprdefs\(op,\))208
3126 462 y(@i)g(@expr.1.env@)e(=)j(@expr.env@;)208 512 y(@i)f(@expr.2.env@)e
3127 (=)j(@expr.env@;)208 562 y(@i)f(@expr.type@)e(=)j(typeResolve\(@expr.)o
3128 (1.ty)o(pe@,@)o(expr.)o(2.typ)o(e@,\);)208 612 y(@i)f(@expr.value@)e(=)
3129 j(exprEval\(op,@expr)o(.typ)o(e@,@e)o(xpr.1)o(.type)o(@,@ex)o(pr.2.)o
3130 (type)o(@,)861 661 y(@expr.1.value@,@exp)o(r.2.v)o(alue@)774
3131 711 y(\);)164 761 y(@end)164 861 y(@macro)f(typeResolve\(typ)o(e1,ty)o
3132 (pe2,\))229 910 y(\(\(type1)g(==)g(type2\))g(?)g(type1)g(:)h
3133 (FLOATTYPE\))164 960 y(@end)237 1028 y Fn(.)237 1045
3134 y(.)237 1061 y(.)164 1145 y Fa(\045\045)237 1216 y Fn(.)237
3135 1233 y(.)237 1249 y(.)164 1333 y Fa(expr)f(:)152 b(expr)87
3136 b('*')108 b(expr)382 1383 y(@{)21 b(exprdefs\('*',\))e(@})338
3137 1433 y(|)153 b(expr)86 b('/')108 b(expr)382 1483 y(@{)21
3138 b(exprdefs\('/',\))e(@})338 1532 y(|)153 b(expr)86 b('+')108
3139 b(expr)382 1582 y(@{)21 b(exprdefs\('+',\))e(@})338 1632
3140 y(|)153 b(expr)86 b('-')108 b(expr)382 1682 y(@{)21 b(exprdefs\('-',\))
3141 e(@})338 1732 y(;)237 1805 y Fn(.)237 1822 y(.)237 1838
3142 y(.)164 1959 y(The)e(iden)o(ti\014er)f Fd(exprEval)f
3143 Fn(referenced)h(in)h(the)g(de\014nition)g(of)h(the)f
3144 Fd(exprdefs)e Fn(macro)164 2019 y(is)h(the)f(name)g(of)h(either)f(a)h
3145 (C)g(macro)f(or)h(C)g(function.)21 b(The)16 b(Ox)f(macro)g
3146 Fd(typeResolv)o(e)164 2079 y Fn(ab)q(o)o(v)o(e)e(con)o(tains)g(no)g
3147 (Ox-sp)q(eci\014c)f(constructs)h(and,)h(as)f(a)h(matter)d(of)i(st)o
3148 (yle,)f(could)h(ha)o(v)o(e)164 2139 y(b)q(een)j(declared)g(instead)g
3149 (as)h(a)f(C)h(macro)e(or)i(C)f(function.)164 2304 y Fo(11)83
3150 b(Automatic)27 b(generation)h(of)g(cop)n(y)e(rules)164
3151 2414 y Fn(Often)13 b(a)g(Y-\014le)f(has)i(attribute)f(de\014nitions)g
3152 (that)h(function)f(only)f(to)i(cop)o(y)f(an)g(instance)164
3153 2474 y(b)q(elonging)f(to)g(one)f(no)q(de)i(to)e(a)h(lik)o(e-named)d
3154 (instance)i(b)q(elonging)h(to)g(the)f(no)q(de's)h(paren)o(t)p
3155 eop
3156 %%Page: 26 27
3157 26 26 bop 164 162 a Fk(11)50 b(A)o(UTOMA)l(TIC)14 b(GENERA)l(TION)h(OF)
3158 h(COPY)g(R)o(ULES)386 b Fn(26)164 307 y(or)24 b(c)o(hild.)43
3159 b(Large)25 b(attribute)f(grammars)f(tend)h(to)g(ha)o(v)o(e)f(man)o(y)g
3160 (suc)o(h)h(de\014nitions,)164 367 y(whic)o(h)19 b(are)g(sometimes)e
3161 (called)h Fg(c)n(opy)i(rules)t Fn(.)32 b(The)20 b(situation)f(is)h
3162 (conspicuous)g(when)164 428 y(con)o(textual)15 b(information)h(is)g(mo)
3163 o(v)o(ed)e(leafw)o(ard)i(via)g(inherited)f(attributes.)237
3164 488 y(The)i(Ox)g(user)g(ma)o(y)f(place)h(in)g(the)g(declarations)g
3165 (section)g(of)g(the)g(Y-\014le)g(the)f(con-)164 548 y(struct:)237
3166 668 y Fd(@autoinh)d Fi(<)p Fn(ID)p 554 668 15 2 v 18
3167 w(list)p Fi(>)164 789 y Fn(where)j Fi(<)p Fn(ID)p 401
3168 789 V 18 w(list)p Fi(>)g Fn(is)g(a)h(whitespace-separated)h(list)e(of)h
3169 (attribute)f(names.)22 b(Supp)q(ose)164 849 y(that)16
3170 b Fd(attrbID)c Fn(is)k(suc)o(h)f(an)g(attribute)g(name,)f(and)i(the)f
3171 (ab)q(o)o(v)o(e)g(construct)h(is)f(follo)o(w)o(ed)164
3172 909 y(b)o(y)f(an)i Fd(@attribut)o(es)c Fn(declaration)i(whereb)o(y)g
3173 Fd(attrbID)f Fn(is)h(declared)g(as)i(an)f(attribute)164
3174 969 y(of)i(the)f(grammar)f(sym)o(b)q(ol)g Fd(gSym)p Fn(.)21
3175 b(Then)c(Ox)f(kno)o(ws)h(that)g Fd(attrbID)d Fn(is)i(an)h(inherited)164
3176 1029 y(attribute)12 b(of)h Fd(gSym)p Fn(.)19 b(F)l(urther,)12
3177 b(for)h(an)o(y)f(rule)g(ha)o(ving)h Fd(gSym)e Fn(on)i(the)f(RHS,)g(Ox)g
3178 (searc)o(hes)164 1090 y(that)k(rule's)g(attribute)f(reference)g
3179 (section)g(for)i(de\014nitions)f(of)g(the)g(RHS)f(o)q(ccurrences)164
3180 1150 y(of)j Fd(attrbID)p Fn(.)c(When)j(suc)o(h)g(a)h(de\014nition)e(is)
3181 h(missing,)f(Ox)h(c)o(hec)o(ks)f(whether)h(the)g(LHS)164
3182 1210 y(has)g(an)f(o)q(ccurrence)f(of)h Fd(attrbID)p Fn(.)d(If)i(so,)i
3183 (Ox)e(generates)h(de\014nitions)g(that)g(cop)o(y)f(that)164
3184 1270 y(LHS)i(o)q(ccurrence)f(to)h(eac)o(h)g(RHS)f Fd(attrbID)f
3185 Fn(o)q(ccurrence)h(that)h(lac)o(ks)f(a)i(de\014nition.)k(If)164
3186 1330 y(there)16 b(is)g(no)g(suc)o(h)g(LHS)h(o)q(ccurrence,)e(Ox)h
3187 (issues)g(an)h(error)f(message.)237 1391 y(There)j(is)h(an)g(analagous)
3188 h(construct)f(for)g(automatic)e(generation)i(of)g(de\014nitions)164
3189 1451 y(of)d(syn)o(thesized)d(o)q(ccurrences:)237 1571
3190 y Fd(@autosyn)f Fi(<)p Fn(ID)p 554 1571 V 18 w(list)p
3191 Fi(>)164 1692 y Fn(When)23 b(the)f Fd(@autosyn)e Fn(construct)i(is)h
3192 (used,)h(Ox)e(tries)g(to)h(supply)g(missing)e(de\014ni-)164
3193 1752 y(tions)e(of)g(syn)o(thesized)f(o)q(ccurrences)g(b)o(y)h(searc)o
3194 (hing)f(the)h(RHS)f(for)h(same-named)e(o)q(c-)164 1812
3195 y(currences.)41 b(If)23 b(exactly)f(one)i(suc)o(h)f(RHS)f(o)q
3196 (ccurrence)h(is)g(found,)i(Ox)e(generates)h(a)164 1872
3197 y(de\014nition)16 b(to)g(cop)o(y)g(it)g(to)h(the)f(LHS,)g(otherwise)g
3198 (there)f(is)h(an)h(error.)237 1932 y(The)i(ab)q(o)o(v)o(e-describ)q(ed)
3199 f(constructs)i(ha)o(v)o(e)e(a)h(global)g(c)o(haracter)f(in)h(that)g(a)g
3200 (single)164 1993 y Fd(@autosyn)12 b Fn(or)j Fd(@autoinh)c
3201 Fn(declaration)j(can)h(easily)f(b)q(e)h(used)f(to)h(supply)g(missing)e
3202 (de\014-)164 2053 y(nitions)e(for)h(all)f(o)q(ccurrences)g(of)h
3203 (attributes)g(of)g(a)f(giv)o(en)g(name.)19 b(These)11
3204 b(reserv)o(ed)f(w)o(ords)164 2113 y(ma)o(y)17 b(b)q(e)i(used)g(in)g(a)g
3205 (more)e(conserv)m(ativ)o(e)h(w)o(a)o(y)h(that)g(generates)g(missing)e
3206 (de\014nitions)164 2173 y(only)f(for)h(o)q(ccurrences)e(b)q(elonging)i
3207 (to)g(a)f(selected)f(set)h(of)h(grammar)e(sym)o(b)q(ols:)237
3208 2233 y(A)o(ttribute)24 b(declarations)h(are)g(written)f(as)i(usual,)h
3209 (except)d(that)h Fd(@autoinh)e Fn(or)164 2293 y Fd(@autosyn)18
3210 b Fn(ma)o(y)h(app)q(ear)j(b)q(efore)f(the)g(attribute's)f(t)o(yp)q(e)h
3211 (sp)q(eci\014er)f(\(i.e.,)g(after)h Fc(f)g Fn(or)164
3212 2354 y Fd(;)p Fn(\).)g(Where)15 b Fi(<)p Fn(ID)p 495
3213 2354 V 18 w(list)p Fi(>)g Fn(is)h(the)g(usual)h(comma-)d(separated)j
3214 (list)e(of)h(attribute)g(names,)164 2414 y(and)h Fd(attrbID)c
3215 Fn(is)k(a)f(mem)o(b)q(er)d(of)k Fi(<)p Fn(ID)p 883 2414
3216 V 17 w(list)p Fi(>)p Fn(:)p eop
3217 %%Page: 27 28
3218 27 27 bop 164 162 a Fk(11)50 b(A)o(UTOMA)l(TIC)14 b(GENERA)l(TION)h(OF)
3219 h(COPY)g(R)o(ULES)386 b Fn(27)237 307 y Fd(@attribute)o(s)87
3220 b Fc(f)676 354 y Fn(.)676 370 y(.)676 387 y(.)676 447
3221 y Fd(@autoinh)13 b Fi(<)p Fn(t)o(yp)q(esp)q(ec)p Fi(>)j(<)p
3222 Fn(ID)p 1270 447 15 2 v 17 w(list)p Fi(>)g Fd(;)676 491
3223 y Fn(.)676 507 y(.)676 524 y(.)603 584 y Fc(g)619 644
3224 y Fi(<)p Fn(grammar)p 854 644 V 16 w(sym)o(b)q(ol)p 1022
3225 644 V 16 w(list)p Fi(>)164 764 y Fn(declares)j Fd(attrbID)e
3226 Fn(as)j(an)g(inherited)f(attribute)g(whenev)o(er)g(it)g(o)q(ccurs)h(in)
3227 f(a)h(sym)o(b)q(ol)164 825 y(in)15 b Fi(<)p Fn(grammar)p
3228 455 825 V 16 w(sym)o(b)q(ol)p 623 825 V 16 w(list)p Fi(>)p
3229 Fn(.)21 b(F)l(urther,)14 b(this)i(instructs)f(Ox)h(to)g(attempt)e(to)i
3230 (supply)164 885 y(missing)f(de\014nitions)h(of)g(suc)o(h)h(o)q
3231 (ccurrences)e(b)o(y)h(cop)o(ying)g(from)f(the)h(LHS.)237
3232 945 y Fd(@autosyn)d Fn(ma)o(y)i(b)q(e)i(used)f(lo)q(cally)f(in)h(an)h
3233 (analagous)h(manner.)237 1005 y(F)l(or)i(safet)o(y)g(in)f(the)h(use)g
3234 (of)g Fd(@autosyn)d Fn(and)k Fd(@autoinh)p Fn(,)c(there)i(is)h(pro)o
3235 (vided)f(the)164 1065 y Fd(@warn)d Fn(reserv)o(ed)g(w)o(ord.)26
3236 b(When)18 b(it)f(immediatel)o(y)e(follo)o(ws)i Fd(@autosyn)e
3237 Fn(or)j Fd(@autoinh)p Fn(,)164 1126 y(Ox)g(issues)h(a)g(w)o(arning)g
3238 (for)g(eac)o(h)g(de\014nition)f(supplied)g(b)o(y)g(virtue)g(of)h(the)g
3239 (preceding)164 1186 y Fd(@autosyn)h Fn(or)i Fd(@autoinh)p
3240 Fn(.)38 b Fd(@warn)20 b Fn(is)j(mainly)d(to)j(b)q(e)g(used)f(when)h(mo)
3241 q(difying)e(the)164 1246 y(attribute)16 b(grammar.)164
3242 1390 y Fb(11.1)70 b(Example)164 1483 y Fn(The)16 b(follo)o(wing)g(co)q
3243 (de)h(fragmen)o(t)e(in)g(the)h(declarations)h(section)f(of)g(the)g
3244 (Y-\014le:)p eop
3245 %%Page: 28 29
3246 28 28 bop 164 162 a Fk(11)50 b(A)o(UTOMA)l(TIC)14 b(GENERA)l(TION)h(OF)
3247 h(COPY)g(R)o(ULES)386 b Fn(28)383 295 y(.)383 312 y(.)383
3248 329 y(.)292 430 y Fd(@autoinh)23 b(env)292 551 y(@attribute)o(s)g
3249 ({struct)g(env)h(*env;)625 611 y(regNumType)e(maxRegNum;)600
3250 671 y(})600 731 y(execElem)g(statement)292 852 y(@autosyn)h(maxRegNum)
3251 292 972 y(@attribute)o(s)g({struct)g(env)h(*env;)625
3252 1032 y(@autoinh)f(regNumType)f(regNum;)625 1092 y(regNumType)g
3253 (maxRegNum;)625 1153 y(struct)i(sym)g(*formParamL)o(ist)o(;)625
3254 1213 y(struct)g(sym)g(*func;)625 1273 y(lineNumType)e(line;)600
3255 1333 y(})600 1393 y(actParamL)o(ist)292 1514 y(@attribute)o(s)h
3256 ({struct)g(env)h(*env;)625 1574 y(@autosyn)f(@warn)h(struct)f(sym)i
3257 (*varLoc,*f)o(un)o(cLo)o(c;)625 1634 y(regNumType)d(regNum;)625
3258 1694 y(regNumType)g(maxRegNum;)600 1755 y(})600 1815
3259 y(block)i(blockElem)o(Li)o(st)383 1890 y Fn(.)383 1907
3260 y(.)383 1923 y(.)164 2044 y(causes)g(Ox)f(to)h(attempt)e(to)h
3261 (automatically)f(supply)h(missing)f(de\014nitions)i(for)f(o)q(c-)164
3262 2104 y(currences)15 b(of:)p eop
3263 %%Page: 29 30
3264 29 29 bop 164 162 a Fk(12)50 b(FILE-LEVEL)17 b(OR)o(GANIZA)l(TION)c(OF)
3265 j(O)o(X)21 b(EV)-5 b(ALUA)l(TORS)237 b Fn(29)237 307
3266 y Fc(\017)24 b Fd(env)10 b Fn(for)h Fd(execElem)p Fn(,)d
3267 Fd(statement)p Fn(,)g Fd(actParamLis)o(t)p Fn(,)h Fd(block)p
3268 Fn(,)g(and)j Fd(blockElem)o(Lis)o(t)237 409 y Fc(\017)24
3269 b Fd(maxRegNum)13 b Fn(for)j Fd(actParamLis)o(t)p Fn(,)d
3270 Fd(block)p Fn(,)h(and)j Fd(blockElem)o(Lis)o(t)237 511
3271 y Fc(\017)24 b Fd(regNum)14 b Fn(for)i Fd(actParamLis)o(t)237
3272 612 y Fc(\017)24 b Fd(varLoc)14 b Fn(for)i Fd(block)f
3273 Fn(and)i Fd(blockElem)o(Lis)o(t)p Fn(,)c(with)j(w)o(arning)237
3274 714 y Fc(\017)24 b Fd(funcLoc)14 b Fn(for)i Fd(block)f
3275 Fn(and)h Fd(blockElemLi)o(st)p Fn(,)c(with)17 b(w)o(arning)164
3276 880 y Fo(12)83 b(File-lev)n(el)26 b(organization)i(of)g(Ox)f(ev)-5
3277 b(aluators)164 1004 y Fb(12.1)70 b(Con)n(v)n(en)n(tions)23
3278 b(of)g(naming)g(Ox)f(output)i(\014les)164 1097 y Fn(Ox)15
3279 b(translates)h(the)f(Y-\014le)f(in)o(to)h(a)h(\014le)e(destined)h(for)h
3280 (pro)q(cessing)g(b)o(y)e(Y)l(acc,)h(giv)o(en)f(the)164
3281 1157 y(name)26 b Fd(oxout.y)p Fn(.)17 b(The)d(L-\014les)g(are)f
3282 (translated)h(in)o(to)f(\014les)g(destined)g(for)g(Lex.)21
3283 b(If)13 b(there)164 1217 y(is)h(exactly)f(one)h(L-\014le,)g(its)g
3284 (corresp)q(onding)h(output)g(\014le)e(is)h(named)f Fd(oxout.l)p
3285 Fn(.)18 b(If)c(there)164 1277 y(is)23 b(more)f(than)i(one)f(L-\014le,)i
3286 (the)e(corresp)q(onding)i(outputs)f(are)f(named)f Fd(oxout0.l)p
3287 Fn(,)164 1338 y Fd(oxout1.l)p Fn(,)13 b Fd(oxout2.l)p
3288 Fn(,)g(etc.)164 1482 y Fb(12.2)70 b(Review:)26 b(com)n(bining)17
3289 b(the)h(outputs)i(of)f(Y)-6 b(acc)18 b(and)i(Lex)164
3290 1574 y Fn(In)f(dev)o(eloping)f(an)i(ordinary)f(\(i.e.,)f(non-Ox\))i(Y)l
3291 (acc/Lex)f(ev)m(aluator,)h Fd(y.tab.c)c Fn(and)164 1635
3292 y Fd(lex.yy.c)11 b Fn(can)i(b)q(e)h(compiled)d(imme)o(diately)f(in)o
3293 (to)j(an)h(executable)e(\014le)h(b)o(y)g(placing)g(the)164
3294 1695 y(line)369 1796 y Fd(#include)23 b("lex.yy.c)o(")164
3295 1898 y Fn(in)16 b(a)h(C-co)q(de)f(section)g(of)h(the)f(Y)l(acc)f(input)
3296 h(sp)q(eci\014cation)g([Lesk)g(75)q(].)237 1958 y(Alternativ)o(ely)l(,)
3297 c(Y)l(acc)j(can)g(b)q(e)g(instructed)g(\(b)o(y)g(using)g(the)g
3298 Fd(-d)g Fn(command-line)d(op-)164 2019 y(tion\))h(to)g(pro)q(duce)h(a)f
3299 (separate)h(\014le)e Fd(y.tab.h)e Fn(that)k(con)o(tains)f(declarations)
3300 g(needed)f(b)o(y)164 2079 y(b)q(oth)j Fd(y.tab.c)d Fn(and)i
3301 Fd(lex.yy.c)p Fn(.)k(The)c(t)o(w)o(o)g(\014les)g(ma)o(y)e(then)i(b)q(e)
3302 g(compiled)e(separately)164 2139 y(if)k(the)g(line)369
3303 2241 y Fd(#include)23 b("y.tab.h")164 2342 y Fn(is)11
3304 b(placed)g(in)f(a)i(C-co)q(de)g(sections)f(of)g(the)g(Lex)g(input)g(sp)
3305 q(eci\014cation.)19 b(The)11 b(t)o(w)o(o)g(resulting)164
3306 2402 y(ob)s(ject)16 b(\014les)f(can)i(then)f(b)q(e)g(link)o(ed)f(to)i
3307 (pro)q(duce)f(an)h(executable)e(\014le.)p eop
3308 %%Page: 30 31
3309 30 30 bop 164 162 a Fk(13)50 b(COMMAND-LINE)15 b(OPTIONS)h(AND)f(OTHER)
3310 h(POINTS)298 b Fn(30)164 307 y Fb(12.3)70 b(Com)n(bined)21
3311 b(use)i(of)g(Ox,)g(Y)-6 b(acc,)23 b(and)h(Lex)164 400
3312 y Fn(There)17 b(are)g(certain)g(declarations)g(that)g(m)o(ust)f(b)q(e)i
3313 (visible)d(from)h(all)h(of)g(the)g(\014les)g(pro-)164
3314 460 y(duced)12 b(b)o(y)g(Ox.)20 b(By)12 b(default,)g(Ox)h(pro)q(duces)g
3315 (\014les)f(suitable)g(for)h(separate)g(compilation,)164
3316 520 y(inasm)o(uc)o(h)i(as)i(the)g(Y)l(acc-destined)f(\014le)g(and)h
3317 (the)g(Lex-destined)f(\014le\(s\))h(eac)o(h)f(con)o(tain)164
3318 580 y(the)k(common)e(declarations.)34 b(Ox)20 b(also)g(supp)q(orts)i
3319 (the)e(one-step)h(dev)o(elopmen)o(t)c(ap-)164 640 y(proac)o(h)g
3320 (describ)q(ed)g(ab)q(o)o(v)o(e.)23 b(By)16 b(placing)h
3321 Fd(-h)f Fn(on)i(Ox's)e(command)f(line,)g(the)i(designer)164
3322 700 y(calls)j(for)h(generation)f(of)h(a)g(\014le)f Fd(oxout.h)e
3323 Fn(con)o(taining)i(the)g(common)e(declarations,)164 761
3324 y(whic)o(h)e(are)g(then)g(absen)o(t)g(from)f(Ox's)h(other)h(output)f
3325 (\014les.)21 b(In)16 b(this)g(case,)g(the)g(line)369
3326 862 y Fd(#include)23 b("oxout.h")164 964 y Fn(is)16 b(placed)g(in)g
3327 (the)g(Y-\014le.)164 1109 y Fb(12.4)70 b(T)n(ypical)21
3328 b(command)i(sequences)164 1201 y Fn(The)g(follo)o(wing)g(sequence)g(of)
3329 g(shell)g(commands)e(is)j(an)g(example)d(of)i(the)g(separate)164
3330 1261 y(compilation)c(approac)o(h)i(describ)q(ed.)33 b(In)20
3331 b(this)g(example,)f(Ox)h(translates)h(the)f(Y-\014le)164
3332 1321 y Fd(ev.Y)c Fn(in)o(to)h Fd(oxout.y)e Fn(and)i(the)h(L-\014le)f
3333 Fd(ev.L)f Fn(in)o(to)h Fd(oxout.l)p Fn(.)22 b(The)17
3334 b(last)g(command)f(of)164 1381 y(the)g(sequence)f(links)h(the)g(t)o(w)o
3335 (o)g(ob)s(ject)f(\014les,)h(yielding)f(the)h(executable)e(\014le)i
3336 Fd(ev)p Fn(.)338 1485 y Fa(ox)22 b(ev.Y)f(ev.L)338 1535
3337 y(yacc)g(-d)h(oxout.y)338 1585 y(lex)f(oxout.l)338 1635
3338 y(cc)h(-c)f(y.tab.c)338 1684 y(cc)h(-c)f(lex.yy.c)338
3339 1734 y(cc)h(-o)f(ev)g(y.tab.o)g(lex.yy.o)f(-ll)h(-ly)237
3340 1838 y Fn(The)16 b(follo)o(wing)g(command)f(sequence)g(do)q(es)i(a)f
3341 (one-step)h(compilation.)338 1929 y Fa(ox)22 b(-h)f(ev.Y)g(ev.L)338
3342 1979 y(yacc)g(oxout.y)338 2029 y(lex)g(oxout.l)338 2079
3343 y(cc)h(y.tab.c)e(-ll)h(-ly)164 2245 y Fo(13)83 b(Command-line)26
3344 b(options)i(and)f(other)g(p)r(oin)n(ts)164 2355 y Fn(This)17
3345 b(section)f(describ)q(es)g(some)g(\014ne)g(p)q(oin)o(ts,)h(mostly)e
3346 (related)h(to)h(Ox)f(command-line)164 2415 y(options.)22
3347 b(Use)16 b(of)g(those)h(options)g(is)f(summarized)d(in)j(app)q(endix)g
3348 (D.)p eop
3349 %%Page: 31 32
3350 31 31 bop 164 162 a Fk(13)50 b(COMMAND-LINE)15 b(OPTIONS)h(AND)f(OTHER)
3351 h(POINTS)298 b Fn(31)164 307 y Fb(13.1)70 b(Error)24
3352 b(reco)n(v)n(ery)164 400 y Fn(Y)l(acc)14 b(has)h(pro)o(visions)g(for)g
3353 (building)f(parsers)i(that)f(attempt)e(to)i(reco)o(v)o(er)e(from)h(syn)
3354 o(tax)164 460 y(errors,)j(and)g(the)g(designer)g(can)g(use)g(the)f(w)o
3355 (ords)i Fd(error)p Fn(,)d Fd(yyerrok)p Fn(,)f(and)j Fd(yyclearin)164
3356 520 y Fn(to)f(implem)o(e)o(n)o(t)c(suc)o(h)j(error)g(reco)o(v)o(ery)f
3357 ([Johnson)j(75)q(].)j(When)15 b(a)h(parser)f(that)h(emplo)o(ys)164
3358 580 y(suc)o(h)k(tec)o(hniques)e(detects)h(a)h(syn)o(tax)g(error,)g(it)f
3359 (ma)o(y)g(attempt)f(to)i(reco)o(v)o(er)e(b)o(y)i(p)q(op-)164
3360 640 y(ping)g(items)d(from)i(its)g(stac)o(k)g(or)h(b)o(y)f(discarding)g
3361 (tok)o(ens.)31 b(During)20 b(normal)f(parsing,)164 700
3362 y(the)g(Ox-generated)h(ev)m(aluator)g(sync)o(hronizes)e(its)i(stac)o(k)
3363 f(op)q(erations)h(with)g(those)g(of)164 761 y(the)h(Y)l(acc-generated)f
3364 (parser)h(\(see)g(section)f(7\).)36 b(When)21 b(the)f(parser)i(is)e
3365 (built)h(using)164 821 y Fd(error)p Fn(,)14 b Fd(yyerrok)p
3366 Fn(,)e(or)17 b Fd(yyclearin)o Fn(,)c(and)j(a)g(syn)o(tax)g(error)g(o)q
3367 (ccurs,)f(this)h(sync)o(hroniza-)164 881 y(tion)j(is)g(lost.)29
3368 b(It)18 b(is)h(p)q(ossible)g(for)h(the)e(ev)m(aluator)i(to)f(corrupt)g
3369 (its)g(stac)o(k)f(and)i(go)f(out)164 941 y(of)d(con)o(trol)f(in)h(suc)o
3370 (h)f(cases.)22 b(Ox)15 b(pro)o(vides)g(the)h(function)f
3371 Fd(yyyerror)e Fn(to)j(prev)o(en)o(t)e(suc)o(h)164 1001
3372 y(c)o(haos.)35 b(The)21 b(parser)g(calls)f Fd(yyerror)f
3373 Fn(up)q(on)j(an)o(y)e(syn)o(tax)h(error,)g(and)h(the)e(designer)164
3374 1062 y(should)k(write)e Fd(yyerror)f Fn(suc)o(h)i(that)h
3375 Fd(yyyerror)c Fn(is)k(executed)d(at)j(least)f(once)g(eac)o(h)164
3376 1122 y(time)c Fd(yyerror)f Fn(is)j(called.)35 b(An)o(y)20
3377 b(syn)o(tax)h(error)g(will)f(then)g(cancel)h(parse-tree)f(con-)164
3378 1182 y(struction)14 b(and)h(attribute)f(ev)m(aluation,)g(and)h(it)f(is)
3379 g(ensured)g(that)g(the)g(Y)l(acc-generated)164 1242 y(co)q(de)h(can)f
3380 (con)o(tin)o(ue)f(safely)l(.)20 b(Use)14 b(of)h Fd(yyyerror)c
3381 Fn(is)j(unnecessary)h(but)f(harmless)f(if)h(the)164 1302
3382 y(Y-\014le)h(mak)o(es)g(no)i(use)f(of)h(the)f(w)o(ords)g
3383 Fd(error)p Fn(,)e Fd(yyerrok)p Fn(,)g(and)i Fd(yyclearin)p
3384 Fn(.)164 1447 y Fb(13.2)70 b(Memory)23 b(alignmen)n(t)164
3385 1539 y Fn(Man)o(y)12 b(computing)g(systems)g(ha)o(v)o(e)g(hardw)o
3386 (are-related)h(constrain)o(ts)g(on)h(the)e(addresses)164
3387 1599 y(used)i(for)f(memory)e(accesses.)20 b(F)l(or)13
3388 b(example,)f(for)h(a)h(certain)f(t)o(yp)q(e)g(it)g(ma)o(y)f(b)q(e)h
3389 (required)164 1660 y(that)i(the)g(\014rst)g(b)o(yte)g(of)g(storage)h
3390 (for)f(eac)o(h)g(v)m(ariable)f(of)i(that)f(t)o(yp)q(e)g(reside)f(at)h
3391 (an)h(ev)o(en-)164 1720 y(n)o(um)o(b)q(ered)k(address.)39
3392 b(Then)23 b(an)f(instruction)g(to)g(access)g(a)h(v)m(ariable)f(of)g
3393 (that)g(t)o(yp)q(e)164 1780 y(at)c(an)g(o)q(dd-n)o(um)o(b)q(ered)f
3394 (address)i(results)e(in)h(a)g(run-time)e(error.)26 b(When)18
3395 b(Ox)f(is)h(giv)o(en)164 1840 y(the)k Fd(-a)p Fi(N)k
3396 Fn(command-line)19 b(option,)k(it)e(pro)q(duces)i(an)f(ev)m(aluator)g
3397 (that)g(aligns)g(all)g(C)164 1900 y(structures)14 b(on)h(addresses)h
3398 (divisible)c(b)o(y)i(the)h(in)o(teger)e Fi(N)5 b Fn(.)21
3399 b(The)15 b(default)f(v)m(alue)g(for)h(this)164 1961 y(alignmen)o(t)f
3400 (constan)o(t)j(is)f(4,)g(whic)o(h)g(is)g(adequate)g(for)h(nearly)e(all)
3401 h(curren)o(t)f(computers.)164 2105 y Fb(13.3)70 b(Stripping)22
3402 b(Ox)h(constructs)164 2197 y Fn(Occasionally)l(,)16 b(the)h(designer)g
3403 (ma)o(y)e(wish)i(copies)g(of)g(the)g(Y-\014le)f(and)i(L-\014le\(s\))f
3404 (free)g(of)164 2258 y(Ox-sp)q(eci\014c)c(constructs.)20
3405 b(Supp)q(ose,)15 b(for)f(instance,)f(that)h(c)o(hanges)g(to)f(the)h
3406 (underlying)164 2318 y(grammar)h(are)i(under)f(consideration,)h(and)g
3407 (that)g(it)g(is)f(desired)g(to)h(test)g(whether)f(the)164
3408 2378 y(new)j(grammar)e(has)i(parsing)h(con\015icts.)29
3409 b(T)l(o)19 b(satisfy)g(Ox)f(seman)o(tics)f(migh)o(t)g(require)164
3410 2438 y(writing)12 b(attribute)f(de\014nitions)h(for)h(an)o(y)f(new)g
3411 (rules.)19 b(Ox's)11 b(output)i(on)g Fd(oxout.y)c Fn(could)p
3412 eop
3413 %%Page: 32 33
3414 32 32 bop 164 162 a Fk(13)50 b(COMMAND-LINE)15 b(OPTIONS)h(AND)f(OTHER)
3415 h(POINTS)298 b Fn(32)164 307 y(then)16 b(b)q(e)g(submitted)f(to)i(Y)l
3416 (acc)e(to)i(test)f(for)g(parsing)h(con\015icts.)237 367
3417 y(T)l(o)23 b(a)o(v)o(oid)f(the)g(ab)q(o)o(v)o(e-men)o(tioned)f(writing)
3418 h(of)h(attribute)f(de\014nitions,)i(the)e(de-)164 428
3419 y(signer)h(can)g(use)g(Ox's)f Fd(-S)g Fn(command-line)e(option,)25
3420 b(whic)o(h)d(\014lters)g(all)h(Ox-sp)q(eci\014c)164 488
3421 y(constructs)17 b(from)e(the)h(inputs)g(and)h(yields)e(\014les)h
3422 (acceptable)g(to)g(Y)l(acc)g(and)h(Lex.)k(The)164 548
3423 y(original)14 b(copies)h(of)g(the)f(Y-\014le)g(and)h(L-\014le\(s\))g
3424 (are)f(unc)o(hanged,)h(but)g(Ox's)f(outputs)h(on)164
3425 608 y Fd(oxout.*)10 b Fn(con)o(tain)h(neither)h(Ox)f(constructs)i(nor)g
3426 (the)e(usual)i(Ox-generated)f(parse-tree)164 668 y(managemen)o(t)i(co)q
3427 (de.)164 809 y Fb(13.4)70 b(Prev)n(en)n(ting)15 b(execution)e(of)j
3428 (attribute)e(de\014nition)g(co)r(de)164 902 y Fn(F)l(ault)o(y)22
3429 b(user-written)g(co)q(de)h(in)f(attribute)g(reference)f(sections)h(ma)o
3430 (y)f(cause)i(abnor-)164 962 y(mal)16 b(termination)g(of)i(the)f
3431 (Ox-generated)h(ev)m(aluator.)26 b(F)l(or)17 b(instance,)g
3432 (dereferencing)164 1022 y(a)i(stra)o(y)f(p)q(oin)o(ter)g(ma)o(y)e
3433 (corrupt)i(the)g(ev)m(aluator's)h(data)g(structures)f(and)h(cause)f(it)
3434 g(to)164 1082 y(falsely)d(rep)q(ort)h(a)h(cycle)d(during)i(attribute)g
3435 (ev)m(aluation.)21 b(The)16 b Fd(-n)f Fn(command-line)e(op-)164
3436 1143 y(tion)f(is)f(a)h(debugging)g(feature)g(that)g(can)f(b)q(e)h(used)
3437 g(to)g(isolate)f(the)h(e\013ects)f(of)h(anomalous)164
3438 1203 y(attribute)17 b(de\014nition)h(co)q(de.)26 b(When)18
3439 b(Ox)f(is)h(used)g(with)f(this)h(option,)g(the)g(generated)164
3440 1263 y(ev)m(aluator)j(uses)f(the)g(ready)g(set)g(as)g(usual)h(to)f
3441 (determine)e(an)i(ev)m(aluation)g(order)h(for)164 1323
3442 y(attribute)15 b(instances,)g(and)h(still)e(c)o(hec)o(ks)g(for)i
3443 (cycles.)j(Eac)o(h)c(time)f(it)h(is)g(ready)g(to)h(solv)o(e)164
3444 1383 y(an)i(instance,)g(ho)o(w)o(ev)o(er,)e(it)h(stops)i(short)g(of)f
3445 (executing)e(the)i(co)q(de)g(for)g(the)f(de\014nition)164
3446 1444 y(of)j(that)f(instance.)31 b(When)19 b Fd(-n)g Fn(is)g(used,)h
3447 (the)f(designer)g(should)h(tak)o(e)f(sp)q(ecial)g(notice)164
3448 1504 y(of)f(the)f(e\013ects)f(up)q(on)j(other)e(translation)h(phases)g
3449 (of)g(suc)o(h)f(suppression)g(of)h(seman)o(tic)164 1564
3450 y(analysis.)164 1705 y Fb(13.5)70 b(Con)n(trol)31 b(of)i(storage)f
3451 (allo)r(cation)e(in)h(the)g(generated)355 1780 y(ev)l(aluator)164
3452 1872 y Fn(When)15 b(initializing)e(itself,)h(the)h(Ox-generated)g(ev)m
3453 (aluator)h(allo)q(cates)f(memory)e(for)i(its)164 1932
3454 y(v)m(arious)i(data)g(structures.)k(When)16 b(ev)m(aluating)g(a)g
3455 (large)g(input,)g(it)f(ma)o(y)g(happ)q(en)h(that)164
3456 1993 y(the)g(space)h(allo)q(cated)g(for)g(a)g(giv)o(en)f(data)h
3457 (structure)g(is)f(inadequate.)22 b(In)17 b(suc)o(h)f(a)h(case,)164
3458 2053 y(the)k(ev)m(aluator)g(issues)g(an)g(error)g(message)g(indicating)
3459 f(whic)o(h)g(data)i(structure)e(w)o(as)164 2113 y(exceeded)12
3460 b(and)j(suggesting)g(an)f(appropriately)g(larger)g(size.)20
3461 b(The)14 b(sizes)f(of)h(these)g(data)164 2173 y(structures)i(ma)o(y)f
3462 (b)q(e)h(determined)e(b)o(y)h(the)h(default)g(v)m(alues)g(built)g(in)o
3463 (to)g(Ox,)f(or)h(b)o(y)g(the)164 2233 y(ev)m(aluator)g(designer's)e
3464 (use)h(of)h(the)e Fd(-Y)p Fi(aN)20 b Fn(option)15 b(on)h(the)f(Ox)f
3465 (command)f(line,)h(where)164 2293 y Fi(a)g Fn(is)g(an)h(alphab)q(etic)f
3466 (c)o(haracter)f(that)i(sp)q(eci\014es)f(the)g(data)h(structure)f(to)g
3467 (b)q(e)h(sized,)e(and)164 2354 y Fi(N)18 b Fn(is)13 b(an)h(in)o(teger)e
3468 (that)h(determines)e(the)i(size)f(of)h(data)h(structure)f
3469 Fi(a)f Fn(\(see)h(app)q(endix)g(D\).)237 2414 y(The)23
3470 b(ev)m(aluator)h(designer)f(can)g(easily)g(build)f(an)i(ev)m(aluator)g
3471 (that)f(accepts)g(the)164 2474 y(same)c Fd(-Y)p Fi(aN)24
3472 b Fn(command-line)18 b(options)i(accepted)g(b)o(y)g(Ox:)28
3473 b(By)20 b(sp)q(ecifying)f(the)h Fd(-YY)p eop
3474 %%Page: 33 34
3475 33 33 bop 164 162 a Fk(13)50 b(COMMAND-LINE)15 b(OPTIONS)h(AND)f(OTHER)
3476 h(POINTS)298 b Fn(33)164 307 y(option)19 b(on)g(Ox's)f(command)e(line,)
3477 i(Ox)g(is)g(instructed)g(to)h(declare)f(in)g(the)g(generated)164
3478 367 y(ev)m(aluator)h(a)h(function)e Fd(yyyCheckFo)o(rRe)o(siz)o(es)d
3479 Fn(that)20 b(can)f(read)g Fd(main)p Fn('s)e(argumen)o(ts)164
3480 428 y(\(i.e.,)11 b(the)h(command-line)d(options)k(passed)g(to)f(the)g
3481 (generated)g(ev)m(aluator\))g(and)h(adjust)164 488 y(sizes)18
3482 b(accordingly)l(.)29 b(When)19 b(using)g(the)g Fd(-YY)f
3483 Fn(option,)h(the)g(designer)g(should)g(arrange)164 548
3484 y(the)d(ev)m(aluator's)g Fd(main)f Fn(program)h(according)h(to)f(the)g
3485 (follo)o(wing)g(form:)237 592 y(.)237 608 y(.)237 625
3486 y(.)164 716 y Fa(void)21 b(yyyCheckForResize)o(s\(\);)237
3487 801 y Fn(.)237 817 y(.)237 834 y(.)164 925 y Fa(main\(argc,argv\))208
3488 975 y(int)g(argc;)208 1025 y(char)g(*argv[];)208 1075
3489 y({)237 1154 y Fn(.)237 1170 y(.)237 1187 y(.)229 1278
3490 y Fa(/*)h(This)f(is)g(executed)f(before)h(calling)f(yyparse)g(*/)229
3491 1328 y(yyyCheckForResizes\()o(argc,)o(argv\))o(;)237
3492 1413 y Fn(.)237 1429 y(.)237 1446 y(.)229 1537 y Fa(yyparse\(\);)237
3493 1622 y Fn(.)237 1638 y(.)237 1655 y(.)208 1746 y Fa(})h(/*)h(main)e(*/)
3494 164 1891 y Fb(13.6)70 b(P)n(arse)23 b(tree)f(statistics)164
3495 1983 y Fn(Placing)g Fd(-u)g Fn(on)h(Ox's)f(command)f(line)g(causes)i
3496 (generation)g(of)f(an)h(ev)m(aluator)g(that)164 2043
3497 y(prin)o(ts,)16 b(for)h(eac)o(h)f(input,)g(statistics)h(regarding)g
3498 (the)f(parse)h(tree)f(built)g(for)h(the)g(input.)164
3499 2103 y(These)f(include)f(n)o(um)o(b)q(ers)g(of:)237 2205
3500 y Fc(\017)24 b Fn(terminal)14 b(no)q(des)j(and)g(their)e(attribute)h
3501 (instances,)237 2307 y Fc(\017)24 b Fn(non)o(terminal)14
3502 b(no)q(des)j(and)g(their)f(attribute)g(instances,)164
3503 2409 y(and)h(other)f(statistics.)p eop
3504 %%Page: 34 35
3505 34 34 bop 164 162 a Fk(14)50 b(EXAMPLE:)15 b(AN)h(INTEGER)g(CALCULA)l
3506 (TOR)513 b Fn(34)164 307 y Fb(13.7)70 b(Adjusting)23
3507 b(the)f(sizes)f(of)j(Ox's)f(data)g(structures)164 400
3508 y Fn(Ox)d(itself)f(calls)h(system)f(memory)e(allo)q(cation)k(routines)f
3509 (to)h(obtain)g(storage)g(for)g(its)164 460 y(in)o(ternal)15
3510 b(data)i(structures.)k(The)16 b(default)f(sizes)g(of)i(these)e(data)i
3511 (structures)f(are)g(quite)164 520 y(generous,)25 b(and)f(exceeding)e
3512 (them)g(w)o(ould)i(b)q(e)f(somewhat)g(un)o(usual.)43
3513 b(In)24 b(case)f(an)o(y)164 580 y(of)h(these)g(is)f(exceeded,)h(Ox)g
3514 (prin)o(ts)f(an)h(error)g(message)g(indicating)f(the)g(use)h(of)h(a)164
3515 640 y(command-line)12 b(option)j(of)f(the)h(form)e Fd(-X)p
3516 Fi(aN)19 b Fn(to)c(mak)o(e)d Fi(N)20 b Fn(the)14 b(size)g(of)h(data)g
3517 (structure)164 700 y Fi(a)p Fn(.)164 867 y Fo(14)83 b(Example:)36
3518 b(an)27 b(in)n(teger)g(calculator)164 976 y Fn(This)21
3519 b(section)g(has)i(Ox)e(co)q(de)g(for)h(an)g(ev)m(aluator)f(of)h(simple)
3520 d(expressions)j(in)o(v)o(olving)164 1037 y(m)o(ultiplic)o(ation)e(and)j
3521 (addition.)40 b(Since)22 b(the)g(grammar)f(has)i(only)f(syn)o(thesized)
3522 f(at-)164 1097 y(tributes,)g(the)g(Ox)g(implem)o(en)n(tation)e
3523 (o\013ers)j(little)d(adv)m(an)o(tage)j(o)o(v)o(er)e(one)h(that)h(uses)
3524 164 1157 y(only)16 b(Y)l(acc)g(and)g(Lex;)g(it)g(is)g(presen)o(ted)f
3525 (as)i(a)g(v)o(ery)e(easy)h(example)e(of)j(Ox)f(usage.)237
3526 1207 y(The)d(L-\014le)f(sp)q(eci\014es)h(that)g(the)f(tok)o(ens)h(are)f
3527 (digit)g(strings,)i(paren)o(theses,)f Fd('*')p Fn(,)e(and)164
3528 1257 y Fd('+')p Fn(:)164 1348 y Fa(\045{)164 1398 y(/*)21
3529 b(expr.L:)42 b(L-file)21 b(for)g(a)h(simple)e(expression)g(language)g
3530 (*/)164 1448 y(#include)g("y.tab.h")164 1497 y(#include)g("oxout.h")164
3531 1547 y(\045})164 1647 y(\045\045)164 1697 y([)i(\\n\\t\\f]*)107
3532 b(;)164 1746 y([0-9]+)195 b(return\(CONST\);)19 b(@{)556
3533 1796 y(sscanf\(yytext,"\045d",)o(&\(@C)o(ONST.)o(val@\))o(\);)g(@})164
3534 1846 y(\\\()283 b(return\('\('\);)164 1896 y(\\\))g(return\('\)'\);)164
3535 1946 y(\\+)g(return\('+'\);)164 1996 y(\\*)g(return\('*'\);)164
3536 2045 y(\045\045)p eop
3537 %%Page: 35 36
3538 35 35 bop 164 162 a Fk(14)50 b(EXAMPLE:)15 b(AN)h(INTEGER)g(CALCULA)l
3539 (TOR)513 b Fn(35)237 307 y(The)22 b(grammar)e(is)h(disam)o(biguated)g
3540 (b)o(y)g(use)h(of)g(Y)l(acc's)f Fd(\045left)f Fn(reserv)o(ed)g(w)o
3541 (ord.)164 357 y(Eac)o(h)k(parse-tree)g(no)q(de)h(lab)q(eled)f(b)o(y)g
3542 Fd(s)p Fn(,)h Fd(e)p Fn(,)g(or)g Fd(CONST)d Fn(has)j(an)g(in)o(teger)e
3543 (attribute)164 407 y(instance)14 b(named)e Fd(val)p Fn(.)20
3544 b(Use)13 b(of)h(the)g(global)g(v)m(ariable)g Fd(sVal)e
3545 Fn(ob)o(viates)i(p)q(ostdecoration)164 457 y(tra)o(v)o(ersal.)164
3546 548 y Fa(/*)21 b(expr.Y:)42 b(Y-file)21 b(for)g(a)h(simple)e
3547 (expression)g(language)g(*/)164 598 y(\045left)h('+')164
3548 648 y(\045left)g('*')164 697 y(\045token)g(CONST)164
3549 797 y(@attributes)e({long)i(val;})g(s)h(e)f(CONST)164
3550 897 y(\045{)164 946 y(#include)f("oxout.h")164 996 y(long)h(sVal;)164
3551 1046 y(\045})164 1146 y(\045\045)164 1196 y(s)152 b(:)h(e)338
3552 1245 y(@{)22 b(@i)f(sVal)g(=)h(@s.val@)e(=)i(@e.val@;)259
3553 b(@})338 1295 y(;)164 1345 y(e)152 b(:)h(e)f('+')108
3554 b(e)338 1395 y(@{)22 b(@i)f(@e.0.val@)f(=)i(@e.1.val@)e(+)h(@e.2.val@;)
3555 63 b(@})338 1445 y(;)164 1494 y(e)152 b(:)h(e)f('*')108
3556 b(e)338 1544 y(@{)22 b(@i)f(@e.0.val@)f(=)i(@e.1.val@)e(*)h(@e.2.val@;)
3557 63 b(@})338 1594 y(;)164 1644 y(e)152 b(:)h('\(')108
3558 b(e)152 b('\)')338 1694 y(@{)22 b(@i)f(@e.val@)f(=)i(@e.1.val@;)368
3559 b(@})338 1743 y(;)164 1793 y(e)152 b(:)h(CONST)338 1843
3560 y(@{)22 b(@i)f(@e.val@)f(=)i(@CONST.val@;)324 b(@})338
3561 1893 y(;)164 1943 y(\045\045)164 2042 y(main\(\))164
3562 2092 y({yyparse\(\);)186 2142 y(printf\("\045d\\n",sV)o(al\);)164
3563 2192 y(})p eop
3564 %%Page: 36 37
3565 36 36 bop 164 162 a Fk(15)50 b(EXAMPLE:)15 b(A)h(BINAR)l(Y)e(NUMBER)h
3566 (TRANSLA)l(TOR)350 b Fn(36)237 307 y(The)15 b(follo)o(wing)f(command)f
3567 (sequence)g(is)h(used)h(to)g(build)f(an)h(executable)e(\014le)h
3568 Fd(calc)164 357 y Fn(from)h(the)h(ab)q(o)o(v)o(e)g(sp)q
3569 (eci\014cations:)338 448 y Fa(ox)22 b(-h)f(expr.Y)g(expr.L)338
3570 498 y(yacc)g(-d)h(oxout.y)338 548 y(lex)f(oxout.l)338
3571 598 y(cc)h(-c)f(y.tab.c)338 648 y(cc)h(-c)f(lex.yy.c)338
3572 697 y(cc)h(-o)f(calc)g(y.tab.o)f(lex.yy.o)h(-ly)g(-ll)164
3573 864 y Fo(15)83 b(Example:)36 b(a)27 b(binary)g(n)n(um)n(b)r(er)f
3574 (translator)164 973 y Fn(This)f(illustrates)f(the)h(use)g(of)g(Ox)g(to)
3575 g(build)g(an)g(ev)m(aluator)h(based)f(on)h(an)f(exam-)164
3576 1033 y(ple)c(attribute)g(grammar)42 b(that)22 b(app)q(ears)h(in)e(the)g
3577 (seminal)f(pap)q(er)i(on)g(the)g(sub)s(ject)164 1094
3578 y([Kn)o(uth)16 b(68].)33 b(The)20 b(input)h(\(after)f(remo)o(v)m(al)e
3579 (of)j(whitespace\))f(is)g(either)f(a)i(nonempt)o(y)164
3580 1154 y(string)16 b(of)g(binary)g(digits)g(or)g(t)o(w)o(o)g(suc)o(h)f
3581 (strings)i(separated)f(b)o(y)f(a)i(p)q(erio)q(d.)k(This)16
3582 b(input)164 1214 y(is)f(in)o(terpreted)e(as)i(a)h(binary)e(represen)o
3583 (tation)h(of)g(a)g(\015oating)h(p)q(oin)o(t)f(n)o(um)o(b)q(er,)e(whic)o
3584 (h)h(is)164 1274 y(then)i(prin)o(ted)f(on)i(the)f(standard)i(output)f
3585 (in)e(its)h(base-ten)h(form.)237 1324 y(F)l(ollo)o(wing)f(is)g(the)g
3586 (text)g(of)g(the)g(L-\014le:)164 1415 y Fa(\045{)164
3587 1465 y(#include)k("y.tab.h")164 1515 y(\045})164 1615
3588 y(\045\045)164 1664 y([0])261 b(return)20 b(ZERO;)164
3589 1714 y([1])261 b(return)20 b(ONE;)164 1764 y(\\.)283
3590 b(return)20 b(DOT;)164 1814 y([\\n\\t\\v)g(])131 b(;)164
3591 1864 y(.)305 b({fprintf\(stderr,")o(illeg)o(al)19 b(character\\n"\);)
3592 513 1914 y(exit\(-1\);)491 1963 y(})p eop
3593 %%Page: 37 38
3594 37 37 bop 164 162 a Fk(15)50 b(EXAMPLE:)15 b(A)h(BINAR)l(Y)e(NUMBER)h
3595 (TRANSLA)l(TOR)350 b Fn(37)237 307 y(Here)15 b(is)h(the)g(text)g(of)g
3596 (the)g(Y-\014le:)164 399 y Fa(\045token)21 b(ZERO)f(ONE)i(DOT)164
3597 498 y(@attributes)d({float)i(value;)g(int)g(scale;})412
3598 b(bit)164 548 y(@attributes)19 b({float)i(value;)g(int)g
3599 (scale,length;})258 b(bitlist)164 598 y(@attributes)19
3600 b({float)i(value;})652 b(num)164 697 y(\045start)21 b(num)164
3601 797 y(\045{)164 847 y(#include)f(<stdio.h>)164 897 y(float)h(numValue;)
3602 164 946 y(\045})p eop
3603 %%Page: 38 39
3604 38 38 bop 164 162 a Fk(15)50 b(EXAMPLE:)15 b(A)h(BINAR)l(Y)e(NUMBER)h
3605 (TRANSLA)l(TOR)350 b Fn(38)164 307 y Fa(\045\045)164
3606 357 y(bit)108 b(:)153 b(ZERO)513 407 y(@{)21 b(@i)g(@bit.value@)f(=)i
3607 (0;)578 457 y(/*)f(value)g(is)h(synthesized)d(for)i(bit.)43
3608 b(*/)578 506 y(/*)21 b(scale)g(is)h(inherited)d(for)j(bit.)86
3609 b(*/)513 556 y(@})338 606 y(;)164 706 y(bit)108 b(:)153
3610 b(ONE)513 756 y(@{)21 b(@i)g(@bit.value@)f(=)i(twoToThe\(@bit.s)o
3611 (cale@)o(\);)513 805 y(@})338 855 y(;)164 955 y(bitlist)e(:)153
3612 b(bit)513 1005 y(@{)21 b(@i)g(@bitlist.value@)e(=)j(@bit.value@;)578
3613 1054 y(@i)f(@bit.scale@)f(=)i(@bitlist.scale@)o(;)578
3614 1104 y(@i)f(@bitlist.length@)e(=)i(1;)578 1154 y(/*)g(value)g(and)g
3615 (length)g(are)g(synthesized)f(for)h(bitlist.)42 b(*/)578
3616 1204 y(/*)21 b(scale)g(is)h(inherited)d(for)j(bitlist.)347
3617 b(*/)513 1254 y(@})338 1353 y(|)153 b(bitlist)20 b(bit)513
3618 1403 y(@{)h(@i)g(@bitlist.0.value@)e(=)i(@bitlist.1.value@)e(+)i
3619 (@bit.value@;)578 1453 y(@i)g(@bit.scale@)f(=)i(@bitlist.0.scal)o(e@;)
3620 578 1503 y(@i)f(@bitlist.1.scale@)e(=)i(@bitlist.0.scale@)e(+)i(1;)578
3621 1553 y(@i)g(@bitlist.0.length@)d(=)k(@bitlist.1.length@)c(+)k(1;)513
3622 1602 y(@})338 1652 y(;)164 1752 y(num)108 b(:)153 b(bitlist)513
3623 1802 y(@{)21 b(@i)g(numValue)g(=)g(@num.value@)f(=)h
3624 (@bitlist.0.value@;)578 1851 y(@i)g(@bitlist.scale@)e(=)j(0;)578
3625 1901 y(/*)f(value)g(is)h(synthesized)d(for)i(num.)g(*/)513
3626 1951 y(@})338 2051 y(|)153 b(bitlist)20 b(DOT)108 b(bitlist)513
3627 2100 y(@{)21 b(@i)g(numValue)g(=)g(@num.value@)f(=)709
3628 2150 y(@bitlist.0.value)o(@)f(+)j(@bitlist.1.value)o(@;)578
3629 2200 y(@i)f(@bitlist.0.scale@)e(=)i(0;)578 2250 y(@i)g
3630 (@bitlist.1.scale@)e(=)i(-)h(@bitlist.1.length)o(@;)513
3631 2300 y(@})338 2350 y(;)164 2399 y(\045\045)p eop
3632 %%Page: 39 40
3633 39 39 bop 164 162 a Fk(15)50 b(EXAMPLE:)15 b(A)h(BINAR)l(Y)e(NUMBER)h
3634 (TRANSLA)l(TOR)350 b Fn(39)164 307 y Fa(main\(\))208
3635 357 y({if)21 b(\(!\(yyparse\(\)\)\))295 407 y(printf\("\04530.15f\\)o
3636 (n",nu)o(mValu)o(e\);)208 457 y(})164 656 y(float)g(twoToThe\(in\))281
3637 b(/*)21 b(returns)f(2)i(raised)e(to)i(the)f(power)g(in)g(*/)208
3638 706 y(int)g(in;)208 756 y({if)g(\(in)g(<)g(0\))h(return)e(\(1.0)h(/)h
3639 (twoToThe\(-in\)\);)229 805 y(if)g(\(in)f(==)g(0\))h(return)e(1.0;)295
3640 855 y(else)h(return)f(\(2.0)h(*)h(twoToThe\(in)d(-)j(1\)\);)208
3641 905 y(})237 1169 y Fn(Construction)16 b(of)g(the)f(ab)q(o)o(v)o(e)g(ev)
3642 m(aluator)h(follo)o(ws)g(the)f(separate)g(compilation)f(ap-)164
3643 1229 y(proac)o(h)i(describ)q(ed)g(in)g(section)g(12.)237
3644 1289 y(Remo)o(ving)e(the)h(Ox-sp)q(eci\014c)f(constructs)i(and)g(the)f
3645 Fd(printf)e Fn(statemen)o(t)h(from)g(the)164 1349 y(ab)q(o)o(v)o(e)i
3646 (source)g(yields)f(a)h(pair)g(of)g(\014les)g(that)g(constitute)g(a)g
3647 (seman)o(tics-free)e(recognizer)164 1409 y(of)j(binary)f(n)o(um)o(b)q
3648 (ers.)p eop
3649 %%Page: 40 41
3650 40 40 bop 164 162 a Fk(16)50 b(EXAMPLE:)15 b(TRANSLA)l(TION)g(TO)i
3651 (POSTFIX)e(AND)h(PREFIX)176 b Fn(40)164 315 y Fo(16)83
3652 b(Example:)34 b(translation)25 b(to)g(p)r(ost\014x)f(and)h(pre-)329
3653 407 y(\014x)164 516 y Fn(In)20 b(this)g(example,)f(the)h(generated)g
3654 (ev)m(aluator)h(is)f(to)g(p)q(erform)g(t)o(w)o(o)g(p)q(ostdecoration)
3655 164 577 y(tra)o(v)o(ersals,)f(one)h(for)g(prin)o(ting)f(the)g(pre\014x)
3656 g(form)f(of)i(a)g(giv)o(en)f(in\014x)g(expression,)g(and)164
3657 637 y(one)g(for)g(prin)o(ting)f(the)g(p)q(ost\014x)i(form.)27
3658 b(The)19 b(tok)o(ens)g(of)g(the)f(language)i(are)e(sp)q(eci\014ed)164
3659 697 y(as)f(follo)o(ws:)164 801 y Fa(\045{)164 850 y(/*)k(L-file)g(for)g
3660 (translation)f(of)h(infix)g(expressions)e(*/)164 900
3661 y(#include)h("y.tab.h")164 950 y(#include)g("oxout.h")164
3662 1050 y(char)h(*lexeme\(\))208 1100 y({char)f(*dum;)229
3663 1149 y(dum)i(=)f(\(char)g(*\)malloc\(yyleng+1)o(\);)229
3664 1199 y(strcpy\(dum,yytext\);)229 1249 y(return)g(dum;)208
3665 1299 y(})164 1398 y(\045})164 1498 y(\045\045)164 1548
3666 y([)h(\\n\\t\\f]*)303 b(;)164 1598 y([0-9]+\\.?[0-9]*)193
3667 b(return\(CONST\);)19 b(@{)i(@CONST.lexeme@)e(=)j(lexeme\(\);)e(@})164
3668 1648 y([A-Za-z_][A-Za-z_)o(0-9]*)40 b(return\(ID\);)85
3669 b(@{)21 b(@ID.lexeme@)f(=)h(lexeme\(\);)86 b(@})164 1697
3670 y(\\\()479 b(return\('\('\);)164 1747 y(\\\))g(return\('\)'\);)164
3671 1797 y(\\+)g(return\('+'\);)164 1847 y(\\*)g(return\('*'\);)164
3672 1897 y(\\/)g(return\('/'\);)164 1946 y(\\-)g(return\('-'\);)164
3673 1996 y(\045\045)p eop
3674 %%Page: 41 42
3675 41 41 bop 164 162 a Fk(16)50 b(EXAMPLE:)15 b(TRANSLA)l(TION)g(TO)i
3676 (POSTFIX)e(AND)h(PREFIX)176 b Fn(41)237 307 y(The)18
3677 b(\014rst)h(tra)o(v)o(ersal)e(p)q(erformed)g(is)h(named)f
3678 Fd(LRpre)p Fn(,)g(and)i(the)f(second)g(is)g(named)164
3679 367 y Fd(LRpost)p Fn(.)23 b(By)16 b(default,)h(b)q(oth)i(are)e
3680 (left-to-righ)o(t)g(tra)o(v)o(ersals.)24 b Fd(LRpost)16
3681 b Fn(is)h(a)h(p)q(ostorder)164 428 y(tra)o(v)o(ersal)d(b)o(y)h
3682 (default.)21 b Fd(LRpre)14 b Fn(is)j(sp)q(eci\014ed)e(as)i(a)g
3683 (preorder)f(tra)o(v)o(ersal.)164 581 y Fa(/*)21 b(Y-file)g(for)g
3684 (translation)f(of)h(infix)g(expressions)e(to)j(prefix)e(and)h(postfix)g
3685 (*/)164 631 y(\045token)g(ID)g(CONST)164 681 y(\045start)g(s)164
3686 731 y(\045left)g('+')g('-')164 780 y(\045left)g('*')g('/')164
3687 880 y(@attributes)e({char)i(*lexeme;})f(ID)i(CONST)164
3688 930 y(@traversal)e(@preorder)g(LRpre)164 980 y(@traversal)g(LRpost)164
3689 1079 y(\045{)164 1129 y(#include)g("oxout.h")164 1179
3690 y(#include)g(<stdio.h>)164 1229 y(\045})p eop
3691 %%Page: 42 43
3692 42 42 bop 164 162 a Fk(16)50 b(EXAMPLE:)15 b(TRANSLA)l(TION)g(TO)i
3693 (POSTFIX)e(AND)h(PREFIX)176 b Fn(42)164 307 y Fa(\045\045)164
3694 357 y(s)152 b(:)h(expr)513 407 y(@{)21 b(@LRpost)f(printf\("\\n"\);)578
3695 457 y(@LRpost)g(@revorder)g(\(1\))h(printf\("postfix:)41
3696 b("\);)578 506 y(@LRpre)h(@revorder)20 b(\(1\))h(printf\("\\n"\);)578
3697 556 y(@LRpre)42 b(printf\("prefix:)63 b("\);)513 606
3698 y(@})164 656 y(expr)86 b(:)153 b(expr)86 b('*')108 b(expr)513
3699 706 y(@{)21 b(@LRpost)f(printf\(")h(*)g("\);)578 756
3700 y(@LRpre)42 b(printf\(")21 b(*)g("\);)513 805 y(@})338
3701 855 y(|)153 b(expr)86 b('+')108 b(expr)513 905 y(@{)21
3702 b(@LRpre)42 b(printf\(")21 b(+)g("\);)578 955 y(@LRpost)f(printf\(")h
3703 (+)g("\);)513 1005 y(@})338 1054 y(|)153 b(expr)86 b('/')108
3704 b(expr)513 1104 y(@{)21 b(@LRpost)f(printf\(")h(/)g("\);)578
3705 1154 y(@LRpre)42 b(printf\(")21 b(/)g("\);)513 1204 y(@})338
3706 1254 y(|)153 b(expr)86 b('-')108 b(expr)513 1303 y(@{)21
3707 b(@LRpost)f(printf\(")h(-)g("\);)578 1353 y(@LRpre)42
3708 b(printf\(")21 b(-)g("\);)513 1403 y(@})338 1453 y(|)153
3709 b('\(')108 b(expr)86 b('\)')338 1503 y(|)153 b(ID)513
3710 1553 y(@{)21 b(@LRpost)f(printf\(")h(\045s)g(",@ID.lexeme@\);)578
3711 1602 y(@LRpre)42 b(printf\(")21 b(\045s)g(",@ID.lexeme@\);)513
3712 1652 y(@})338 1702 y(|)153 b(CONST)513 1752 y(@{)21 b(@LRpost)f
3713 (printf\(")h(\045s)g(",@CONST.lexeme@\))o(;)578 1802
3714 y(@LRpre)42 b(printf\(")21 b(\045s)g(",@CONST.lexeme@\))o(;)513
3715 1851 y(@})338 1901 y(;)164 1951 y(\045\045)164 2100 y(main\(\))208
3716 2150 y({yyparse\(\);)208 2200 y(})p eop
3717 %%Page: 43 44
3718 43 43 bop 164 162 a Fk(A)48 b(USING)16 b(O)o(X)k(WITH)c(NON-LEX)21
3719 b(LEXICAL)16 b(ANAL)l(YZERS)277 b Fn(43)164 315 y Fo(A)83
3720 b(Using)27 b(Ox)g(with)g(non-Lex)g(lexical)f(analyzers)164
3721 440 y Fb(A.1)69 b(Default)30 b(con)n(text-sensitivi)o(t)n(y)e(of)j
3722 (L-\014le)f(prepro)r(cess-)338 514 y(ing)164 607 y Fn(Unless)18
3723 b(instructed)h(otherwise,)g(Ox)g(searc)o(hes)f(eac)o(h)h(L-\014le)g
3724 (for)g Fd(return)e Fn(statemen)o(ts)164 667 y(in)g(the)g(con)o(text)g
3725 (of)h(C-co)q(ded)g(Lex)f(actions.)25 b(Since)17 b(the)g(string)h
3726 Fd(return)d Fn(m)o(ust)h(b)q(e)i(ig-)164 727 y(nored)e(outside)f(of)h
3727 (that)g(con)o(text)f(\(for)g(instance,)g(in)g(a)h(Lex)g(regular)f
3728 (expression\),)g(the)164 787 y(default)k(b)q(eha)o(vior)h(of)g
3729 (Ox-prepro)q(cessing)g(is)f(to)h(assume)f(that)h(the)g(L-\014le)g
3730 (conforms)164 847 y(to)h(the)g(syn)o(tax)g(of)g(a)g(\(p)q(ossibly)g
3731 (Ox-augmen)o(ted\))f(Lex)g(\014le.)35 b(Th)o(us)21 b(Ox)g(recognizes)
3732 164 908 y(the)15 b(three)h Fd(return)d Fn(statemen)o(ts)h(in)i(the)f
3733 (follo)o(wing)g(\(unaugmen)o(ted\))g(fragmen)o(t)f(of)i(an)164
3734 968 y(L-\014le:)237 1062 y(.)237 1078 y(.)237 1095 y(.)164
3735 1184 y Fd(renames)74 b(return\(TK_R)o(ENA)o(ME)o(S\);)164
3736 1244 y(return)100 b(return\(TK_R)o(ETU)o(RN)o(\);)164
3737 1305 y(reverse)74 b(return\(TK_R)o(EVE)o(RS)o(E\);)237
3738 1375 y Fn(.)237 1391 y(.)237 1408 y(.)164 1528 y(as)24
3739 b(p)q(oin)o(ts)g(of)g Fd(return)d Fn(of)j(tok)o(ens)g(b)o(y)f
3740 Fd(yylex)p Fn(.)41 b(Ox's)23 b(sensitivit)o(y)e(to)j(the)g(con)o(text)
3741 164 1588 y(of)16 b(the)g(string)g Fd(return)d Fn(in)j(the)f(second)h
3742 (Lex)g(regular)f(expression)h(ab)q(o)o(v)o(e)g(prev)o(en)o(ts)e(its)164
3743 1648 y(erroneous)j(recognition)f(as)h(a)f(p)q(oin)o(t)h(of)f
3744 Fd(return)e Fn(from)h(the)h(lexical)f(analyzer.)164 1791
3745 y Fb(A.2)69 b(Ox-prepro)r(cessing)23 b(of)g(C-co)r(ded)f(lexical)e
3746 (analyzers)164 1883 y Fn(Ox)h(alw)o(a)o(ys)g(ignores)h(the)f(string)g
3747 Fd(return)e Fn(in)i(the)g(con)o(text)f(of)i(C/C++)g(commen)o(ts)164
3748 1943 y(and)g(string)g(constan)o(ts.)39 b(When)21 b(giv)o(en)g(the)h
3749 Fd(-G)f Fn(command-line)d(option)23 b(preceding)164 2003
3750 y(the)18 b(name)f(of)h(an)h(L-\014le,)f(it)g(ignores)g
3751 Fd(return)e Fg(only)j Fn(in)f(those)g(con)o(texts.)27
3752 b(Th)o(us)18 b(a)h(\014le)164 2064 y(con)o(taining)13
3753 b(C/C++)h(co)q(de)g(ma)o(y)e(b)q(e)i(augmen)o(ted)e(with)h(attribute)g
3754 (reference)f(sections)164 2124 y(and)21 b(input)g(to)g(Ox)g(as)g(an)g
3755 (L-\014le.)35 b(The)21 b(o)q(ccurrences)f(of)h(the)g(string)g
3756 Fd(return)d Fn(m)o(ust)164 2184 y(coincide)d(exactly)g(with)h
3757 Fd(return)p Fn(s)e(of)j(tok)o(ens.)164 2312 y Fj(A.2.1)55
3758 b(Example)164 2404 y Fn(Supp)q(ose)17 b(it)e(is)h(desired)f(to)h(con)o
3759 (v)o(ert)e(to)i(Ox)g(a)g(translator)h(that)f(uses)g(the)f(follo)o(wing)
3760 h(C)164 2464 y(co)q(de)g(for)h(its)f(lexical)e(analyzer:)p
3761 eop
3762 %%Page: 44 45
3763 44 44 bop 164 162 a Fk(A)48 b(USING)16 b(O)o(X)k(WITH)c(NON-LEX)21
3764 b(LEXICAL)16 b(ANAL)l(YZERS)277 b Fn(44)164 307 y Fa(#include)20
3765 b(<stdio.h>)164 357 y(#include)g(<string.h>)164 407 y(#include)g
3766 ("y.tab.h")164 506 y(#define)g(bufsize)h(80)164 556 y(char)g
3767 (buf[bufsize];)164 606 y(char)g(*lexBuf;)164 706 y(char)g
3768 (*lexeme\(inString\))208 756 y(char)g(inString[];)208
3769 805 y({return)f(strcpy\(\(char)f(*\)malloc\(1+strlen\()o(inStr)o
3770 (ing\)\))o(,inSt)o(ring\))o(;})164 905 y(int)i(yylex\(\))208
3771 955 y({char)f(*bufp)h(=)h(buf;)229 1054 y(while)f(\(\(*bufp)f(=)i
3772 (getchar\(\)\))e(!=)h(EOF\))273 1104 y({if)g(\(bufp)g(==)g(\(buf)g(+)h
3773 (bufsize)e(-)i(1\)\))360 1154 y({fprintf\(stderr,"e)o(xceed)o(ed)d
3774 (buffer\\n"\);)g(exit\(-1\);})295 1204 y(if)i(\(\(*bufp)f(==)i(')f('\))
3775 44 b(||)21 b(\(*bufp)g(==)g('\\n'\))g(||)382 1254 y(\(*bufp)f(==)i
3776 ('\\t'\))f(||)g(\(*bufp)g(==)g('\\f'\))360 1303 y(\))360
3777 1353 y({if)g(\(bufp)g(==)g(buf\))g(continue;)f(else)h(break;})295
3778 1403 y(if)g(\(!isalnum\(*bufp\)\))d({fprintf\(stderr,"il)o(legal)g
3779 (character\\n"\);)h(exit\(-1\);})295 1453 y(bufp++;)273
3780 1503 y(})229 1553 y(if)j(\(bufp)e(!=)i(buf\))295 1602
3781 y({*++bufp)e(=)h('\\0';)317 1652 y(lexBuf)f(=)i(lexeme\(buf\);)317
3782 1702 y(bufp)e(=)i(lexBuf;)317 1752 y(if)f(\(isalpha\(lexBuf[0)o(]\)\))
3783 382 1802 y({while)f(\(*bufp)h(!=)g('\\0'\))447 1851 y(if)h
3784 (\(isdigit\(*bufp++)o(\)\))513 1901 y({fprintf\(stderr,)o("ille)o(gal)c
3785 (string\\n"\);)i(exit\(-1\);})404 1951 y(return)g(\(IDENT\);)382
3786 2001 y(})317 2051 y(if)h(\(isdigit\(lexBuf[0)o(]\)\))382
3787 2100 y({while)f(\(*bufp)h(!=)g('\\0'\))447 2150 y(if)h
3788 (\(isalpha\(*bufp++)o(\)\))513 2200 y({fprintf\(stderr,)o("ille)o(gal)c
3789 (string\\n"\);)i(exit\(-1\);})404 2250 y(return)g(\(ICONST\);)382
3790 2300 y(})295 2350 y(})229 2399 y(return)h(0;)208 2449
3791 y(})p eop
3792 %%Page: 45 46
3793 45 45 bop 164 162 a Fk(A)48 b(USING)16 b(O)o(X)k(WITH)c(NON-LEX)21
3794 b(LEXICAL)16 b(ANAL)l(YZERS)277 b Fn(45)237 307 y(The)18
3795 b(C)g(reserv)o(ed)e(w)o(ord)i Fd(return)e Fn(o)q(ccurs)i(in)f(the)g
3796 (\014le)g(exactly)g(four)h(times.)24 b(Only)164 367 y(t)o(w)o(o)17
3797 b(of)g(these)g(o)q(ccurrences)g(corresp)q(ond)h(to)f
3798 Fd(return)p Fn(s)e(of)j(tok)o(ens)f(b)o(y)f(the)h(lexical)e(an-)164
3799 428 y(alyzer.)26 b(The)18 b(approac)o(h)h(is)f(to)h(excise)d(from)h
3800 (the)h(\014le)g(a)g(section)g(of)h(co)q(de)f(con)o(taining)164
3801 488 y(those)i(t)o(w)o(o)f(o)q(ccurrences)g(\(and)h(no)f(others\),)h
3802 (place)f(that)h(co)q(de)f(section)g(it)g(in)g(a)h(sep-)164
3803 548 y(arate)g(\014le,)f(and)h(submit)e(the)i(new)f(\014le)g(to)h(Ox)f
3804 (as)h(a)g(non-Lex)g(L-\014le,)g(b)o(y)f(using)h(the)164
3805 608 y Fd(-G)15 b Fn(option.)22 b(Ox)15 b(translates)h(the)g(new)g
3806 (\014le)f(and)h(places)f(it)h(on)g Fd(oxout.l)p Fn(.)i(The)e(excised)
3807 164 668 y(co)q(de)g(is)g(replaced)g(in)g(the)g(original)g(\014le)f(b)o
3808 (y)h(the)g(line:)292 770 y Fd(#include)23 b("oxout.l")237
3809 872 y Fn(Here)17 b(is)g(the)g(L-\014le,)h(whic)o(h)f(has)h(b)q(een)g
3810 (augmen)o(ted)e(b)o(y)h(t)o(w)o(o)g(attribute)h(reference)164
3811 932 y(sections:)317 1036 y Fa(if)j(\(isalpha\(lexBuf[0)o(]\)\))382
3812 1086 y({while)f(\(*bufp)h(!=)g('\\0'\))447 1135 y(if)h
3813 (\(isdigit\(*bufp++)o(\)\))513 1185 y({fprintf\(stderr,)o("ille)o(gal)c
3814 (string\\n"\);)i(exit\(-1\);})404 1235 y(return)g(\(IDENT\);)42
3815 b(@{)22 b(@IDENT.string@)c(=)k(lexBuf;)e(@})382 1285
3816 y(})317 1335 y(if)h(\(isdigit\(lexBuf[0)o(]\)\))382 1384
3817 y({while)f(\(*bufp)h(!=)g('\\0'\))447 1434 y(if)h(\(isalpha\(*bufp++)o
3818 (\)\))513 1484 y({fprintf\(stderr,)o("ille)o(gal)c(string\\n"\);)i
3819 (exit\(-1\);})404 1534 y(return)g(\(ICONST\);)g(@{)i(@ICONST.string@)c
3820 (=)k(lexBuf;)e(@})382 1584 y(})237 1698 y Fn(Here)12
3821 b(is)i(the)f(sk)o(eleton)f(of)i(the)f(lexical)e(analyzer,)i(whic)o(h)g
3822 (no)o(w)h Fd(#include)p Fn(s)c(the)j(\014les)164 1758
3823 y Fd(oxout.h)h Fn(and)i Fd(oxout.l)p Fn(:)p eop
3824 %%Page: 46 47
3825 46 46 bop 164 162 a Fk(A)48 b(USING)16 b(O)o(X)k(WITH)c(NON-LEX)21
3826 b(LEXICAL)16 b(ANAL)l(YZERS)277 b Fn(46)164 307 y Fa(#include)20
3827 b(<stdio.h>)164 357 y(#include)g(<string.h>)164 407 y(#include)g
3828 ("y.tab.h")164 457 y(#include)g("oxout.h")164 556 y(#define)g(bufsize)h
3829 (80)164 606 y(char)g(buf[bufsize];)164 656 y(char)g(*lexBuf;)164
3830 756 y(char)g(*lexeme\(inString\))208 805 y(char)g(inString[];)208
3831 855 y({return)f(strcpy\(\(char)f(*\)malloc\(1+strlen\()o(inStr)o
3832 (ing\)\))o(,inSt)o(ring\))o(;})164 955 y(int)i(yylex\(\))208
3833 1005 y({char)f(*bufp)h(=)h(buf;)229 1104 y(while)f(\(\(*bufp)f(=)i
3834 (getchar\(\)\))e(!=)h(EOF\))273 1154 y({if)g(\(bufp)g(==)g(\(buf)g(+)h
3835 (bufsize)e(-)i(1\)\))360 1204 y({fprintf\(stderr,"e)o(xceed)o(ed)d
3836 (buffer\\n"\);)g(exit\(-1\);})295 1254 y(if)i(\(\(*bufp)f(==)i(')f('\))
3837 44 b(||)21 b(\(*bufp)g(==)g('\\n'\))g(||)382 1303 y(\(*bufp)f(==)i
3838 ('\\t'\))f(||)g(\(*bufp)g(==)g('\\f'\))360 1353 y(\))360
3839 1403 y({if)g(\(bufp)g(==)g(buf\))g(continue;)f(else)h(break;})295
3840 1453 y(if)g(\(!isalnum\(*bufp\)\))d({fprintf\(stderr,"il)o(legal)g
3841 (character\\n"\);)h(exit\(-1\);})295 1503 y(bufp++;)273
3842 1553 y(})229 1602 y(if)j(\(bufp)e(!=)i(buf\))295 1652
3843 y({*++bufp)e(=)h('\\0';)317 1702 y(lexBuf)f(=)i(lexeme\(buf\);)317
3844 1752 y(bufp)e(=)i(lexBuf;)164 1851 y(#include)e("oxout.l")295
3845 1951 y(})229 2001 y(return)h(0;)208 2051 y(})p eop
3846 %%Page: 47 48
3847 47 47 bop 164 162 a Fk(B)48 b(TRA)-5 b(VERSAL)16 b(SEMANTICS)874
3848 b Fn(47)164 315 y Fo(B)82 b(T)-7 b(ra)n(v)n(ersal)27
3849 b(seman)n(tics)164 425 y Fn(The)16 b(b)q(eha)o(vior)g(of)g(p)q
3850 (ostdecoration)i(tra)o(v)o(ersals)d(w)o(as)i(illustrated)e(in)h(the)g
3851 (examples)e(of)164 485 y(section)d(9.2.)20 b(In)11 b(view)g(of)g(those)
3852 h(examples,)e(the)h(C-lik)o(e)f(pseudo)q(co)q(de)j(in)e(this)g(app)q
3853 (endix)164 545 y(holds)h(no)h(surprises,)f(but)g(describ)q(es)g(suc)o
3854 (h)g(b)q(eha)o(vior)g(somewhat)f(more)g(formally)l(.)18
3855 b(The)164 606 y(tra)o(v)o(ersals)d(are)i(carried)e(out)h(b)o(y)g(a)g
3856 (single)g(call)f(of)i Fd(doTravers)o(als)12 b Fn(\(b)q(elo)o(w\))k
3857 (after)g(the)164 666 y(\014nal)g(decoration.)164 770
3858 y Fa(enum)21 b(orderType)f({PREORDER,POSTORD)o(ER};)164
3859 819 y(enum)h(directionType)e({LEFTTORIGHT,RIGHT)o(TOLE)o(FT};)164
3860 1019 y(enum)i(orderType)f(staticOrder\(trave)o(rsal)e(T\))208
3861 1068 y({if)j(\(@preorder)e(appears)i(in)g(the)g(traversal)f
3862 (specification)f(of)j(T\))317 1118 y(return)e(PREORDER;)229
3863 1168 y(return)h(POSTORDER;)208 1218 y(})164 1417 y(enum)g
3864 (directionType)e(staticDirection\(tr)o(aver)o(sal)g(T\))208
3865 1467 y({if)i(\(@righttoleft)e(appears)h(in)i(the)f(traversal)f
3866 (specification)f(of)i(T\))317 1517 y(return)f(RIGHTTOLEFT;)229
3867 1567 y(return)h(LEFTTORIGHT;)208 1616 y(})164 1816 y(int)g
3868 (isDisabled\(travers)o(al)e(T\))208 1865 y({if)i(\(@disable)f(appears)g
3869 (in)h(the)h(traversal)d(specification)h(of)h(T\))317
3870 1915 y(return)f(1;)229 1965 y(return)h(0;)208 2015 y(})p
3871 eop
3872 %%Page: 48 49
3873 48 48 bop 164 162 a Fk(B)48 b(TRA)-5 b(VERSAL)16 b(SEMANTICS)874
3874 b Fn(48)164 307 y Fa(void)21 b(pdTrav\(parse_tree)o(_node)d(N,)k
3875 (traversal)d(T\))208 357 y({grammar_rule)g(R;)261 b(/*)21
3876 b(the)g(rule)g(applied)g(at)g(N)h(*/)229 407 y(enum)f(orderType)f
3877 (order[Z];)64 b(/*)43 b(Z)g(>=)g(#)22 b(of)f(traversal)f(action)h
3878 (specs)1057 457 y(for)h(T)f(in)h(R)43 b(*/)229 506 y(enum)21
3879 b(directionType)e(direction;)229 556 y(int)j(i,j,k;)229
3880 656 y(R)g(=)g(the)f(grammar)f(rule)h(applied)f(at)i(N;)229
3881 706 y(let)g(the)f(traversal)f(actions)g(for)h(T)h(in)f(the)g(attribute)
3882 f(definition)g(section)317 756 y(of)h(R)g(be)h(numbered)e(from)h(0)h
3883 (to)f(k-1;)229 805 y(for)h(\(i=0;)e(i<k;)h(i++\))317
3884 855 y({if)g(\(the)g(ith)g(traversal)f(action)g(specifier)g(has)h(no)h
3885 (@revorder\))491 905 y(order[i])e(=)i(staticOrder\(T\);)404
3886 955 y(else)f(if)g(\(\(the)g(expression)f(associated)f(with)i
3887 (@revorder\))f(==)h(0\))491 1005 y(order[i])f(=)i(staticOrder\(T\);)404
3888 1054 y(else)f(if)g(\(staticOrder\(T\))e(==)i(POSTORDER\))491
3889 1104 y(order[i])f(=)i(PREORDER;)404 1154 y(else)491 1204
3890 y(order[i])e(=)i(POSTORDER;)338 1254 y(if)g(\(the)f(ith)g(traversal)f
3891 (action)g(specifier)g(has)h(no)h(@revdirection\))491
3892 1303 y(direction)e(=)h(staticDirection\(T\);)404 1353
3893 y(else)g(if)g(\(\(the)g(expression)f(asociated)f(with)i
3894 (@revdirection\))e(==)j(0\))491 1403 y(direction)e(=)h
3895 (staticDirection\(T\);)404 1453 y(else)g(if)g(\(staticDirection\(T)o
3896 (\))e(==)i(LEFTTORIGHT\))491 1503 y(direction)f(=)h(RIGHTTOLEFT;)404
3897 1553 y(else)491 1602 y(direction)f(=)h(LEFTTORIGHT;)317
3898 1652 y(})229 1702 y(for)h(\(i=0;)e(i<k;)h(i++\))317 1752
3899 y(if)g(\(order[i])f(=)h(PREORDER\))404 1802 y(execute)f(the)h(ith)g
3900 (traversal)f(action;)229 1851 y(number)h(the)g(children)f(of)i(N)f
3901 (from)g(left)g(to)g(right)338 1901 y(with)g(integers)f(from)h(0)h(to)f
3902 (j-1;)229 1951 y(if)h(\(direction)d(==)j(LEFTTORIGHT\))317
3903 2001 y(for)f(\(i=0;)f(i<j;)h(i++\))43 b(pdTrav\(the)20
3904 b(ith)h(child)g(of)g(N,T\);)317 2051 y(else)317 2100
3905 y(for)g(\(i=j-1;)f(i>=0;)h(i--\))43 b(pdTrav\(the)19
3906 b(ith)i(child)g(of)h(N,T\);)229 2150 y(for)g(\(i=0;)e(i<k;)h(i++\))317
3907 2200 y(if)g(\(order[i])f(=)h(POSTORDER\))404 2250 y(execute)f(the)h
3908 (ith)g(traversal)f(action;)208 2300 y(})p eop
3909 %%Page: 49 50
3910 49 49 bop 164 162 a Fk(B)48 b(TRA)-5 b(VERSAL)16 b(SEMANTICS)874
3911 b Fn(49)164 307 y Fa(void)21 b(doTraversals\(\))208 357
3912 y({int)g(i,k;)229 407 y(parse_tree_node)e(r;)229 506
3913 y(r)j(=)g(the)f(root)g(of)g(the)g(parse)g(tree;)229 556
3914 y(k)h(=)g(the)f(number)f(of)i(traversals;)229 606 y(number)f(the)g
3915 (traversals)f(from)h(0)g(to)h(k-1,)f(according)f(to)295
3916 656 y(the)h(order)g(of)g(appearance)f(of)h(their)g(specifications;)229
3917 706 y(for)h(\(i=0;)e(i<k;)h(i++\))317 756 y(if)g(\(!isDisabled\(the)d
3918 (ith)k(traversal\)\))382 805 y(pdTrav\(r,the)d(ith)i(traversal\);)208
3919 855 y(})p eop
3920 %%Page: 50 51
3921 50 50 bop 164 162 a Fk(C)49 b(LIST)17 b(OF)f(RESER)-5
3922 b(VED)16 b(W)o(ORDS)g(AND)g(RESER)-5 b(VED)16 b(FILE)g(NAMES)69
3923 b Fn(50)164 315 y Fo(C)82 b(List)36 b(of)i(reserv)n(ed)d(w)n(ords)h
3924 (and)g(reserv)n(ed)f(\014le)306 407 y(names)164 516 y
3925 Fn(The)16 b(Ox)g(reserv)o(ed)f(w)o(ords)i(are)f(as)h(follo)o(ws:)189
3926 623 y Fd(@)p Fc(f)189 683 y Fd(@)p Fc(g)189 743 y Fd(@attribute)o(s)189
3927 803 y(@autoinh)189 864 y(@autosyn)189 924 y(@disable)189
3928 984 y(@e)189 1044 y(@i)189 1104 y(@lefttorig)o(ht)189
3929 1165 y(@m)189 1225 y(@postorder)189 1285 y(@preorder)189
3930 1345 y(@revdirect)o(io)o(n)189 1405 y(@revorder)189 1465
3931 y(@righttole)o(ft)189 1526 y(@warn)164 1668 y Fn(The)23
3932 b(follo)o(wing)g(\014le)g(names)g(in)g(the)g(curren)o(t)f(directory)h
3933 (are)g(reserv)o(ed)f(for)i(use)f(b)o(y)164 1728 y(Ox:)189
3934 1835 y Fd(oxout.h)638 b Fn(\(exactly)15 b(when)h(using)h
3935 Fd(-h)e Fn(option\))189 1895 y Fd(oxout.y)189 1955 y(oxout.l)638
3936 b Fn(\(exactly)15 b(when)h(using)h(exactly)e(one)h(Y-\014le\))189
3937 2015 y Fd(oxout0.l)p Fn(,)d Fd(oxout1.l)p Fn(,)g Fd(oxout2.l)p
3938 Fn(,)f Fi(:)c(:)g(:)58 b Fn(\(when)16 b(using)h(more)e(than)i(one)f
3939 (L-\014le\))p eop
3940 %%Page: 51 52
3941 51 51 bop 164 162 a Fk(D)49 b(SUMMAR)l(Y)14 b(OF)i(COMMAND-LINE)g
3942 (OPTIONS)474 b Fn(51)164 315 y Fo(D)83 b(Summary)26 b(of)i
3943 (command-line)f(options)164 425 y Fn(The)16 b(Ox)g(command)e(line)h
3944 (tak)o(es)h(the)g(form:)237 545 y Fd(ox)g Fc(f)g Fg(option)g
3945 Fc(g)g Fg(Y-\014le)j Fn([)p Fd(-G)p Fn(])14 b Fg(L-\014le)k
3946 Fc(f)e Fn([)p Fd(-G)p Fn(])f Fg(L-\014le)i Fc(g)164 666
3947 y Fn(The)f Fd(-G)g Fn(ann)o(unciator)g(and)h(the)f Fg(option)p
3948 Fn(s)h(are)f(describ)q(ed)g(as)h(follo)o(ws:)164 767
3949 y Fd(-G)24 b Fn(The)14 b(\014lename)f(whic)o(h)h(follo)o(ws)h(is)g
3950 (that)g(of)g(a)g(generic)f(\(i.e.)19 b(non-Lex\))d(L-\014le.)21
3951 b(This)286 828 y(option)14 b(is)g(used)g(when)g(the)g(Ox)g(user)f
3952 (prefers)h(a)g(scanner)g(hand-written)h(in)e(C)i(or)286
3953 888 y(C++.)22 b(Except)16 b(for)h(attribute)f(reference)f(sections,)h
3954 (the)g(L-\014le)h(m)o(ust)e(conform)286 948 y(to)23 b(C/C++)g(syn)o
3955 (tax.)39 b(The)23 b Fd(return)d Fn(reserv)o(ed)h(w)o(ord)i(is)f
3956 (recognized)g(in)g(an)o(y)286 1008 y(con)o(text)15 b(other)i(than)f
3957 (commen)o(ts)e(and)j(string)f(literals.)k(See)c(app)q(endix)g(A.)164
3958 1110 y Fd(-C)24 b Fn(Prin)o(t)15 b(the)h(Ox)g(cop)o(yrigh)o(t)g
3959 (statemen)o(t)e(and)j(disclaimer.)164 1212 y Fd(-I)24
3960 b Fn(Generate)16 b(co)q(de)g(for)h(C++)f(or)h(ANSI/ISO)e(C)h
3961 (compilation.)164 1313 y Fd(-S)24 b Fn(Strip)c(Ox-sp)q(eci\014c)g
3962 (constructs)h(from)e(the)h(Y-\014le)g(and)h(L-\014le\(s\))g(and)g
3963 (place)f(the)286 1374 y(pure)c(Y)l(acc)g(and)g(pure)g(Lex)h(results)f
3964 (on)g Fd(oxout*.*)p Fn(.)j(See)c(section)h(13.3.)164
3965 1475 y Fd(-U)24 b Fn(Sho)o(w)16 b(the)g(form)f(of)i(the)f(Ox)g(command)
3966 e(line.)164 1577 y Fd(-V)24 b Fn(Prin)o(t)15 b(the)h(v)o(ersion)g(n)o
3967 (um)o(b)q(er.)164 1679 y Fd(-h)24 b Fn(Pro)q(duce)c(an)g(Ox)f(header)h
3968 (\014le)f Fd(oxout.h)e Fn(to)j(b)q(e)g Fd(#include)p
3969 Fn(d)d(in)i(a)h(co)q(de)g(section)286 1739 y(\(b)q(et)o(w)o(een)f
3970 Fd(\045)p Fc(f)g Fn(and)h Fd(\045)p Fc(g)p Fn(\))f(in)g(the)h(Y-\014le)
3971 e(or)i(L-\014le\(s\).)32 b(This)19 b(p)q(ermits)f(one-step)286
3972 1799 y(compilation)11 b(of)i(the)g(parser)g(and)g(scanner\(s\).)21
3973 b(When)12 b(this)h(option)g(is)g(not)g(used,)286 1859
3974 y(Ox)18 b(places)f(the)h(header)g(information)f(in)h(eac)o(h)f(output)i
3975 (\014le)e(rather)h(than)h(in)f(a)286 1919 y(separate)f(header)f
3976 (\014le.)k(See)c(section)g(12.3.)164 2021 y Fd(-n)24
3977 b Fn(Generate)12 b(an)i(ev)m(aluator)f(that)h(determines)d(an)i(ev)m
3978 (aluation)g(order)h(and)f(c)o(hec)o(ks)f(for)286 2081
3979 y(cycles,)f(but)h(do)q(es)h(not)f(execute)f(the)g(co)q(de)h(that)h(ev)m
3980 (aluates)f(attribute)f(instances.)286 2141 y(See)16 b(section)f(13.4.)
3981 164 2243 y Fd(-u)24 b Fn(Generate)16 b(an)g(ev)m(aluator)h(that)f(prin)
3982 o(ts)g(parse-tree)g(memory-usage)f(statistics)h(for)286
3983 2303 y(eac)o(h)g(input.)21 b(See)15 b(section)h(13.6.)164
3984 2405 y Fd(-a)p Fi(N)29 b Fn(Set)13 b Fi(N)18 b Fn(as)13
3985 b(the)g(generated)g(ev)m(aluator's)g(default)g(structure-alignmen)o(t)d
3986 (size.)20 b(By)286 2465 y(default,)15 b(the)h(default)g
3987 (structure-alignmen)o(t)f(size)g(is)h(4.)22 b(See)15
3988 b(section)h(13.2.)p eop
3989 %%Page: 52 53
3990 52 52 bop 164 162 a Fk(D)49 b(SUMMAR)l(Y)14 b(OF)i(COMMAND-LINE)g
3991 (OPTIONS)474 b Fn(52)164 307 y Fd(-Y)p Fi(aN)28 b Fn(Where)21
3992 b Fi(N)k Fn(is)c(an)g(in)o(teger)e(and)j Fi(a)e Fn(is)g(one)h(of)g(the)
3993 f(alphab)q(etic)g(c)o(haracters)h Fd(n)p Fn(,)286 367
3994 y Fd(c)p Fn(,)g(or)g Fd(r)p Fn(,)g(c)o(hange)g(the)f(default)h(size)f
3995 (of)h(data)g(structure)g Fi(a)f Fn(in)g(the)h(generated)286
3996 428 y(ev)m(aluator)k(to)f(size)f Fi(N)5 b Fn(.)46 b(When)24
3997 b(suc)o(h)g(a)g(data)h(structure)f(is)g(exceeded,)g(the)286
3998 488 y(generated)18 b(ev)m(aluator)h(issues)f(an)g(error)h(message)e
3999 (calling)g(for)i(use)f(of)g(a)h Fd(-Y)p Fi(aN)286 548
4000 y Fn(option.)j(The)16 b(e\013ects)f(of)i(the)e Fd(-Y)p
4001 Fi(aN)20 b Fn(options)d(for)f(the)g(v)m(arious)h(v)m(alues)f(of)g
4002 Fi(a)g Fn(are)286 608 y(as)h(follo)o(ws:)286 710 y Fd(n)24
4003 b(-Yn)p Fi(N)17 b Fn(causes)d(allo)q(cation)g(of)g Fi(N)k
4004 Fn(b)o(ytes)13 b(for)h(parse-tree)f(no)q(des)h(and)g(attribute)393
4005 770 y(instances.)286 851 y Fd(c)24 b Fi(N)17 b Fn(is)12
4006 b(the)f(maxim)o(um)d(n)o(um)o(b)q(er)i(of)i(non-ro)q(ot)i(no)q(des)e
4007 (in)g(the)f(parse)i(tree.)19 b Fd(-Yc)p Fi(N)393 911
4008 y Fn(causes)j(allo)q(cation)g(of)f Fi(N)27 b Fd(*)e(sizeof\(void)d(*\))
4009 f Fn(b)o(ytes)f(for)i(p)q(oin)o(ters)g(to)393 971 y(c)o(hild)15
4010 b(no)q(des.)286 1052 y Fd(r)24 b Fi(N)f Fn(is)17 b(the)g(maxim)o(um)c
4011 (n)o(um)o(b)q(er)j(of)i(attribute)f(instances)h(in)f(the)g(parse)h
4012 (tree.)393 1112 y Fi(N)k Fn(b)o(ytes)15 b(are)i(allo)q(cated)f(for)g
4013 (this.)286 1214 y(See)g(sections)g(13.5)h(and)g(13.6.)164
4014 1316 y Fd(-YY)23 b Fn(Enable)c(the)g(generated)f(ev)m(aluator)h(to)h
4015 (understand)f(the)g(same)e Fd(-Y)p Fi(aN)23 b Fn(options)286
4016 1376 y(as)17 b(do)q(es)g(Ox)f(itself.)k(See)c(section)f(13.5.)164
4017 1478 y Fd(-X)p Fi(aN)28 b Fn(Where)19 b Fi(N)24 b Fn(is)19
4018 b(an)g(in)o(teger)f(and)i Fi(a)f Fn(is)f(an)i(alphab)q(etic)f(c)o
4019 (haracter,)f(c)o(hange)h(the)286 1538 y(default)j(size)f(of)i(Ox's)f
4020 (data)h(structure)f Fi(a)g Fn(to)h(size)e Fi(N)5 b Fn(.)40
4021 b(When)22 b(suc)o(h)g(a)h(data)286 1598 y(structure)c(is)g(exceeded,)f
4022 (Ox)h(issues)g(an)h(error)f(message)g(calling)f(for)i(use)f(of)h(a)286
4023 1658 y Fd(-X)p Fi(aN)g Fn(option.)p eop
4024 %%Page: 53 54
4025 53 53 bop 164 162 a Fk(REFERENCES)1235 b Fn(53)164 315
4026 y Fo(References)164 425 y Fn([Johnson)17 b(75])151 b(Stephen)16
4027 b(C.)h(Johnson,)g Fg(Y)l(ac)n(c:)24 b(Y)l(et)18 b(A)o(nother)g
4028 (Compiler)g(Com-)581 485 y(piler)p Fn(,)40 b(Computing)34
4029 b(Science)f(T)l(ec)o(hnical)h(Rep)q(ort)h(No.)g(32,)581
4030 545 y(A)l(T&T)14 b(Bell)f(Lab)q(oratories,)j(Murra)o(y)d(Hill,)g(New)g
4031 (Jersey)l(,)h(1975.)581 606 y(Reprin)o(ted)26 b(as)i(PS1:15)g(in)e
4032 Fg(UNIX)i(Pr)n(o)n(gr)n(ammer's)d(Manual)p Fn(,)581 666
4033 y(Usenix)15 b(Asso)q(ciation,)h(1986.)164 767 y([Lesk)g(75])228
4034 b(M.E.)13 b(Lesk)h(and)g(E.)g(Sc)o(hmidt,)e Fg(L)n(ex{A)j(L)n(exic)n
4035 (al)g(A)o(nalyzer)h(Gen-)581 828 y(er)n(ator)p Fn(,)32
4036 b(Computing)d(Science)g(T)l(ec)o(hnical)f(Rep)q(ort)i(No.)g(39,)581
4037 888 y(A)l(T&T)17 b(Bell)e(Lab)q(oratories,)j(Murra)o(y)e(Hills,)e(New)i
4038 (Jersey)l(,)g(Oc-)581 948 y(tob)q(er)g(1975.)h(Reprin)o(ted)e(as)i
4039 (PS1:16)f(in)g Fg(UNIX)h(Pr)n(o)n(gr)n(ammer's)581 1008
4040 y(Manual)p Fn(,)f(Usenix)g(Asso)q(ciation,)g(1986.)164
4041 1110 y([KR)g(88])251 b(Brian)15 b(W.)g(Kernighan)g(and)h(Dennis)f(M.)f
4042 (Ritc)o(hie,)f Fg(The)k(C)f(Pr)n(o-)581 1170 y(gr)n(amming)h(L)n
4043 (anguage,)h(2nd)g(Ed.)e Fn(Pren)o(tice-Hall,)e(1988.)164
4044 1272 y([W)l(aite)h(84])201 b(William)22 b(M.)i(W)l(aite)g(and)h
4045 (Gerhard)g(Go)q(os,)i Fg(Compiler)e(Con-)581 1332 y(struction)p
4046 Fn(,)17 b(Springer-V)l(erlag,)e(1984.)164 1434 y([Aho)h(86])237
4047 b(Alfred)30 b(V.)g(Aho,)35 b(Ra)o(vi)30 b(Sethi,)k(and)e(Je\013rey)f
4048 (D.)g(Ullman,)581 1494 y Fg(Compilers:)26 b(Principles,)21
4049 b(T)l(e)n(chniques,)h(and)d(T)l(o)n(ols)p Fn(,)g(Addison-)581
4050 1554 y(W)l(esley)l(,)c(1986.)164 1656 y([Jaza)o(y)o(eri)g(75])152
4051 b(M.)12 b(Jaza)o(y)o(eri,)g(W.F.)g(Ogden,)h(and)h(W.C.)e(Rounds,)i
4052 Fg(The)g(Intrin-)581 1716 y(sic)g(Exp)n(onential)h(Complexity)e(of)h
4053 (the)g(Cir)n(cularity)e(Pr)n(oblem)h(for)581 1776 y(A)o(ttribute)18
4054 b(Gr)n(ammars)p Fn(,)13 b(Comm)o(unications)h(of)i(the)f(A)o(CM,)g(V)l
4055 (ol.)581 1836 y(18,)i(No.)e(12,)i(pp.)f(697-706,)i(Decem)o(b)q(er)c
4056 (1975.)164 1938 y([Lorho)j(88])200 b(Pierre)15 b(Deransart,)i(Martin)f
4057 (Jourdan,)g(and)h(Bernhard)f(Lorho,)581 1998 y Fg(A)o(ttribute)27
4058 b(Gr)n(ammars:)36 b(De\014nitions,)29 b(Systems,)g(and)c(Bibli-)581
4059 2058 y(o)n(gr)n(aphy)p Fn(,)j(Lecture)f(Notes)g(in)g(Computer)f
4060 (Science,)j(v.)d(323,)581 2119 y(Springer)16 b(V)l(erlag,)f(1988.)164
4061 2220 y([Kn)o(uth)h(68])188 b(Donald)18 b(E.)f(Kn)o(uth,)g
4062 Fg(Semantics)j(of)e(Context-F)l(r)n(e)n(e)h(L)n(anguages)581
4063 2281 y Fn(Mathematical)10 b(Systems)g(Theory)l(,)i(V)l(ol.)e(2,)i(No.)f
4064 (2,)i(pp.)e(127-145,)581 2341 y(1968.)p eop
4065 %%Page: 54 55
4066 54 54 bop 164 391 a Fo(Index)164 481 y Fd(@)p Fc(f)p
4067 Fn(,)15 b(8,)i(9)164 542 y Fd(@)p Fc(g)p Fn(,)e(8,)i(9)247
4068 602 y(\(as)24 b(attribute)g(de\014nition)f(termi-)330
4069 662 y(nator\),)17 b(10)164 722 y Fd(@attribute)o(s)p
4070 Fn(,)c(6)164 782 y Fd(@autoinh)p Fn(,)g(26,)j(27)164
4071 843 y Fd(@autosyn)p Fn(,)d(26,)j(27)164 903 y Fd(@disable)p
4072 Fn(,)d(21)164 963 y Fd(@e)p Fn(,)i(10)164 1023 y Fd(@i)p
4073 Fn(,)g(10)164 1083 y Fd(@lefttorig)o(ht)p Fn(,)d(21)164
4074 1143 y Fd(@m)p Fn(,)j(10)164 1204 y Fd(@postorder)o Fn(,)e(21)164
4075 1264 y Fd(@preorder)p Fn(,)f(21)164 1324 y Fd(@revdirect)o(ion)o
4076 Fn(,)h(22)164 1384 y Fd(@revorder)p Fn(,)f(22)164 1444
4077 y Fd(@righttole)o(ft)p Fn(,)g(21)164 1505 y Fd(@warn)p
4078 Fn(,)i(27)164 1565 y Fd($$)p Fn(,)25 b Fd($1)p Fn(,)f
4079 Fd($2)p Fn(,)h(...,)f(\(Y)l(acc)f(pseudo)o(v)m(ari-)330
4080 1625 y(ables\),)16 b(17)164 1685 y Fd(oxout.*)p Fn(,)d(29)164
4081 1745 y Fd(oxout?.l)p Fn(,)g(29)164 1847 y(alignmen)o(t)h(constan)o(t,)j
4082 (31)164 1907 y(am)o(biguous)23 b(form)g(of)h Fd(return)e
4083 Fn(of)i(to-)330 1967 y(k)o(en,)15 b(14)164 2028 y(attribute)247
4084 2088 y(inherited,)f Fj(9)247 2148 y Fn(syn)o(thesized,)h
4085 Fj(9)164 2208 y Fn(attribute)22 b(\(as)g(b)q(elonging)h(to)f(a)h(sym-)
4086 330 2268 y(b)q(ol\),)16 b Fj(7)164 2329 y Fn(attribute)g(declaration,)f
4087 Fj(6)164 2389 y Fn(attribute)h(de\014nition,)f Fj(9)247
4088 2449 y Fn(dep)q(endency)h(part)g(of,)g Fj(9)1129 481
4089 y Fn(ev)m(aluation)g(part)h(of,)f Fj(9)1129 542 y Fn(explicit)e(mo)q
4090 (de,)h(10)1129 602 y(implicit)e(mo)q(de,)i(11)1129 662
4091 y(mixed)f(mo)q(de,)h(11)1129 722 y(termination)g(of,)h
4092 Fj(10)1046 782 y Fn(attribute)g(de\014nition)g(mo)q(des,)f(10)1046
4093 843 y(attribute)h(grammar)1129 903 y(class)22 b(of)h(A)o(Gs)f(accepted)
4094 f(b)o(y)h(Ox,)1212 963 y(12)1129 1023 y(execution)12
4095 b(sequence)g(not)i(explicit)1212 1083 y(in,)i(17)1046
4096 1143 y(attribute)g(instance,)g Fj(7)1129 1204 y Fn(solving)g(an,)h
4097 Fj(11)1046 1264 y Fn(attribute)e(instance)h(\(as)g(b)q(elonging)h(to)
4098 1212 1324 y(a)g(no)q(de\),)f Fj(7)1046 1384 y Fn(attribute)g(instances)
4099 1129 1444 y(ready)g(set)g(of,)g Fj(17)1046 1505 y Fn(attribute)g(o)q
4100 (ccurrence,)f Fj(7)1129 1565 y Fn(dep)q(endees)h(of)h(an,)f(10)1129
4101 1625 y(dep)q(enden)o(ts)g(of)h(an,)f(10)1129 1685 y(inherited,)f
4102 Fj(8)1129 1745 y Fn(syn)o(thesized,)g Fj(8)1046 1806
4103 y Fn(attribute)h(o)q(ccurrence)g(,)f(8)1046 1866 y(attribute)h
4104 (reference,)e Fj(10)1046 1926 y Fn(attribute)i(reference)f(section,)g
4105 Fj(8)p Fn(,)h Fj(12)1046 1986 y Fn(attribute)26 b(reference)f(section)h
4106 (delim-)1212 2046 y(iters,)15 b(12)1046 2148 y(circular)g(grammar,)f
4107 Fj(15)1046 2208 y Fn(co)q(de)j(generation,)f(18)1046
4108 2268 y(command-line)d(options,)k(51)1046 2329 y(command-line)c(syn)o
4109 (tax,)j(51)1046 2389 y(commen)o(ts,)d(6)1046 2449 y(cop)o(y)j(rule,)f
4110 Fj(26)949 2599 y Fn(54)p eop
4111 %%Page: 55 56
4112 55 55 bop 164 162 a Fk(INDEX)1408 b Fn(55)164 307 y(cycle)14
4113 b(\(in)i(an)g(attributed)g(parse)g(tree\),)330 367 y
4114 Fj(15)164 428 y Fn(cycle)f(detection,)f(15)164 524 y(declaration)247
4115 584 y(attribute,)h Fj(6)164 644 y Fn(decoration,)h Fj(17)164
4116 704 y Fn(de\014ned,)g(attribute)f(o)q(ccurrence,)h(10)164
4117 765 y(de\014nition)247 825 y(attribute,)f Fj(9)164 885
4118 y Fn(de\014nition)h(mo)q(de)f(ann)o(unciator,)h Fj(10)164
4119 945 y Fn(dep)q(endee,)f Fj(10)164 1005 y Fn(dep)q(endency)h
4120 (expression,)f Fj(10)164 1066 y Fn(dep)q(endency)24 b(part)h(\(of)g(an)
4121 g(attribute)330 1126 y(de\014nition\),)15 b Fj(9)164
4122 1186 y Fn(dep)q(enden)o(t,)g Fj(10)164 1246 y Fn(dep)q(ends)i(up)q(on,)
4123 f(10)164 1306 y(dynamic)e(tra)o(v)o(ersal)i(mo)q(di\014er,)e
4124 Fj(22)164 1403 y Fn(ev)m(aluation)i(expression,)g Fj(10)164
4125 1463 y Fn(ev)m(aluation)11 b(part)g(\(of)g(an)h(attribute)e(def-)330
4126 1523 y(inition\),)15 b Fj(9)164 1583 y Fn(example)247
4127 1643 y(Kn)o(uth's)h(classical,)f(36)247 1704 y(v)o(ery)g(easy)l(,)h(34)
4128 164 1764 y(execution)j(sequence)h(not)h(explicit)d(in)330
4129 1824 y(attribute)e(grammars,)e(17)164 1884 y(explicit)g(mo)q(de)h(ann)o
4130 (unciator,)i(10,)f Fj(10)164 1944 y Fn(explicit)i(mo)q(de)i(attribute)h
4131 (de\014nition,)330 2005 y Fj(10)164 2101 y Fn(\014le)16
4132 b(names)247 2161 y(Ox)g(output,)g(29)164 2221 y(\014nal)g(decoration,)g
4133 Fj(17,)j(18)164 2318 y Fn(global)e(v)m(ariables)247 2378
4134 y(reference)e(to)h(C's,)g(18)164 2474 y(header)g(\014le)g
4135 Fd(oxout.h)p Fn(,)d(30)1046 307 y(home)i(rule,)g Fj(9)1046
4136 407 y Fn(implicit)e(mo)q(de)i(ann)o(unciator,)i Fj(11)p
4137 Fn(,)e(11)1046 468 y(implicit)g(mo)q(de)j(attribute)g(de\014nition,)
4138 1212 528 y Fj(11)1046 588 y Fn(inherited)d(attribute,)h
4139 Fj(9)1046 648 y Fn(inherited)f(attribute)h(o)q(ccurrence,)f
4140 Fj(8)1046 708 y Fn(instance)1129 769 y(attribute,)h Fj(7)1046
4141 869 y Fn(Kn)o(uth's)g(classical)f(example,)f(36)1046
4142 969 y(L-\014le,)i Fj(5)1046 1029 y Fn(LALR\(1\))c(prop)q(ert)o(y)e
4143 (preserv)o(ed)g(b)o(y)g(Ox-)1212 1090 y(prepro)q(cessing,)16
4144 b(16)1046 1150 y(left-hand)g(side,)g(7)1046 1210 y(LHS)g(\(left-hand)h
4145 (side\),)e(7)1046 1270 y(lo)q(ok)m(ahead)j(bu\013er,)e
4146 Fj(16)1046 1371 y Fn(macros,)f(23)1046 1431 y(macros)10
4147 b(forbidden)h(for)g Fd(return)e Fn(of)i(yylex,)1212 1491
4148 y(12)1046 1551 y(mixed)j(mo)q(de)h(ann)o(unciator,)i(11,)f
4149 Fj(11)1046 1611 y Fn(mixed)9 b(mo)q(de)h(attribute)g(de\014nition,)h
4150 Fj(11)1046 1672 y Fn(mo)q(de)1129 1732 y(attribute)16
4151 b(de\014nition,)f(10)1046 1792 y(mo)q(de)g(ann)o(unciator)1129
4152 1852 y Fd(@e)h Fn(\(explicit\),)d(10)1129 1912 y Fd(@i)j
4153 Fn(\(implici)o(t\),)d(10,)k(11)1129 1972 y Fd(@m)f Fn(\(mixed\),)d(10,)
4154 k(11)1129 2033 y(de\014nition,)e Fj(10)1129 2093 y Fn(tra)o(v)o(ersal,)
4155 g Fj(20)1046 2193 y Fn(o)q(ccurrence)1129 2253 y(attribute,)h
4156 Fj(7)p Fn(,)f(8)1046 2314 y(options)1129 2374 y(command-line,)e(51)1046
4157 2474 y(paren)o(t)j(rule,)f Fj(9)p eop
4158 %%Page: 56 57
4159 56 56 bop 164 162 a Fk(INDEX)1408 b Fn(56)164 307 y(p)q(ostdecoration,)
4160 17 b Fj(18)164 367 y Fn(p)q(ostdecoration)g(tra)o(v)o(ersal,)e
4161 Fj(18)164 428 y Fn(pseudo)o(v)m(ariables)247 488 y(references)g(to)h(Y)
4162 l(acc's,)f(17)164 588 y(ready)21 b(set)h(\(of)f(attribute)g
4163 (instances\),)330 648 y Fj(17)164 708 y Fn(reference)247
4164 769 y(attribute,)15 b Fj(10)164 829 y Fd(return)247 889
4165 y Fn(of)i(yylex)d(m)o(ust)h(b)q(e)h(explicit,)e(12)164
4166 949 y Fd(return)g Fn(statemen)o(ts)247 1009 y(lexical)9
4167 b(rules)h(asso)q(ciated)i(with,)f Fj(12)164 1070 y Fn(RHS)16
4168 b(\(righ)o(t-hand)h(side\),)e(7)164 1130 y(righ)o(t-hand)i(side,)e(7)
4169 164 1190 y(rule,)g Fj(7)247 1250 y Fn(home,)g Fj(9)247
4170 1310 y Fn(paren)o(t,)h Fj(9)247 1371 y Fd(return)p Fn(ed)e(tok)o(en)i
4171 (as)g(a,)h Fj(7)164 1431 y Fn(rules)f(section)g(of)g(a)h(Y)l(acc)e
4172 (\014le,)g Fj(9)164 1531 y Fn(side)h(e\013ects,)f(18)164
4173 1591 y(solving)h(\(an)h(attribute)f(instance\),)f Fj(11)164
4174 1651 y Fn(sync)o(hronization)247 1712 y(Ox)h(and)h(Y)l(acc)e(stac)o(k,)
4175 h(16,)g(31)164 1772 y(syn)o(thesized)f(attribute,)g Fj(9)164
4176 1832 y Fn(syn)o(thesized)c(attribute)h(o)q(ccurrence,)g
4177 Fj(8)164 1932 y Fn(tok)o(en)247 1993 y(inherited)j(attributes)h(of)h
4178 (a,)f(12)247 2053 y(syn)o(thesized)f(attributes)h(of)h(a,)f(12)164
4179 2113 y(tra)o(v)o(ersal)247 2173 y(p)q(ostdecoration,)h
4180 Fj(18)164 2233 y Fn(tra)o(v)o(ersal)e(action,)h Fj(22)164
4181 2293 y Fn(tra)o(v)o(ersal)f(action)i(sp)q(eci\014cation,)e
4182 Fj(22)164 2354 y Fn(tra)o(v)o(ersal)g(action)i(sp)q(eci\014er,)e
4183 Fj(20)164 2414 y Fn(tra)o(v)o(ersal)10 b(mo)q(de)g(ann)o(unciator,)i
4184 Fj(20)p Fn(,)g Fj(22)164 2474 y Fn(tra)o(v)o(ersal)j(mo)q(di\014er)1129
4185 307 y(dynamic,)f Fj(22)1046 367 y Fn(tra)o(v)o(ersal)i(sp)q
4186 (eci\014cation,)f Fj(21)1046 428 y Fn(tra)o(v)o(ersal)h(sp)q
4187 (eci\014er,)f Fj(21)1046 488 y Fn(tra)o(v)o(ersal)h(sp)q(eci\014er)f
4188 (sequence,)g Fj(21)1046 589 y Fn(Y-\014le,)g Fj(5)1046
4189 650 y Fd(yyleng)p Fn(,)f(17)1046 710 y Fd(yytext)p Fn(,)g(17)p
4190 eop
4191 %%Trailer
4192 end
4193 userdict /end-hook known{end-hook}if
4194 %%EOF