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"; */
8 #define PERL_IN_PERLY_C
13 #define dep() deprecate_old("\"do\" to call subroutines")
15 /* stuff included here to make perly_c.diff apply better */
17 #define yydebug PL_yydebug
18 #define yynerrs PL_yynerrs
19 #define yyerrflag PL_yyerrflag
20 #define yychar PL_yychar
21 #define yyval PL_yyval
22 #define yylval PL_yylval
35 static void yydestruct(pTHX_ void *ptr);
38 #if 0 /* get this from perly.h instead */
50 #define YYLEX_PARAM (&yychar)
56 static short yylhs[] = { -1,
57 0, 9, 7, 6, 10, 8, 11, 11, 11, 12,
58 12, 12, 12, 25, 25, 25, 25, 25, 25, 25,
59 15, 15, 15, 14, 14, 43, 43, 13, 13, 13,
60 13, 13, 13, 13, 27, 27, 28, 28, 29, 30,
61 31, 32, 33, 54, 54, 1, 1, 1, 1, 1,
62 2, 39, 39, 47, 55, 3, 4, 5, 40, 41,
63 41, 45, 45, 45, 46, 46, 42, 42, 56, 58,
64 57, 16, 16, 16, 16, 26, 26, 26, 37, 37,
65 37, 37, 37, 37, 37, 37, 59, 37, 38, 38,
66 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
67 18, 50, 50, 50, 50, 50, 50, 50, 50, 50,
68 50, 50, 50, 50, 50, 51, 51, 51, 51, 51,
69 51, 51, 51, 52, 52, 52, 52, 52, 53, 53,
70 53, 53, 53, 53, 17, 17, 17, 17, 17, 17,
71 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
72 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
73 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
74 17, 17, 17, 17, 17, 48, 48, 49, 49, 49,
75 49, 49, 34, 34, 35, 35, 35, 44, 24, 19,
76 20, 21, 22, 23, 36, 36, 36, 36,
78 static short yylen[] = { 2,
79 2, 4, 0, 0, 4, 0, 0, 2, 2, 2,
80 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
81 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
82 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
83 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
84 4, 1, 0, 6, 6, 0, 0, 0, 1, 0,
85 1, 0, 2, 1, 2, 1, 1, 1, 3, 0,
86 7, 3, 3, 3, 1, 2, 3, 1, 3, 5,
87 6, 3, 3, 5, 2, 4, 0, 5, 1, 1,
88 5, 4, 5, 4, 5, 6, 5, 4, 5, 4,
89 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
90 3, 3, 3, 3, 3, 2, 2, 2, 2, 2,
91 2, 2, 2, 3, 2, 4, 3, 5, 2, 2,
92 4, 5, 4, 5, 1, 1, 1, 1, 5, 2,
93 1, 2, 3, 2, 1, 1, 1, 1, 1, 1,
94 6, 5, 4, 5, 1, 1, 3, 4, 3, 1,
95 2, 2, 1, 2, 2, 2, 1, 3, 1, 3,
96 4, 4, 6, 1, 1, 3, 2, 3, 2, 1,
97 1, 1, 0, 1, 0, 1, 2, 1, 2, 2,
98 2, 2, 2, 2, 1, 1, 1, 1,
100 static short yydefred[] = { 4,
101 0, 7, 0, 45, 58, 56, 0, 56, 56, 8,
102 46, 9, 11, 48, 0, 47, 49, 50, 0, 0,
103 0, 70, 0, 14, 3, 174, 0, 0, 155, 0,
104 169, 0, 57, 57, 0, 0, 0, 0, 0, 0,
105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
107 12, 0, 0, 0, 0, 0, 0, 0, 10, 0,
108 0, 0, 0, 0, 147, 149, 0, 0, 0, 0,
109 175, 141, 135, 136, 137, 138, 52, 0, 59, 0,
110 69, 0, 0, 7, 195, 198, 197, 196, 0, 0,
111 0, 0, 0, 0, 3, 3, 3, 3, 3, 3,
112 0, 0, 0, 0, 0, 164, 0, 0, 0, 0,
113 85, 0, 193, 0, 130, 0, 0, 0, 0, 0,
114 0, 0, 180, 182, 181, 0, 189, 0, 0, 0,
115 0, 0, 0, 0, 0, 125, 0, 0, 0, 190,
116 191, 192, 194, 0, 34, 0, 0, 0, 0, 0,
117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
118 0, 0, 0, 0, 0, 0, 0, 0, 120, 121,
119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
120 13, 0, 51, 61, 0, 0, 0, 0, 83, 0,
121 0, 87, 0, 0, 0, 0, 0, 0, 0, 3,
122 168, 170, 0, 0, 0, 0, 0, 0, 0, 127,
123 0, 159, 179, 0, 0, 176, 0, 0, 124, 27,
124 0, 0, 19, 0, 0, 0, 0, 0, 72, 0,
125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
126 0, 0, 0, 0, 0, 89, 0, 0, 90, 0,
127 0, 101, 0, 0, 0, 0, 0, 0, 0, 157,
128 0, 0, 0, 0, 0, 0, 2, 0, 0, 172,
129 0, 0, 0, 42, 0, 43, 0, 0, 0, 0,
130 188, 0, 0, 36, 41, 0, 0, 0, 171, 187,
131 86, 0, 131, 0, 133, 0, 126, 178, 65, 0,
132 0, 0, 0, 98, 0, 0, 0, 0, 100, 94,
133 0, 92, 0, 153, 0, 158, 63, 68, 67, 55,
134 0, 54, 84, 0, 88, 128, 0, 0, 0, 0,
135 0, 0, 0, 0, 80, 132, 134, 152, 0, 0,
136 0, 99, 93, 0, 97, 95, 154, 91, 71, 173,
137 6, 0, 0, 0, 0, 0, 0, 0, 0, 151,
138 96, 81, 7, 28, 29, 0, 0, 24, 25, 0,
139 32, 0, 0, 0, 22, 0, 0, 0, 31, 5,
140 0, 30, 0, 0, 33, 0, 23,
142 static short yydgoto[] = { 1,
143 10, 11, 20, 103, 19, 2, 94, 373, 97, 362,
144 3, 12, 13, 69, 378, 288, 71, 72, 73, 74,
145 75, 76, 77, 78, 294, 80, 295, 284, 286, 289,
146 297, 285, 287, 121, 215, 99, 81, 260, 88, 90,
147 195, 330, 155, 292, 274, 226, 14, 82, 136, 83,
148 84, 85, 86, 15, 16, 17, 18, 92, 281,
150 static short yysindex[] = { 0,
151 0, 0, -236, 0, 0, 0, -231, 0, 0, 0,
152 0, 0, 0, 0, 819, 0, 0, 0, -211, -209,
153 3, 0, -209, 0, 0, 0, -32, -32, 0, 23,
154 0, 2213, 0, 0, 28, 30, 32, 33, -18, 2213,
155 42, 52, 64, 1004, 940, -32, 1149, 1268, -168, 2213,
156 174, -32, 2213, 2213, 2213, 2213, 2213, 2213, 1328, 1413,
157 0, 2213, 2213, -32, -32, -32, -32, -173, 0, 607,
158 404, -27, -71, -67, 0, 0, -12, 68, 66, 94,
159 0, 0, 0, 0, 0, 0, 0, 27, 0, -108,
160 0, -100, -108, 0, 0, 0, 0, 0, 2213, 122,
161 2213, 743, 27, -108, 0, 0, 0, 0, 0, 0,
162 125, 404, 135, 1454, 940, 0, 743, 0, -71, 94,
163 0, 2213, 0, 140, 0, 743, -25, 38, -8, 2213,
164 743, 1562, 0, 0, 0, -114, 0, 94, 245, 245,
165 245, -123, -123, 106, -34, 0, -53, 245, 245, 0,
166 0, 0, 0, 27, 0, 2213, 2213, 2213, 2213, 2213,
167 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213,
168 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 0, 0,
169 -26, 2213, 1723, 2213, 2213, 2213, 2213, 2213, 2213, 1796,
170 0, 2213, 0, 0, -90, -48, -90, 285, 0, 2213,
171 -35, 0, -90, 2213, 2213, 2213, 2213, 182, 1859, 0,
172 0, 0, -2, -42, 180, 2213, 94, 1932, 2004, 0,
173 102, 0, 0, 13, -21, 0, 2213, 142, 0, 0,
174 184, 184, 0, 184, 184, 184, -51, -51, 0, 296,
175 743, 386, 683, -158, 404, 643, 1034, 1034, 1067, 1345,
176 960, -112, 245, 245, 2213, 0, 2140, 2213, 0, 216,
177 120, 0, 40, 127, 123, 214, 132, 217, 136, 0,
178 77, 404, -3, -47, 2213, -47, 0, 220, 2213, 0,
179 2213, 27, 184, 0, 224, 0, 240, 184, 244, 246,
180 0, 261, 607, 0, 0, 267, 227, 2213, 0, 0,
181 0, 88, 0, 95, 0, 98, 0, 0, 0, 236,
182 2213, 2213, 139, 0, 117, 239, 2213, 194, 0, 0,
183 206, 0, 213, 0, 218, 0, 0, 0, 0, 0,
184 293, 0, 0, 585, 0, 0, 221, 221, 221, 221,
185 2213, 221, 2213, 325, 0, 0, 0, 0, 243, 703,
186 255, 0, 0, 327, 0, 0, 0, 0, 0, 0,
187 0, -173, -173, -240, -240, 351, -173, 332, 221, 0,
188 0, 0, 0, 0, 0, 221, 354, 0, 0, 221,
189 0, 1859, -173, 350, 0, 2213, -173, 360, 0, 0,
190 361, 0, 221, 221, 0, -240, 0,
192 static short yyrindex[] = { 0,
193 0, 0, 371, 0, 0, 0, 0, 0, 0, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 289, 0,
195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
196 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
197 2282, 0, 0, 2401, 2566, 0, 0, 0, 0, 0,
198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
199 0, 0, 0, 0, 0, 0, 0, 90, 0, -16,
200 1607, 2620, 2673, 2721, 0, 0, 2769, 2856, 0, -38,
201 0, 0, 0, 0, 0, 0, 0, 0, 0, -54,
202 0, 0, -54, 0, 0, 0, 0, 0, 2566, 0,
203 0, 4274, 0, -115, 0, 0, 0, 0, 0, 0,
204 0, 1886, 0, 0, 374, 0, 4339, 467, 532, 3224,
205 0, 0, 0, 3005, 0, 4394, 2673, 0, 0, 2566,
206 4404, 0, 0, 0, 0, 3055, 0, 3459, 3695, 3746,
207 3801, 3582, 3630, 3127, 0, 0, 0, 3866, 3914, 0,
208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
212 0, 3175, 0, 0, -43, 0, -43, 880, 0, 374,
213 0, 0, 303, 390, 0, 0, 0, 0, 389, 0,
214 0, 0, 0, 422, 0, 0, 3510, 0, 0, 0,
215 0, 0, 0, 0, 3291, 0, 0, 3346, 0, 0,
216 8, 12, 0, 61, 62, 65, 1479, 1642, 0, 2274,
217 4445, 4493, 4120, 4168, 2421, 0, 4697, 4745, 4630, 4591,
218 4543, 4219, 4000, 4055, 0, 0, 0, 0, 0, 3411,
219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220 0, 2474, -30, 0, 405, 0, 0, 0, 0, 0,
221 2566, 0, 78, 0, 0, 0, 0, 432, 0, 0,
222 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
224 0, 0, 0, 0, 0, 0, 374, 0, 0, 0,
225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227 0, 0, 415, 0, 0, 0, 0, 0, 0, 1201,
228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229 0, 90, 90, 186, 186, 0, 90, 0, 0, 0,
230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
231 0, 435, 90, 880, 0, 0, 90, 0, 0, 0,
232 0, 0, 0, 0, 0, 186, 0,
234 static short yygindex[] = { 0,
235 0, 0, 50, 453, 0, 0, -22, 0, 63, 153,
236 -93, 0, 0, 0, -346, -15, 2480, 0, 1744, 437,
237 439, 0, 0, 0, 481, 755, 0, 0, 341, -186,
238 124, 170, 313, -88, -183, 49, 0, 0, 0, 498,
239 -66, 247, 225, 0, -156, 0, 0, 0, 0, 0,
240 0, 0, 0, 0, 0, 0, 0, 0, 0,
242 #define YYTABLESIZE 5051
243 static short yytable[] = { 70,
244 198, 300, 75, 64, 60, 280, 228, 60, 279, 64,
245 199, 328, 183, 257, 219, 62, 278, 64, 379, 186,
246 75, 110, 296, 188, 15, 21, 197, 170, 64, 4,
247 5, 6, 129, 7, 8, 376, 377, 203, 299, 229,
248 276, 222, 15, 145, 147, 87, 282, 89, 18, 397,
249 221, 185, 39, 308, 75, 187, 160, 22, 23, 160,
250 9, 91, 101, 184, 258, 186, 18, 105, 60, 106,
251 39, 107, 108, 160, 160, 25, 100, 68, 160, 62,
252 319, 113, 204, 205, 206, 207, 208, 209, 130, 26,
253 25, 114, 64, 122, 123, 182, 255, 185, 213, 214,
254 137, 16, 17, 115, 154, 20, 116, 190, 160, 125,
255 189, 344, 150, 151, 152, 153, 224, 326, 38, 16,
256 17, 40, 26, 20, 191, 26, 26, 26, 345, 26,
257 167, 26, 26, 354, 26, 346, 38, 192, 347, 15,
258 231, 232, 234, 235, 236, 237, 238, 239, 26, 25,
259 193, 194, 177, 26, 366, 178, 196, 352, 179, 180,
260 181, 200, 220, 216, 210, 202, 261, 263, 264, 265,
261 266, 267, 268, 269, 271, 211, 167, 168, 318, 218,
262 26, 321, 60, 225, 214, 21, 331, 298, 283, 232,
263 323, 232, 335, 293, 325, 181, 227, 351, 177, 391,
264 302, 178, 304, 306, 179, 180, 181, 273, 275, 64,
265 66, 310, 26, 132, 26, 26, 230, 64, 21, 320,
266 301, 21, 21, 21, 95, 21, 307, 21, 21, 96,
267 21, 256, 311, 75, 75, 75, 75, 65, 309, 313,
268 75, 315, 316, 60, 21, 164, 161, 162, 163, 21,
269 163, 165, 166, 167, 168, 317, 327, 161, 162, 163,
270 333, 75, 75, 75, 337, 161, 162, 163, 169, 171,
271 172, 173, 174, 175, 176, 177, 21, 109, 178, 384,
272 338, 179, 180, 181, 339, 343, 340, 160, 160, 160,
273 160, 161, 162, 163, 160, 349, 160, 161, 162, 163,
274 341, 214, 160, 160, 160, 160, 322, 342, 21, 324,
275 21, 21, 161, 162, 163, 160, 160, 160, 355, 160,
276 160, 160, 160, 160, 160, 160, 160, 283, 348, 160,
277 356, 353, 160, 160, 160, 370, 329, 357, 329, 161,
278 162, 163, 358, 361, 336, 26, 26, 26, 26, 26,
279 26, 359, 26, 26, 26, 26, 26, 26, 26, 26,
280 26, 26, 26, 26, 26, 369, 70, 372, 26, 26,
281 1, 26, 26, 26, 26, 26, 161, 162, 163, 371,
282 26, 26, 26, 26, 26, 26, 26, 161, 162, 163,
283 382, 380, 26, 386, 161, 162, 163, 161, 162, 163,
284 393, 394, 26, 44, 26, 26, 44, 44, 44, 277,
285 44, 53, 44, 44, 185, 44, 161, 162, 163, 161,
286 162, 163, 161, 162, 163, 62, 161, 162, 163, 44,
287 37, 161, 162, 163, 44, 161, 162, 163, 161, 162,
288 163, 21, 21, 21, 21, 21, 21, 35, 21, 21,
289 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
290 21, 44, 186, 183, 21, 21, 170, 21, 21, 21,
291 21, 21, 40, 37, 390, 35, 21, 21, 21, 21,
292 21, 21, 21, 161, 162, 163, 104, 134, 21, 135,
293 363, 364, 365, 44, 367, 79, 44, 233, 21, 195,
294 21, 21, 195, 195, 195, 388, 195, 174, 195, 195,
295 174, 195, 368, 161, 162, 163, 161, 162, 163, 290,
296 93, 383, 332, 0, 174, 174, 0, 0, 385, 174,
297 195, 0, 387, 0, 0, 161, 162, 163, 161, 162,
298 163, 0, 161, 162, 163, 395, 396, 0, 0, 0,
299 4, 5, 6, 0, 7, 8, 0, 195, 178, 174,
300 0, 179, 180, 181, 196, 0, 0, 196, 196, 196,
301 0, 196, 145, 196, 196, 145, 196, 0, 0, 0,
302 0, 9, 165, 166, 167, 168, 374, 375, 0, 145,
303 145, 381, 195, 0, 145, 196, 0, 0, 0, 0,
304 171, 172, 173, 174, 175, 176, 177, 389, 0, 178,
305 0, 392, 179, 180, 181, 4, 5, 6, 0, 7,
306 8, 0, 0, 0, 145, 360, 44, 44, 44, 44,
307 44, 44, 0, 44, 44, 44, 0, 0, 0, 44,
308 0, 0, 44, 44, 44, 44, 9, 170, 0, 44,
309 44, 0, 44, 44, 44, 44, 44, 196, 0, 0,
310 0, 44, 44, 44, 44, 44, 44, 0, 0, 0,
311 0, 0, 165, 44, 167, 168, 0, 0, 0, 0,
312 0, 0, 0, 44, 164, 44, 44, 0, 0, 0,
313 165, 166, 167, 168, 0, 176, 177, 0, 0, 178,
314 312, 0, 179, 180, 181, 170, 0, 169, 171, 172,
315 173, 174, 175, 176, 177, 0, 0, 178, 0, 0,
316 179, 180, 181, 195, 195, 195, 195, 195, 0, 195,
317 195, 195, 0, 0, 0, 195, 0, 0, 174, 174,
318 174, 174, 0, 0, 0, 174, 195, 174, 195, 195,
319 195, 195, 195, 174, 174, 174, 174, 195, 195, 195,
320 195, 195, 195, 0, 0, 170, 174, 174, 174, 195,
321 174, 174, 174, 174, 174, 174, 174, 174, 0, 195,
322 174, 195, 195, 174, 174, 174, 0, 0, 196, 196,
323 196, 196, 196, 0, 196, 196, 196, 0, 0, 120,
324 196, 0, 0, 145, 145, 145, 145, 138, 0, 0,
325 145, 196, 145, 196, 196, 196, 196, 196, 145, 145,
326 145, 145, 196, 196, 196, 196, 196, 196, 0, 0,
327 0, 145, 145, 145, 196, 145, 145, 145, 145, 145,
328 145, 145, 145, 0, 196, 145, 196, 196, 145, 145,
329 145, 54, 0, 120, 64, 66, 52, 0, 59, 0,
330 67, 63, 0, 62, 0, 164, 0, 0, 0, 0,
331 0, 165, 166, 167, 168, 0, 217, 61, 156, 157,
332 158, 159, 65, 0, 120, 160, 0, 0, 169, 171,
333 172, 173, 174, 175, 176, 177, 0, 0, 178, 0,
334 0, 179, 180, 181, 0, 0, 161, 162, 163, 60,
335 0, 0, 44, 0, 0, 44, 44, 44, 0, 44,
336 0, 44, 44, 164, 44, 0, 0, 0, 0, 165,
337 166, 167, 168, 0, 0, 0, 0, 0, 44, 0,
338 0, 25, 0, 44, 55, 0, 169, 171, 172, 173,
339 174, 175, 176, 177, 0, 0, 178, 0, 0, 179,
340 180, 181, 0, 0, 0, 0, 0, 0, 0, 0,
341 44, 0, 54, 0, 0, 64, 66, 52, 0, 59,
342 0, 67, 63, 164, 62, 0, 0, 0, 0, 165,
343 166, 167, 168, 177, 0, 0, 178, 0, 0, 179,
344 180, 181, 44, 65, 0, 44, 0, 171, 172, 173,
345 174, 175, 176, 177, 0, 0, 178, 0, 0, 179,
346 180, 181, 0, 0, 0, 0, 0, 0, 0, 120,
347 60, 167, 168, 0, 0, 120, 54, 0, 0, 64,
348 66, 52, 0, 59, 0, 67, 63, 0, 62, 0,
349 0, 0, 176, 177, 0, 0, 178, 0, 0, 179,
350 180, 181, 25, 0, 0, 55, 0, 65, 0, 0,
351 0, 0, 0, 0, 24, 26, 27, 28, 29, 30,
352 0, 31, 32, 33, 0, 0, 0, 34, 0, 0,
353 35, 36, 37, 38, 60, 0, 0, 39, 40, 0,
354 41, 42, 43, 44, 45, 0, 0, 0, 0, 46,
355 47, 48, 49, 50, 51, 0, 0, 0, 0, 0,
356 0, 53, 0, 0, 0, 0, 25, 0, 0, 55,
357 0, 56, 0, 57, 58, 44, 44, 44, 44, 44,
358 44, 0, 44, 44, 44, 0, 0, 0, 44, 0,
359 0, 44, 44, 44, 44, 0, 0, 0, 44, 44,
360 0, 44, 44, 44, 44, 44, 0, 0, 0, 0,
361 44, 44, 44, 44, 44, 44, 0, 0, 0, 0,
362 0, 54, 44, 0, 64, 66, 52, 0, 59, 0,
363 67, 63, 44, 62, 44, 44, 118, 27, 28, 29,
364 30, 96, 31, 32, 33, 0, 0, 0, 34, 0,
365 0, 0, 65, 0, 0, 0, 0, 0, 0, 40,
366 0, 41, 42, 43, 44, 45, 0, 0, 0, 0,
367 46, 47, 48, 49, 50, 51, 0, 0, 0, 60,
368 0, 139, 53, 0, 139, 0, 165, 166, 167, 168,
369 0, 0, 56, 0, 57, 58, 0, 0, 139, 139,
370 26, 27, 28, 29, 30, 0, 31, 32, 33, 176,
371 177, 25, 34, 178, 55, 0, 179, 180, 181, 0,
372 0, 0, 0, 40, 0, 41, 42, 43, 44, 45,
373 0, 0, 0, 139, 46, 47, 48, 49, 50, 51,
374 54, 0, 0, 64, 66, 52, 53, 59, 0, 67,
375 63, 0, 62, 0, 0, 0, 56, 0, 57, 58,
376 165, 166, 167, 168, 0, 0, 128, 0, 0, 0,
377 0, 65, 0, 0, 0, 0, 0, 0, 0, 0,
378 173, 174, 175, 176, 177, 0, 0, 178, 0, 0,
379 179, 180, 181, 165, 166, 167, 168, 0, 60, 0,
380 54, 0, 0, 64, 66, 52, 0, 59, 144, 67,
381 63, 0, 62, 0, 174, 175, 176, 177, 0, 0,
382 178, 0, 0, 179, 180, 181, 0, 0, 0, 0,
383 0, 65, 0, 55, 0, 0, 0, 0, 0, 0,
384 0, 0, 0, 0, 0, 124, 27, 28, 29, 30,
385 0, 31, 32, 33, 0, 0, 0, 34, 60, 0,
386 0, 0, 0, 0, 0, 0, 0, 0, 40, 0,
387 41, 42, 43, 44, 45, 0, 0, 0, 0, 46,
388 47, 48, 49, 50, 51, 54, 0, 0, 64, 66,
389 52, 53, 59, 55, 67, 63, 0, 62, 0, 0,
390 0, 56, 0, 57, 58, 0, 0, 0, 0, 0,
391 0, 0, 139, 139, 139, 139, 65, 0, 0, 139,
392 0, 0, 0, 0, 0, 0, 54, 0, 0, 64,
393 66, 52, 0, 59, 212, 67, 63, 0, 62, 0,
394 139, 139, 139, 60, 139, 146, 0, 0, 0, 0,
395 0, 0, 0, 0, 0, 0, 0, 65, 0, 73,
396 0, 0, 73, 0, 26, 27, 28, 29, 30, 0,
397 31, 32, 33, 0, 0, 0, 34, 73, 55, 0,
398 0, 0, 0, 0, 60, 0, 0, 40, 0, 41,
399 42, 43, 44, 45, 0, 0, 0, 0, 46, 47,
400 48, 49, 50, 51, 0, 0, 0, 0, 0, 0,
401 53, 73, 0, 0, 0, 0, 0, 0, 0, 55,
402 56, 0, 57, 58, 26, 27, 28, 29, 30, 0,
403 31, 32, 33, 0, 54, 0, 34, 64, 66, 52,
404 0, 59, 223, 67, 63, 0, 62, 40, 0, 41,
405 42, 43, 44, 45, 0, 0, 0, 0, 46, 47,
406 48, 49, 50, 51, 0, 65, 0, 0, 0, 0,
407 53, 165, 166, 167, 168, 0, 0, 0, 0, 0,
408 56, 0, 57, 58, 0, 0, 0, 78, 0, 0,
409 78, 0, 60, 175, 176, 177, 0, 0, 178, 0,
410 0, 179, 180, 181, 78, 78, 0, 0, 0, 26,
411 27, 28, 29, 30, 0, 31, 32, 33, 0, 0,
412 0, 34, 74, 0, 0, 74, 0, 55, 0, 0,
413 0, 0, 40, 0, 41, 42, 43, 44, 45, 78,
414 74, 0, 0, 46, 47, 48, 49, 50, 51, 0,
415 26, 27, 28, 29, 30, 53, 31, 32, 33, 0,
416 0, 0, 34, 0, 0, 56, 0, 57, 58, 0,
417 0, 0, 0, 40, 74, 41, 42, 43, 44, 45,
418 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
419 73, 73, 73, 73, 0, 54, 53, 73, 64, 66,
420 52, 0, 59, 262, 67, 63, 56, 62, 57, 58,
421 98, 98, 0, 0, 0, 0, 0, 0, 73, 73,
422 0, 0, 111, 0, 0, 0, 65, 0, 119, 98,
423 127, 0, 0, 0, 133, 98, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 98, 98, 98,
425 98, 0, 0, 60, 0, 0, 0, 0, 26, 27,
426 28, 29, 30, 0, 31, 32, 33, 0, 54, 0,
427 34, 64, 66, 52, 0, 59, 270, 67, 63, 0,
428 62, 40, 0, 41, 42, 43, 44, 45, 55, 0,
429 0, 0, 46, 47, 48, 49, 50, 51, 119, 65,
430 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 56, 0, 57, 58, 78, 78,
432 78, 78, 0, 0, 0, 78, 60, 0, 0, 0,
433 0, 54, 0, 0, 64, 66, 52, 0, 59, 0,
434 67, 63, 0, 62, 0, 0, 78, 78, 78, 0,
435 0, 0, 0, 74, 74, 74, 74, 0, 0, 0,
436 74, 55, 65, 0, 259, 0, 161, 0, 0, 161,
437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
438 0, 74, 74, 161, 161, 0, 0, 0, 0, 60,
439 0, 291, 0, 0, 0, 0, 0, 0, 0, 0,
440 0, 0, 0, 0, 54, 0, 0, 64, 66, 52,
441 0, 59, 303, 67, 63, 0, 62, 0, 161, 26,
442 27, 28, 29, 30, 55, 31, 32, 33, 0, 0,
443 0, 34, 0, 0, 0, 65, 0, 0, 0, 0,
444 0, 0, 40, 0, 41, 42, 43, 44, 45, 0,
445 0, 0, 0, 46, 47, 48, 49, 50, 51, 0,
446 0, 0, 60, 0, 0, 53, 0, 0, 0, 0,
447 0, 0, 0, 0, 0, 56, 54, 57, 58, 64,
448 66, 52, 0, 59, 305, 67, 63, 0, 62, 0,
449 0, 0, 26, 27, 28, 29, 30, 55, 31, 32,
450 33, 0, 0, 0, 34, 0, 0, 65, 0, 0,
451 0, 0, 0, 0, 0, 40, 0, 41, 42, 43,
452 44, 45, 0, 0, 0, 0, 46, 47, 48, 49,
453 50, 51, 0, 0, 60, 0, 0, 0, 53, 0,
454 0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
455 57, 58, 0, 0, 24, 26, 27, 28, 29, 30,
456 0, 31, 32, 33, 0, 0, 0, 34, 0, 55,
457 0, 0, 0, 0, 0, 0, 0, 0, 40, 0,
458 41, 42, 43, 44, 45, 0, 0, 0, 0, 46,
459 47, 48, 49, 50, 51, 0, 0, 161, 161, 161,
460 161, 53, 0, 0, 161, 0, 0, 0, 0, 0,
461 0, 56, 54, 57, 58, 64, 66, 52, 0, 59,
462 314, 67, 63, 0, 62, 161, 161, 161, 26, 27,
463 28, 29, 30, 0, 31, 32, 33, 0, 0, 0,
464 34, 0, 0, 65, 0, 0, 0, 0, 0, 0,
465 0, 40, 0, 41, 42, 43, 44, 45, 0, 0,
466 0, 0, 46, 47, 48, 49, 50, 51, 0, 0,
467 60, 0, 0, 0, 53, 0, 0, 0, 0, 0,
468 0, 0, 0, 0, 56, 54, 57, 58, 64, 66,
469 52, 0, 59, 0, 67, 63, 0, 62, 0, 0,
470 26, 27, 28, 29, 30, 55, 31, 32, 33, 0,
471 0, 0, 34, 0, 0, 0, 65, 0, 0, 0,
472 0, 0, 0, 40, 0, 41, 42, 43, 44, 45,
473 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
474 0, 0, 0, 60, 0, 0, 53, 0, 0, 0,
475 0, 0, 0, 0, 111, 0, 56, 111, 57, 58,
476 0, 0, 167, 0, 0, 167, 0, 0, 0, 0,
477 0, 111, 111, 0, 0, 0, 111, 0, 55, 167,
478 167, 0, 0, 0, 167, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
480 0, 0, 0, 0, 0, 0, 111, 0, 0, 0,
481 0, 0, 0, 0, 167, 0, 0, 0, 0, 0,
482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
483 0, 0, 0, 0, 0, 0, 26, 27, 28, 29,
484 30, 0, 31, 32, 33, 0, 0, 0, 34, 0,
485 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,
486 0, 41, 42, 43, 44, 45, 0, 0, 0, 0,
487 46, 47, 48, 49, 50, 51, 0, 0, 0, 0,
488 0, 163, 53, 0, 163, 0, 0, 0, 0, 0,
489 0, 0, 56, 0, 57, 58, 0, 0, 163, 163,
490 0, 102, 0, 163, 102, 0, 0, 0, 0, 26,
491 27, 28, 29, 30, 0, 31, 32, 33, 102, 102,
492 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
493 0, 0, 40, 163, 41, 42, 43, 44, 45, 0,
494 0, 0, 0, 46, 47, 48, 49, 50, 51, 0,
495 0, 102, 0, 102, 77, 53, 0, 77, 0, 112,
496 0, 0, 0, 117, 0, 56, 126, 57, 58, 131,
497 0, 77, 77, 139, 140, 141, 142, 143, 0, 0,
498 0, 148, 149, 0, 0, 111, 111, 111, 111, 0,
499 0, 0, 111, 167, 167, 167, 167, 0, 0, 0,
500 167, 0, 167, 0, 0, 0, 77, 0, 167, 167,
501 167, 167, 0, 111, 111, 111, 0, 111, 0, 0,
502 201, 167, 167, 167, 0, 167, 167, 167, 167, 167,
503 167, 167, 167, 0, 0, 167, 0, 0, 167, 167,
504 167, 0, 0, 0, 0, 0, 183, 0, 0, 183,
505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
506 0, 0, 0, 183, 183, 0, 0, 0, 183, 0,
507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
508 0, 0, 0, 240, 241, 242, 243, 244, 245, 246,
509 247, 248, 249, 250, 251, 252, 253, 254, 183, 0,
510 150, 0, 0, 150, 0, 0, 0, 0, 0, 0,
511 0, 272, 163, 163, 163, 163, 0, 150, 150, 163,
512 0, 163, 150, 0, 0, 0, 0, 163, 163, 163,
513 163, 0, 102, 102, 102, 102, 0, 0, 0, 102,
514 163, 163, 163, 0, 163, 163, 163, 163, 163, 163,
515 163, 163, 150, 145, 163, 0, 145, 163, 163, 163,
516 102, 102, 102, 0, 0, 0, 0, 0, 0, 0,
517 145, 145, 0, 0, 0, 145, 0, 0, 0, 0,
518 0, 0, 0, 0, 0, 77, 77, 77, 77, 0,
519 0, 0, 77, 0, 0, 0, 0, 0, 334, 0,
520 0, 148, 0, 0, 148, 145, 0, 0, 0, 0,
521 0, 0, 0, 77, 77, 77, 0, 0, 148, 148,
522 0, 0, 0, 148, 0, 0, 0, 0, 0, 0,
523 0, 350, 0, 0, 0, 0, 0, 0, 0, 0,
524 0, 0, 0, 0, 0, 0, 0, 0, 0, 146,
525 0, 0, 146, 148, 0, 0, 0, 0, 0, 0,
526 0, 0, 0, 0, 0, 0, 146, 146, 0, 0,
527 0, 146, 0, 0, 0, 0, 0, 183, 183, 183,
528 183, 0, 0, 0, 183, 0, 183, 0, 0, 0,
529 0, 0, 183, 183, 183, 183, 0, 0, 0, 0,
530 0, 146, 0, 0, 0, 183, 183, 183, 0, 183,
531 183, 183, 183, 183, 183, 183, 183, 0, 0, 183,
532 0, 0, 183, 183, 183, 0, 0, 0, 0, 0,
533 0, 150, 150, 150, 150, 0, 156, 0, 150, 156,
534 150, 0, 0, 0, 0, 0, 150, 150, 150, 150,
535 0, 0, 0, 156, 156, 0, 0, 0, 156, 150,
536 150, 150, 0, 150, 150, 150, 150, 150, 150, 150,
537 150, 0, 0, 150, 0, 0, 150, 150, 150, 0,
538 0, 0, 0, 0, 145, 145, 145, 145, 156, 0,
539 0, 145, 0, 145, 0, 0, 0, 0, 0, 145,
540 145, 145, 145, 0, 0, 0, 0, 0, 0, 0,
541 0, 0, 145, 145, 145, 0, 145, 145, 145, 145,
542 145, 145, 145, 145, 0, 0, 145, 0, 0, 145,
543 145, 145, 148, 148, 148, 148, 0, 0, 0, 148,
544 0, 148, 0, 0, 0, 0, 0, 148, 148, 148,
545 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
546 148, 148, 148, 0, 148, 148, 148, 148, 148, 148,
547 148, 148, 0, 0, 148, 0, 0, 148, 148, 148,
548 146, 146, 146, 146, 0, 174, 0, 146, 174, 146,
549 0, 0, 0, 0, 0, 146, 146, 146, 146, 0,
550 0, 0, 174, 174, 0, 0, 0, 174, 146, 146,
551 146, 0, 146, 146, 146, 146, 146, 146, 146, 146,
552 0, 0, 146, 0, 0, 146, 146, 146, 0, 0,
553 0, 0, 0, 0, 0, 177, 0, 174, 177, 0,
554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
555 0, 0, 177, 177, 0, 0, 0, 177, 0, 0,
556 0, 0, 0, 0, 0, 0, 0, 156, 156, 156,
557 156, 0, 0, 0, 156, 0, 156, 0, 0, 0,
558 0, 0, 156, 156, 156, 156, 0, 177, 0, 0,
559 0, 0, 0, 0, 0, 156, 156, 156, 0, 156,
560 156, 156, 156, 156, 156, 156, 156, 144, 0, 156,
561 144, 0, 156, 156, 156, 0, 0, 0, 0, 0,
562 0, 0, 0, 0, 144, 144, 0, 0, 0, 144,
563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
565 0, 0, 0, 0, 0, 76, 0, 0, 76, 144,
566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
567 0, 0, 76, 76, 0, 0, 0, 76, 0, 0,
568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
570 0, 0, 0, 0, 184, 0, 0, 76, 0, 0,
571 0, 0, 0, 0, 0, 0, 174, 174, 174, 174,
572 0, 184, 184, 174, 0, 174, 184, 0, 0, 0,
573 0, 174, 174, 174, 174, 0, 0, 0, 0, 0,
574 0, 0, 0, 0, 174, 174, 174, 0, 174, 174,
575 174, 174, 174, 174, 174, 174, 184, 0, 174, 0,
576 0, 174, 174, 174, 0, 0, 177, 177, 177, 177,
577 0, 66, 0, 177, 66, 177, 0, 0, 0, 0,
578 0, 177, 177, 177, 177, 0, 0, 0, 66, 66,
579 0, 0, 0, 66, 177, 177, 177, 0, 177, 177,
580 177, 177, 177, 177, 177, 177, 0, 0, 177, 0,
581 0, 177, 177, 177, 0, 0, 0, 0, 0, 0,
582 0, 0, 0, 66, 0, 0, 143, 0, 0, 143,
583 0, 0, 0, 0, 0, 0, 0, 0, 144, 144,
584 144, 144, 0, 143, 143, 144, 0, 144, 143, 0,
585 0, 0, 0, 144, 144, 144, 144, 0, 0, 0,
586 0, 0, 0, 0, 0, 0, 144, 144, 144, 0,
587 144, 144, 144, 144, 144, 144, 144, 144, 143, 0,
588 144, 0, 0, 144, 144, 144, 76, 76, 76, 76,
589 0, 82, 0, 76, 82, 76, 0, 0, 0, 0,
590 0, 76, 76, 76, 76, 0, 0, 0, 82, 82,
591 0, 0, 0, 82, 76, 76, 76, 0, 76, 76,
592 76, 76, 76, 76, 76, 76, 0, 0, 76, 0,
593 0, 76, 76, 76, 0, 184, 184, 184, 184, 162,
594 0, 0, 184, 82, 184, 0, 0, 0, 0, 0,
595 184, 184, 184, 184, 0, 0, 162, 162, 0, 0,
596 0, 162, 0, 184, 184, 184, 0, 184, 184, 184,
597 184, 184, 184, 184, 184, 0, 0, 184, 0, 0,
598 184, 184, 184, 0, 0, 0, 0, 0, 0, 0,
599 79, 162, 0, 0, 0, 0, 0, 0, 0, 0,
600 0, 0, 66, 66, 66, 66, 0, 79, 79, 66,
601 0, 66, 79, 0, 0, 0, 0, 66, 66, 66,
602 66, 0, 0, 0, 0, 0, 0, 0, 0, 0,
603 66, 66, 66, 0, 66, 66, 66, 66, 66, 66,
604 66, 66, 79, 0, 66, 0, 0, 66, 66, 66,
605 0, 0, 0, 0, 0, 0, 0, 143, 143, 143,
606 143, 0, 122, 0, 143, 122, 143, 0, 0, 0,
607 0, 0, 143, 143, 143, 143, 0, 0, 0, 122,
608 122, 0, 0, 0, 122, 143, 143, 143, 0, 143,
609 143, 143, 143, 143, 143, 143, 143, 0, 0, 143,
610 0, 0, 143, 143, 143, 0, 0, 0, 0, 0,
611 123, 0, 0, 123, 122, 0, 0, 0, 0, 0,
612 0, 0, 82, 82, 82, 82, 0, 123, 123, 82,
613 0, 82, 123, 0, 0, 0, 0, 82, 82, 82,
614 82, 0, 0, 0, 0, 0, 0, 0, 0, 0,
615 82, 82, 82, 0, 82, 82, 82, 82, 82, 82,
616 82, 82, 123, 0, 82, 0, 0, 82, 82, 82,
617 162, 162, 162, 162, 0, 118, 0, 162, 118, 162,
618 0, 0, 0, 0, 0, 162, 162, 162, 162, 0,
619 0, 0, 118, 118, 0, 0, 0, 118, 162, 162,
620 162, 0, 162, 162, 162, 162, 162, 162, 162, 162,
621 0, 0, 162, 0, 0, 162, 162, 162, 0, 0,
622 0, 79, 79, 79, 79, 0, 119, 118, 79, 119,
623 79, 0, 0, 0, 0, 0, 79, 79, 79, 79,
624 0, 0, 0, 119, 119, 0, 0, 0, 119, 79,
625 79, 79, 0, 79, 79, 79, 79, 79, 79, 79,
626 79, 0, 0, 79, 0, 0, 79, 79, 79, 0,
627 0, 0, 0, 0, 0, 0, 0, 0, 119, 0,
628 0, 140, 0, 0, 140, 0, 0, 0, 0, 0,
629 0, 0, 0, 122, 122, 122, 122, 0, 140, 140,
630 122, 0, 122, 140, 0, 0, 0, 0, 122, 122,
631 122, 122, 0, 0, 0, 0, 0, 0, 0, 0,
632 0, 122, 122, 122, 0, 122, 122, 122, 122, 122,
633 122, 122, 122, 140, 0, 122, 0, 0, 0, 0,
634 0, 123, 123, 123, 123, 0, 116, 0, 123, 116,
635 123, 0, 0, 0, 0, 0, 123, 123, 123, 123,
636 0, 0, 0, 116, 116, 0, 0, 0, 116, 123,
637 123, 123, 0, 123, 123, 123, 123, 123, 123, 123,
638 123, 0, 0, 123, 0, 0, 0, 0, 0, 0,
639 0, 0, 0, 0, 117, 0, 0, 117, 116, 0,
640 0, 0, 0, 0, 0, 0, 118, 118, 118, 118,
641 0, 117, 117, 118, 0, 118, 117, 0, 0, 0,
642 0, 118, 118, 118, 118, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 118, 118, 118, 0, 118, 118,
644 118, 118, 118, 118, 118, 118, 117, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 119, 119, 119,
646 119, 0, 0, 0, 119, 0, 119, 0, 0, 0,
647 0, 0, 119, 119, 119, 119, 0, 0, 0, 0,
648 115, 0, 0, 115, 0, 119, 119, 119, 0, 119,
649 119, 119, 119, 119, 119, 119, 119, 115, 115, 0,
650 0, 0, 115, 0, 0, 0, 0, 0, 0, 0,
651 0, 0, 140, 140, 140, 140, 0, 0, 0, 140,
652 0, 140, 0, 0, 0, 0, 0, 140, 140, 140,
653 140, 0, 115, 0, 0, 103, 0, 0, 103, 0,
654 140, 140, 140, 0, 140, 140, 140, 140, 140, 140,
655 140, 140, 103, 103, 0, 0, 0, 103, 0, 0,
656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 0, 0, 0, 0, 0, 116, 116, 116,
658 116, 0, 0, 0, 116, 0, 116, 103, 0, 0,
659 0, 0, 116, 116, 116, 116, 0, 0, 0, 0,
660 104, 0, 0, 104, 0, 116, 116, 116, 0, 116,
661 116, 116, 116, 116, 116, 116, 116, 104, 104, 0,
662 0, 0, 104, 0, 0, 117, 117, 117, 117, 0,
663 0, 0, 117, 0, 117, 0, 0, 0, 0, 0,
664 117, 117, 117, 117, 0, 0, 0, 0, 105, 0,
665 0, 105, 104, 117, 117, 117, 0, 117, 117, 117,
666 117, 117, 117, 117, 117, 105, 105, 0, 0, 0,
667 105, 0, 0, 0, 0, 0, 0, 0, 0, 0,
668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
669 0, 0, 0, 0, 0, 0, 0, 0, 0, 106,
670 105, 0, 106, 0, 0, 0, 0, 0, 0, 0,
671 0, 115, 115, 115, 115, 0, 106, 106, 115, 0,
672 115, 106, 0, 0, 0, 0, 115, 115, 115, 115,
673 0, 0, 0, 0, 0, 0, 0, 0, 0, 115,
674 115, 115, 0, 115, 115, 115, 115, 115, 115, 115,
675 115, 106, 0, 0, 166, 0, 0, 166, 0, 0,
676 0, 0, 0, 0, 0, 0, 103, 103, 103, 103,
677 0, 166, 166, 103, 0, 103, 166, 0, 0, 0,
678 0, 103, 103, 103, 103, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 103, 103, 103, 0, 103, 103,
680 103, 103, 103, 103, 103, 103, 166, 0, 0, 0,
681 0, 0, 0, 0, 0, 0, 0, 0, 0, 165,
682 0, 0, 165, 0, 0, 0, 0, 0, 0, 0,
683 0, 104, 104, 104, 104, 0, 165, 165, 104, 0,
684 104, 165, 0, 0, 0, 0, 104, 104, 104, 104,
685 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
686 104, 104, 0, 104, 104, 104, 104, 104, 104, 104,
687 0, 165, 0, 0, 129, 0, 0, 129, 0, 105,
688 105, 105, 105, 0, 142, 0, 105, 142, 105, 0,
689 0, 129, 129, 0, 105, 105, 129, 105, 0, 0,
690 0, 142, 142, 0, 0, 0, 142, 105, 105, 105,
691 0, 105, 105, 105, 105, 105, 105, 105, 0, 0,
692 0, 0, 0, 0, 0, 107, 129, 0, 107, 0,
693 106, 106, 106, 106, 0, 0, 142, 106, 0, 106,
694 0, 0, 107, 107, 0, 106, 106, 107, 0, 0,
695 0, 0, 0, 0, 0, 0, 0, 0, 106, 106,
696 106, 0, 106, 106, 106, 106, 106, 106, 106, 0,
697 0, 0, 0, 108, 0, 0, 108, 107, 0, 0,
698 0, 0, 0, 0, 0, 166, 166, 166, 166, 0,
699 108, 108, 166, 0, 166, 108, 0, 0, 0, 0,
700 166, 166, 0, 0, 0, 0, 0, 0, 0, 0,
701 0, 0, 0, 166, 166, 166, 0, 166, 166, 166,
702 166, 166, 166, 109, 0, 108, 109, 0, 0, 0,
703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
704 109, 109, 0, 0, 0, 109, 0, 0, 0, 0,
705 165, 165, 165, 165, 0, 0, 0, 165, 0, 165,
706 0, 0, 0, 0, 0, 165, 165, 0, 0, 0,
707 0, 110, 0, 0, 110, 109, 0, 0, 165, 165,
708 165, 0, 165, 165, 165, 165, 165, 165, 110, 110,
709 0, 0, 0, 110, 0, 0, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 129, 129, 129, 129, 0,
711 112, 0, 129, 112, 129, 142, 142, 142, 142, 0,
712 129, 129, 142, 110, 142, 0, 0, 112, 112, 0,
713 142, 142, 112, 129, 129, 129, 0, 129, 129, 129,
714 129, 129, 129, 142, 142, 142, 0, 142, 142, 142,
715 142, 142, 142, 0, 0, 0, 107, 107, 107, 107,
716 0, 0, 112, 107, 0, 107, 0, 0, 0, 0,
717 0, 0, 107, 0, 0, 0, 0, 113, 0, 0,
718 113, 0, 0, 0, 107, 107, 107, 0, 107, 107,
719 107, 107, 107, 107, 113, 113, 0, 0, 0, 113,
720 0, 0, 0, 0, 108, 108, 108, 108, 0, 0,
721 0, 108, 0, 108, 0, 0, 0, 0, 0, 0,
722 0, 0, 0, 0, 0, 114, 0, 0, 114, 113,
723 0, 0, 108, 108, 108, 0, 108, 108, 108, 108,
724 108, 108, 114, 114, 0, 0, 0, 114, 0, 0,
725 0, 0, 0, 0, 109, 109, 109, 109, 0, 0,
726 0, 109, 0, 109, 0, 0, 0, 0, 0, 0,
727 0, 0, 0, 0, 0, 0, 0, 114, 0, 0,
728 0, 0, 109, 109, 109, 0, 109, 109, 109, 109,
729 109, 109, 0, 0, 0, 0, 0, 0, 0, 0,
730 0, 0, 110, 110, 110, 110, 0, 0, 0, 110,
731 0, 110, 0, 0, 0, 0, 0, 0, 0, 0,
732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
733 110, 110, 110, 0, 110, 110, 110, 110, 110, 0,
734 0, 112, 112, 112, 112, 0, 0, 0, 112, 0,
735 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 0, 0, 0, 0, 0, 0, 0, 0, 112,
737 112, 112, 0, 112, 112, 112, 112, 0, 0, 0,
738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
740 0, 0, 0, 0, 0, 0, 0, 0, 113, 113,
741 113, 113, 0, 0, 0, 113, 0, 113, 0, 0,
742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
743 0, 0, 0, 0, 0, 0, 113, 113, 113, 0,
744 113, 113, 113, 0, 0, 0, 0, 0, 0, 0,
745 0, 0, 0, 0, 0, 0, 114, 114, 114, 114,
746 0, 0, 0, 114, 0, 114, 0, 0, 0, 0,
747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
748 0, 0, 0, 0, 114, 114, 114, 0, 114, 114,
751 static short yycheck[] = { 15,
752 94, 44, 41, 36, 59, 41, 41, 123, 44, 36,
753 99, 59, 40, 40, 40, 59, 200, 36, 365, 91,
754 59, 40, 209, 91, 41, 257, 93, 63, 59, 266,
755 267, 268, 48, 270, 271, 276, 277, 104, 41, 93,
756 197, 130, 59, 59, 60, 257, 203, 257, 41, 396,
757 59, 123, 41, 41, 93, 123, 41, 8, 9, 44,
758 297, 59, 40, 91, 91, 91, 59, 40, 123, 40,
759 59, 40, 40, 58, 59, 123, 28, 15, 63, 123,
760 41, 40, 105, 106, 107, 108, 109, 110, 257, 0,
761 123, 40, 123, 45, 46, 123, 123, 123, 114, 115,
762 52, 41, 41, 40, 278, 41, 44, 40, 93, 47,
763 123, 298, 64, 65, 66, 67, 132, 41, 41, 59,
764 59, 41, 33, 59, 59, 36, 37, 38, 41, 40,
765 289, 42, 43, 317, 45, 41, 59, 44, 41, 59,
766 156, 157, 158, 159, 160, 161, 162, 163, 59, 123,
767 88, 260, 311, 64, 341, 314, 257, 41, 317, 318,
768 319, 40, 125, 115, 40, 103, 182, 183, 184, 185,
769 186, 187, 188, 189, 190, 41, 289, 290, 59, 40,
770 91, 59, 298, 298, 200, 0, 275, 210, 204, 205,
771 59, 207, 281, 209, 59, 319, 91, 59, 311, 386,
772 216, 314, 218, 219, 317, 318, 319, 298, 257, 36,
773 37, 227, 123, 40, 125, 126, 154, 36, 33, 93,
774 41, 36, 37, 38, 257, 40, 125, 42, 43, 262,
775 45, 258, 91, 272, 273, 274, 275, 64, 260, 255,
776 279, 257, 258, 298, 59, 281, 300, 301, 302, 64,
777 302, 287, 288, 289, 290, 40, 260, 300, 301, 302,
778 41, 300, 301, 302, 41, 300, 301, 302, 304, 305,
779 306, 307, 308, 309, 310, 311, 91, 296, 314, 373,
780 41, 317, 318, 319, 41, 59, 41, 272, 273, 274,
781 275, 300, 301, 302, 279, 311, 281, 300, 301, 302,
782 40, 317, 287, 288, 289, 290, 93, 41, 123, 93,
783 125, 126, 300, 301, 302, 300, 301, 302, 125, 304,
784 305, 306, 307, 308, 309, 310, 311, 343, 93, 314,
785 125, 93, 317, 318, 319, 93, 274, 125, 276, 300,
786 301, 302, 125, 123, 282, 256, 257, 258, 259, 260,
787 261, 59, 263, 264, 265, 266, 267, 268, 269, 270,
788 271, 272, 273, 274, 275, 41, 382, 41, 279, 280,
789 0, 282, 283, 284, 285, 286, 300, 301, 302, 125,
790 291, 292, 293, 294, 295, 296, 297, 300, 301, 302,
791 59, 41, 303, 40, 300, 301, 302, 300, 301, 302,
792 41, 41, 313, 33, 315, 316, 36, 37, 38, 125,
793 40, 123, 42, 43, 41, 45, 300, 301, 302, 300,
794 301, 302, 300, 301, 302, 123, 300, 301, 302, 59,
795 41, 300, 301, 302, 64, 300, 301, 302, 300, 301,
796 302, 256, 257, 258, 259, 260, 261, 59, 263, 264,
797 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
798 275, 91, 41, 59, 279, 280, 63, 282, 283, 284,
799 285, 286, 41, 59, 125, 41, 291, 292, 293, 294,
800 295, 296, 297, 300, 301, 302, 34, 51, 303, 51,
801 338, 339, 340, 123, 342, 15, 126, 157, 313, 33,
802 315, 316, 36, 37, 38, 382, 40, 41, 42, 43,
803 44, 45, 343, 300, 301, 302, 300, 301, 302, 207,
804 23, 369, 276, -1, 58, 59, -1, -1, 376, 63,
805 64, -1, 380, -1, -1, 300, 301, 302, 300, 301,
806 302, -1, 300, 301, 302, 393, 394, -1, -1, -1,
807 266, 267, 268, -1, 270, 271, -1, 91, 314, 93,
808 -1, 317, 318, 319, 33, -1, -1, 36, 37, 38,
809 -1, 40, 41, 42, 43, 44, 45, -1, -1, -1,
810 -1, 297, 287, 288, 289, 290, 362, 363, -1, 58,
811 59, 367, 126, -1, 63, 64, -1, -1, -1, -1,
812 305, 306, 307, 308, 309, 310, 311, 383, -1, 314,
813 -1, 387, 317, 318, 319, 266, 267, 268, -1, 270,
814 271, -1, -1, -1, 93, 41, 256, 257, 258, 259,
815 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
816 -1, -1, 272, 273, 274, 275, 297, 63, -1, 279,
817 280, -1, 282, 283, 284, 285, 286, 126, -1, -1,
818 -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
819 -1, -1, 287, 303, 289, 290, -1, -1, -1, -1,
820 -1, -1, -1, 313, 281, 315, 316, -1, -1, -1,
821 287, 288, 289, 290, -1, 310, 311, -1, -1, 314,
822 58, -1, 317, 318, 319, 63, -1, 304, 305, 306,
823 307, 308, 309, 310, 311, -1, -1, 314, -1, -1,
824 317, 318, 319, 257, 258, 259, 260, 261, -1, 263,
825 264, 265, -1, -1, -1, 269, -1, -1, 272, 273,
826 274, 275, -1, -1, -1, 279, 280, 281, 282, 283,
827 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
828 294, 295, 296, -1, -1, 63, 300, 301, 302, 303,
829 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
830 314, 315, 316, 317, 318, 319, -1, -1, 257, 258,
831 259, 260, 261, -1, 263, 264, 265, -1, -1, 45,
832 269, -1, -1, 272, 273, 274, 275, 53, -1, -1,
833 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
834 289, 290, 291, 292, 293, 294, 295, 296, -1, -1,
835 -1, 300, 301, 302, 303, 304, 305, 306, 307, 308,
836 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
837 319, 33, -1, 99, 36, 37, 38, -1, 40, -1,
838 42, 43, -1, 45, -1, 281, -1, -1, -1, -1,
839 -1, 287, 288, 289, 290, -1, 122, 59, 272, 273,
840 274, 275, 64, -1, 130, 279, -1, -1, 304, 305,
841 306, 307, 308, 309, 310, 311, -1, -1, 314, -1,
842 -1, 317, 318, 319, -1, -1, 300, 301, 302, 91,
843 -1, -1, 33, -1, -1, 36, 37, 38, -1, 40,
844 -1, 42, 43, 281, 45, -1, -1, -1, -1, 287,
845 288, 289, 290, -1, -1, -1, -1, -1, 59, -1,
846 -1, 123, -1, 64, 126, -1, 304, 305, 306, 307,
847 308, 309, 310, 311, -1, -1, 314, -1, -1, 317,
848 318, 319, -1, -1, -1, -1, -1, -1, -1, -1,
849 91, -1, 33, -1, -1, 36, 37, 38, -1, 40,
850 -1, 42, 43, 281, 45, -1, -1, -1, -1, 287,
851 288, 289, 290, 311, -1, -1, 314, -1, -1, 317,
852 318, 319, 123, 64, -1, 126, -1, 305, 306, 307,
853 308, 309, 310, 311, -1, -1, 314, -1, -1, 317,
854 318, 319, -1, -1, -1, -1, -1, -1, -1, 275,
855 91, 289, 290, -1, -1, 281, 33, -1, -1, 36,
856 37, 38, -1, 40, -1, 42, 43, -1, 45, -1,
857 -1, -1, 310, 311, -1, -1, 314, -1, -1, 317,
858 318, 319, 123, -1, -1, 126, -1, 64, -1, -1,
859 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
860 -1, 263, 264, 265, -1, -1, -1, 269, -1, -1,
861 272, 273, 274, 275, 91, -1, -1, 279, 280, -1,
862 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
863 292, 293, 294, 295, 296, -1, -1, -1, -1, -1,
864 -1, 303, -1, -1, -1, -1, 123, -1, -1, 126,
865 -1, 313, -1, 315, 316, 256, 257, 258, 259, 260,
866 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
867 -1, 272, 273, 274, 275, -1, -1, -1, 279, 280,
868 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
869 291, 292, 293, 294, 295, 296, -1, -1, -1, -1,
870 -1, 33, 303, -1, 36, 37, 38, -1, 40, -1,
871 42, 43, 313, 45, 315, 316, 257, 258, 259, 260,
872 261, 262, 263, 264, 265, -1, -1, -1, 269, -1,
873 -1, -1, 64, -1, -1, -1, -1, -1, -1, 280,
874 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
875 291, 292, 293, 294, 295, 296, -1, -1, -1, 91,
876 -1, 41, 303, -1, 44, -1, 287, 288, 289, 290,
877 -1, -1, 313, -1, 315, 316, -1, -1, 58, 59,
878 257, 258, 259, 260, 261, -1, 263, 264, 265, 310,
879 311, 123, 269, 314, 126, -1, 317, 318, 319, -1,
880 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
881 -1, -1, -1, 93, 291, 292, 293, 294, 295, 296,
882 33, -1, -1, 36, 37, 38, 303, 40, -1, 42,
883 43, -1, 45, -1, -1, -1, 313, -1, 315, 316,
884 287, 288, 289, 290, -1, -1, 59, -1, -1, -1,
885 -1, 64, -1, -1, -1, -1, -1, -1, -1, -1,
886 307, 308, 309, 310, 311, -1, -1, 314, -1, -1,
887 317, 318, 319, 287, 288, 289, 290, -1, 91, -1,
888 33, -1, -1, 36, 37, 38, -1, 40, 41, 42,
889 43, -1, 45, -1, 308, 309, 310, 311, -1, -1,
890 314, -1, -1, 317, 318, 319, -1, -1, -1, -1,
891 -1, 64, -1, 126, -1, -1, -1, -1, -1, -1,
892 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
893 -1, 263, 264, 265, -1, -1, -1, 269, 91, -1,
894 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
895 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
896 292, 293, 294, 295, 296, 33, -1, -1, 36, 37,
897 38, 303, 40, 126, 42, 43, -1, 45, -1, -1,
898 -1, 313, -1, 315, 316, -1, -1, -1, -1, -1,
899 -1, -1, 272, 273, 274, 275, 64, -1, -1, 279,
900 -1, -1, -1, -1, -1, -1, 33, -1, -1, 36,
901 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
902 300, 301, 302, 91, 304, 93, -1, -1, -1, -1,
903 -1, -1, -1, -1, -1, -1, -1, 64, -1, 41,
904 -1, -1, 44, -1, 257, 258, 259, 260, 261, -1,
905 263, 264, 265, -1, -1, -1, 269, 59, 126, -1,
906 -1, -1, -1, -1, 91, -1, -1, 280, -1, 282,
907 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
908 293, 294, 295, 296, -1, -1, -1, -1, -1, -1,
909 303, 93, -1, -1, -1, -1, -1, -1, -1, 126,
910 313, -1, 315, 316, 257, 258, 259, 260, 261, -1,
911 263, 264, 265, -1, 33, -1, 269, 36, 37, 38,
912 -1, 40, 41, 42, 43, -1, 45, 280, -1, 282,
913 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
914 293, 294, 295, 296, -1, 64, -1, -1, -1, -1,
915 303, 287, 288, 289, 290, -1, -1, -1, -1, -1,
916 313, -1, 315, 316, -1, -1, -1, 41, -1, -1,
917 44, -1, 91, 309, 310, 311, -1, -1, 314, -1,
918 -1, 317, 318, 319, 58, 59, -1, -1, -1, 257,
919 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
920 -1, 269, 41, -1, -1, 44, -1, 126, -1, -1,
921 -1, -1, 280, -1, 282, 283, 284, 285, 286, 93,
922 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
923 257, 258, 259, 260, 261, 303, 263, 264, 265, -1,
924 -1, -1, 269, -1, -1, 313, -1, 315, 316, -1,
925 -1, -1, -1, 280, 93, 282, 283, 284, 285, 286,
926 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
927 272, 273, 274, 275, -1, 33, 303, 279, 36, 37,
928 38, -1, 40, 41, 42, 43, 313, 45, 315, 316,
929 27, 28, -1, -1, -1, -1, -1, -1, 300, 301,
930 -1, -1, 39, -1, -1, -1, 64, -1, 45, 46,
931 47, -1, -1, -1, 51, 52, -1, -1, -1, -1,
932 -1, -1, -1, -1, -1, -1, -1, 64, 65, 66,
933 67, -1, -1, 91, -1, -1, -1, -1, 257, 258,
934 259, 260, 261, -1, 263, 264, 265, -1, 33, -1,
935 269, 36, 37, 38, -1, 40, 41, 42, 43, -1,
936 45, 280, -1, 282, 283, 284, 285, 286, 126, -1,
937 -1, -1, 291, 292, 293, 294, 295, 296, 115, 64,
938 -1, -1, -1, -1, 303, -1, -1, -1, -1, -1,
939 -1, -1, -1, -1, 313, -1, 315, 316, 272, 273,
940 274, 275, -1, -1, -1, 279, 91, -1, -1, -1,
941 -1, 33, -1, -1, 36, 37, 38, -1, 40, -1,
942 42, 43, -1, 45, -1, -1, 300, 301, 302, -1,
943 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
944 279, 126, 64, -1, 181, -1, 41, -1, -1, 44,
945 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
946 -1, 300, 301, 58, 59, -1, -1, -1, -1, 91,
947 -1, 208, -1, -1, -1, -1, -1, -1, -1, -1,
948 -1, -1, -1, -1, 33, -1, -1, 36, 37, 38,
949 -1, 40, 41, 42, 43, -1, 45, -1, 93, 257,
950 258, 259, 260, 261, 126, 263, 264, 265, -1, -1,
951 -1, 269, -1, -1, -1, 64, -1, -1, -1, -1,
952 -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
953 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
954 -1, -1, 91, -1, -1, 303, -1, -1, -1, -1,
955 -1, -1, -1, -1, -1, 313, 33, 315, 316, 36,
956 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
957 -1, -1, 257, 258, 259, 260, 261, 126, 263, 264,
958 265, -1, -1, -1, 269, -1, -1, 64, -1, -1,
959 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
960 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
961 295, 296, -1, -1, 91, -1, -1, -1, 303, -1,
962 -1, -1, -1, -1, -1, -1, -1, -1, 313, -1,
963 315, 316, -1, -1, 256, 257, 258, 259, 260, 261,
964 -1, 263, 264, 265, -1, -1, -1, 269, -1, 126,
965 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
966 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
967 292, 293, 294, 295, 296, -1, -1, 272, 273, 274,
968 275, 303, -1, -1, 279, -1, -1, -1, -1, -1,
969 -1, 313, 33, 315, 316, 36, 37, 38, -1, 40,
970 41, 42, 43, -1, 45, 300, 301, 302, 257, 258,
971 259, 260, 261, -1, 263, 264, 265, -1, -1, -1,
972 269, -1, -1, 64, -1, -1, -1, -1, -1, -1,
973 -1, 280, -1, 282, 283, 284, 285, 286, -1, -1,
974 -1, -1, 291, 292, 293, 294, 295, 296, -1, -1,
975 91, -1, -1, -1, 303, -1, -1, -1, -1, -1,
976 -1, -1, -1, -1, 313, 33, 315, 316, 36, 37,
977 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
978 257, 258, 259, 260, 261, 126, 263, 264, 265, -1,
979 -1, -1, 269, -1, -1, -1, 64, -1, -1, -1,
980 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
981 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
982 -1, -1, -1, 91, -1, -1, 303, -1, -1, -1,
983 -1, -1, -1, -1, 41, -1, 313, 44, 315, 316,
984 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
985 -1, 58, 59, -1, -1, -1, 63, -1, 126, 58,
986 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
987 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
988 -1, -1, -1, -1, -1, -1, 93, -1, -1, -1,
989 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
990 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
991 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
992 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
993 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
994 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
995 291, 292, 293, 294, 295, 296, -1, -1, -1, -1,
996 -1, 41, 303, -1, 44, -1, -1, -1, -1, -1,
997 -1, -1, 313, -1, 315, 316, -1, -1, 58, 59,
998 -1, 41, -1, 63, 44, -1, -1, -1, -1, 257,
999 258, 259, 260, 261, -1, 263, 264, 265, 58, 59,
1000 -1, 269, -1, -1, -1, -1, -1, -1, -1, -1,
1001 -1, -1, 280, 93, 282, 283, 284, 285, 286, -1,
1002 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
1003 -1, 32, -1, 93, 41, 303, -1, 44, -1, 40,
1004 -1, -1, -1, 44, -1, 313, 47, 315, 316, 50,
1005 -1, 58, 59, 54, 55, 56, 57, 58, -1, -1,
1006 -1, 62, 63, -1, -1, 272, 273, 274, 275, -1,
1007 -1, -1, 279, 272, 273, 274, 275, -1, -1, -1,
1008 279, -1, 281, -1, -1, -1, 93, -1, 287, 288,
1009 289, 290, -1, 300, 301, 302, -1, 304, -1, -1,
1010 101, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1011 309, 310, 311, -1, -1, 314, -1, -1, 317, 318,
1012 319, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1013 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1014 -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
1015 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1016 -1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
1017 171, 172, 173, 174, 175, 176, 177, 178, 93, -1,
1018 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
1019 -1, 192, 272, 273, 274, 275, -1, 58, 59, 279,
1020 -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
1021 290, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1022 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1023 310, 311, 93, 41, 314, -1, 44, 317, 318, 319,
1024 300, 301, 302, -1, -1, -1, -1, -1, -1, -1,
1025 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1026 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1027 -1, -1, 279, -1, -1, -1, -1, -1, 279, -1,
1028 -1, 41, -1, -1, 44, 93, -1, -1, -1, -1,
1029 -1, -1, -1, 300, 301, 302, -1, -1, 58, 59,
1030 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1031 -1, 312, -1, -1, -1, -1, -1, -1, -1, -1,
1032 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1033 -1, -1, 44, 93, -1, -1, -1, -1, -1, -1,
1034 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
1035 -1, 63, -1, -1, -1, -1, -1, 272, 273, 274,
1036 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
1037 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1038 -1, 93, -1, -1, -1, 300, 301, 302, -1, 304,
1039 305, 306, 307, 308, 309, 310, 311, -1, -1, 314,
1040 -1, -1, 317, 318, 319, -1, -1, -1, -1, -1,
1041 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1042 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1043 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1044 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1045 311, -1, -1, 314, -1, -1, 317, 318, 319, -1,
1046 -1, -1, -1, -1, 272, 273, 274, 275, 93, -1,
1047 -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
1048 288, 289, 290, -1, -1, -1, -1, -1, -1, -1,
1049 -1, -1, 300, 301, 302, -1, 304, 305, 306, 307,
1050 308, 309, 310, 311, -1, -1, 314, -1, -1, 317,
1051 318, 319, 272, 273, 274, 275, -1, -1, -1, 279,
1052 -1, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1053 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1054 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1055 310, 311, -1, -1, 314, -1, -1, 317, 318, 319,
1056 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1057 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1058 -1, -1, 58, 59, -1, -1, -1, 63, 300, 301,
1059 302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
1060 -1, -1, 314, -1, -1, 317, 318, 319, -1, -1,
1061 -1, -1, -1, -1, -1, 41, -1, 93, 44, -1,
1062 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1063 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
1064 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1065 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
1066 -1, -1, 287, 288, 289, 290, -1, 93, -1, -1,
1067 -1, -1, -1, -1, -1, 300, 301, 302, -1, 304,
1068 305, 306, 307, 308, 309, 310, 311, 41, -1, 314,
1069 44, -1, 317, 318, 319, -1, -1, -1, -1, -1,
1070 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1071 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1072 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1073 -1, -1, -1, -1, -1, 41, -1, -1, 44, 93,
1074 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1075 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
1076 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1077 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1078 -1, -1, -1, -1, 41, -1, -1, 93, -1, -1,
1079 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1080 -1, 58, 59, 279, -1, 281, 63, -1, -1, -1,
1081 -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
1082 -1, -1, -1, -1, 300, 301, 302, -1, 304, 305,
1083 306, 307, 308, 309, 310, 311, 93, -1, 314, -1,
1084 -1, 317, 318, 319, -1, -1, 272, 273, 274, 275,
1085 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1086 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
1087 -1, -1, -1, 63, 300, 301, 302, -1, 304, 305,
1088 306, 307, 308, 309, 310, 311, -1, -1, 314, -1,
1089 -1, 317, 318, 319, -1, -1, -1, -1, -1, -1,
1090 -1, -1, -1, 93, -1, -1, 41, -1, -1, 44,
1091 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1092 274, 275, -1, 58, 59, 279, -1, 281, 63, -1,
1093 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
1094 -1, -1, -1, -1, -1, -1, 300, 301, 302, -1,
1095 304, 305, 306, 307, 308, 309, 310, 311, 93, -1,
1096 314, -1, -1, 317, 318, 319, 272, 273, 274, 275,
1097 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1098 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
1099 -1, -1, -1, 63, 300, 301, 302, -1, 304, 305,
1100 306, 307, 308, 309, 310, 311, -1, -1, 314, -1,
1101 -1, 317, 318, 319, -1, 272, 273, 274, 275, 41,
1102 -1, -1, 279, 93, 281, -1, -1, -1, -1, -1,
1103 287, 288, 289, 290, -1, -1, 58, 59, -1, -1,
1104 -1, 63, -1, 300, 301, 302, -1, 304, 305, 306,
1105 307, 308, 309, 310, 311, -1, -1, 314, -1, -1,
1106 317, 318, 319, -1, -1, -1, -1, -1, -1, -1,
1107 41, 93, -1, -1, -1, -1, -1, -1, -1, -1,
1108 -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
1109 -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
1110 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1111 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1112 310, 311, 93, -1, 314, -1, -1, 317, 318, 319,
1113 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1114 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1115 -1, -1, 287, 288, 289, 290, -1, -1, -1, 58,
1116 59, -1, -1, -1, 63, 300, 301, 302, -1, 304,
1117 305, 306, 307, 308, 309, 310, 311, -1, -1, 314,
1118 -1, -1, 317, 318, 319, -1, -1, -1, -1, -1,
1119 41, -1, -1, 44, 93, -1, -1, -1, -1, -1,
1120 -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
1121 -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
1122 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1123 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1124 310, 311, 93, -1, 314, -1, -1, 317, 318, 319,
1125 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1126 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1127 -1, -1, 58, 59, -1, -1, -1, 63, 300, 301,
1128 302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
1129 -1, -1, 314, -1, -1, 317, 318, 319, -1, -1,
1130 -1, 272, 273, 274, 275, -1, 41, 93, 279, 44,
1131 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1132 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1133 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1134 311, -1, -1, 314, -1, -1, 317, 318, 319, -1,
1135 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
1136 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
1137 -1, -1, -1, 272, 273, 274, 275, -1, 58, 59,
1138 279, -1, 281, 63, -1, -1, -1, -1, 287, 288,
1139 289, 290, -1, -1, -1, -1, -1, -1, -1, -1,
1140 -1, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1141 309, 310, 311, 93, -1, 314, -1, -1, -1, -1,
1142 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1143 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1144 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1145 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1146 311, -1, -1, 314, -1, -1, -1, -1, -1, -1,
1147 -1, -1, -1, -1, 41, -1, -1, 44, 93, -1,
1148 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1149 -1, 58, 59, 279, -1, 281, 63, -1, -1, -1,
1150 -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
1151 -1, -1, -1, -1, 300, 301, 302, -1, 304, 305,
1152 306, 307, 308, 309, 310, 311, 93, -1, -1, -1,
1153 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1154 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
1155 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1156 41, -1, -1, 44, -1, 300, 301, 302, -1, 304,
1157 305, 306, 307, 308, 309, 310, 311, 58, 59, -1,
1158 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
1159 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1160 -1, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1161 290, -1, 93, -1, -1, 41, -1, -1, 44, -1,
1162 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1163 310, 311, 58, 59, -1, -1, -1, 63, -1, -1,
1164 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1165 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1166 275, -1, -1, -1, 279, -1, 281, 93, -1, -1,
1167 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1168 41, -1, -1, 44, -1, 300, 301, 302, -1, 304,
1169 305, 306, 307, 308, 309, 310, 311, 58, 59, -1,
1170 -1, -1, 63, -1, -1, 272, 273, 274, 275, -1,
1171 -1, -1, 279, -1, 281, -1, -1, -1, -1, -1,
1172 287, 288, 289, 290, -1, -1, -1, -1, 41, -1,
1173 -1, 44, 93, 300, 301, 302, -1, 304, 305, 306,
1174 307, 308, 309, 310, 311, 58, 59, -1, -1, -1,
1175 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1176 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1177 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1178 93, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1179 -1, 272, 273, 274, 275, -1, 58, 59, 279, -1,
1180 281, 63, -1, -1, -1, -1, 287, 288, 289, 290,
1181 -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
1182 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1183 311, 93, -1, -1, 41, -1, -1, 44, -1, -1,
1184 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1185 -1, 58, 59, 279, -1, 281, 63, -1, -1, -1,
1186 -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
1187 -1, -1, -1, -1, 300, 301, 302, -1, 304, 305,
1188 306, 307, 308, 309, 310, 311, 93, -1, -1, -1,
1189 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1190 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1191 -1, 272, 273, 274, 275, -1, 58, 59, 279, -1,
1192 281, 63, -1, -1, -1, -1, 287, 288, 289, 290,
1193 -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
1194 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1195 -1, 93, -1, -1, 41, -1, -1, 44, -1, 272,
1196 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1197 -1, 58, 59, -1, 287, 288, 63, 290, -1, -1,
1198 -1, 58, 59, -1, -1, -1, 63, 300, 301, 302,
1199 -1, 304, 305, 306, 307, 308, 309, 310, -1, -1,
1200 -1, -1, -1, -1, -1, 41, 93, -1, 44, -1,
1201 272, 273, 274, 275, -1, -1, 93, 279, -1, 281,
1202 -1, -1, 58, 59, -1, 287, 288, 63, -1, -1,
1203 -1, -1, -1, -1, -1, -1, -1, -1, 300, 301,
1204 302, -1, 304, 305, 306, 307, 308, 309, 310, -1,
1205 -1, -1, -1, 41, -1, -1, 44, 93, -1, -1,
1206 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1207 58, 59, 279, -1, 281, 63, -1, -1, -1, -1,
1208 287, 288, -1, -1, -1, -1, -1, -1, -1, -1,
1209 -1, -1, -1, 300, 301, 302, -1, 304, 305, 306,
1210 307, 308, 309, 41, -1, 93, 44, -1, -1, -1,
1211 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1212 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1213 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1214 -1, -1, -1, -1, -1, 287, 288, -1, -1, -1,
1215 -1, 41, -1, -1, 44, 93, -1, -1, 300, 301,
1216 302, -1, 304, 305, 306, 307, 308, 309, 58, 59,
1217 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1218 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1219 41, -1, 279, 44, 281, 272, 273, 274, 275, -1,
1220 287, 288, 279, 93, 281, -1, -1, 58, 59, -1,
1221 287, 288, 63, 300, 301, 302, -1, 304, 305, 306,
1222 307, 308, 309, 300, 301, 302, -1, 304, 305, 306,
1223 307, 308, 309, -1, -1, -1, 272, 273, 274, 275,
1224 -1, -1, 93, 279, -1, 281, -1, -1, -1, -1,
1225 -1, -1, 288, -1, -1, -1, -1, 41, -1, -1,
1226 44, -1, -1, -1, 300, 301, 302, -1, 304, 305,
1227 306, 307, 308, 309, 58, 59, -1, -1, -1, 63,
1228 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1229 -1, 279, -1, 281, -1, -1, -1, -1, -1, -1,
1230 -1, -1, -1, -1, -1, 41, -1, -1, 44, 93,
1231 -1, -1, 300, 301, 302, -1, 304, 305, 306, 307,
1232 308, 309, 58, 59, -1, -1, -1, 63, -1, -1,
1233 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1234 -1, 279, -1, 281, -1, -1, -1, -1, -1, -1,
1235 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
1236 -1, -1, 300, 301, 302, -1, 304, 305, 306, 307,
1237 308, 309, -1, -1, -1, -1, -1, -1, -1, -1,
1238 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1239 -1, 281, -1, -1, -1, -1, -1, -1, -1, -1,
1240 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1241 300, 301, 302, -1, 304, 305, 306, 307, 308, -1,
1242 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1243 281, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1244 -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
1245 301, 302, -1, 304, 305, 306, 307, -1, -1, -1,
1246 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1247 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1248 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1249 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1250 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1251 -1, -1, -1, -1, -1, -1, 300, 301, 302, -1,
1252 304, 305, 306, -1, -1, -1, -1, -1, -1, -1,
1253 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1254 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
1255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1256 -1, -1, -1, -1, 300, 301, 302, -1, 304, 305,
1263 #define YYMAXTOKEN 319
1265 static char *yyname[] = {
1266 "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,
1267 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1268 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,
1269 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,
1270 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,
1271 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,
1272 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,
1273 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",
1274 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1275 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1276 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1277 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1278 "MYSUB","COLONATTR","PREC_LOW","OROP","DOROP","ANDOP","NOTOP","ASSIGNOP","OROR",
1279 "DORDOR","ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN",
1280 "POWOP","PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
1282 static char *yyrule[] = {
1284 "prog : progstart lineseq",
1285 "block : '{' remember lineseq '}'",
1288 "mblock : '{' mremember lineseq '}'",
1291 "lineseq : lineseq decl",
1292 "lineseq : lineseq line",
1293 "line : label cond",
1296 "line : label sideff ';'",
1299 "sideff : expr IF expr",
1300 "sideff : expr UNLESS expr",
1301 "sideff : expr WHILE expr",
1302 "sideff : expr UNTIL iexpr",
1303 "sideff : expr FOR expr",
1305 "else : ELSE mblock",
1306 "else : ELSIF '(' mexpr ')' mblock else",
1307 "cond : IF '(' remember mexpr ')' mblock else",
1308 "cond : UNLESS '(' remember miexpr ')' mblock else",
1310 "cont : CONTINUE block",
1311 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1312 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1313 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1314 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1315 "loop : label FOR '(' remember mexpr ')' mblock cont",
1316 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1317 "loop : label block cont",
1334 "format : FORMAT startformsub formname block",
1337 "mysubrout : MYSUB startsub subname proto subattrlist subbody",
1338 "subrout : SUB startsub subname proto subattrlist subbody",
1346 "subattrlist : COLONATTR THING",
1347 "subattrlist : COLONATTR",
1348 "myattrlist : COLONATTR THING",
1349 "myattrlist : COLONATTR",
1352 "package : PACKAGE WORD ';'",
1354 "use : USE startsub $$1 WORD WORD listexpr ';'",
1355 "expr : expr ANDOP expr",
1356 "expr : expr OROP expr",
1357 "expr : expr DOROP expr",
1359 "argexpr : argexpr ','",
1360 "argexpr : argexpr ',' term",
1362 "listop : LSTOP indirob argexpr",
1363 "listop : FUNC '(' indirob expr ')'",
1364 "listop : term ARROW method '(' listexprcom ')'",
1365 "listop : term ARROW method",
1366 "listop : METHOD indirob listexpr",
1367 "listop : FUNCMETH indirob '(' listexprcom ')'",
1368 "listop : LSTOP listexpr",
1369 "listop : FUNC '(' listexprcom ')'",
1371 "listop : LSTOPSUB startanonsub block $$2 listexpr",
1374 "subscripted : star '{' expr ';' '}'",
1375 "subscripted : scalar '[' expr ']'",
1376 "subscripted : term ARROW '[' expr ']'",
1377 "subscripted : subscripted '[' expr ']'",
1378 "subscripted : scalar '{' expr ';' '}'",
1379 "subscripted : term ARROW '{' expr ';' '}'",
1380 "subscripted : subscripted '{' expr ';' '}'",
1381 "subscripted : term ARROW '(' ')'",
1382 "subscripted : term ARROW '(' expr ')'",
1383 "subscripted : subscripted '(' expr ')'",
1384 "subscripted : subscripted '(' ')'",
1385 "termbinop : term ASSIGNOP term",
1386 "termbinop : term POWOP term",
1387 "termbinop : term MULOP term",
1388 "termbinop : term ADDOP term",
1389 "termbinop : term SHIFTOP term",
1390 "termbinop : term RELOP term",
1391 "termbinop : term EQOP term",
1392 "termbinop : term BITANDOP term",
1393 "termbinop : term BITOROP term",
1394 "termbinop : term DOTDOT term",
1395 "termbinop : term ANDAND term",
1396 "termbinop : term OROR term",
1397 "termbinop : term DORDOR term",
1398 "termbinop : term MATCHOP term",
1399 "termunop : '-' term",
1400 "termunop : '+' term",
1401 "termunop : '!' term",
1402 "termunop : '~' term",
1403 "termunop : term POSTINC",
1404 "termunop : term POSTDEC",
1405 "termunop : PREINC term",
1406 "termunop : PREDEC term",
1407 "anonymous : '[' expr ']'",
1408 "anonymous : '[' ']'",
1409 "anonymous : HASHBRACK expr ';' '}'",
1410 "anonymous : HASHBRACK ';' '}'",
1411 "anonymous : ANONSUB startanonsub proto subattrlist block",
1413 "termdo : DO block",
1414 "termdo : DO WORD '(' ')'",
1415 "termdo : DO WORD '(' expr ')'",
1416 "termdo : DO scalar '(' ')'",
1417 "termdo : DO scalar '(' expr ')'",
1422 "term : term '?' term ':' term",
1423 "term : REFGEN term",
1424 "term : myattrterm",
1425 "term : LOCAL term",
1426 "term : '(' expr ')'",
1433 "term : subscripted",
1434 "term : '(' expr ')' '[' expr ']'",
1435 "term : '(' ')' '[' expr ']'",
1436 "term : ary '[' expr ']'",
1437 "term : ary '{' expr ';' '}'",
1440 "term : amper '(' ')'",
1441 "term : amper '(' expr ')'",
1442 "term : NOAMP WORD listexpr",
1444 "term : LOOPEX term",
1445 "term : NOTOP argexpr",
1447 "term : UNIOP block",
1448 "term : UNIOP term",
1449 "term : UNIOPSUB term",
1451 "term : FUNC0 '(' ')'",
1453 "term : FUNC1 '(' ')'",
1454 "term : FUNC1 '(' expr ')'",
1455 "term : PMFUNC '(' term ')'",
1456 "term : PMFUNC '(' term ',' term ')'",
1459 "myattrterm : MY myterm myattrlist",
1460 "myattrterm : MY myterm",
1461 "myterm : '(' expr ')'",
1467 "listexpr : argexpr",
1469 "listexprcom : expr",
1470 "listexprcom : expr ','",
1471 "my_scalar : scalar",
1472 "amper : '&' indirob",
1473 "scalar : '$' indirob",
1474 "ary : '@' indirob",
1475 "hsh : '%' indirob",
1476 "arylen : DOLSHARP indirob",
1477 "star : '*' indirob",
1481 "indirob : PRIVATEREF",
1484 #define yyclearin (yychar=(-1))
1485 #define yyerrok (yyerrflag=0)
1488 #define YYMAXDEPTH YYSTACKSIZE
1492 #define YYSTACKSIZE YYMAXDEPTH
1494 #define YYSTACKSIZE 500
1495 #define YYMAXDEPTH 500
1501 /* more stuff added to make perly_c.diff easier to apply */
1506 #define yyparse() Perl_yyparse(pTHX)
1508 #line 1508 "perly.c"
1509 #define YYABORT goto yyabort
1510 #define YYACCEPT goto yyaccept
1511 #define YYERROR goto yyerrlab
1515 register int yym, yyn, yystate;
1516 register short *yyssp;
1517 register YYSTYPE *yyvsp;
1520 unsigned yystacksize = YYSTACKSIZE;
1528 ENTER; /* force yydestruct() before we return */
1530 New(73, ysave, 1, struct ysv);
1531 SAVEDESTRUCTOR_X(yydestruct, ysave);
1532 ysave->oldyydebug = yydebug;
1533 ysave->oldyynerrs = yynerrs;
1534 ysave->oldyyerrflag = yyerrflag;
1535 ysave->oldyychar = yychar;
1536 ysave->oldyyval = yyval;
1537 ysave->oldyylval = yylval;
1541 register int saved_errno = errno;
1543 register int saved_vaxc_errno = vaxc$errno;
1545 register int saved_vaxc_errno = 0;
1547 if ((yys = getenv("YYDEBUG")))
1550 if (yyn >= '0' && yyn <= '9')
1551 yydebug = yyn - '0';
1553 else SETERRNO(saved_errno,saved_vaxc_errno);
1562 ** Initialize private stacks (yyparse may be called from an action)
1564 New(73, yyss, yystacksize, short);
1565 New(73, yyvs, yystacksize, YYSTYPE);
1573 *yyssp = yystate = 0;
1576 if ((yyn = yydefred[yystate])) goto yyreduce;
1579 if ((yychar = yylex()) < 0) yychar = 0;
1584 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1585 if (!yys) yys = "illegal-symbol";
1586 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1591 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1592 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1596 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1597 yystate, yytable[yyn]);
1599 if (yyssp >= yyss + yystacksize - 1)
1602 ** reallocate and recover. Note that pointers
1603 ** have to be reset, or bad things will happen
1605 int yyps_index = (yyssp - yyss);
1606 int yypv_index = (yyvsp - yyvs);
1607 yystacksize += YYSTACKSIZE;
1608 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1609 ysave->yyss = Renew(yyss, yystacksize, short);
1612 yyssp = yyss + yyps_index;
1613 yyvsp = yyvs + yypv_index;
1615 *++yyssp = yystate = yytable[yyn];
1618 if (yyerrflag > 0) --yyerrflag;
1621 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1622 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1627 if (yyerrflag) goto yyinrecovery;
1632 yyerror("syntax error");
1644 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1645 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1649 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery shifting\
1650 to state %d\n", *yyssp, yytable[yyn]);
1652 if (yyssp >= yyss + yystacksize - 1)
1655 ** reallocate and recover. Note that pointers
1656 ** have to be reset, or bad things will happen
1658 int yyps_index = (yyssp - yyss);
1659 int yypv_index = (yyvsp - yyvs);
1660 yystacksize += YYSTACKSIZE;
1661 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1662 ysave->yyss = Renew(yyss, yystacksize, short);
1665 yyssp = yyss + yyps_index;
1666 yyvsp = yyvs + yypv_index;
1668 *++yyssp = yystate = yytable[yyn];
1676 PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
1679 if (yyssp <= yyss) goto yyabort;
1687 if (yychar == 0) goto yyabort;
1692 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1693 if (!yys) yys = "illegal-symbol";
1694 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
1695 yystate, yychar, yys);
1704 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1705 yystate, yyn, yyrule[yyn]);
1708 yyval = yyvsp[1-yym];
1713 { yyval.ival = yyvsp[-1].ival; newPROG(block_end(yyvsp[-1].ival,yyvsp[0].opval)); }
1717 { if (PL_copline > (line_t)yyvsp[-3].ival)
1718 PL_copline = (line_t)yyvsp[-3].ival;
1719 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1723 { yyval.ival = block_start(TRUE); }
1728 #if defined(YYDEBUG) && defined(DEBUGGING)
1729 yydebug = (DEBUG_p_TEST);
1731 PL_expect = XSTATE; yyval.ival = block_start(TRUE);
1736 { if (PL_copline > (line_t)yyvsp[-3].ival)
1737 PL_copline = (line_t)yyvsp[-3].ival;
1738 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1742 { yyval.ival = block_start(FALSE); }
1746 { yyval.opval = Nullop; }
1750 { yyval.opval = yyvsp[-1].opval; }
1754 { yyval.opval = append_list(OP_LINESEQ,
1755 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1756 PL_pad_reset_pending = TRUE;
1757 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1761 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1765 { if (yyvsp[-1].pval != Nullch) {
1766 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1769 yyval.opval = Nullop;
1770 PL_copline = NOLINE;
1772 PL_expect = XSTATE; }
1776 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1777 PL_expect = XSTATE; }
1781 { yyval.opval = Nullop; }
1785 { yyval.opval = yyvsp[0].opval; }
1789 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1793 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1797 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1801 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1805 { yyval.opval = newFOROP(0, Nullch, (line_t)yyvsp[-1].ival,
1806 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1810 { yyval.opval = Nullop; }
1814 { (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
1818 { PL_copline = (line_t)yyvsp[-5].ival;
1819 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
1820 PL_hints |= HINT_BLOCK_SCOPE; }
1824 { PL_copline = (line_t)yyvsp[-6].ival;
1825 yyval.opval = block_end(yyvsp[-4].ival,
1826 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1830 { PL_copline = (line_t)yyvsp[-6].ival;
1831 yyval.opval = block_end(yyvsp[-4].ival,
1832 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1836 { yyval.opval = Nullop; }
1840 { yyval.opval = scope(yyvsp[0].opval); }
1844 { PL_copline = (line_t)yyvsp[-6].ival;
1845 yyval.opval = block_end(yyvsp[-4].ival,
1846 newSTATEOP(0, yyvsp[-7].pval,
1847 newWHILEOP(0, 1, (LOOP*)Nullop,
1848 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1852 { PL_copline = (line_t)yyvsp[-6].ival;
1853 yyval.opval = block_end(yyvsp[-4].ival,
1854 newSTATEOP(0, yyvsp[-7].pval,
1855 newWHILEOP(0, 1, (LOOP*)Nullop,
1856 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1860 { yyval.opval = block_end(yyvsp[-6].ival,
1861 newFOROP(0, yyvsp[-9].pval, (line_t)yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1865 { yyval.opval = block_end(yyvsp[-4].ival,
1866 newFOROP(0, yyvsp[-8].pval, (line_t)yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1867 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1871 { yyval.opval = block_end(yyvsp[-4].ival,
1872 newFOROP(0, yyvsp[-7].pval, (line_t)yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1877 PL_copline = (line_t)yyvsp[-9].ival;
1878 forop = newSTATEOP(0, yyvsp[-10].pval,
1879 newWHILEOP(0, 1, (LOOP*)Nullop,
1880 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1881 yyvsp[0].opval, yyvsp[-2].opval));
1882 if (yyvsp[-6].opval) {
1883 forop = append_elem(OP_LINESEQ,
1884 newSTATEOP(0, (yyvsp[-10].pval?savepv(yyvsp[-10].pval):Nullch),
1889 yyval.opval = block_end(yyvsp[-7].ival, forop); }
1893 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1894 newWHILEOP(0, 1, (LOOP*)Nullop,
1895 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1899 { yyval.opval = Nullop; }
1903 { (void)scan_num("1", &yylval); yyval.opval = yylval.opval; }
1907 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1911 { yyval.opval = yyvsp[0].opval; intro_my(); }
1915 { yyval.opval = yyvsp[0].opval; intro_my(); }
1919 { yyval.opval = yyvsp[0].opval; intro_my(); }
1923 { yyval.opval = yyvsp[0].opval; intro_my(); }
1927 { yyval.pval = Nullch; }
1951 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1955 { yyval.opval = yyvsp[0].opval; }
1959 { yyval.opval = Nullop; }
1963 { newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1967 { newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1971 { yyval.ival = start_subparse(FALSE, 0); }
1975 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1979 { yyval.ival = start_subparse(TRUE, 0); }
1983 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1984 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1985 || strEQ(name, "INIT") || strEQ(name, "CHECK"))
1986 CvSPECIAL_on(PL_compcv);
1987 yyval.opval = yyvsp[0].opval; }
1991 { yyval.opval = Nullop; }
1995 { yyval.opval = Nullop; }
1999 { yyval.opval = yyvsp[0].opval; }
2003 { yyval.opval = Nullop; }
2007 { yyval.opval = yyvsp[0].opval; }
2011 { yyval.opval = Nullop; }
2015 { yyval.opval = yyvsp[0].opval; }
2019 { yyval.opval = Nullop; PL_expect = XSTATE; }
2023 { package(yyvsp[-1].opval); }
2027 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
2031 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
2035 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2039 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2043 { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2047 { yyval.opval = yyvsp[-1].opval; }
2051 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
2055 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
2056 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
2060 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
2061 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
2065 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2066 append_elem(OP_LIST,
2067 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
2068 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
2072 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2073 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
2074 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
2078 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2079 append_elem(OP_LIST,
2080 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
2081 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
2085 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2086 append_elem(OP_LIST,
2087 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
2088 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
2092 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2096 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2100 { yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
2104 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2105 append_elem(OP_LIST,
2106 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
2110 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
2114 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2118 { yyval.opval = newBINOP(OP_AELEM, 0,
2119 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2120 scalar(yyvsp[-1].opval));}
2124 { yyval.opval = newBINOP(OP_AELEM, 0,
2125 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2126 scalar(yyvsp[-1].opval));}
2130 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2131 PL_expect = XOPERATOR; }
2135 { yyval.opval = newBINOP(OP_HELEM, 0,
2136 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2137 jmaybe(yyvsp[-2].opval));
2138 PL_expect = XOPERATOR; }
2142 { yyval.opval = newBINOP(OP_HELEM, 0,
2143 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2144 jmaybe(yyvsp[-2].opval));
2145 PL_expect = XOPERATOR; }
2149 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2150 newCVREF(0, scalar(yyvsp[-3].opval))); }
2154 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2155 append_elem(OP_LIST, yyvsp[-1].opval,
2156 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2160 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2161 append_elem(OP_LIST, yyvsp[-1].opval,
2162 newCVREF(0, scalar(yyvsp[-3].opval)))); }
2166 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2167 newCVREF(0, scalar(yyvsp[-2].opval))); }
2171 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
2175 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2179 { if (yyvsp[-1].ival != OP_REPEAT)
2180 scalar(yyvsp[-2].opval);
2181 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2185 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2189 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2193 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2197 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2201 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2205 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2209 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2213 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2217 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2221 { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2225 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2229 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2233 { yyval.opval = yyvsp[0].opval; }
2237 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2241 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2245 { yyval.opval = newUNOP(OP_POSTINC, 0,
2246 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2250 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2251 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2255 { yyval.opval = newUNOP(OP_PREINC, 0,
2256 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2260 { yyval.opval = newUNOP(OP_PREDEC, 0,
2261 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2265 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2269 { yyval.opval = newANONLIST(Nullop); }
2273 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2277 { yyval.opval = newANONHASH(Nullop); }
2281 { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2285 { yyval.opval = dofile(yyvsp[0].opval); }
2289 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2293 { yyval.opval = newUNOP(OP_ENTERSUB,
2294 OPf_SPECIAL|OPf_STACKED,
2295 prepend_elem(OP_LIST,
2297 (OPpENTERSUB_AMPER<<8),
2298 scalar(yyvsp[-2].opval)
2299 )),Nullop)); dep();}
2303 { yyval.opval = newUNOP(OP_ENTERSUB,
2304 OPf_SPECIAL|OPf_STACKED,
2305 append_elem(OP_LIST,
2308 (OPpENTERSUB_AMPER<<8),
2309 scalar(yyvsp[-3].opval)
2314 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2315 prepend_elem(OP_LIST,
2316 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2320 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2321 prepend_elem(OP_LIST,
2323 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2327 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2331 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2335 { yyval.opval = yyvsp[0].opval; }
2339 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2343 { yyval.opval = sawparens(yyvsp[-1].opval); }
2347 { yyval.opval = sawparens(newNULLLIST()); }
2351 { yyval.opval = yyvsp[0].opval; }
2355 { yyval.opval = yyvsp[0].opval; }
2359 { yyval.opval = yyvsp[0].opval; }
2363 { yyval.opval = yyvsp[0].opval; }
2367 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2371 { yyval.opval = yyvsp[0].opval; }
2375 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2379 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2383 { yyval.opval = prepend_elem(OP_ASLICE,
2384 newOP(OP_PUSHMARK, 0),
2385 newLISTOP(OP_ASLICE, 0,
2386 list(yyvsp[-1].opval),
2387 ref(yyvsp[-3].opval, OP_ASLICE))); }
2391 { yyval.opval = prepend_elem(OP_HSLICE,
2392 newOP(OP_PUSHMARK, 0),
2393 newLISTOP(OP_HSLICE, 0,
2394 list(yyvsp[-2].opval),
2395 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2396 PL_expect = XOPERATOR; }
2400 { yyval.opval = yyvsp[0].opval; }
2404 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2408 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2412 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2413 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2417 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2418 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2422 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2423 PL_hints |= HINT_BLOCK_SCOPE; }
2427 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2431 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2435 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2439 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2443 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2447 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2448 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2452 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2456 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2460 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2461 scalar(yyvsp[0].opval)); }
2465 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2469 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2473 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2477 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2481 { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
2485 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2489 { yyval.opval = sawparens(yyvsp[-1].opval); }
2493 { yyval.opval = sawparens(newNULLLIST()); }
2497 { yyval.opval = yyvsp[0].opval; }
2501 { yyval.opval = yyvsp[0].opval; }
2505 { yyval.opval = yyvsp[0].opval; }
2509 { yyval.opval = Nullop; }
2513 { yyval.opval = yyvsp[0].opval; }
2517 { yyval.opval = Nullop; }
2521 { yyval.opval = yyvsp[0].opval; }
2525 { yyval.opval = yyvsp[-1].opval; }
2529 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2533 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2537 { yyval.opval = newSVREF(yyvsp[0].opval); }
2541 { yyval.opval = newAVREF(yyvsp[0].opval); }
2545 { yyval.opval = newHVREF(yyvsp[0].opval); }
2549 { yyval.opval = newAVREF(yyvsp[0].opval); }
2553 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2557 { yyval.opval = scalar(yyvsp[0].opval); }
2561 { yyval.opval = scalar(yyvsp[0].opval); }
2565 { yyval.opval = scope(yyvsp[0].opval); }
2569 { yyval.opval = yyvsp[0].opval; }
2571 #line 2562 "perly.c"
2577 if (yystate == 0 && yym == 0)
2581 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to\
2582 state %d\n", YYFINAL);
2589 if ((yychar = yylex()) < 0) yychar = 0;
2594 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2595 if (!yys) yys = "illegal-symbol";
2596 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2597 YYFINAL, yychar, yys);
2601 if (yychar == 0) goto yyaccept;
2604 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2605 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2606 yystate = yytable[yyn];
2608 yystate = yydgoto[yym];
2611 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d \
2612 to state %d\n", *yyssp, yystate);
2614 if (yyssp >= yyss + yystacksize - 1)
2617 ** reallocate and recover. Note that pointers
2618 ** have to be reset, or bad things will happen
2620 int yyps_index = (yyssp - yyss);
2621 int yypv_index = (yyvsp - yyvs);
2622 yystacksize += YYSTACKSIZE;
2623 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2624 ysave->yyss = Renew(yyss, yystacksize, short);
2627 yyssp = yyss + yyps_index;
2628 yyvsp = yyvs + yypv_index;
2634 yyerror("Out of memory for yacc stack");
2639 LEAVE; /* force yydestruct() before we return */
2645 yydestruct(pTHX_ void *ptr)
2647 struct ysv* ysave = (struct ysv*)ptr;
2648 if (ysave->yyss) Safefree(ysave->yyss);
2649 if (ysave->yyvs) Safefree(ysave->yyvs);
2650 yydebug = ysave->oldyydebug;
2651 yynerrs = ysave->oldyynerrs;
2652 yyerrflag = ysave->oldyyerrflag;
2653 yychar = ysave->oldyychar;
2654 yyval = ysave->oldyyval;
2655 yylval = ysave->oldyylval;