1 /* Postprocessed by vms_yfix.pl 1.11 to add VMS declarations of globals */
3 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
13 deprecate("\"do\" to call subroutines");
18 dEXT short yylhs[] = { -1,
19 45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
20 12, 12, 12, 24, 24, 24, 24, 24, 24, 24,
21 15, 15, 15, 14, 14, 42, 42, 13, 13, 13,
22 13, 13, 13, 13, 26, 26, 27, 27, 28, 29,
23 30, 31, 32, 44, 44, 1, 1, 1, 1, 3,
24 38, 38, 46, 4, 5, 6, 39, 40, 40, 41,
25 41, 47, 47, 49, 48, 16, 16, 16, 25, 25,
26 25, 36, 36, 36, 36, 36, 36, 36, 50, 36,
27 37, 37, 17, 17, 17, 17, 17, 17, 17, 17,
28 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
29 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
30 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
31 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
32 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
33 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
34 17, 17, 17, 17, 17, 17, 17, 17, 33, 33,
35 34, 34, 34, 2, 2, 43, 23, 18, 19, 20,
36 21, 22, 35, 35, 35, 35,
38 dEXT short yylen[] = { 2,
39 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
40 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
41 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
42 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
43 1, 1, 1, 0, 1, 1, 1, 1, 1, 4,
44 1, 0, 5, 0, 0, 0, 1, 0, 1, 1,
45 1, 3, 2, 0, 7, 3, 3, 1, 2, 3,
46 1, 3, 5, 6, 3, 5, 2, 4, 0, 5,
47 1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
48 3, 3, 3, 3, 5, 3, 2, 2, 2, 2,
49 2, 2, 2, 2, 2, 2, 3, 2, 3, 2,
50 4, 3, 4, 1, 5, 1, 4, 5, 4, 1,
51 1, 1, 5, 6, 5, 6, 5, 4, 5, 1,
52 1, 3, 4, 3, 2, 2, 4, 5, 4, 5,
53 4, 5, 1, 2, 2, 1, 2, 2, 2, 1,
54 3, 1, 3, 4, 4, 6, 1, 1, 0, 1,
55 0, 1, 2, 1, 1, 1, 2, 2, 2, 2,
58 dEXT short yydefred[] = { 1,
59 0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
60 9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
61 64, 14, 4, 157, 0, 0, 130, 0, 152, 0,
62 55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
63 0, 0, 0, 0, 0, 0, 0, 164, 165, 0,
64 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
65 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
66 0, 0, 120, 122, 0, 0, 0, 0, 158, 51,
67 0, 57, 0, 62, 0, 7, 173, 176, 175, 174,
68 0, 0, 0, 0, 0, 0, 4, 4, 4, 4,
69 4, 4, 0, 0, 0, 0, 0, 147, 0, 0,
70 0, 0, 77, 0, 171, 0, 136, 0, 0, 0,
71 0, 0, 167, 0, 0, 0, 0, 0, 0, 0,
72 0, 0, 0, 110, 0, 168, 169, 170, 172, 0,
73 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
74 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
75 0, 0, 0, 0, 102, 103, 0, 0, 0, 0,
76 0, 0, 0, 0, 13, 0, 50, 59, 0, 0,
77 0, 75, 0, 0, 79, 0, 0, 0, 0, 0,
78 0, 0, 4, 151, 153, 0, 0, 0, 0, 0,
79 0, 0, 112, 0, 134, 0, 0, 109, 27, 0,
80 0, 19, 0, 0, 0, 0, 66, 0, 0, 0,
81 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
82 0, 0, 0, 81, 0, 0, 82, 0, 0, 0,
83 0, 0, 0, 0, 132, 0, 0, 61, 60, 53,
84 0, 3, 0, 155, 0, 0, 113, 0, 42, 0,
85 43, 0, 0, 0, 0, 166, 0, 0, 36, 41,
86 0, 0, 0, 154, 163, 78, 0, 137, 0, 139,
87 0, 111, 0, 0, 0, 0, 0, 141, 0, 0,
88 0, 119, 0, 117, 0, 128, 0, 133, 0, 76,
89 0, 80, 0, 0, 0, 0, 0, 0, 0, 0,
90 73, 138, 140, 127, 0, 125, 0, 0, 142, 118,
91 0, 123, 129, 115, 65, 156, 6, 0, 0, 0,
92 0, 0, 0, 0, 0, 126, 124, 74, 7, 28,
93 29, 0, 0, 24, 25, 0, 32, 0, 0, 0,
94 22, 0, 0, 0, 31, 5, 0, 30, 0, 0,
97 dEXT short yydgoto[] = { 1,
98 9, 66, 10, 18, 95, 17, 86, 339, 89, 328,
99 3, 11, 12, 68, 344, 263, 70, 71, 72, 73,
100 74, 75, 76, 269, 78, 270, 259, 261, 264, 272,
101 260, 262, 113, 198, 91, 79, 238, 81, 83, 179,
102 250, 142, 267, 13, 2, 14, 15, 16, 85, 256,
104 dEXT short yysindex[] = { 0,
105 0, 0, -66, 0, 0, 0, -48, 0, 0, 0,
106 0, 0, 645, 0, 0, 0, -232, -227, -27, 0,
107 0, 0, 0, 0, -23, -23, 0, -6, 0, 2099,
108 0, 0, 13, 20, 24, 25, -34, 2099, 27, 28,
109 29, 1021, 965, -23, 1084, 1348, -217, 0, 0, -23,
110 2099, 2099, 2099, 2099, 2099, 2099, 1404, 0, 2099, 2099,
111 1460, -23, -23, -23, -23, 2099, -206, 0, 335, 3814,
112 -73, -68, 0, 0, -47, 40, 32, 61, 0, 0,
113 -39, 0, -157, 0, -145, 0, 0, 0, 0, 0,
114 2099, 73, 2099, 825, -39, -157, 0, 0, 0, 0,
115 0, 0, 75, 3814, 78, 1519, 965, 0, 825, 0,
116 -73, 61, 0, 2099, 0, 77, 0, 825, -16, -9,
117 -51, 2099, 0, 61, 87, 87, 87, -86, -86, 33,
118 -40, 87, 87, 0, -81, 0, 0, 0, 0, 825,
119 -39, 0, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
120 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
121 2099, 2099, 2099, 2099, 0, 0, 30, 2099, 2099, 2099,
122 2099, 2099, 2099, 1694, 0, 2099, 0, 0, -49, -118,
123 189, 0, 2099, 353, 0, -39, 2099, 2099, 2099, 2099,
124 104, 1753, 0, 0, 0, -24, 8, 85, 2099, 61,
125 1809, 1865, 0, 23, 0, 2099, 54, 0, 0, -269,
126 -269, 0, -269, -269, -269, -151, 0, -43, 1121, 825,
127 673, 50, 363, 3814, 1233, 2459, 3640, 2309, 266, -82,
128 87, 87, 2099, 0, 1928, 2099, 0, 111, 51, 12,
129 76, 14, 90, 39, 0, -22, 3814, 0, 0, 0,
130 2099, 0, 121, 0, 2099, 2099, 0, -269, 0, 124,
131 0, 125, -269, 126, 130, 0, 112, 335, 0, 0,
132 131, 136, 2099, 0, 0, 0, -14, 0, 1, 0,
133 4, 0, 133, 2099, 55, 2099, 49, 0, 6, 197,
134 2099, 0, 89, 0, 94, 0, 100, 0, 144, 0,
135 1175, 0, 92, 92, 92, 92, 2099, 92, 2099, 171,
136 0, 0, 0, 0, 202, 0, 3900, 108, 0, 0,
137 188, 0, 0, 0, 0, 0, 0, -206, -206, -238,
138 -238, 199, -206, 211, 92, 0, 0, 0, 0, 0,
139 0, 92, 241, 0, 0, 92, 0, 1753, -206, 326,
140 0, 2099, -206, 256, 0, 0, 259, 0, 92, 92,
143 dEXT short yyrindex[] = { 0,
144 0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
145 0, 0, 0, 0, 0, 0, 184, 0, 0, 0,
146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
147 0, 0, 0, 0, 0, 0, 0, 2228, 426, 0,
148 0, 2833, 2876, 0, 0, 0, 0, 0, 0, 0,
149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
150 0, 0, 0, 0, 0, 0, 59, 0, -10, 2038,
151 2952, 2995, 0, 0, 2274, 2140, 0, 200, 0, 0,
152 0, 0, -44, 0, 0, 0, 0, 0, 0, 0,
153 2421, 0, 0, 105, 0, 198, 0, 0, 0, 0,
154 0, 0, 0, 3753, 0, 0, 319, 0, 3505, 525,
155 586, 2510, 0, 0, 0, 2185, 0, 3541, 2952, 0,
156 0, 2421, 0, 2553, 3112, 3150, 3188, -37, 3069, 2597,
157 0, 3231, 3269, 0, 0, 0, 0, 0, 0, 3584,
158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
161 0, 0, 0, 0, 0, 2673, 0, 0, 0, 0,
162 909, 0, 319, 0, 0, 0, 320, 0, 0, 0,
163 0, 306, 0, 0, 0, 0, 325, 0, 0, 2789,
164 0, 0, 0, 0, 0, 0, 2716, 0, 0, -5,
165 22, 0, 68, 69, 70, 702, 0, 0, 3741, 1296,
166 1560, 3386, 3424, 3796, 0, 3703, 3660, 3622, 1616, 3467,
167 3305, 3348, 0, 0, 0, 0, 0, 0, 0, 0,
168 0, 0, 0, 0, 0, 0, 3809, 0, 0, 0,
169 309, 0, 0, 0, 0, 2421, 0, 79, 0, 0,
170 0, 0, 330, 0, 0, 0, 0, 84, 0, 0,
171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
173 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
174 0, 0, 0, 0, 0, 0, 0, 0, 317, 0,
175 0, 0, 0, 0, 0, 0, 1982, 0, 0, 0,
176 0, 0, 0, 0, 0, 0, 0, 59, 59, 154,
177 154, 0, 59, 0, 0, 0, 0, 0, 0, 0,
178 0, 0, 0, 0, 0, 0, 0, 340, 59, 909,
179 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
182 dEXT short yygindex[] = { 0,
183 0, 0, 0, 374, 351, 0, -12, 0, 946, 413,
184 -83, 0, 0, 0, -311, -13, 4007, 2893, 0, 0,
185 0, 0, 0, 372, -8, 0, 0, 246, -131, 43,
186 86, 208, -45, -169, 987, 0, 0, 0, 0, 308,
187 0, -271, 0, 0, 0, 0, 0, 0, 0, 0,
189 #define YYTABLESIZE 4293
190 dEXT short yytable[] = { 69,
191 207, 62, 181, 104, 168, 102, 104, 204, 168, 248,
192 20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
193 104, 104, 172, 202, 80, 104, 311, 148, 149, 82,
194 15, 84, 121, 93, 112, 18, 150, 342, 343, 122,
195 150, 312, 124, 131, 313, 182, 319, 135, 15, 169,
196 363, 275, 97, 18, 171, 104, 340, 341, 26, 98,
197 271, 347, 39, 99, 100, 62, 105, 106, 107, 235,
198 293, 141, 295, 23, 170, 173, 205, 355, 58, 174,
199 39, 358, 112, 23, 187, 188, 189, 190, 191, 192,
200 175, 26, 196, 197, 26, 26, 26, 297, 26, 23,
201 26, 26, 178, 26, 176, 200, 169, 318, 16, 17,
202 20, 180, 183, 112, 193, 203, 201, 26, 194, 38,
203 236, 321, 26, 206, 40, 276, 16, 17, 20, 210,
204 211, 213, 214, 215, 216, 217, 218, 38, 251, 62,
205 168, 310, 15, 292, 284, 149, 149, 282, 149, 26,
206 291, 307, 233, 21, 239, 240, 241, 242, 243, 244,
207 246, 300, 149, 149, 303, 304, 305, 149, 294, 197,
208 306, 308, 150, 258, 211, 332, 211, 168, 268, 316,
209 273, 26, 296, 26, 26, 277, 21, 279, 281, 21,
210 21, 21, 283, 21, 309, 21, 21, 149, 21, 4,
211 5, 6, 325, 7, 8, 299, 154, 155, 19, 150,
212 302, 335, 21, 322, 327, 148, 149, 21, 323, 287,
213 357, 289, 290, 163, 324, 314, 164, 167, 338, 165,
214 166, 167, 337, 87, 104, 104, 104, 104, 88, 346,
215 68, 104, 112, 104, 21, 148, 149, 112, 2, 104,
216 104, 104, 104, 148, 149, 350, 148, 149, 68, 104,
217 104, 101, 104, 104, 104, 104, 104, 104, 104, 348,
218 315, 104, 148, 149, 148, 149, 21, 197, 21, 21,
219 352, 44, 148, 149, 44, 44, 44, 234, 44, 320,
220 44, 44, 68, 44, 336, 258, 359, 148, 149, 360,
221 148, 149, 148, 149, 148, 149, 52, 44, 148, 149,
222 148, 149, 44, 252, 26, 26, 26, 26, 26, 26,
223 58, 26, 26, 26, 26, 26, 26, 26, 26, 26,
224 26, 26, 26, 26, 69, 148, 149, 26, 26, 44,
225 26, 26, 26, 26, 26, 148, 149, 148, 149, 26,
226 26, 26, 26, 26, 26, 163, 168, 26, 164, 161,
227 37, 165, 166, 167, 35, 162, 26, 159, 26, 26,
228 40, 44, 148, 149, 44, 37, 149, 149, 149, 149,
229 35, 21, 96, 149, 77, 149, 148, 149, 150, 212,
230 354, 149, 149, 254, 334, 164, 255, 265, 165, 166,
231 167, 149, 149, 186, 149, 149, 149, 149, 149, 21,
232 21, 21, 21, 21, 21, 157, 21, 21, 21, 21,
233 21, 21, 21, 21, 21, 21, 21, 21, 21, 148,
234 149, 0, 21, 21, 0, 21, 21, 21, 21, 21,
235 0, 0, 0, 168, 21, 21, 21, 21, 21, 21,
236 356, 0, 21, 168, 4, 5, 6, 0, 7, 8,
237 0, 21, 0, 21, 21, 0, 150, 0, 0, 150,
238 0, 68, 68, 68, 68, 150, 0, 0, 68, 0,
239 0, 0, 0, 150, 150, 150, 0, 0, 150, 0,
240 0, 0, 0, 148, 149, 0, 68, 68, 148, 149,
241 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
242 0, 44, 44, 44, 0, 0, 150, 44, 150, 0,
243 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
244 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
245 44, 44, 44, 44, 44, 0, 0, 44, 150, 0,
246 0, 0, 152, 153, 154, 155, 44, 173, 44, 44,
247 173, 173, 173, 0, 173, 157, 173, 173, 157, 173,
248 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
249 0, 0, 157, 157, 0, 0, 0, 157, 173, 0,
250 0, 4, 5, 6, 0, 7, 8, 0, 0, 0,
251 0, 0, 0, 0, 0, 0, 143, 144, 145, 146,
252 0, 0, 0, 147, 0, 157, 0, 157, 174, 0,
253 0, 174, 174, 174, 0, 174, 114, 174, 174, 114,
254 174, 148, 149, 151, 0, 0, 0, 0, 0, 152,
255 153, 154, 155, 114, 114, 0, 0, 157, 114, 174,
256 173, 154, 156, 158, 159, 160, 161, 162, 163, 0,
257 0, 164, 0, 0, 165, 166, 167, 0, 163, 0,
258 0, 164, 0, 0, 165, 166, 167, 52, 114, 0,
259 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
260 0, 0, 0, 0, 0, 0, 0, 150, 150, 150,
261 150, 0, 0, 58, 150, 0, 150, 0, 63, 0,
262 0, 174, 150, 150, 150, 150, 329, 330, 331, 0,
263 333, 0, 150, 150, 0, 150, 150, 150, 150, 150,
264 150, 150, 0, 0, 150, 61, 0, 150, 150, 150,
265 0, 0, 67, 0, 0, 67, 0, 349, 0, 0,
266 0, 0, 0, 0, 351, 0, 0, 0, 353, 0,
267 67, 0, 0, 168, 0, 0, 0, 23, 0, 0,
268 53, 361, 362, 0, 0, 0, 0, 0, 0, 0,
269 0, 173, 173, 173, 173, 173, 0, 173, 173, 173,
270 0, 0, 0, 173, 67, 150, 157, 157, 157, 157,
271 0, 0, 0, 157, 173, 157, 173, 173, 173, 173,
272 173, 157, 157, 157, 157, 173, 173, 173, 173, 173,
273 173, 157, 157, 173, 157, 157, 157, 157, 157, 157,
274 157, 0, 173, 157, 173, 173, 157, 157, 157, 0,
275 0, 0, 174, 174, 174, 174, 174, 0, 174, 174,
276 174, 0, 0, 0, 174, 0, 0, 114, 114, 114,
277 114, 0, 0, 0, 114, 174, 114, 174, 174, 174,
278 174, 174, 114, 114, 114, 114, 174, 174, 174, 174,
279 174, 174, 114, 114, 174, 114, 114, 114, 114, 114,
280 114, 114, 0, 174, 114, 174, 174, 114, 114, 114,
281 22, 24, 25, 26, 27, 28, 0, 29, 30, 31,
282 0, 0, 0, 32, 0, 168, 33, 34, 35, 36,
283 0, 0, 0, 37, 38, 0, 39, 40, 41, 42,
284 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
285 49, 44, 0, 51, 44, 44, 44, 150, 44, 0,
286 44, 44, 54, 44, 55, 56, 0, 0, 67, 152,
287 0, 154, 155, 0, 0, 0, 0, 44, 0, 0,
288 0, 0, 44, 67, 67, 67, 67, 162, 163, 0,
289 67, 164, 0, 0, 165, 166, 167, 108, 0, 0,
290 117, 0, 0, 0, 0, 0, 0, 52, 67, 44,
291 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
292 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
293 0, 0, 0, 0, 0, 0, 177, 0, 63, 114,
294 115, 44, 0, 0, 44, 0, 123, 0, 0, 0,
295 185, 0, 0, 0, 0, 0, 0, 0, 136, 137,
296 138, 139, 0, 52, 0, 61, 62, 64, 50, 0,
297 57, 0, 65, 60, 0, 59, 0, 0, 0, 0,
298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
299 0, 0, 0, 0, 63, 0, 209, 23, 0, 0,
300 53, 0, 0, 199, 0, 0, 0, 0, 0, 0,
301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
302 0, 61, 0, 154, 155, 0, 52, 0, 0, 62,
303 64, 50, 0, 57, 249, 65, 60, 0, 59, 162,
304 163, 257, 0, 164, 0, 0, 165, 166, 167, 0,
305 0, 0, 0, 23, 0, 0, 53, 63, 0, 0,
306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
307 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
308 0, 44, 44, 44, 61, 0, 0, 44, 0, 0,
309 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
310 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
311 44, 44, 44, 44, 44, 0, 23, 44, 0, 53,
312 0, 168, 0, 0, 0, 326, 44, 0, 44, 44,
313 0, 110, 25, 26, 27, 28, 88, 29, 30, 31,
314 0, 0, 0, 32, 0, 0, 0, 157, 0, 0,
315 0, 0, 0, 150, 38, 0, 39, 40, 41, 42,
316 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
317 49, 0, 0, 51, 0, 168, 0, 0, 0, 0,
318 0, 0, 54, 0, 55, 56, 0, 24, 25, 26,
319 27, 28, 0, 29, 30, 31, 0, 0, 0, 32,
320 286, 0, 0, 0, 0, 157, 0, 150, 0, 0,
321 38, 0, 39, 40, 41, 42, 43, 0, 0, 0,
322 0, 44, 45, 46, 47, 48, 49, 0, 0, 51,
323 0, 0, 0, 168, 0, 0, 0, 0, 54, 0,
324 55, 56, 0, 0, 0, 0, 88, 0, 0, 88,
325 116, 25, 26, 27, 28, 0, 29, 30, 31, 0,
326 0, 0, 32, 88, 88, 150, 0, 0, 88, 0,
327 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
328 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
329 52, 0, 51, 62, 64, 50, 0, 57, 88, 65,
330 60, 54, 59, 55, 56, 0, 0, 0, 0, 0,
331 0, 0, 0, 0, 0, 0, 120, 152, 153, 154,
332 155, 63, 0, 0, 0, 0, 0, 0, 0, 0,
333 0, 158, 159, 160, 161, 162, 163, 0, 0, 164,
334 0, 0, 165, 166, 167, 0, 52, 0, 61, 62,
335 64, 50, 0, 57, 130, 65, 60, 0, 59, 0,
336 0, 0, 0, 0, 0, 151, 0, 0, 0, 0,
337 0, 152, 153, 154, 155, 0, 0, 63, 0, 0,
338 0, 0, 0, 53, 156, 158, 159, 160, 161, 162,
339 163, 0, 0, 164, 0, 0, 165, 166, 167, 0,
340 0, 0, 52, 0, 61, 62, 64, 50, 0, 57,
341 0, 65, 60, 0, 59, 0, 0, 0, 0, 0,
342 0, 0, 0, 151, 0, 0, 0, 0, 0, 152,
343 153, 154, 155, 63, 0, 0, 0, 0, 0, 53,
344 0, 0, 156, 158, 159, 160, 161, 162, 163, 0,
345 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
346 61, 52, 134, 0, 62, 64, 50, 0, 57, 195,
347 65, 60, 0, 59, 0, 0, 0, 88, 88, 88,
348 88, 0, 0, 0, 88, 0, 88, 0, 0, 0,
349 0, 0, 63, 88, 0, 53, 0, 0, 0, 0,
350 0, 0, 88, 88, 0, 88, 88, 88, 88, 88,
351 89, 0, 0, 89, 24, 25, 26, 27, 28, 61,
352 29, 30, 31, 0, 0, 0, 32, 89, 89, 0,
353 0, 0, 89, 0, 0, 0, 0, 38, 0, 39,
354 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
355 46, 47, 48, 49, 53, 0, 51, 0, 0, 0,
356 0, 0, 89, 0, 0, 54, 90, 55, 56, 90,
357 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
358 0, 0, 32, 90, 90, 0, 0, 0, 90, 0,
359 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
360 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
361 0, 0, 51, 0, 0, 0, 0, 0, 90, 0,
362 0, 54, 0, 55, 56, 0, 24, 25, 26, 27,
363 28, 0, 29, 30, 31, 0, 52, 0, 32, 62,
364 64, 50, 0, 57, 245, 65, 60, 0, 59, 38,
365 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
366 44, 45, 46, 47, 48, 49, 0, 63, 51, 0,
367 0, 0, 0, 0, 0, 0, 0, 54, 0, 55,
368 56, 0, 0, 0, 0, 24, 25, 26, 27, 28,
369 0, 29, 30, 31, 61, 52, 0, 32, 62, 64,
370 50, 0, 57, 0, 65, 60, 0, 59, 38, 0,
371 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
372 45, 46, 47, 48, 49, 0, 63, 51, 0, 53,
373 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
374 0, 89, 89, 89, 89, 0, 0, 0, 89, 0,
375 89, 52, 0, 61, 62, 64, 50, 0, 57, 278,
376 65, 60, 0, 59, 0, 0, 89, 89, 0, 89,
377 89, 89, 89, 89, 0, 0, 0, 0, 0, 0,
378 0, 0, 63, 0, 0, 0, 0, 0, 53, 0,
379 0, 0, 0, 0, 0, 0, 0, 90, 90, 90,
380 90, 0, 0, 0, 90, 0, 90, 52, 0, 61,
381 62, 64, 50, 0, 57, 280, 65, 60, 0, 59,
382 0, 0, 90, 90, 0, 90, 90, 90, 90, 90,
383 0, 0, 0, 0, 0, 0, 0, 0, 63, 0,
384 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
386 24, 25, 26, 27, 28, 61, 29, 30, 31, 0,
387 52, 0, 32, 62, 64, 50, 0, 57, 288, 65,
388 60, 0, 59, 38, 0, 39, 40, 41, 42, 43,
389 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
390 53, 63, 51, 0, 0, 0, 0, 0, 0, 0,
391 0, 54, 0, 55, 56, 0, 0, 0, 22, 24,
392 25, 26, 27, 28, 0, 29, 30, 31, 61, 0,
393 0, 32, 95, 0, 0, 95, 0, 0, 0, 0,
394 0, 0, 38, 0, 39, 40, 41, 42, 43, 95,
395 95, 0, 0, 44, 45, 46, 47, 48, 49, 0,
396 0, 51, 0, 53, 0, 0, 0, 0, 0, 0,
397 54, 0, 55, 56, 0, 24, 25, 26, 27, 28,
398 0, 29, 30, 31, 95, 0, 0, 32, 71, 0,
399 0, 71, 0, 0, 0, 0, 0, 0, 38, 0,
400 39, 40, 41, 42, 43, 71, 71, 0, 0, 44,
401 45, 46, 47, 48, 49, 0, 0, 51, 0, 0,
402 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
403 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
404 71, 52, 0, 32, 62, 64, 50, 0, 57, 0,
405 65, 60, 0, 59, 38, 0, 39, 40, 41, 42,
406 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
407 49, 0, 63, 51, 0, 0, 0, 0, 0, 0,
408 0, 0, 54, 0, 55, 56, 0, 0, 0, 0,
409 131, 0, 0, 131, 24, 25, 26, 27, 28, 61,
410 29, 30, 31, 0, 0, 0, 32, 131, 131, 0,
411 0, 0, 131, 0, 0, 0, 0, 38, 0, 39,
412 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
413 46, 47, 48, 49, 53, 157, 51, 0, 157, 0,
414 131, 0, 131, 0, 0, 54, 0, 55, 56, 0,
415 0, 0, 157, 157, 0, 0, 0, 157, 0, 0,
416 0, 0, 0, 95, 95, 95, 95, 0, 0, 0,
417 95, 0, 131, 0, 0, 0, 0, 0, 143, 0,
418 0, 143, 0, 0, 0, 157, 0, 157, 95, 95,
419 0, 95, 0, 0, 0, 143, 143, 0, 0, 0,
420 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 157, 0, 71,
422 71, 71, 71, 0, 116, 0, 71, 116, 0, 0,
423 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 116, 116, 0, 71, 71, 116, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 143, 0, 0, 0, 0, 24, 25, 26, 27, 28,
427 0, 29, 30, 31, 116, 0, 116, 32, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
429 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
430 45, 46, 47, 48, 49, 0, 0, 51, 0, 168,
431 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
432 0, 131, 131, 131, 131, 0, 0, 0, 131, 0,
433 131, 0, 0, 0, 0, 0, 131, 131, 131, 131,
434 0, 150, 0, 0, 0, 0, 131, 131, 0, 131,
435 131, 131, 131, 131, 131, 131, 0, 0, 131, 0,
436 0, 131, 131, 131, 0, 0, 157, 157, 157, 157,
437 0, 159, 0, 157, 159, 157, 0, 0, 0, 0,
438 0, 157, 157, 157, 157, 0, 0, 0, 159, 159,
439 0, 157, 157, 159, 157, 157, 157, 157, 157, 157,
440 157, 0, 0, 157, 0, 0, 157, 157, 157, 143,
441 143, 143, 143, 0, 0, 0, 143, 0, 143, 0,
442 0, 0, 0, 159, 143, 143, 143, 143, 0, 0,
443 0, 0, 0, 0, 143, 143, 0, 143, 143, 143,
444 143, 143, 143, 143, 0, 0, 143, 0, 0, 143,
445 143, 143, 0, 159, 0, 116, 116, 116, 116, 168,
446 160, 0, 116, 0, 116, 0, 0, 0, 0, 0,
447 116, 116, 116, 116, 0, 0, 0, 160, 160, 0,
448 116, 116, 160, 116, 116, 116, 116, 116, 116, 116,
449 0, 150, 116, 0, 0, 116, 116, 116, 0, 0,
450 0, 0, 0, 145, 0, 152, 153, 154, 155, 0,
451 160, 0, 160, 0, 0, 0, 0, 0, 0, 0,
452 145, 145, 161, 162, 163, 145, 0, 164, 0, 0,
453 165, 166, 167, 0, 0, 0, 0, 0, 0, 0,
454 0, 0, 160, 0, 0, 0, 0, 108, 0, 0,
455 108, 0, 0, 145, 0, 145, 0, 0, 0, 0,
456 0, 0, 0, 0, 108, 108, 0, 0, 0, 108,
457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
458 0, 0, 0, 0, 0, 145, 0, 0, 0, 0,
459 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
460 0, 0, 159, 159, 159, 159, 0, 0, 0, 159,
461 0, 159, 0, 0, 0, 0, 0, 159, 159, 159,
462 159, 0, 0, 69, 0, 0, 69, 159, 159, 108,
463 159, 159, 159, 159, 159, 159, 159, 0, 0, 159,
464 69, 69, 159, 159, 159, 69, 0, 0, 0, 0,
465 0, 0, 0, 0, 0, 152, 153, 154, 155, 0,
466 0, 0, 0, 0, 0, 0, 107, 0, 0, 107,
467 159, 160, 161, 162, 163, 69, 0, 164, 0, 0,
468 165, 166, 167, 107, 107, 0, 0, 0, 107, 0,
469 0, 160, 160, 160, 160, 0, 0, 0, 160, 0,
470 160, 0, 0, 0, 0, 69, 160, 160, 160, 160,
471 0, 0, 0, 0, 0, 0, 160, 160, 107, 160,
472 160, 160, 160, 160, 160, 160, 0, 0, 160, 0,
473 0, 160, 160, 160, 145, 145, 145, 145, 0, 72,
474 0, 145, 0, 145, 0, 0, 0, 0, 107, 145,
475 145, 145, 145, 0, 0, 0, 72, 72, 0, 145,
476 145, 72, 145, 145, 145, 145, 145, 145, 145, 0,
477 0, 145, 0, 0, 145, 145, 145, 0, 108, 108,
478 108, 108, 0, 146, 0, 108, 146, 108, 0, 72,
479 0, 72, 0, 108, 108, 108, 108, 0, 0, 0,
480 146, 146, 0, 108, 108, 146, 108, 108, 108, 108,
481 108, 108, 108, 0, 0, 108, 0, 0, 108, 108,
482 108, 72, 0, 0, 0, 0, 159, 90, 90, 159,
483 0, 0, 0, 0, 0, 146, 0, 0, 0, 103,
484 0, 0, 0, 159, 159, 111, 90, 119, 159, 0,
485 0, 0, 90, 0, 69, 69, 69, 69, 0, 0,
486 0, 69, 0, 69, 90, 90, 90, 90, 0, 69,
487 69, 69, 69, 0, 0, 0, 0, 0, 159, 69,
488 69, 0, 69, 69, 69, 69, 69, 69, 69, 0,
489 0, 69, 0, 0, 69, 69, 69, 107, 107, 107,
490 107, 0, 114, 0, 107, 114, 107, 0, 0, 111,
491 0, 0, 107, 107, 107, 107, 0, 0, 0, 114,
492 114, 0, 107, 107, 114, 107, 107, 107, 107, 107,
493 107, 107, 0, 0, 107, 0, 0, 107, 107, 107,
494 0, 0, 0, 0, 0, 121, 0, 0, 121, 0,
495 0, 0, 0, 0, 114, 0, 0, 0, 0, 0,
496 0, 0, 121, 121, 0, 0, 0, 121, 0, 237,
497 72, 72, 72, 72, 0, 0, 0, 72, 0, 72,
498 0, 0, 0, 0, 0, 72, 72, 72, 72, 0,
499 0, 0, 0, 266, 0, 72, 72, 121, 72, 72,
500 72, 72, 72, 72, 72, 0, 0, 72, 0, 0,
501 72, 72, 72, 0, 146, 146, 146, 146, 0, 105,
502 0, 146, 105, 146, 0, 0, 0, 0, 0, 146,
503 146, 146, 146, 0, 0, 0, 105, 105, 0, 146,
504 146, 105, 146, 146, 146, 146, 146, 146, 146, 0,
505 0, 146, 0, 0, 146, 146, 146, 159, 159, 159,
506 159, 0, 99, 0, 159, 99, 159, 0, 0, 0,
507 0, 105, 159, 159, 159, 159, 0, 0, 0, 99,
508 99, 0, 159, 159, 99, 159, 159, 159, 159, 159,
509 159, 159, 0, 0, 159, 0, 0, 159, 159, 159,
510 100, 0, 0, 100, 0, 0, 0, 0, 0, 0,
511 0, 0, 0, 0, 99, 0, 0, 100, 100, 0,
512 0, 0, 100, 0, 0, 0, 0, 0, 0, 0,
513 0, 0, 0, 114, 114, 114, 114, 0, 101, 0,
514 114, 101, 114, 0, 0, 0, 0, 0, 114, 114,
515 114, 114, 100, 0, 0, 101, 101, 0, 114, 114,
516 101, 114, 114, 114, 114, 114, 114, 114, 0, 0,
517 114, 0, 0, 114, 114, 114, 121, 121, 121, 121,
518 0, 97, 0, 121, 97, 121, 0, 0, 0, 0,
519 101, 121, 121, 121, 121, 0, 0, 0, 97, 97,
520 0, 121, 121, 97, 121, 121, 121, 121, 121, 121,
521 121, 0, 0, 121, 0, 0, 121, 121, 121, 98,
522 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
523 0, 0, 0, 97, 0, 0, 98, 98, 0, 0,
524 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
525 105, 105, 105, 105, 0, 96, 0, 105, 96, 105,
526 0, 0, 0, 0, 0, 105, 105, 105, 105, 0,
527 0, 98, 96, 96, 0, 105, 105, 96, 105, 105,
528 105, 105, 105, 105, 105, 0, 0, 105, 0, 0,
529 0, 0, 0, 99, 99, 99, 99, 0, 84, 0,
530 99, 84, 99, 0, 0, 0, 0, 96, 99, 99,
531 99, 99, 0, 0, 0, 84, 84, 0, 99, 99,
532 84, 99, 99, 99, 99, 99, 99, 99, 0, 0,
533 0, 100, 100, 100, 100, 0, 85, 0, 100, 85,
534 100, 0, 0, 0, 0, 0, 100, 100, 100, 100,
535 84, 0, 0, 85, 85, 0, 100, 100, 85, 100,
536 100, 100, 100, 100, 100, 100, 0, 0, 0, 101,
537 101, 101, 101, 0, 86, 0, 101, 86, 101, 0,
538 0, 0, 0, 0, 101, 101, 101, 101, 85, 0,
539 0, 86, 86, 0, 101, 101, 86, 101, 101, 101,
540 101, 101, 101, 101, 0, 0, 0, 0, 0, 0,
541 0, 0, 97, 97, 97, 97, 0, 87, 0, 97,
542 87, 97, 0, 0, 0, 0, 86, 97, 97, 97,
543 97, 0, 0, 0, 87, 87, 0, 97, 97, 87,
544 97, 97, 97, 97, 97, 97, 97, 0, 0, 0,
545 98, 98, 98, 98, 0, 148, 0, 98, 148, 98,
546 0, 0, 0, 0, 0, 98, 98, 98, 98, 87,
547 0, 0, 148, 148, 0, 98, 98, 148, 98, 98,
548 98, 98, 98, 98, 98, 0, 96, 96, 96, 96,
549 0, 135, 0, 96, 135, 96, 0, 0, 0, 0,
550 0, 96, 96, 96, 96, 0, 0, 148, 135, 135,
551 0, 96, 96, 135, 96, 96, 96, 96, 96, 96,
552 96, 0, 0, 0, 0, 0, 0, 0, 0, 84,
553 84, 84, 84, 0, 106, 0, 84, 106, 84, 0,
554 0, 0, 0, 135, 84, 84, 84, 84, 0, 0,
555 0, 106, 106, 0, 84, 84, 106, 84, 84, 84,
556 84, 84, 84, 84, 0, 0, 0, 85, 85, 85,
557 85, 0, 91, 0, 85, 91, 85, 0, 0, 0,
558 0, 0, 85, 85, 85, 85, 106, 0, 0, 91,
559 91, 0, 85, 85, 91, 85, 85, 85, 85, 85,
560 85, 0, 0, 0, 0, 86, 86, 86, 86, 0,
561 93, 0, 86, 93, 86, 0, 0, 0, 0, 0,
562 86, 86, 0, 86, 91, 0, 0, 93, 93, 0,
563 86, 86, 93, 86, 86, 86, 86, 86, 86, 0,
564 168, 0, 0, 0, 0, 0, 0, 0, 87, 87,
565 87, 87, 0, 94, 0, 87, 94, 87, 0, 0,
566 0, 0, 93, 87, 87, 0, 0, 0, 0, 0,
567 94, 94, 150, 87, 87, 94, 87, 87, 87, 87,
568 87, 87, 0, 0, 0, 0, 148, 148, 148, 148,
569 0, 92, 0, 148, 92, 148, 0, 0, 0, 0,
570 0, 148, 148, 144, 0, 94, 144, 0, 92, 92,
571 0, 148, 148, 92, 148, 148, 148, 148, 148, 0,
572 144, 144, 135, 135, 135, 135, 0, 0, 0, 135,
573 0, 135, 0, 0, 0, 0, 0, 135, 135, 0,
574 0, 0, 0, 92, 0, 0, 83, 135, 135, 83,
575 135, 135, 135, 135, 135, 144, 0, 0, 0, 70,
576 0, 0, 70, 83, 83, 106, 106, 106, 106, 0,
577 0, 0, 106, 0, 106, 0, 70, 70, 0, 0,
578 106, 106, 0, 0, 0, 0, 157, 0, 0, 0,
579 106, 106, 0, 106, 106, 106, 106, 106, 83, 0,
580 0, 0, 0, 91, 91, 91, 91, 0, 0, 0,
581 91, 70, 91, 0, 168, 0, 0, 0, 0, 0,
582 0, 0, 0, 0, 0, 0, 0, 0, 91, 91,
583 0, 91, 91, 91, 91, 0, 152, 153, 154, 155,
584 0, 93, 93, 93, 93, 0, 150, 0, 93, 0,
585 93, 0, 160, 161, 162, 163, 0, 0, 164, 0,
586 0, 165, 166, 167, 0, 0, 93, 93, 0, 93,
587 93, 93, 157, 0, 0, 0, 0, 0, 0, 0,
588 0, 0, 0, 0, 94, 94, 94, 94, 0, 0,
589 0, 94, 0, 94, 0, 0, 0, 0, 0, 0,
590 168, 0, 0, 0, 0, 0, 0, 0, 0, 94,
591 94, 0, 94, 94, 0, 0, 0, 0, 0, 0,
592 0, 0, 92, 92, 92, 92, 0, 0, 0, 92,
593 0, 0, 150, 0, 144, 144, 144, 144, 0, 0,
594 0, 144, 0, 0, 0, 0, 94, 92, 92, 0,
595 92, 0, 0, 0, 104, 0, 0, 0, 109, 144,
596 144, 118, 0, 0, 0, 0, 0, 0, 125, 126,
597 127, 128, 129, 0, 0, 132, 133, 83, 83, 83,
598 83, 0, 140, 0, 83, 0, 0, 0, 0, 0,
599 70, 70, 70, 70, 0, 0, 0, 70, 0, 0,
600 0, 0, 83, 83, 151, 0, 0, 0, 0, 184,
601 152, 153, 154, 155, 0, 70, 70, 0, 0, 0,
602 0, 0, 0, 156, 158, 159, 160, 161, 162, 163,
603 0, 0, 164, 0, 0, 165, 166, 167, 0, 0,
604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
606 0, 0, 0, 0, 0, 0, 0, 219, 220, 221,
607 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
608 232, 0, 0, 0, 0, 0, 0, 0, 0, 0,
609 151, 0, 247, 0, 0, 0, 152, 153, 154, 155,
610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
611 158, 159, 160, 161, 162, 163, 0, 0, 164, 0,
612 0, 165, 166, 167, 0, 0, 0, 0, 0, 0,
613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
617 0, 301, 0, 0, 0, 0, 0, 0, 0, 0,
618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
622 dEXT short yycheck[] = { 13,
623 41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
624 59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
625 58, 59, 91, 40, 257, 63, 41, 297, 298, 257,
626 41, 59, 46, 40, 43, 41, 123, 276, 277, 257,
627 123, 41, 51, 57, 41, 91, 41, 61, 59, 123,
628 362, 44, 40, 59, 123, 93, 328, 329, 0, 40,
629 192, 333, 41, 40, 40, 36, 40, 40, 40, 40,
630 59, 278, 59, 123, 91, 123, 122, 349, 123, 40,
631 59, 353, 91, 123, 97, 98, 99, 100, 101, 102,
632 59, 33, 106, 107, 36, 37, 38, 59, 40, 123,
633 42, 43, 260, 45, 44, 114, 123, 59, 41, 41,
634 41, 257, 40, 122, 40, 125, 40, 59, 41, 41,
635 91, 291, 64, 91, 41, 41, 59, 59, 59, 143,
636 144, 145, 146, 147, 148, 149, 150, 59, 257, 36,
637 91, 273, 59, 93, 91, 41, 298, 125, 44, 91,
638 40, 40, 123, 0, 168, 169, 170, 171, 172, 173,
639 174, 41, 58, 59, 41, 41, 41, 63, 93, 183,
640 41, 41, 123, 187, 188, 307, 190, 91, 192, 125,
641 193, 123, 93, 125, 126, 199, 33, 201, 202, 36,
642 37, 38, 206, 40, 59, 42, 43, 93, 45, 266,
643 267, 268, 59, 270, 271, 251, 289, 290, 257, 123,
644 256, 41, 59, 125, 123, 297, 298, 64, 125, 233,
645 352, 235, 236, 306, 125, 93, 309, 314, 41, 312,
646 313, 314, 125, 257, 272, 273, 274, 275, 262, 41,
647 41, 279, 251, 281, 91, 297, 298, 256, 0, 287,
648 288, 289, 290, 297, 298, 339, 297, 298, 59, 297,
649 298, 296, 300, 301, 302, 303, 304, 305, 306, 59,
650 284, 309, 297, 298, 297, 298, 123, 291, 125, 126,
651 40, 33, 297, 298, 36, 37, 38, 258, 40, 93,
652 42, 43, 93, 45, 93, 309, 41, 297, 298, 41,
653 297, 298, 297, 298, 297, 298, 123, 59, 297, 298,
654 297, 298, 64, 125, 256, 257, 258, 259, 260, 261,
655 123, 263, 264, 265, 266, 267, 268, 269, 270, 271,
656 272, 273, 274, 275, 348, 297, 298, 279, 280, 91,
657 282, 283, 284, 285, 286, 297, 298, 297, 298, 291,
658 292, 293, 294, 295, 296, 306, 91, 299, 309, 41,
659 41, 312, 313, 314, 59, 41, 308, 59, 310, 311,
660 41, 123, 297, 298, 126, 59, 272, 273, 274, 275,
661 41, 8, 32, 279, 13, 281, 297, 298, 123, 144,
662 348, 287, 288, 41, 309, 309, 44, 190, 312, 313,
663 314, 297, 298, 96, 300, 301, 302, 303, 304, 256,
664 257, 258, 259, 260, 261, 63, 263, 264, 265, 266,
665 267, 268, 269, 270, 271, 272, 273, 274, 275, 297,
666 298, -1, 279, 280, -1, 282, 283, 284, 285, 286,
667 -1, -1, -1, 91, 291, 292, 293, 294, 295, 296,
668 125, -1, 299, 91, 266, 267, 268, -1, 270, 271,
669 -1, 308, -1, 310, 311, -1, 41, -1, -1, 44,
670 -1, 272, 273, 274, 275, 123, -1, -1, 279, -1,
671 -1, -1, -1, 58, 59, 123, -1, -1, 63, -1,
672 -1, -1, -1, 297, 298, -1, 297, 298, 297, 298,
673 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
674 -1, 263, 264, 265, -1, -1, 91, 269, 93, -1,
675 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
676 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
677 292, 293, 294, 295, 296, -1, -1, 299, 123, -1,
678 -1, -1, 287, 288, 289, 290, 308, 33, 310, 311,
679 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
680 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
681 -1, -1, 58, 59, -1, -1, -1, 63, 64, -1,
682 -1, 266, 267, 268, -1, 270, 271, -1, -1, -1,
683 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
684 -1, -1, -1, 279, -1, 91, -1, 93, 33, -1,
685 -1, 36, 37, 38, -1, 40, 41, 42, 43, 44,
686 45, 297, 298, 281, -1, -1, -1, -1, -1, 287,
687 288, 289, 290, 58, 59, -1, -1, 123, 63, 64,
688 126, 289, 300, 301, 302, 303, 304, 305, 306, -1,
689 -1, 309, -1, -1, 312, 313, 314, -1, 306, -1,
690 -1, 309, -1, -1, 312, 313, 314, 33, 93, -1,
691 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
692 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
693 275, -1, -1, 59, 279, -1, 281, -1, 64, -1,
694 -1, 126, 287, 288, 289, 290, 304, 305, 306, -1,
695 308, -1, 297, 298, -1, 300, 301, 302, 303, 304,
696 305, 306, -1, -1, 309, 91, -1, 312, 313, 314,
697 -1, -1, 41, -1, -1, 44, -1, 335, -1, -1,
698 -1, -1, -1, -1, 342, -1, -1, -1, 346, -1,
699 59, -1, -1, 91, -1, -1, -1, 123, -1, -1,
700 126, 359, 360, -1, -1, -1, -1, -1, -1, -1,
701 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
702 -1, -1, -1, 269, 93, 123, 272, 273, 274, 275,
703 -1, -1, -1, 279, 280, 281, 282, 283, 284, 285,
704 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
705 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
706 306, -1, 308, 309, 310, 311, 312, 313, 314, -1,
707 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
708 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
709 275, -1, -1, -1, 279, 280, 281, 282, 283, 284,
710 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
711 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
712 305, 306, -1, 308, 309, 310, 311, 312, 313, 314,
713 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
714 -1, -1, -1, 269, -1, 91, 272, 273, 274, 275,
715 -1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
716 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
717 296, 33, -1, 299, 36, 37, 38, 123, 40, -1,
718 42, 43, 308, 45, 310, 311, -1, -1, 13, 287,
719 -1, 289, 290, -1, -1, -1, -1, 59, -1, -1,
720 -1, -1, 64, 272, 273, 274, 275, 305, 306, -1,
721 279, 309, -1, -1, 312, 313, 314, 42, -1, -1,
722 45, -1, -1, -1, -1, -1, -1, 33, 297, 91,
723 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
724 -1, -1, 26, -1, -1, -1, -1, -1, -1, -1,
725 -1, -1, -1, -1, -1, -1, 81, -1, 64, 43,
726 44, 123, -1, -1, 126, -1, 50, -1, -1, -1,
727 95, -1, -1, -1, -1, -1, -1, -1, 62, 63,
728 64, 65, -1, 33, -1, 91, 36, 37, 38, -1,
729 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
730 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
731 -1, -1, -1, -1, 64, -1, 141, 123, -1, -1,
732 126, -1, -1, 107, -1, -1, -1, -1, -1, -1,
733 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
734 -1, 91, -1, 289, 290, -1, 33, -1, -1, 36,
735 37, 38, -1, 40, 179, 42, 43, -1, 45, 305,
736 306, 186, -1, 309, -1, -1, 312, 313, 314, -1,
737 -1, -1, -1, 123, -1, -1, 126, 64, -1, -1,
738 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
739 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
740 -1, 263, 264, 265, 91, -1, -1, 269, -1, -1,
741 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
742 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
743 292, 293, 294, 295, 296, -1, 123, 299, -1, 126,
744 -1, 91, -1, -1, -1, 41, 308, -1, 310, 311,
745 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
746 -1, -1, -1, 269, -1, -1, -1, 63, -1, -1,
747 -1, -1, -1, 123, 280, -1, 282, 283, 284, 285,
748 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
749 296, -1, -1, 299, -1, 91, -1, -1, -1, -1,
750 -1, -1, 308, -1, 310, 311, -1, 257, 258, 259,
751 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
752 58, -1, -1, -1, -1, 63, -1, 123, -1, -1,
753 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
754 -1, 291, 292, 293, 294, 295, 296, -1, -1, 299,
755 -1, -1, -1, 91, -1, -1, -1, -1, 308, -1,
756 310, 311, -1, -1, -1, -1, 41, -1, -1, 44,
757 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
758 -1, -1, 269, 58, 59, 123, -1, -1, 63, -1,
759 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
760 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
761 33, -1, 299, 36, 37, 38, -1, 40, 93, 42,
762 43, 308, 45, 310, 311, -1, -1, -1, -1, -1,
763 -1, -1, -1, -1, -1, -1, 59, 287, 288, 289,
764 290, 64, -1, -1, -1, -1, -1, -1, -1, -1,
765 -1, 301, 302, 303, 304, 305, 306, -1, -1, 309,
766 -1, -1, 312, 313, 314, -1, 33, -1, 91, 36,
767 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
768 -1, -1, -1, -1, -1, 281, -1, -1, -1, -1,
769 -1, 287, 288, 289, 290, -1, -1, 64, -1, -1,
770 -1, -1, -1, 126, 300, 301, 302, 303, 304, 305,
771 306, -1, -1, 309, -1, -1, 312, 313, 314, -1,
772 -1, -1, 33, -1, 91, 36, 37, 38, -1, 40,
773 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
774 -1, -1, -1, 281, -1, -1, -1, -1, -1, 287,
775 288, 289, 290, 64, -1, -1, -1, -1, -1, 126,
776 -1, -1, 300, 301, 302, 303, 304, 305, 306, -1,
777 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
778 91, 33, 93, -1, 36, 37, 38, -1, 40, 41,
779 42, 43, -1, 45, -1, -1, -1, 272, 273, 274,
780 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
781 -1, -1, 64, 288, -1, 126, -1, -1, -1, -1,
782 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
783 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
784 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
785 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
786 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
787 293, 294, 295, 296, 126, -1, 299, -1, -1, -1,
788 -1, -1, 93, -1, -1, 308, 41, 310, 311, 44,
789 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
790 -1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
791 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
792 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
793 -1, -1, 299, -1, -1, -1, -1, -1, 93, -1,
794 -1, 308, -1, 310, 311, -1, 257, 258, 259, 260,
795 261, -1, 263, 264, 265, -1, 33, -1, 269, 36,
796 37, 38, -1, 40, 41, 42, 43, -1, 45, 280,
797 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
798 291, 292, 293, 294, 295, 296, -1, 64, 299, -1,
799 -1, -1, -1, -1, -1, -1, -1, 308, -1, 310,
800 311, -1, -1, -1, -1, 257, 258, 259, 260, 261,
801 -1, 263, 264, 265, 91, 33, -1, 269, 36, 37,
802 38, -1, 40, -1, 42, 43, -1, 45, 280, -1,
803 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
804 292, 293, 294, 295, 296, -1, 64, 299, -1, 126,
805 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
806 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
807 281, 33, -1, 91, 36, 37, 38, -1, 40, 41,
808 42, 43, -1, 45, -1, -1, 297, 298, -1, 300,
809 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
810 -1, -1, 64, -1, -1, -1, -1, -1, 126, -1,
811 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
812 275, -1, -1, -1, 279, -1, 281, 33, -1, 91,
813 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
814 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
815 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
816 -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
817 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
818 257, 258, 259, 260, 261, 91, 263, 264, 265, -1,
819 33, -1, 269, 36, 37, 38, -1, 40, 41, 42,
820 43, -1, 45, 280, -1, 282, 283, 284, 285, 286,
821 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
822 126, 64, 299, -1, -1, -1, -1, -1, -1, -1,
823 -1, 308, -1, 310, 311, -1, -1, -1, 256, 257,
824 258, 259, 260, 261, -1, 263, 264, 265, 91, -1,
825 -1, 269, 41, -1, -1, 44, -1, -1, -1, -1,
826 -1, -1, 280, -1, 282, 283, 284, 285, 286, 58,
827 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
828 -1, 299, -1, 126, -1, -1, -1, -1, -1, -1,
829 308, -1, 310, 311, -1, 257, 258, 259, 260, 261,
830 -1, 263, 264, 265, 93, -1, -1, 269, 41, -1,
831 -1, 44, -1, -1, -1, -1, -1, -1, 280, -1,
832 282, 283, 284, 285, 286, 58, 59, -1, -1, 291,
833 292, 293, 294, 295, 296, -1, -1, 299, -1, -1,
834 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
835 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
836 93, 33, -1, 269, 36, 37, 38, -1, 40, -1,
837 42, 43, -1, 45, 280, -1, 282, 283, 284, 285,
838 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
839 296, -1, 64, 299, -1, -1, -1, -1, -1, -1,
840 -1, -1, 308, -1, 310, 311, -1, -1, -1, -1,
841 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
842 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
843 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
844 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
845 293, 294, 295, 296, 126, 41, 299, -1, 44, -1,
846 91, -1, 93, -1, -1, 308, -1, 310, 311, -1,
847 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
848 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
849 279, -1, 123, -1, -1, -1, -1, -1, 41, -1,
850 -1, 44, -1, -1, -1, 91, -1, 93, 297, 298,
851 -1, 300, -1, -1, -1, 58, 59, -1, -1, -1,
852 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
853 -1, -1, -1, -1, -1, -1, -1, 123, -1, 272,
854 273, 274, 275, -1, 41, -1, 279, 44, -1, -1,
855 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
856 -1, 58, 59, -1, 297, 298, 63, -1, -1, -1,
857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
858 123, -1, -1, -1, -1, 257, 258, 259, 260, 261,
859 -1, 263, 264, 265, 91, -1, 93, 269, -1, -1,
860 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
861 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
862 292, 293, 294, 295, 296, -1, -1, 299, -1, 91,
863 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
864 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
865 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
866 -1, 123, -1, -1, -1, -1, 297, 298, -1, 300,
867 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
868 -1, 312, 313, 314, -1, -1, 272, 273, 274, 275,
869 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
870 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
871 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
872 306, -1, -1, 309, -1, -1, 312, 313, 314, 272,
873 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
874 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
875 -1, -1, -1, -1, 297, 298, -1, 300, 301, 302,
876 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
877 313, 314, -1, 123, -1, 272, 273, 274, 275, 91,
878 41, -1, 279, -1, 281, -1, -1, -1, -1, -1,
879 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
880 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
881 -1, 123, 309, -1, -1, 312, 313, 314, -1, -1,
882 -1, -1, -1, 41, -1, 287, 288, 289, 290, -1,
883 91, -1, 93, -1, -1, -1, -1, -1, -1, -1,
884 58, 59, 304, 305, 306, 63, -1, 309, -1, -1,
885 312, 313, 314, -1, -1, -1, -1, -1, -1, -1,
886 -1, -1, 123, -1, -1, -1, -1, 41, -1, -1,
887 44, -1, -1, 91, -1, 93, -1, -1, -1, -1,
888 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
889 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
890 -1, -1, -1, -1, -1, 123, -1, -1, -1, -1,
891 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
892 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
893 -1, 281, -1, -1, -1, -1, -1, 287, 288, 289,
894 290, -1, -1, 41, -1, -1, 44, 297, 298, 123,
895 300, 301, 302, 303, 304, 305, 306, -1, -1, 309,
896 58, 59, 312, 313, 314, 63, -1, -1, -1, -1,
897 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
898 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
899 302, 303, 304, 305, 306, 93, -1, 309, -1, -1,
900 312, 313, 314, 58, 59, -1, -1, -1, 63, -1,
901 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
902 281, -1, -1, -1, -1, 123, 287, 288, 289, 290,
903 -1, -1, -1, -1, -1, -1, 297, 298, 93, 300,
904 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
905 -1, 312, 313, 314, 272, 273, 274, 275, -1, 41,
906 -1, 279, -1, 281, -1, -1, -1, -1, 123, 287,
907 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
908 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
909 -1, 309, -1, -1, 312, 313, 314, -1, 272, 273,
910 274, 275, -1, 41, -1, 279, 44, 281, -1, 91,
911 -1, 93, -1, 287, 288, 289, 290, -1, -1, -1,
912 58, 59, -1, 297, 298, 63, 300, 301, 302, 303,
913 304, 305, 306, -1, -1, 309, -1, -1, 312, 313,
914 314, 123, -1, -1, -1, -1, 41, 25, 26, 44,
915 -1, -1, -1, -1, -1, 93, -1, -1, -1, 37,
916 -1, -1, -1, 58, 59, 43, 44, 45, 63, -1,
917 -1, -1, 50, -1, 272, 273, 274, 275, -1, -1,
918 -1, 279, -1, 281, 62, 63, 64, 65, -1, 287,
919 288, 289, 290, -1, -1, -1, -1, -1, 93, 297,
920 298, -1, 300, 301, 302, 303, 304, 305, 306, -1,
921 -1, 309, -1, -1, 312, 313, 314, 272, 273, 274,
922 275, -1, 41, -1, 279, 44, 281, -1, -1, 107,
923 -1, -1, 287, 288, 289, 290, -1, -1, -1, 58,
924 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
925 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
926 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
927 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
928 -1, -1, 58, 59, -1, -1, -1, 63, -1, 167,
929 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
930 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
931 -1, -1, -1, 191, -1, 297, 298, 93, 300, 301,
932 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
933 312, 313, 314, -1, 272, 273, 274, 275, -1, 41,
934 -1, 279, 44, 281, -1, -1, -1, -1, -1, 287,
935 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
936 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
937 -1, 309, -1, -1, 312, 313, 314, 272, 273, 274,
938 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
939 -1, 93, 287, 288, 289, 290, -1, -1, -1, 58,
940 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
941 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
942 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
943 -1, -1, -1, -1, 93, -1, -1, 58, 59, -1,
944 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
945 -1, -1, -1, 272, 273, 274, 275, -1, 41, -1,
946 279, 44, 281, -1, -1, -1, -1, -1, 287, 288,
947 289, 290, 93, -1, -1, 58, 59, -1, 297, 298,
948 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
949 309, -1, -1, 312, 313, 314, 272, 273, 274, 275,
950 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
951 93, 287, 288, 289, 290, -1, -1, -1, 58, 59,
952 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
953 306, -1, -1, 309, -1, -1, 312, 313, 314, 41,
954 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
955 -1, -1, -1, 93, -1, -1, 58, 59, -1, -1,
956 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
957 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
958 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
959 -1, 93, 58, 59, -1, 297, 298, 63, 300, 301,
960 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
961 -1, -1, -1, 272, 273, 274, 275, -1, 41, -1,
962 279, 44, 281, -1, -1, -1, -1, 93, 287, 288,
963 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
964 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
965 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
966 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
967 93, -1, -1, 58, 59, -1, 297, 298, 63, 300,
968 301, 302, 303, 304, 305, 306, -1, -1, -1, 272,
969 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
970 -1, -1, -1, -1, 287, 288, 289, 290, 93, -1,
971 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
972 303, 304, 305, 306, -1, -1, -1, -1, -1, -1,
973 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
974 44, 281, -1, -1, -1, -1, 93, 287, 288, 289,
975 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
976 300, 301, 302, 303, 304, 305, 306, -1, -1, -1,
977 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
978 -1, -1, -1, -1, -1, 287, 288, 289, 290, 93,
979 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
980 302, 303, 304, 305, 306, -1, 272, 273, 274, 275,
981 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
982 -1, 287, 288, 289, 290, -1, -1, 93, 58, 59,
983 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
984 306, -1, -1, -1, -1, -1, -1, -1, -1, 272,
985 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
986 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
987 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
988 303, 304, 305, 306, -1, -1, -1, 272, 273, 274,
989 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
990 -1, -1, 287, 288, 289, 290, 93, -1, -1, 58,
991 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
992 305, -1, -1, -1, -1, 272, 273, 274, 275, -1,
993 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
994 287, 288, -1, 290, 93, -1, -1, 58, 59, -1,
995 297, 298, 63, 300, 301, 302, 303, 304, 305, -1,
996 91, -1, -1, -1, -1, -1, -1, -1, 272, 273,
997 274, 275, -1, 41, -1, 279, 44, 281, -1, -1,
998 -1, -1, 93, 287, 288, -1, -1, -1, -1, -1,
999 58, 59, 123, 297, 298, 63, 300, 301, 302, 303,
1000 304, 305, -1, -1, -1, -1, 272, 273, 274, 275,
1001 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1002 -1, 287, 288, 41, -1, 93, 44, -1, 58, 59,
1003 -1, 297, 298, 63, 300, 301, 302, 303, 304, -1,
1004 58, 59, 272, 273, 274, 275, -1, -1, -1, 279,
1005 -1, 281, -1, -1, -1, -1, -1, 287, 288, -1,
1006 -1, -1, -1, 93, -1, -1, 41, 297, 298, 44,
1007 300, 301, 302, 303, 304, 93, -1, -1, -1, 41,
1008 -1, -1, 44, 58, 59, 272, 273, 274, 275, -1,
1009 -1, -1, 279, -1, 281, -1, 58, 59, -1, -1,
1010 287, 288, -1, -1, -1, -1, 63, -1, -1, -1,
1011 297, 298, -1, 300, 301, 302, 303, 304, 93, -1,
1012 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1013 279, 93, 281, -1, 91, -1, -1, -1, -1, -1,
1014 -1, -1, -1, -1, -1, -1, -1, -1, 297, 298,
1015 -1, 300, 301, 302, 303, -1, 287, 288, 289, 290,
1016 -1, 272, 273, 274, 275, -1, 123, -1, 279, -1,
1017 281, -1, 303, 304, 305, 306, -1, -1, 309, -1,
1018 -1, 312, 313, 314, -1, -1, 297, 298, -1, 300,
1019 301, 302, 63, -1, -1, -1, -1, -1, -1, -1,
1020 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1021 -1, 279, -1, 281, -1, -1, -1, -1, -1, -1,
1022 91, -1, -1, -1, -1, -1, -1, -1, -1, 297,
1023 298, -1, 300, 301, -1, -1, -1, -1, -1, -1,
1024 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1025 -1, -1, 123, -1, 272, 273, 274, 275, -1, -1,
1026 -1, 279, -1, -1, -1, -1, 30, 297, 298, -1,
1027 300, -1, -1, -1, 38, -1, -1, -1, 42, 297,
1028 298, 45, -1, -1, -1, -1, -1, -1, 52, 53,
1029 54, 55, 56, -1, -1, 59, 60, 272, 273, 274,
1030 275, -1, 66, -1, 279, -1, -1, -1, -1, -1,
1031 272, 273, 274, 275, -1, -1, -1, 279, -1, -1,
1032 -1, -1, 297, 298, 281, -1, -1, -1, -1, 93,
1033 287, 288, 289, 290, -1, 297, 298, -1, -1, -1,
1034 -1, -1, -1, 300, 301, 302, 303, 304, 305, 306,
1035 -1, -1, 309, -1, -1, 312, 313, 314, -1, -1,
1036 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1037 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1038 -1, -1, -1, -1, -1, -1, -1, 151, 152, 153,
1039 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1040 164, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1041 281, -1, 176, -1, -1, -1, 287, 288, 289, 290,
1042 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1043 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
1044 -1, 312, 313, 314, -1, -1, -1, -1, -1, -1,
1045 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1046 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1047 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1048 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1049 -1, 255, -1, -1, -1, -1, -1, -1, -1, -1,
1050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1051 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1058 #define YYMAXTOKEN 314
1060 dEXT char * yyname[] = {
1061 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1062 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1063 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1064 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1065 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1066 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1067 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1068 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","METHOD","FUNCMETH","THING",
1069 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1070 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1071 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1072 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1073 "OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP",
1074 "SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
1077 dEXT char * yyrule[] = {
1080 "prog : $$1 lineseq",
1081 "block : '{' remember lineseq '}'",
1083 "mblock : '{' mremember lineseq '}'",
1086 "lineseq : lineseq decl",
1087 "lineseq : lineseq line",
1088 "line : label cond",
1091 "line : label sideff ';'",
1094 "sideff : expr IF expr",
1095 "sideff : expr UNLESS expr",
1096 "sideff : expr WHILE expr",
1097 "sideff : expr UNTIL iexpr",
1098 "sideff : expr FOR expr",
1100 "else : ELSE mblock",
1101 "else : ELSIF '(' mexpr ')' mblock else",
1102 "cond : IF '(' remember mexpr ')' mblock else",
1103 "cond : UNLESS '(' remember miexpr ')' mblock else",
1105 "cont : CONTINUE block",
1106 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1107 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1108 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1109 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1110 "loop : label FOR '(' remember mexpr ')' mblock cont",
1111 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1112 "loop : label block cont",
1128 "format : FORMAT startformsub formname block",
1131 "subrout : SUB startsub subname proto subbody",
1140 "package : PACKAGE WORD ';'",
1141 "package : PACKAGE ';'",
1143 "use : USE startsub $$2 WORD WORD listexpr ';'",
1144 "expr : expr ANDOP expr",
1145 "expr : expr OROP expr",
1147 "argexpr : argexpr ','",
1148 "argexpr : argexpr ',' term",
1150 "listop : LSTOP indirob argexpr",
1151 "listop : FUNC '(' indirob expr ')'",
1152 "listop : term ARROW method '(' listexprcom ')'",
1153 "listop : METHOD indirob listexpr",
1154 "listop : FUNCMETH indirob '(' listexprcom ')'",
1155 "listop : LSTOP listexpr",
1156 "listop : FUNC '(' listexprcom ')'",
1158 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1161 "term : term ASSIGNOP term",
1162 "term : term POWOP term",
1163 "term : term MULOP term",
1164 "term : term ADDOP term",
1165 "term : term SHIFTOP term",
1166 "term : term RELOP term",
1167 "term : term EQOP term",
1168 "term : term BITANDOP term",
1169 "term : term BITOROP term",
1170 "term : term DOTDOT term",
1171 "term : term ANDAND term",
1172 "term : term OROR term",
1173 "term : term '?' term ':' term",
1174 "term : term MATCHOP term",
1179 "term : REFGEN term",
1180 "term : term POSTINC",
1181 "term : term POSTDEC",
1182 "term : PREINC term",
1183 "term : PREDEC term",
1184 "term : local term",
1185 "term : '(' expr ')'",
1187 "term : '[' expr ']'",
1189 "term : HASHBRACK expr ';' '}'",
1190 "term : HASHBRACK ';' '}'",
1191 "term : ANONSUB startanonsub proto block",
1193 "term : star '{' expr ';' '}'",
1195 "term : scalar '[' expr ']'",
1196 "term : term ARROW '[' expr ']'",
1197 "term : term '[' expr ']'",
1201 "term : scalar '{' expr ';' '}'",
1202 "term : term ARROW '{' expr ';' '}'",
1203 "term : term '{' expr ';' '}'",
1204 "term : '(' expr ')' '[' expr ']'",
1205 "term : '(' ')' '[' expr ']'",
1206 "term : ary '[' expr ']'",
1207 "term : ary '{' expr ';' '}'",
1210 "term : amper '(' ')'",
1211 "term : amper '(' expr ')'",
1212 "term : NOAMP WORD listexpr",
1215 "term : DO WORD '(' ')'",
1216 "term : DO WORD '(' expr ')'",
1217 "term : DO scalar '(' ')'",
1218 "term : DO scalar '(' expr ')'",
1219 "term : term ARROW '(' ')'",
1220 "term : term ARROW '(' expr ')'",
1222 "term : LOOPEX term",
1223 "term : NOTOP argexpr",
1225 "term : UNIOP block",
1226 "term : UNIOP term",
1227 "term : UNIOPSUB term",
1229 "term : FUNC0 '(' ')'",
1231 "term : FUNC1 '(' ')'",
1232 "term : FUNC1 '(' expr ')'",
1233 "term : PMFUNC '(' term ')'",
1234 "term : PMFUNC '(' term ',' term ')'",
1238 "listexpr : argexpr",
1240 "listexprcom : expr",
1241 "listexprcom : expr ','",
1244 "my_scalar : scalar",
1245 "amper : '&' indirob",
1246 "scalar : '$' indirob",
1247 "ary : '@' indirob",
1248 "hsh : '%' indirob",
1249 "arylen : DOLSHARP indirob",
1250 "star : '*' indirob",
1254 "indirob : PRIVATEREF",
1257 #define yyclearin (yychar=(-1))
1258 #define yyerrok (yyerrflag=0)
1261 #define YYMAXDEPTH YYSTACKSIZE
1265 #define YYSTACKSIZE YYMAXDEPTH
1267 #define YYSTACKSIZE 500
1268 #define YYMAXDEPTH 500
1276 dEXT YYSTYPE yylval;
1279 #line 1349 "y_tab.c"
1280 #define YYABORT goto yyabort
1281 #define YYACCEPT goto yyaccept
1282 #define YYERROR goto yyerrlab
1296 yydestruct(void *ptr)
1298 struct ysv* ysave = (struct ysv*)ptr;
1299 if (ysave->yyss) Safefree(ysave->yyss);
1300 if (ysave->yyvs) Safefree(ysave->yyvs);
1301 yydebug = ysave->oldyydebug;
1302 yynerrs = ysave->oldyynerrs;
1303 yyerrflag = ysave->oldyyerrflag;
1304 yychar = ysave->oldyychar;
1305 yyval = ysave->oldyyval;
1306 yylval = ysave->oldyylval;
1313 register int yym, yyn, yystate;
1314 register short *yyssp;
1315 register YYSTYPE *yyvsp;
1318 unsigned yystacksize = YYSTACKSIZE;
1324 extern char *getenv();
1330 New(73, ysave, 1, struct ysv);
1331 SAVEDESTRUCTOR(yydestruct, ysave);
1332 ysave->oldyydebug = yydebug;
1333 ysave->oldyynerrs = yynerrs;
1334 ysave->oldyyerrflag = yyerrflag;
1335 ysave->oldyychar = yychar;
1336 ysave->oldyyval = yyval;
1337 ysave->oldyylval = yylval;
1340 if (yys = getenv("YYDEBUG"))
1343 if (yyn >= '0' && yyn <= '9')
1344 yydebug = yyn - '0';
1346 else SETERRNO(0,SS$_NORMAL);
1354 ** Initialize private stacks (yyparse may be called from an action)
1356 New(73, yyss, yystacksize, short);
1357 New(73, yyvs, yystacksize, YYSTYPE);
1365 *yyssp = yystate = 0;
1368 if (yyn = yydefred[yystate]) goto yyreduce;
1371 if ((yychar = yylex()) < 0) yychar = 0;
1376 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1377 if (!yys) yys = "illegal-symbol";
1378 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate,
1383 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1384 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1388 fprintf(stderr, "yydebug: state %d, shifting to state %d\n",
1389 yystate, yytable[yyn]);
1391 if (yyssp >= yyss + yystacksize - 1)
1394 ** reallocate and recover. Note that pointers
1395 ** have to be reset, or bad things will happen
1397 int yyps_index = (yyssp - yyss);
1398 int yypv_index = (yyvsp - yyvs);
1399 yystacksize += YYSTACKSIZE;
1400 ysave->yyvs = yyvs =
1401 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1402 ysave->yyss = yyss =
1403 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1406 yyssp = yyss + yyps_index;
1407 yyvsp = yyvs + yypv_index;
1409 *++yyssp = yystate = yytable[yyn];
1412 if (yyerrflag > 0) --yyerrflag;
1415 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1416 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1421 if (yyerrflag) goto yyinrecovery;
1426 yyerror("syntax error");
1438 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1439 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1444 "yydebug: state %d, error recovery shifting to state %d\n",
1445 *yyssp, yytable[yyn]);
1447 if (yyssp >= yyss + yystacksize - 1)
1450 ** reallocate and recover. Note that pointers
1451 ** have to be reset, or bad things will happen
1453 int yyps_index = (yyssp - yyss);
1454 int yypv_index = (yyvsp - yyvs);
1455 yystacksize += YYSTACKSIZE;
1456 ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
1457 yystacksize * sizeof(YYSTYPE));
1458 ysave->yyss = yyss = (short*)realloc((char*)yyss,
1459 yystacksize * sizeof(short));
1462 yyssp = yyss + yyps_index;
1463 yyvsp = yyvs + yypv_index;
1465 *++yyssp = yystate = yytable[yyn];
1474 "yydebug: error recovery discarding state %d\n",
1477 if (yyssp <= yyss) goto yyabort;
1485 if (yychar == 0) goto yyabort;
1490 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1491 if (!yys) yys = "illegal-symbol";
1493 "yydebug: state %d, error recovery discards token %d (%s)\n",
1494 yystate, yychar, yys);
1503 fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n",
1504 yystate, yyn, yyrule[yyn]);
1507 yyval = yyvsp[1-yym];
1513 #if defined(YYDEBUG) && defined(DEBUGGING)
1514 yydebug = (debug & 1);
1521 { newPROG(yyvsp[0].opval); }
1525 { if (copline > (line_t)yyvsp[-3].ival)
1526 copline = yyvsp[-3].ival;
1527 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1531 { yyval.ival = block_start(TRUE); }
1535 { if (copline > (line_t)yyvsp[-3].ival)
1536 copline = yyvsp[-3].ival;
1537 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1541 { yyval.ival = block_start(FALSE); }
1545 { yyval.opval = Nullop; }
1549 { yyval.opval = yyvsp[-1].opval; }
1553 { yyval.opval = append_list(OP_LINESEQ,
1554 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1555 pad_reset_pending = TRUE;
1556 if (yyvsp[-1].opval && yyvsp[0].opval) hints |= HINT_BLOCK_SCOPE; }
1560 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1564 { if (yyvsp[-1].pval != Nullch) {
1565 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1568 yyval.opval = Nullop;
1575 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1580 { yyval.opval = Nullop; }
1584 { yyval.opval = yyvsp[0].opval; }
1588 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1592 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1596 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1600 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1604 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1605 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1609 { yyval.opval = Nullop; }
1613 { yyval.opval = scope(yyvsp[0].opval); }
1617 { copline = yyvsp[-5].ival;
1618 yyval.opval = newSTATEOP(0, Nullch,
1619 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1620 hints |= HINT_BLOCK_SCOPE; }
1624 { copline = yyvsp[-6].ival;
1625 yyval.opval = block_end(yyvsp[-4].ival,
1626 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1630 { copline = yyvsp[-6].ival;
1631 yyval.opval = block_end(yyvsp[-4].ival,
1632 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1636 { yyval.opval = Nullop; }
1640 { yyval.opval = scope(yyvsp[0].opval); }
1644 { copline = yyvsp[-6].ival;
1645 yyval.opval = block_end(yyvsp[-4].ival,
1646 newSTATEOP(0, yyvsp[-7].pval,
1647 newWHILEOP(0, 1, (LOOP*)Nullop,
1648 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1652 { copline = yyvsp[-6].ival;
1653 yyval.opval = block_end(yyvsp[-4].ival,
1654 newSTATEOP(0, yyvsp[-7].pval,
1655 newWHILEOP(0, 1, (LOOP*)Nullop,
1656 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1660 { yyval.opval = block_end(yyvsp[-6].ival,
1661 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1665 { yyval.opval = block_end(yyvsp[-4].ival,
1666 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1667 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1671 { yyval.opval = block_end(yyvsp[-4].ival,
1672 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1676 { OP *forop = append_elem(OP_LINESEQ,
1677 scalar(yyvsp[-6].opval),
1678 newWHILEOP(0, 1, (LOOP*)Nullop,
1679 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1680 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1681 copline = yyvsp[-9].ival;
1682 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1686 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1687 newWHILEOP(0, 1, (LOOP*)Nullop,
1688 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1692 { yyval.opval = Nullop; }
1696 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1700 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1704 { yyval.opval = yyvsp[0].opval; intro_my(); }
1708 { yyval.opval = yyvsp[0].opval; intro_my(); }
1712 { yyval.opval = yyvsp[0].opval; intro_my(); }
1716 { yyval.opval = yyvsp[0].opval; intro_my(); }
1720 { yyval.pval = Nullch; }
1740 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1744 { yyval.opval = yyvsp[0].opval; }
1748 { yyval.opval = Nullop; }
1752 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1756 { yyval.ival = start_subparse(FALSE, 0); }
1760 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1764 { yyval.ival = start_subparse(TRUE, 0); }
1768 { char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv, na);
1769 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1770 || strEQ(name, "INIT"))
1771 CvUNIQUE_on(compcv);
1772 yyval.opval = yyvsp[0].opval; }
1776 { yyval.opval = Nullop; }
1780 { yyval.opval = yyvsp[0].opval; }
1784 { yyval.opval = Nullop; expect = XSTATE; }
1788 { package(yyvsp[-1].opval); }
1792 { package(Nullop); }
1796 { CvUNIQUE_on(compcv); /* It's a BEGIN {} */ }
1800 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1804 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1808 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1812 { yyval.opval = yyvsp[-1].opval; }
1816 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1820 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1821 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1825 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1826 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1830 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1831 append_elem(OP_LIST,
1832 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1833 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1837 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1838 append_elem(OP_LIST,
1839 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1840 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1844 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1845 append_elem(OP_LIST,
1846 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1847 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1851 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1855 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1859 { yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1863 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1864 append_elem(OP_LIST,
1865 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1869 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1873 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1877 { if (yyvsp[-1].ival != OP_REPEAT)
1878 scalar(yyvsp[-2].opval);
1879 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1883 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1887 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1891 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1895 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1899 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1903 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1907 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1911 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1915 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1919 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1923 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1927 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1931 { yyval.opval = yyvsp[0].opval; }
1935 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1939 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1943 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1947 { yyval.opval = newUNOP(OP_POSTINC, 0,
1948 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1952 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1953 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1957 { yyval.opval = newUNOP(OP_PREINC, 0,
1958 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1962 { yyval.opval = newUNOP(OP_PREDEC, 0,
1963 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1967 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1971 { yyval.opval = sawparens(yyvsp[-1].opval); }
1975 { yyval.opval = sawparens(newNULLLIST()); }
1979 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
1983 { yyval.opval = newANONLIST(Nullop); }
1987 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
1991 { yyval.opval = newANONHASH(Nullop); }
1995 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1999 { yyval.opval = yyvsp[0].opval; }
2003 { yyval.opval = newBINOP(OP_GELEM, 0, newGVREF(0,yyvsp[-4].opval),
2004 scalar(yyvsp[-2].opval)); }
2008 { yyval.opval = yyvsp[0].opval; }
2012 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2016 { yyval.opval = newBINOP(OP_AELEM, 0,
2017 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2018 scalar(yyvsp[-1].opval));}
2022 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
2023 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2024 scalar(yyvsp[-1].opval));}
2028 { yyval.opval = yyvsp[0].opval; }
2032 { yyval.opval = yyvsp[0].opval; }
2036 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2040 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2041 expect = XOPERATOR; }
2045 { yyval.opval = newBINOP(OP_HELEM, 0,
2046 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2047 jmaybe(yyvsp[-2].opval));
2048 expect = XOPERATOR; }
2052 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2053 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2054 jmaybe(yyvsp[-2].opval));
2055 expect = XOPERATOR; }
2059 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2063 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2067 { yyval.opval = prepend_elem(OP_ASLICE,
2068 newOP(OP_PUSHMARK, 0),
2069 newLISTOP(OP_ASLICE, 0,
2070 list(yyvsp[-1].opval),
2071 ref(yyvsp[-3].opval, OP_ASLICE))); }
2075 { yyval.opval = prepend_elem(OP_HSLICE,
2076 newOP(OP_PUSHMARK, 0),
2077 newLISTOP(OP_HSLICE, 0,
2078 list(yyvsp[-2].opval),
2079 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2080 expect = XOPERATOR; }
2084 { yyval.opval = yyvsp[0].opval; }
2088 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2092 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2096 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2097 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2101 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2102 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2106 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2110 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2114 { yyval.opval = newUNOP(OP_ENTERSUB,
2115 OPf_SPECIAL|OPf_STACKED,
2116 prepend_elem(OP_LIST,
2118 (OPpENTERSUB_AMPER<<8),
2119 scalar(yyvsp[-2].opval)
2120 )),Nullop)); dep();}
2124 { yyval.opval = newUNOP(OP_ENTERSUB,
2125 OPf_SPECIAL|OPf_STACKED,
2126 append_elem(OP_LIST,
2129 (OPpENTERSUB_AMPER<<8),
2130 scalar(yyvsp[-3].opval)
2135 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2136 prepend_elem(OP_LIST,
2137 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2141 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2142 prepend_elem(OP_LIST,
2144 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2148 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2149 newCVREF(0, scalar(yyvsp[-3].opval))); }
2153 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2154 append_elem(OP_LIST, yyvsp[-1].opval,
2155 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2159 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2160 hints |= HINT_BLOCK_SCOPE; }
2164 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2168 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2172 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2176 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2180 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2184 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2185 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2189 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2193 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2197 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2198 scalar(yyvsp[0].opval)); }
2202 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2206 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2210 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2214 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2218 { yyval.opval = Nullop; }
2222 { yyval.opval = yyvsp[0].opval; }
2226 { yyval.opval = Nullop; }
2230 { yyval.opval = yyvsp[0].opval; }
2234 { yyval.opval = yyvsp[-1].opval; }
2246 { in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2250 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2254 { yyval.opval = newSVREF(yyvsp[0].opval); }
2258 { yyval.opval = newAVREF(yyvsp[0].opval); }
2262 { yyval.opval = newHVREF(yyvsp[0].opval); }
2266 { yyval.opval = newAVREF(yyvsp[0].opval); }
2270 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2274 { yyval.opval = scalar(yyvsp[0].opval); }
2278 { yyval.opval = scalar(yyvsp[0].opval); }
2282 { yyval.opval = scope(yyvsp[0].opval); }
2286 { yyval.opval = yyvsp[0].opval; }
2288 #line 2267 "y_tab.c"
2294 if (yystate == 0 && yym == 0)
2299 "yydebug: after reduction, shifting from state 0 to state %d\n",
2307 if ((yychar = yylex()) < 0) yychar = 0;
2312 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2313 if (!yys) yys = "illegal-symbol";
2314 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n",
2315 YYFINAL, yychar, yys);
2319 if (yychar == 0) goto yyaccept;
2322 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2323 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2324 yystate = yytable[yyn];
2326 yystate = yydgoto[yym];
2330 "yydebug: after reduction, shifting from state %d to state %d\n",
2333 if (yyssp >= yyss + yystacksize - 1)
2336 ** reallocate and recover. Note that pointers
2337 ** have to be reset, or bad things will happen
2339 int yyps_index = (yyssp - yyss);
2340 int yypv_index = (yyvsp - yyvs);
2341 yystacksize += YYSTACKSIZE;
2342 ysave->yyvs = yyvs =
2343 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2344 ysave->yyss = yyss =
2345 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2348 yyssp = yyss + yyps_index;
2349 yyvsp = yyvs + yypv_index;
2355 yyerror("Out of memory for yacc stack");