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, 56,
64 58, 57, 16, 16, 16, 16, 26, 26, 26, 37,
65 37, 37, 37, 37, 37, 37, 37, 59, 37, 38,
66 38, 18, 18, 18, 18, 18, 18, 18, 18, 18,
67 18, 18, 50, 50, 50, 50, 50, 50, 50, 50,
68 50, 50, 50, 50, 50, 50, 51, 51, 51, 51,
69 51, 51, 51, 51, 52, 52, 52, 52, 52, 53,
70 53, 53, 53, 53, 53, 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, 17, 48, 48, 49, 49,
75 49, 49, 49, 34, 34, 35, 35, 35, 44, 24,
76 19, 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, 2,
86 0, 7, 3, 3, 3, 1, 2, 3, 1, 3,
87 5, 6, 3, 3, 5, 2, 4, 0, 5, 1,
88 1, 5, 4, 5, 4, 5, 6, 5, 4, 5,
89 4, 3, 3, 3, 3, 3, 3, 3, 3, 3,
90 3, 3, 3, 3, 3, 3, 2, 2, 2, 2,
91 2, 2, 2, 2, 3, 2, 4, 3, 5, 2,
92 2, 4, 5, 4, 5, 1, 1, 1, 1, 5,
93 2, 1, 2, 3, 2, 1, 1, 1, 1, 1,
94 1, 6, 5, 4, 5, 1, 1, 3, 4, 3,
95 1, 2, 2, 1, 2, 2, 2, 1, 3, 1,
96 3, 4, 4, 6, 1, 1, 3, 2, 3, 2,
97 1, 1, 1, 0, 1, 0, 1, 2, 1, 2,
98 2, 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, 71, 0, 14, 3, 175, 0, 0, 156,
104 0, 170, 0, 57, 57, 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 0, 12, 0, 0, 0, 0, 0, 0, 0, 10,
108 0, 0, 0, 0, 0, 148, 150, 0, 0, 0,
109 0, 176, 142, 136, 137, 138, 139, 52, 0, 59,
110 0, 69, 0, 0, 7, 196, 199, 198, 197, 0,
111 0, 0, 0, 0, 0, 3, 3, 3, 3, 3,
112 3, 0, 0, 0, 0, 0, 165, 0, 0, 0,
113 0, 86, 0, 194, 0, 131, 0, 0, 0, 0,
114 0, 0, 0, 181, 183, 182, 0, 190, 0, 0,
115 0, 0, 0, 0, 0, 0, 126, 0, 0, 0,
116 191, 192, 193, 195, 0, 34, 0, 0, 0, 0,
117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
118 0, 0, 0, 0, 0, 0, 0, 0, 0, 121,
119 122, 0, 0, 0, 0, 0, 0, 0, 0, 0,
120 0, 13, 0, 51, 61, 0, 0, 0, 0, 84,
121 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
122 3, 169, 171, 0, 0, 0, 0, 0, 0, 0,
123 128, 0, 160, 180, 0, 0, 177, 0, 0, 125,
124 27, 0, 0, 19, 0, 0, 0, 0, 0, 73,
125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
126 0, 0, 0, 0, 0, 0, 90, 0, 0, 91,
127 0, 0, 102, 0, 0, 0, 0, 0, 0, 0,
128 158, 0, 0, 0, 0, 0, 0, 2, 0, 0,
129 173, 0, 0, 0, 42, 0, 43, 0, 0, 0,
130 0, 189, 0, 0, 36, 41, 0, 0, 0, 172,
131 188, 87, 0, 132, 0, 134, 0, 127, 179, 65,
132 0, 0, 0, 0, 99, 0, 0, 0, 0, 101,
133 95, 0, 93, 0, 154, 0, 159, 63, 68, 67,
134 55, 0, 54, 85, 0, 89, 129, 0, 0, 0,
135 0, 0, 0, 0, 0, 81, 133, 135, 153, 0,
136 0, 0, 100, 94, 0, 98, 96, 155, 92, 72,
137 174, 6, 0, 0, 0, 0, 0, 0, 0, 0,
138 152, 97, 82, 7, 28, 29, 0, 0, 24, 25,
139 0, 32, 0, 0, 0, 22, 0, 0, 0, 31,
140 5, 0, 30, 0, 0, 33, 0, 23,
142 static short yydgoto[] = { 1,
143 10, 11, 20, 104, 19, 2, 95, 374, 98, 363,
144 3, 12, 13, 70, 379, 289, 72, 73, 74, 75,
145 76, 77, 78, 79, 295, 81, 296, 285, 287, 290,
146 298, 286, 288, 122, 216, 100, 82, 261, 89, 91,
147 196, 331, 156, 293, 275, 227, 14, 83, 137, 84,
148 85, 86, 87, 15, 16, 17, 18, 93, 282,
150 static short yysindex[] = { 0,
151 0, 0, -183, 0, 0, 0, -57, 0, 0, 0,
152 0, 0, 0, 0, 820, 0, 0, 0, -222, -208,
153 7, 0, 0, -208, 0, 0, 0, -31, -31, 0,
154 32, 0, 2214, 0, 0, 33, 49, 56, 59, -30,
155 2214, 63, 65, 66, 1005, 941, -31, 1150, 1269, -149,
156 2214, -7, -31, 2214, 2214, 2214, 2214, 2214, 2214, 1329,
157 1414, 0, 2214, 2214, -31, -31, -31, -31, -168, 0,
158 -121, 704, -16, -63, -59, 0, 0, -8, 80, 64,
159 81, 0, 0, 0, 0, 0, 0, 0, -1, 0,
160 -134, 0, -125, -134, 0, 0, 0, 0, 0, 2214,
161 95, 2214, 744, -1, -134, 0, 0, 0, 0, 0,
162 0, 117, 704, 97, 1455, 941, 0, 744, 0, -63,
163 81, 0, 2214, 0, 123, 0, 744, -14, 36, -52,
164 2214, 744, 1563, 0, 0, 0, -132, 0, 81, -111,
165 -111, -111, -155, -155, 76, -37, 0, -66, -111, -111,
166 0, 0, 0, 0, -1, 0, 2214, 2214, 2214, 2214,
167 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214,
168 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214, 0,
169 0, -21, 2214, 1724, 2214, 2214, 2214, 2214, 2214, 2214,
170 1797, 0, 2214, 0, 0, -120, -74, -120, 343, 0,
171 2214, 27, 0, -120, 2214, 2214, 2214, 2214, 153, 1860,
172 0, 0, 0, -25, 4, 156, 2214, 81, 1933, 2005,
173 0, 73, 0, 0, 18, -51, 0, 2214, 110, 0,
174 0, 228, 228, 0, 228, 228, 228, -92, -92, 0,
175 1351, 744, 961, 375, 271, 704, 585, 1068, 1068, 646,
176 1485, 394, 611, -111, -111, 2214, 0, 2141, 2214, 0,
177 172, 101, 0, 21, -62, 133, -43, 137, 128, 140,
178 0, 24, 704, -38, -45, 2214, -45, 0, 177, 2214,
179 0, 2214, -1, 228, 0, 178, 0, 204, 228, 206,
180 211, 0, 175, -121, 0, 0, 220, 169, 2214, 0,
181 0, 0, 78, 0, 98, 0, 121, 0, 0, 0,
182 186, 2214, 2214, 174, 0, 124, 191, 2214, 142, 0,
183 0, 147, 0, 148, 0, 168, 0, 0, 0, 0,
184 0, 235, 0, 0, 233, 0, 0, 179, 179, 179,
185 179, 2214, 179, 2214, 260, 0, 0, 0, 0, 216,
186 1035, 182, 0, 0, 270, 0, 0, 0, 0, 0,
187 0, 0, -168, -168, -256, -256, 286, -168, 269, 179,
188 0, 0, 0, 0, 0, 0, 179, 290, 0, 0,
189 179, 0, 1860, -168, 352, 0, 2214, -168, 298, 0,
190 0, 299, 0, 179, 179, 0, -256, 0,
192 static short yyrindex[] = { 0,
193 0, 0, 372, 0, 0, 0, 0, 0, 0, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 219, 0,
195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197 -19, 2283, 0, 0, 2402, 2567, 0, 0, 0, 0,
198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
199 0, 0, 0, 0, 0, 0, 0, 0, 91, 0,
200 -18, 1608, 2621, 2674, 2722, 0, 0, 2770, 2857, 0,
201 118, 0, 0, 0, 0, 0, 0, 0, 0, 0,
202 -56, 0, 0, -56, 0, 0, 0, 0, 0, 2567,
203 0, 0, 4275, 0, -114, 0, 0, 0, 0, 0,
204 0, 0, 1887, 0, 0, 302, 0, 4340, 468, 533,
205 3225, 0, 0, 0, 3006, 0, 4395, 2674, 0, 0,
206 2567, 4405, 0, 0, 0, 0, 3056, 0, 3460, 3696,
207 3747, 3802, 3583, 3631, 3128, 0, 0, 0, 3867, 3915,
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, 0, 3176, 0, 0, -42, 0, -42, 881, 0,
213 302, 0, 0, 230, 326, 0, 0, 0, 0, 310,
214 0, 0, 0, 0, 340, 0, 0, 3511, 0, 0,
215 0, 0, 0, 0, 0, 3292, 0, 0, 3347, 0,
216 0, 17, 20, 0, 39, 45, 52, 1480, 1643, 0,
217 2275, 4446, 4494, 4121, 4169, 2422, 0, 4698, 4746, 4631,
218 4592, 4544, 4220, 4001, 4056, 0, 0, 0, 0, 0,
219 3412, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220 0, 0, 2475, -41, 0, 330, 0, 0, 0, 0,
221 0, 2567, 0, 53, 0, 0, 0, 0, 354, 0,
222 0, 0, 0, 54, 0, 0, 0, 0, 0, 0,
223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
224 0, 0, 0, 0, 0, 0, 0, 302, 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, 0, 337, 0, 0, 0, 0, 0, 0,
228 1202, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229 0, 0, 91, 91, 187, 187, 0, 91, 0, 0,
230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
231 0, 0, 370, 91, 881, 0, 0, 91, 0, 0,
232 0, 0, 0, 0, 0, 0, 187, 0,
234 static short yygindex[] = { 0,
235 0, 0, 29, 378, 0, 0, -55, 0, 676, 567,
236 -94, 0, 0, 0, -355, -15, 2480, 0, 650, 364,
237 380, 0, 0, 0, 412, 755, 0, 0, 291, -202,
238 82, 120, 277, -88, -188, 534, 0, 0, 0, 465,
239 -58, 217, -247, 0, -135, 0, 0, 0, 0, 0,
240 0, 0, 0, 0, 0, 0, 0, 0, 0,
242 #define YYTABLESIZE 5052
243 static short yytable[] = { 71,
244 199, 22, 60, 229, 65, 65, 222, 297, 60, 111,
245 380, 200, 279, 329, 65, 300, 62, 64, 258, 377,
246 378, 161, 15, 184, 161, 220, 230, 187, 65, 67,
247 321, 189, 133, 130, 88, 198, 23, 24, 161, 161,
248 15, 398, 223, 161, 146, 148, 204, 301, 90, 323,
249 205, 206, 207, 208, 209, 210, 66, 18, 309, 186,
250 39, 320, 277, 188, 327, 92, 60, 281, 283, 259,
251 280, 102, 106, 161, 185, 18, 187, 26, 39, 16,
252 62, 64, 4, 5, 6, 17, 7, 8, 107, 171,
253 26, 26, 20, 38, 40, 108, 345, 16, 109, 214,
254 215, 256, 114, 17, 115, 116, 183, 131, 186, 155,
255 20, 38, 15, 9, 190, 375, 376, 225, 346, 191,
256 382, 26, 192, 26, 193, 195, 26, 26, 26, 355,
257 26, 197, 26, 26, 201, 26, 390, 212, 347, 367,
258 393, 232, 233, 235, 236, 237, 238, 239, 240, 26,
259 157, 158, 159, 160, 26, 299, 211, 161, 76, 319,
260 221, 348, 219, 182, 353, 226, 228, 262, 264, 265,
261 266, 267, 268, 269, 270, 272, 76, 274, 162, 163,
262 164, 26, 276, 60, 392, 215, 21, 332, 65, 284,
263 233, 322, 233, 336, 294, 324, 302, 308, 326, 21,
264 312, 303, 179, 305, 307, 180, 181, 182, 310, 164,
265 76, 318, 311, 26, 342, 26, 26, 334, 338, 21,
266 325, 328, 21, 21, 21, 96, 21, 344, 21, 21,
267 97, 21, 352, 162, 163, 164, 257, 162, 163, 164,
268 314, 60, 316, 317, 339, 21, 340, 162, 163, 164,
269 21, 341, 161, 161, 161, 161, 162, 163, 164, 161,
270 343, 161, 162, 163, 164, 110, 356, 161, 161, 161,
271 161, 357, 358, 361, 162, 163, 164, 21, 349, 385,
272 161, 161, 161, 354, 161, 161, 161, 161, 161, 161,
273 161, 161, 359, 360, 161, 171, 350, 161, 161, 161,
274 370, 362, 215, 162, 163, 164, 372, 165, 371, 21,
275 373, 21, 21, 166, 167, 168, 169, 162, 163, 164,
276 162, 163, 164, 162, 163, 164, 381, 383, 284, 387,
277 170, 172, 173, 174, 175, 176, 177, 178, 394, 395,
278 179, 53, 186, 180, 181, 182, 26, 26, 26, 26,
279 26, 26, 62, 26, 26, 26, 26, 26, 26, 26,
280 26, 26, 26, 26, 26, 26, 37, 71, 35, 26,
281 26, 1, 26, 26, 26, 26, 26, 162, 163, 164,
282 187, 26, 26, 26, 26, 26, 26, 26, 184, 76,
283 76, 76, 76, 26, 40, 37, 76, 162, 163, 164,
284 162, 163, 164, 26, 44, 26, 26, 44, 44, 44,
285 35, 44, 105, 44, 44, 135, 44, 76, 76, 76,
286 162, 163, 164, 162, 163, 164, 80, 162, 163, 164,
287 44, 136, 162, 163, 164, 44, 162, 163, 164, 162,
288 163, 164, 21, 21, 21, 21, 21, 21, 234, 21,
289 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
290 21, 21, 44, 369, 389, 21, 21, 278, 21, 21,
291 21, 21, 21, 162, 163, 164, 391, 21, 21, 21,
292 21, 21, 21, 21, 291, 162, 163, 164, 94, 21,
293 162, 163, 164, 333, 44, 0, 0, 44, 0, 21,
294 196, 21, 21, 196, 196, 196, 0, 196, 175, 196,
295 196, 175, 196, 165, 0, 162, 163, 164, 0, 166,
296 167, 168, 169, 0, 0, 175, 175, 162, 163, 164,
297 175, 196, 0, 0, 0, 0, 170, 172, 173, 174,
298 175, 176, 177, 178, 0, 0, 179, 0, 0, 180,
299 181, 182, 0, 0, 0, 0, 0, 0, 196, 168,
300 175, 0, 101, 0, 0, 197, 0, 0, 197, 197,
301 197, 0, 197, 146, 197, 197, 146, 197, 0, 123,
302 124, 178, 0, 0, 179, 0, 138, 180, 181, 182,
303 146, 146, 0, 196, 0, 146, 197, 0, 151, 152,
304 153, 154, 0, 0, 0, 0, 0, 0, 4, 5,
305 6, 0, 7, 8, 0, 0, 0, 4, 5, 6,
306 0, 7, 8, 0, 0, 146, 0, 44, 44, 44,
307 44, 44, 44, 0, 44, 44, 44, 0, 0, 9,
308 44, 0, 313, 44, 44, 44, 44, 171, 9, 217,
309 44, 44, 0, 44, 44, 44, 44, 44, 197, 0,
310 0, 0, 44, 44, 44, 44, 44, 44, 0, 0,
311 0, 0, 0, 0, 44, 0, 0, 99, 99, 0,
312 166, 167, 168, 169, 44, 178, 44, 44, 179, 112,
313 69, 180, 181, 182, 0, 120, 99, 128, 0, 0,
314 0, 134, 99, 177, 178, 0, 0, 179, 0, 0,
315 180, 181, 182, 0, 99, 99, 99, 99, 0, 0,
316 117, 0, 0, 126, 196, 196, 196, 196, 196, 0,
317 196, 196, 196, 0, 0, 0, 196, 0, 0, 175,
318 175, 175, 175, 0, 0, 0, 175, 196, 175, 196,
319 196, 196, 196, 196, 175, 175, 175, 175, 196, 196,
320 196, 196, 196, 196, 194, 120, 171, 175, 175, 175,
321 196, 175, 175, 175, 175, 175, 175, 175, 175, 203,
322 196, 175, 196, 196, 175, 175, 175, 0, 0, 197,
323 197, 197, 197, 197, 0, 197, 197, 197, 0, 0,
324 121, 197, 0, 0, 146, 146, 146, 146, 139, 0,
325 0, 146, 197, 146, 197, 197, 197, 197, 197, 146,
326 146, 146, 146, 197, 197, 197, 197, 197, 197, 0,
327 231, 260, 146, 146, 146, 197, 146, 146, 146, 146,
328 146, 146, 146, 146, 0, 197, 146, 197, 197, 146,
329 146, 146, 55, 0, 121, 65, 67, 53, 292, 60,
330 0, 68, 64, 0, 63, 165, 0, 0, 0, 0,
331 0, 166, 167, 168, 169, 0, 0, 218, 62, 0,
332 0, 0, 0, 66, 0, 121, 0, 0, 170, 172,
333 173, 174, 175, 176, 177, 178, 0, 0, 179, 168,
334 169, 180, 181, 182, 0, 364, 365, 366, 0, 368,
335 61, 0, 0, 44, 0, 0, 44, 44, 44, 0,
336 44, 178, 44, 44, 179, 44, 0, 180, 181, 182,
337 0, 0, 166, 167, 168, 169, 384, 0, 0, 44,
338 0, 0, 26, 386, 44, 56, 0, 388, 0, 0,
339 330, 0, 330, 175, 176, 177, 178, 0, 337, 179,
340 396, 397, 180, 181, 182, 0, 0, 0, 0, 0,
341 0, 44, 0, 55, 0, 0, 65, 67, 53, 0,
342 60, 0, 68, 64, 165, 63, 0, 0, 0, 0,
343 166, 167, 168, 169, 0, 0, 0, 0, 0, 0,
344 0, 0, 0, 44, 66, 0, 44, 170, 172, 173,
345 174, 175, 176, 177, 178, 0, 0, 179, 0, 0,
346 180, 181, 182, 0, 0, 0, 0, 0, 0, 0,
347 121, 61, 168, 169, 0, 0, 121, 55, 0, 0,
348 65, 67, 53, 0, 60, 0, 68, 64, 0, 63,
349 0, 0, 0, 177, 178, 0, 0, 179, 0, 0,
350 180, 181, 182, 26, 0, 0, 56, 0, 66, 0,
351 0, 0, 0, 0, 0, 25, 27, 28, 29, 30,
352 31, 0, 32, 33, 34, 0, 0, 0, 35, 0,
353 0, 36, 37, 38, 39, 61, 0, 171, 40, 41,
354 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
355 47, 48, 49, 50, 51, 52, 0, 0, 0, 0,
356 0, 0, 54, 0, 0, 0, 0, 26, 0, 0,
357 56, 0, 57, 0, 58, 59, 44, 44, 44, 44,
358 44, 44, 0, 44, 44, 44, 0, 0, 0, 44,
359 0, 0, 44, 44, 44, 44, 0, 0, 0, 44,
360 44, 0, 44, 44, 44, 44, 44, 0, 0, 0,
361 0, 44, 44, 44, 44, 44, 44, 0, 0, 0,
362 0, 0, 55, 44, 0, 65, 67, 53, 0, 60,
363 0, 68, 64, 44, 63, 44, 44, 119, 28, 29,
364 30, 31, 97, 32, 33, 34, 0, 0, 0, 35,
365 0, 0, 0, 66, 0, 0, 0, 0, 0, 0,
366 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
367 0, 47, 48, 49, 50, 51, 52, 0, 0, 0,
368 61, 0, 140, 54, 0, 140, 0, 166, 0, 168,
369 169, 0, 0, 57, 0, 58, 59, 0, 0, 140,
370 140, 27, 28, 29, 30, 31, 0, 32, 33, 34,
371 177, 178, 26, 35, 179, 56, 0, 180, 181, 182,
372 0, 0, 0, 0, 41, 0, 42, 43, 44, 45,
373 46, 0, 0, 0, 140, 47, 48, 49, 50, 51,
374 52, 55, 0, 0, 65, 67, 53, 54, 60, 0,
375 68, 64, 0, 63, 0, 165, 0, 57, 0, 58,
376 59, 166, 167, 168, 169, 0, 0, 129, 0, 0,
377 0, 0, 66, 0, 0, 0, 0, 0, 0, 172,
378 173, 174, 175, 176, 177, 178, 0, 0, 179, 0,
379 0, 180, 181, 182, 166, 167, 168, 169, 0, 61,
380 0, 55, 0, 0, 65, 67, 53, 0, 60, 145,
381 68, 64, 0, 63, 174, 175, 176, 177, 178, 0,
382 0, 179, 0, 0, 180, 181, 182, 0, 0, 0,
383 0, 0, 66, 0, 56, 0, 0, 0, 0, 0,
384 0, 0, 0, 0, 0, 0, 125, 28, 29, 30,
385 31, 0, 32, 33, 34, 0, 0, 0, 35, 61,
386 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,
387 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
388 47, 48, 49, 50, 51, 52, 55, 0, 0, 65,
389 67, 53, 54, 60, 56, 68, 64, 0, 63, 0,
390 0, 0, 57, 0, 58, 59, 0, 0, 0, 0,
391 0, 0, 0, 140, 140, 140, 140, 66, 0, 0,
392 140, 0, 0, 0, 0, 0, 0, 55, 0, 0,
393 65, 67, 53, 0, 60, 213, 68, 64, 0, 63,
394 0, 140, 140, 140, 61, 140, 147, 0, 0, 0,
395 0, 0, 0, 0, 0, 0, 0, 0, 66, 0,
396 74, 0, 0, 74, 0, 27, 28, 29, 30, 31,
397 0, 32, 33, 34, 0, 0, 0, 35, 74, 56,
398 0, 0, 0, 0, 0, 61, 0, 0, 41, 0,
399 42, 43, 44, 45, 46, 0, 0, 0, 0, 47,
400 48, 49, 50, 51, 52, 0, 0, 0, 0, 0,
401 0, 54, 74, 0, 0, 0, 0, 0, 0, 0,
402 56, 57, 0, 58, 59, 27, 28, 29, 30, 31,
403 0, 32, 33, 34, 0, 55, 0, 35, 65, 67,
404 53, 0, 60, 224, 68, 64, 0, 63, 41, 0,
405 42, 43, 44, 45, 46, 0, 0, 0, 0, 47,
406 48, 49, 50, 51, 52, 0, 66, 0, 0, 0,
407 0, 54, 0, 0, 0, 0, 0, 166, 167, 168,
408 169, 57, 0, 58, 59, 0, 0, 0, 79, 0,
409 0, 79, 0, 61, 0, 172, 173, 174, 175, 176,
410 177, 178, 0, 0, 179, 79, 79, 180, 181, 182,
411 27, 28, 29, 30, 31, 0, 32, 33, 34, 0,
412 0, 0, 35, 75, 0, 0, 75, 0, 56, 0,
413 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
414 79, 75, 0, 0, 47, 48, 49, 50, 51, 52,
415 0, 27, 28, 29, 30, 31, 54, 32, 33, 34,
416 0, 0, 0, 35, 0, 0, 57, 0, 58, 59,
417 0, 0, 0, 0, 41, 75, 42, 43, 44, 45,
418 46, 0, 0, 0, 0, 47, 48, 49, 50, 51,
419 52, 74, 74, 74, 74, 0, 55, 54, 74, 65,
420 67, 53, 0, 60, 263, 68, 64, 57, 63, 58,
421 59, 166, 167, 168, 169, 0, 0, 0, 0, 74,
422 74, 0, 0, 0, 0, 0, 0, 66, 0, 0,
423 0, 0, 0, 176, 177, 178, 0, 0, 179, 0,
424 0, 180, 181, 182, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 61, 0, 0, 0, 0, 27,
426 28, 29, 30, 31, 0, 32, 33, 34, 0, 55,
427 0, 35, 65, 67, 53, 0, 60, 271, 68, 64,
428 0, 63, 41, 0, 42, 43, 44, 45, 46, 56,
429 0, 0, 0, 47, 48, 49, 50, 51, 52, 0,
430 66, 0, 0, 0, 0, 54, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 57, 0, 58, 59, 79,
432 79, 79, 79, 0, 0, 0, 79, 61, 0, 0,
433 0, 0, 55, 0, 0, 65, 67, 53, 0, 60,
434 0, 68, 64, 0, 63, 0, 0, 79, 79, 79,
435 0, 0, 0, 0, 75, 75, 75, 75, 0, 0,
436 0, 75, 56, 66, 0, 0, 0, 162, 0, 0,
437 162, 0, 0, 0, 0, 0, 0, 0, 0, 0,
438 0, 0, 75, 75, 162, 162, 0, 0, 0, 0,
439 61, 0, 0, 0, 0, 0, 0, 0, 0, 0,
440 0, 0, 0, 0, 0, 55, 0, 0, 65, 67,
441 53, 0, 60, 304, 68, 64, 0, 63, 0, 162,
442 27, 28, 29, 30, 31, 56, 32, 33, 34, 0,
443 0, 0, 35, 0, 0, 0, 66, 0, 0, 0,
444 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
445 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
446 0, 0, 0, 61, 0, 0, 54, 0, 0, 0,
447 0, 0, 0, 0, 0, 0, 57, 55, 58, 59,
448 65, 67, 53, 0, 60, 306, 68, 64, 0, 63,
449 0, 0, 0, 27, 28, 29, 30, 31, 56, 32,
450 33, 34, 0, 0, 0, 35, 0, 0, 66, 0,
451 0, 0, 0, 0, 0, 0, 41, 0, 42, 43,
452 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
453 50, 51, 52, 0, 0, 61, 0, 0, 0, 54,
454 0, 0, 0, 0, 0, 0, 0, 0, 0, 57,
455 0, 58, 59, 0, 0, 25, 27, 28, 29, 30,
456 31, 0, 32, 33, 34, 0, 0, 0, 35, 0,
457 56, 0, 0, 0, 0, 0, 0, 0, 0, 41,
458 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
459 47, 48, 49, 50, 51, 52, 0, 0, 162, 162,
460 162, 162, 54, 0, 0, 162, 0, 0, 0, 0,
461 0, 0, 57, 55, 58, 59, 65, 67, 53, 0,
462 60, 315, 68, 64, 0, 63, 162, 162, 162, 27,
463 28, 29, 30, 31, 0, 32, 33, 34, 0, 0,
464 0, 35, 0, 0, 66, 0, 0, 0, 0, 0,
465 0, 0, 41, 0, 42, 43, 44, 45, 46, 0,
466 0, 0, 0, 47, 48, 49, 50, 51, 52, 0,
467 0, 61, 0, 0, 0, 54, 0, 0, 0, 0,
468 0, 0, 0, 0, 0, 57, 55, 58, 59, 65,
469 67, 53, 0, 60, 0, 68, 64, 0, 63, 0,
470 0, 27, 28, 29, 30, 31, 56, 32, 33, 34,
471 0, 0, 0, 35, 0, 0, 0, 66, 0, 0,
472 0, 0, 0, 0, 41, 0, 42, 43, 44, 45,
473 46, 0, 0, 0, 0, 47, 48, 49, 50, 51,
474 52, 0, 0, 0, 61, 0, 0, 54, 0, 0,
475 0, 0, 0, 0, 0, 112, 0, 57, 112, 58,
476 59, 0, 0, 168, 0, 0, 168, 0, 0, 0,
477 0, 0, 112, 112, 0, 0, 0, 112, 0, 56,
478 168, 168, 0, 0, 0, 168, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
480 0, 0, 0, 0, 0, 0, 0, 112, 0, 0,
481 0, 0, 0, 0, 0, 168, 0, 0, 0, 0,
482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
483 0, 0, 0, 0, 0, 0, 0, 27, 28, 29,
484 30, 31, 0, 32, 33, 34, 0, 0, 0, 35,
485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
486 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
487 0, 47, 48, 49, 50, 51, 52, 0, 0, 0,
488 0, 0, 164, 54, 0, 164, 0, 0, 0, 0,
489 0, 0, 0, 57, 0, 58, 59, 0, 0, 164,
490 164, 0, 103, 0, 164, 103, 0, 0, 0, 0,
491 27, 28, 29, 30, 31, 0, 32, 33, 34, 103,
492 103, 0, 35, 0, 0, 0, 0, 0, 0, 0,
493 0, 0, 0, 41, 164, 42, 43, 44, 45, 46,
494 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
495 0, 0, 103, 0, 103, 78, 54, 0, 78, 0,
496 113, 0, 0, 0, 118, 0, 57, 127, 58, 59,
497 132, 0, 78, 78, 140, 141, 142, 143, 144, 0,
498 0, 0, 149, 150, 0, 0, 112, 112, 112, 112,
499 0, 0, 0, 112, 168, 168, 168, 168, 0, 0,
500 0, 168, 0, 168, 0, 0, 0, 78, 0, 168,
501 168, 168, 168, 0, 112, 112, 112, 0, 112, 0,
502 0, 202, 168, 168, 168, 0, 168, 168, 168, 168,
503 168, 168, 168, 168, 0, 0, 168, 0, 0, 168,
504 168, 168, 0, 0, 0, 0, 0, 184, 0, 0,
505 184, 0, 0, 0, 0, 0, 0, 0, 0, 0,
506 0, 0, 0, 0, 184, 184, 0, 0, 0, 184,
507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
508 0, 0, 0, 0, 241, 242, 243, 244, 245, 246,
509 247, 248, 249, 250, 251, 252, 253, 254, 255, 184,
510 0, 151, 0, 0, 151, 0, 0, 0, 0, 0,
511 0, 0, 273, 164, 164, 164, 164, 0, 151, 151,
512 164, 0, 164, 151, 0, 0, 0, 0, 164, 164,
513 164, 164, 0, 103, 103, 103, 103, 0, 0, 0,
514 103, 164, 164, 164, 0, 164, 164, 164, 164, 164,
515 164, 164, 164, 151, 146, 164, 0, 146, 164, 164,
516 164, 103, 103, 103, 0, 0, 0, 0, 0, 0,
517 0, 146, 146, 0, 0, 0, 146, 0, 0, 0,
518 0, 0, 0, 0, 0, 0, 78, 78, 78, 78,
519 0, 0, 0, 78, 0, 0, 0, 0, 0, 335,
520 0, 0, 149, 0, 0, 149, 146, 0, 0, 0,
521 0, 0, 0, 0, 78, 78, 78, 0, 0, 149,
522 149, 0, 0, 0, 149, 0, 0, 0, 0, 0,
523 0, 0, 351, 0, 0, 0, 0, 0, 0, 0,
524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
525 147, 0, 0, 147, 149, 0, 0, 0, 0, 0,
526 0, 0, 0, 0, 0, 0, 0, 147, 147, 0,
527 0, 0, 147, 0, 0, 0, 0, 0, 184, 184,
528 184, 184, 0, 0, 0, 184, 0, 184, 0, 0,
529 0, 0, 0, 184, 184, 184, 184, 0, 0, 0,
530 0, 0, 147, 0, 0, 0, 184, 184, 184, 0,
531 184, 184, 184, 184, 184, 184, 184, 184, 0, 0,
532 184, 0, 0, 184, 184, 184, 0, 0, 0, 0,
533 0, 0, 151, 151, 151, 151, 0, 157, 0, 151,
534 157, 151, 0, 0, 0, 0, 0, 151, 151, 151,
535 151, 0, 0, 0, 157, 157, 0, 0, 0, 157,
536 151, 151, 151, 0, 151, 151, 151, 151, 151, 151,
537 151, 151, 0, 0, 151, 0, 0, 151, 151, 151,
538 0, 0, 0, 0, 0, 146, 146, 146, 146, 157,
539 0, 0, 146, 0, 146, 0, 0, 0, 0, 0,
540 146, 146, 146, 146, 0, 0, 0, 0, 0, 0,
541 0, 0, 0, 146, 146, 146, 0, 146, 146, 146,
542 146, 146, 146, 146, 146, 0, 0, 146, 0, 0,
543 146, 146, 146, 149, 149, 149, 149, 0, 0, 0,
544 149, 0, 149, 0, 0, 0, 0, 0, 149, 149,
545 149, 149, 0, 0, 0, 0, 0, 0, 0, 0,
546 0, 149, 149, 149, 0, 149, 149, 149, 149, 149,
547 149, 149, 149, 0, 0, 149, 0, 0, 149, 149,
548 149, 147, 147, 147, 147, 0, 175, 0, 147, 175,
549 147, 0, 0, 0, 0, 0, 147, 147, 147, 147,
550 0, 0, 0, 175, 175, 0, 0, 0, 175, 147,
551 147, 147, 0, 147, 147, 147, 147, 147, 147, 147,
552 147, 0, 0, 147, 0, 0, 147, 147, 147, 0,
553 0, 0, 0, 0, 0, 0, 178, 0, 175, 178,
554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
555 0, 0, 0, 178, 178, 0, 0, 0, 178, 0,
556 0, 0, 0, 0, 0, 0, 0, 0, 157, 157,
557 157, 157, 0, 0, 0, 157, 0, 157, 0, 0,
558 0, 0, 0, 157, 157, 157, 157, 0, 178, 0,
559 0, 0, 0, 0, 0, 0, 157, 157, 157, 0,
560 157, 157, 157, 157, 157, 157, 157, 157, 145, 0,
561 157, 145, 0, 157, 157, 157, 0, 0, 0, 0,
562 0, 0, 0, 0, 0, 145, 145, 0, 0, 0,
563 145, 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, 0, 77, 0, 0, 77,
566 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
567 0, 0, 0, 77, 77, 0, 0, 0, 77, 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, 0, 185, 0, 0, 77, 0,
571 0, 0, 0, 0, 0, 0, 0, 175, 175, 175,
572 175, 0, 185, 185, 175, 0, 175, 185, 0, 0,
573 0, 0, 175, 175, 175, 175, 0, 0, 0, 0,
574 0, 0, 0, 0, 0, 175, 175, 175, 0, 175,
575 175, 175, 175, 175, 175, 175, 175, 185, 0, 175,
576 0, 0, 175, 175, 175, 0, 0, 178, 178, 178,
577 178, 0, 66, 0, 178, 66, 178, 0, 0, 0,
578 0, 0, 178, 178, 178, 178, 0, 0, 0, 66,
579 66, 0, 0, 0, 66, 178, 178, 178, 0, 178,
580 178, 178, 178, 178, 178, 178, 178, 0, 0, 178,
581 0, 0, 178, 178, 178, 0, 0, 0, 0, 0,
582 0, 0, 0, 0, 66, 0, 0, 144, 0, 0,
583 144, 0, 0, 0, 0, 0, 0, 0, 0, 145,
584 145, 145, 145, 0, 144, 144, 145, 0, 145, 144,
585 0, 0, 0, 0, 145, 145, 145, 145, 0, 0,
586 0, 0, 0, 0, 0, 0, 0, 145, 145, 145,
587 0, 145, 145, 145, 145, 145, 145, 145, 145, 144,
588 0, 145, 0, 0, 145, 145, 145, 77, 77, 77,
589 77, 0, 83, 0, 77, 83, 77, 0, 0, 0,
590 0, 0, 77, 77, 77, 77, 0, 0, 0, 83,
591 83, 0, 0, 0, 83, 77, 77, 77, 0, 77,
592 77, 77, 77, 77, 77, 77, 77, 0, 0, 77,
593 0, 0, 77, 77, 77, 0, 185, 185, 185, 185,
594 163, 0, 0, 185, 83, 185, 0, 0, 0, 0,
595 0, 185, 185, 185, 185, 0, 0, 163, 163, 0,
596 0, 0, 163, 0, 185, 185, 185, 0, 185, 185,
597 185, 185, 185, 185, 185, 185, 0, 0, 185, 0,
598 0, 185, 185, 185, 0, 0, 0, 0, 0, 0,
599 0, 80, 163, 0, 0, 0, 0, 0, 0, 0,
600 0, 0, 0, 66, 66, 66, 66, 0, 80, 80,
601 66, 0, 66, 80, 0, 0, 0, 0, 66, 66,
602 66, 66, 0, 0, 0, 0, 0, 0, 0, 0,
603 0, 66, 66, 66, 0, 66, 66, 66, 66, 66,
604 66, 66, 66, 80, 0, 66, 0, 0, 66, 66,
605 66, 0, 0, 0, 0, 0, 0, 0, 144, 144,
606 144, 144, 0, 123, 0, 144, 123, 144, 0, 0,
607 0, 0, 0, 144, 144, 144, 144, 0, 0, 0,
608 123, 123, 0, 0, 0, 123, 144, 144, 144, 0,
609 144, 144, 144, 144, 144, 144, 144, 144, 0, 0,
610 144, 0, 0, 144, 144, 144, 0, 0, 0, 0,
611 0, 124, 0, 0, 124, 123, 0, 0, 0, 0,
612 0, 0, 0, 83, 83, 83, 83, 0, 124, 124,
613 83, 0, 83, 124, 0, 0, 0, 0, 83, 83,
614 83, 83, 0, 0, 0, 0, 0, 0, 0, 0,
615 0, 83, 83, 83, 0, 83, 83, 83, 83, 83,
616 83, 83, 83, 124, 0, 83, 0, 0, 83, 83,
617 83, 163, 163, 163, 163, 0, 119, 0, 163, 119,
618 163, 0, 0, 0, 0, 0, 163, 163, 163, 163,
619 0, 0, 0, 119, 119, 0, 0, 0, 119, 163,
620 163, 163, 0, 163, 163, 163, 163, 163, 163, 163,
621 163, 0, 0, 163, 0, 0, 163, 163, 163, 0,
622 0, 0, 80, 80, 80, 80, 0, 120, 119, 80,
623 120, 80, 0, 0, 0, 0, 0, 80, 80, 80,
624 80, 0, 0, 0, 120, 120, 0, 0, 0, 120,
625 80, 80, 80, 0, 80, 80, 80, 80, 80, 80,
626 80, 80, 0, 0, 80, 0, 0, 80, 80, 80,
627 0, 0, 0, 0, 0, 0, 0, 0, 0, 120,
628 0, 0, 141, 0, 0, 141, 0, 0, 0, 0,
629 0, 0, 0, 0, 123, 123, 123, 123, 0, 141,
630 141, 123, 0, 123, 141, 0, 0, 0, 0, 123,
631 123, 123, 123, 0, 0, 0, 0, 0, 0, 0,
632 0, 0, 123, 123, 123, 0, 123, 123, 123, 123,
633 123, 123, 123, 123, 141, 0, 123, 0, 0, 0,
634 0, 0, 124, 124, 124, 124, 0, 117, 0, 124,
635 117, 124, 0, 0, 0, 0, 0, 124, 124, 124,
636 124, 0, 0, 0, 117, 117, 0, 0, 0, 117,
637 124, 124, 124, 0, 124, 124, 124, 124, 124, 124,
638 124, 124, 0, 0, 124, 0, 0, 0, 0, 0,
639 0, 0, 0, 0, 0, 118, 0, 0, 118, 117,
640 0, 0, 0, 0, 0, 0, 0, 119, 119, 119,
641 119, 0, 118, 118, 119, 0, 119, 118, 0, 0,
642 0, 0, 119, 119, 119, 119, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 119, 119, 119, 0, 119,
644 119, 119, 119, 119, 119, 119, 119, 118, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 120, 120,
646 120, 120, 0, 0, 0, 120, 0, 120, 0, 0,
647 0, 0, 0, 120, 120, 120, 120, 0, 0, 0,
648 0, 116, 0, 0, 116, 0, 120, 120, 120, 0,
649 120, 120, 120, 120, 120, 120, 120, 120, 116, 116,
650 0, 0, 0, 116, 0, 0, 0, 0, 0, 0,
651 0, 0, 0, 141, 141, 141, 141, 0, 0, 0,
652 141, 0, 141, 0, 0, 0, 0, 0, 141, 141,
653 141, 141, 0, 116, 0, 0, 104, 0, 0, 104,
654 0, 141, 141, 141, 0, 141, 141, 141, 141, 141,
655 141, 141, 141, 104, 104, 0, 0, 0, 104, 0,
656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 0, 0, 0, 0, 0, 0, 117, 117,
658 117, 117, 0, 0, 0, 117, 0, 117, 104, 0,
659 0, 0, 0, 117, 117, 117, 117, 0, 0, 0,
660 0, 105, 0, 0, 105, 0, 117, 117, 117, 0,
661 117, 117, 117, 117, 117, 117, 117, 117, 105, 105,
662 0, 0, 0, 105, 0, 0, 118, 118, 118, 118,
663 0, 0, 0, 118, 0, 118, 0, 0, 0, 0,
664 0, 118, 118, 118, 118, 0, 0, 0, 0, 106,
665 0, 0, 106, 105, 118, 118, 118, 0, 118, 118,
666 118, 118, 118, 118, 118, 118, 106, 106, 0, 0,
667 0, 106, 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, 0,
670 107, 106, 0, 107, 0, 0, 0, 0, 0, 0,
671 0, 0, 116, 116, 116, 116, 0, 107, 107, 116,
672 0, 116, 107, 0, 0, 0, 0, 116, 116, 116,
673 116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
674 116, 116, 116, 0, 116, 116, 116, 116, 116, 116,
675 116, 116, 107, 0, 0, 167, 0, 0, 167, 0,
676 0, 0, 0, 0, 0, 0, 0, 104, 104, 104,
677 104, 0, 167, 167, 104, 0, 104, 167, 0, 0,
678 0, 0, 104, 104, 104, 104, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 104, 104, 104, 0, 104,
680 104, 104, 104, 104, 104, 104, 104, 167, 0, 0,
681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
682 166, 0, 0, 166, 0, 0, 0, 0, 0, 0,
683 0, 0, 105, 105, 105, 105, 0, 166, 166, 105,
684 0, 105, 166, 0, 0, 0, 0, 105, 105, 105,
685 105, 0, 0, 0, 0, 0, 0, 0, 0, 0,
686 105, 105, 105, 0, 105, 105, 105, 105, 105, 105,
687 105, 0, 166, 0, 0, 130, 0, 0, 130, 0,
688 106, 106, 106, 106, 0, 143, 0, 106, 143, 106,
689 0, 0, 130, 130, 0, 106, 106, 130, 106, 0,
690 0, 0, 143, 143, 0, 0, 0, 143, 106, 106,
691 106, 0, 106, 106, 106, 106, 106, 106, 106, 0,
692 0, 0, 0, 0, 0, 0, 108, 130, 0, 108,
693 0, 107, 107, 107, 107, 0, 0, 143, 107, 0,
694 107, 0, 0, 108, 108, 0, 107, 107, 108, 0,
695 0, 0, 0, 0, 0, 0, 0, 0, 0, 107,
696 107, 107, 0, 107, 107, 107, 107, 107, 107, 107,
697 0, 0, 0, 0, 109, 0, 0, 109, 108, 0,
698 0, 0, 0, 0, 0, 0, 167, 167, 167, 167,
699 0, 109, 109, 167, 0, 167, 109, 0, 0, 0,
700 0, 167, 167, 0, 0, 0, 0, 0, 0, 0,
701 0, 0, 0, 0, 167, 167, 167, 0, 167, 167,
702 167, 167, 167, 167, 110, 0, 109, 110, 0, 0,
703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
704 0, 110, 110, 0, 0, 0, 110, 0, 0, 0,
705 0, 166, 166, 166, 166, 0, 0, 0, 166, 0,
706 166, 0, 0, 0, 0, 0, 166, 166, 0, 0,
707 0, 0, 111, 0, 0, 111, 110, 0, 0, 166,
708 166, 166, 0, 166, 166, 166, 166, 166, 166, 111,
709 111, 0, 0, 0, 111, 0, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 130, 130, 130, 130,
711 0, 113, 0, 130, 113, 130, 143, 143, 143, 143,
712 0, 130, 130, 143, 111, 143, 0, 0, 113, 113,
713 0, 143, 143, 113, 130, 130, 130, 0, 130, 130,
714 130, 130, 130, 130, 143, 143, 143, 0, 143, 143,
715 143, 143, 143, 143, 0, 0, 0, 108, 108, 108,
716 108, 0, 0, 113, 108, 0, 108, 0, 0, 0,
717 0, 0, 0, 108, 0, 0, 0, 0, 114, 0,
718 0, 114, 0, 0, 0, 108, 108, 108, 0, 108,
719 108, 108, 108, 108, 108, 114, 114, 0, 0, 0,
720 114, 0, 0, 0, 0, 109, 109, 109, 109, 0,
721 0, 0, 109, 0, 109, 0, 0, 0, 0, 0,
722 0, 0, 0, 0, 0, 0, 115, 0, 0, 115,
723 114, 0, 0, 109, 109, 109, 0, 109, 109, 109,
724 109, 109, 109, 115, 115, 0, 0, 0, 115, 0,
725 0, 0, 0, 0, 0, 110, 110, 110, 110, 0,
726 0, 0, 110, 0, 110, 0, 0, 0, 0, 0,
727 0, 0, 0, 0, 0, 0, 0, 0, 115, 0,
728 0, 0, 0, 110, 110, 110, 0, 110, 110, 110,
729 110, 110, 110, 0, 0, 0, 0, 0, 0, 0,
730 0, 0, 0, 111, 111, 111, 111, 0, 0, 0,
731 111, 0, 111, 0, 0, 0, 0, 0, 0, 0,
732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
733 0, 111, 111, 111, 0, 111, 111, 111, 111, 111,
734 0, 0, 113, 113, 113, 113, 0, 0, 0, 113,
735 0, 113, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
737 113, 113, 113, 0, 113, 113, 113, 113, 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, 0, 114,
741 114, 114, 114, 0, 0, 0, 114, 0, 114, 0,
742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
743 0, 0, 0, 0, 0, 0, 0, 114, 114, 114,
744 0, 114, 114, 114, 0, 0, 0, 0, 0, 0,
745 0, 0, 0, 0, 0, 0, 0, 115, 115, 115,
746 115, 0, 0, 0, 115, 0, 115, 0, 0, 0,
747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
748 0, 0, 0, 0, 0, 115, 115, 115, 0, 115,
751 static short yycheck[] = { 15,
752 95, 59, 59, 41, 36, 36, 59, 210, 123, 40,
753 366, 100, 201, 59, 36, 41, 59, 59, 40, 276,
754 277, 41, 41, 40, 44, 40, 93, 91, 36, 37,
755 93, 91, 40, 49, 257, 94, 8, 9, 58, 59,
756 59, 397, 131, 63, 60, 61, 105, 44, 257, 93,
757 106, 107, 108, 109, 110, 111, 64, 41, 41, 123,
758 41, 41, 198, 123, 41, 59, 123, 41, 204, 91,
759 44, 40, 40, 93, 91, 59, 91, 123, 59, 41,
760 123, 123, 266, 267, 268, 41, 270, 271, 40, 63,
761 0, 123, 41, 41, 41, 40, 299, 59, 40, 115,
762 116, 123, 40, 59, 40, 40, 123, 257, 123, 278,
763 59, 59, 59, 297, 123, 363, 364, 133, 41, 40,
764 368, 123, 59, 33, 44, 260, 36, 37, 38, 318,
765 40, 257, 42, 43, 40, 45, 384, 41, 41, 342,
766 388, 157, 158, 159, 160, 161, 162, 163, 164, 59,
767 272, 273, 274, 275, 64, 211, 40, 279, 41, 59,
768 125, 41, 40, 319, 41, 298, 91, 183, 184, 185,
769 186, 187, 188, 189, 190, 191, 59, 298, 300, 301,
770 302, 91, 257, 298, 387, 201, 0, 276, 36, 205,
771 206, 59, 208, 282, 210, 59, 41, 125, 59, 257,
772 91, 217, 314, 219, 220, 317, 318, 319, 260, 302,
773 93, 40, 228, 123, 40, 125, 126, 41, 41, 33,
774 93, 260, 36, 37, 38, 257, 40, 59, 42, 43,
775 262, 45, 59, 300, 301, 302, 258, 300, 301, 302,
776 256, 298, 258, 259, 41, 59, 41, 300, 301, 302,
777 64, 41, 272, 273, 274, 275, 300, 301, 302, 279,
778 41, 281, 300, 301, 302, 296, 125, 287, 288, 289,
779 290, 125, 125, 41, 300, 301, 302, 91, 93, 374,
780 300, 301, 302, 93, 304, 305, 306, 307, 308, 309,
781 310, 311, 125, 59, 314, 63, 312, 317, 318, 319,
782 41, 123, 318, 300, 301, 302, 125, 281, 93, 123,
783 41, 125, 126, 287, 288, 289, 290, 300, 301, 302,
784 300, 301, 302, 300, 301, 302, 41, 59, 344, 40,
785 304, 305, 306, 307, 308, 309, 310, 311, 41, 41,
786 314, 123, 41, 317, 318, 319, 256, 257, 258, 259,
787 260, 261, 123, 263, 264, 265, 266, 267, 268, 269,
788 270, 271, 272, 273, 274, 275, 41, 383, 59, 279,
789 280, 0, 282, 283, 284, 285, 286, 300, 301, 302,
790 41, 291, 292, 293, 294, 295, 296, 297, 59, 272,
791 273, 274, 275, 303, 41, 59, 279, 300, 301, 302,
792 300, 301, 302, 313, 33, 315, 316, 36, 37, 38,
793 41, 40, 35, 42, 43, 52, 45, 300, 301, 302,
794 300, 301, 302, 300, 301, 302, 15, 300, 301, 302,
795 59, 52, 300, 301, 302, 64, 300, 301, 302, 300,
796 301, 302, 256, 257, 258, 259, 260, 261, 158, 263,
797 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
798 274, 275, 91, 344, 383, 279, 280, 125, 282, 283,
799 284, 285, 286, 300, 301, 302, 125, 291, 292, 293,
800 294, 295, 296, 297, 208, 300, 301, 302, 24, 303,
801 300, 301, 302, 277, 123, -1, -1, 126, -1, 313,
802 33, 315, 316, 36, 37, 38, -1, 40, 41, 42,
803 43, 44, 45, 281, -1, 300, 301, 302, -1, 287,
804 288, 289, 290, -1, -1, 58, 59, 300, 301, 302,
805 63, 64, -1, -1, -1, -1, 304, 305, 306, 307,
806 308, 309, 310, 311, -1, -1, 314, -1, -1, 317,
807 318, 319, -1, -1, -1, -1, -1, -1, 91, 289,
808 93, -1, 29, -1, -1, 33, -1, -1, 36, 37,
809 38, -1, 40, 41, 42, 43, 44, 45, -1, 46,
810 47, 311, -1, -1, 314, -1, 53, 317, 318, 319,
811 58, 59, -1, 126, -1, 63, 64, -1, 65, 66,
812 67, 68, -1, -1, -1, -1, -1, -1, 266, 267,
813 268, -1, 270, 271, -1, -1, -1, 266, 267, 268,
814 -1, 270, 271, -1, -1, 93, -1, 256, 257, 258,
815 259, 260, 261, -1, 263, 264, 265, -1, -1, 297,
816 269, -1, 58, 272, 273, 274, 275, 63, 297, 116,
817 279, 280, -1, 282, 283, 284, 285, 286, 126, -1,
818 -1, -1, 291, 292, 293, 294, 295, 296, -1, -1,
819 -1, -1, -1, -1, 303, -1, -1, 28, 29, -1,
820 287, 288, 289, 290, 313, 311, 315, 316, 314, 40,
821 15, 317, 318, 319, -1, 46, 47, 48, -1, -1,
822 -1, 52, 53, 310, 311, -1, -1, 314, -1, -1,
823 317, 318, 319, -1, 65, 66, 67, 68, -1, -1,
824 45, -1, -1, 48, 257, 258, 259, 260, 261, -1,
825 263, 264, 265, -1, -1, -1, 269, -1, -1, 272,
826 273, 274, 275, -1, -1, -1, 279, 280, 281, 282,
827 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
828 293, 294, 295, 296, 89, 116, 63, 300, 301, 302,
829 303, 304, 305, 306, 307, 308, 309, 310, 311, 104,
830 313, 314, 315, 316, 317, 318, 319, -1, -1, 257,
831 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
832 46, 269, -1, -1, 272, 273, 274, 275, 54, -1,
833 -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
834 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
835 155, 182, 300, 301, 302, 303, 304, 305, 306, 307,
836 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
837 318, 319, 33, -1, 100, 36, 37, 38, 209, 40,
838 -1, 42, 43, -1, 45, 281, -1, -1, -1, -1,
839 -1, 287, 288, 289, 290, -1, -1, 123, 59, -1,
840 -1, -1, -1, 64, -1, 131, -1, -1, 304, 305,
841 306, 307, 308, 309, 310, 311, -1, -1, 314, 289,
842 290, 317, 318, 319, -1, 339, 340, 341, -1, 343,
843 91, -1, -1, 33, -1, -1, 36, 37, 38, -1,
844 40, 311, 42, 43, 314, 45, -1, 317, 318, 319,
845 -1, -1, 287, 288, 289, 290, 370, -1, -1, 59,
846 -1, -1, 123, 377, 64, 126, -1, 381, -1, -1,
847 275, -1, 277, 308, 309, 310, 311, -1, 283, 314,
848 394, 395, 317, 318, 319, -1, -1, -1, -1, -1,
849 -1, 91, -1, 33, -1, -1, 36, 37, 38, -1,
850 40, -1, 42, 43, 281, 45, -1, -1, -1, -1,
851 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
852 -1, -1, -1, 123, 64, -1, 126, 304, 305, 306,
853 307, 308, 309, 310, 311, -1, -1, 314, -1, -1,
854 317, 318, 319, -1, -1, -1, -1, -1, -1, -1,
855 276, 91, 289, 290, -1, -1, 282, 33, -1, -1,
856 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
857 -1, -1, -1, 310, 311, -1, -1, 314, -1, -1,
858 317, 318, 319, 123, -1, -1, 126, -1, 64, -1,
859 -1, -1, -1, -1, -1, 256, 257, 258, 259, 260,
860 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
861 -1, 272, 273, 274, 275, 91, -1, 63, 279, 280,
862 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
863 291, 292, 293, 294, 295, 296, -1, -1, -1, -1,
864 -1, -1, 303, -1, -1, -1, -1, 123, -1, -1,
865 126, -1, 313, -1, 315, 316, 256, 257, 258, 259,
866 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
867 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
868 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
869 -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
870 -1, -1, 33, 303, -1, 36, 37, 38, -1, 40,
871 -1, 42, 43, 313, 45, 315, 316, 257, 258, 259,
872 260, 261, 262, 263, 264, 265, -1, -1, -1, 269,
873 -1, -1, -1, 64, -1, -1, -1, -1, -1, -1,
874 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
875 -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
876 91, -1, 41, 303, -1, 44, -1, 287, -1, 289,
877 290, -1, -1, 313, -1, 315, 316, -1, -1, 58,
878 59, 257, 258, 259, 260, 261, -1, 263, 264, 265,
879 310, 311, 123, 269, 314, 126, -1, 317, 318, 319,
880 -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
881 286, -1, -1, -1, 93, 291, 292, 293, 294, 295,
882 296, 33, -1, -1, 36, 37, 38, 303, 40, -1,
883 42, 43, -1, 45, -1, 281, -1, 313, -1, 315,
884 316, 287, 288, 289, 290, -1, -1, 59, -1, -1,
885 -1, -1, 64, -1, -1, -1, -1, -1, -1, 305,
886 306, 307, 308, 309, 310, 311, -1, -1, 314, -1,
887 -1, 317, 318, 319, 287, 288, 289, 290, -1, 91,
888 -1, 33, -1, -1, 36, 37, 38, -1, 40, 41,
889 42, 43, -1, 45, 307, 308, 309, 310, 311, -1,
890 -1, 314, -1, -1, 317, 318, 319, -1, -1, -1,
891 -1, -1, 64, -1, 126, -1, -1, -1, -1, -1,
892 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
893 261, -1, 263, 264, 265, -1, -1, -1, 269, 91,
894 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
895 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
896 291, 292, 293, 294, 295, 296, 33, -1, -1, 36,
897 37, 38, 303, 40, 126, 42, 43, -1, 45, -1,
898 -1, -1, 313, -1, 315, 316, -1, -1, -1, -1,
899 -1, -1, -1, 272, 273, 274, 275, 64, -1, -1,
900 279, -1, -1, -1, -1, -1, -1, 33, -1, -1,
901 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
902 -1, 300, 301, 302, 91, 304, 93, -1, -1, -1,
903 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
904 41, -1, -1, 44, -1, 257, 258, 259, 260, 261,
905 -1, 263, 264, 265, -1, -1, -1, 269, 59, 126,
906 -1, -1, -1, -1, -1, 91, -1, -1, 280, -1,
907 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
908 292, 293, 294, 295, 296, -1, -1, -1, -1, -1,
909 -1, 303, 93, -1, -1, -1, -1, -1, -1, -1,
910 126, 313, -1, 315, 316, 257, 258, 259, 260, 261,
911 -1, 263, 264, 265, -1, 33, -1, 269, 36, 37,
912 38, -1, 40, 41, 42, 43, -1, 45, 280, -1,
913 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
914 292, 293, 294, 295, 296, -1, 64, -1, -1, -1,
915 -1, 303, -1, -1, -1, -1, -1, 287, 288, 289,
916 290, 313, -1, 315, 316, -1, -1, -1, 41, -1,
917 -1, 44, -1, 91, -1, 305, 306, 307, 308, 309,
918 310, 311, -1, -1, 314, 58, 59, 317, 318, 319,
919 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
920 -1, -1, 269, 41, -1, -1, 44, -1, 126, -1,
921 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
922 93, 59, -1, -1, 291, 292, 293, 294, 295, 296,
923 -1, 257, 258, 259, 260, 261, 303, 263, 264, 265,
924 -1, -1, -1, 269, -1, -1, 313, -1, 315, 316,
925 -1, -1, -1, -1, 280, 93, 282, 283, 284, 285,
926 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
927 296, 272, 273, 274, 275, -1, 33, 303, 279, 36,
928 37, 38, -1, 40, 41, 42, 43, 313, 45, 315,
929 316, 287, 288, 289, 290, -1, -1, -1, -1, 300,
930 301, -1, -1, -1, -1, -1, -1, 64, -1, -1,
931 -1, -1, -1, 309, 310, 311, -1, -1, 314, -1,
932 -1, 317, 318, 319, -1, -1, -1, -1, -1, -1,
933 -1, -1, -1, -1, 91, -1, -1, -1, -1, 257,
934 258, 259, 260, 261, -1, 263, 264, 265, -1, 33,
935 -1, 269, 36, 37, 38, -1, 40, 41, 42, 43,
936 -1, 45, 280, -1, 282, 283, 284, 285, 286, 126,
937 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
938 64, -1, -1, -1, -1, 303, -1, -1, -1, -1,
939 -1, -1, -1, -1, -1, 313, -1, 315, 316, 272,
940 273, 274, 275, -1, -1, -1, 279, 91, -1, -1,
941 -1, -1, 33, -1, -1, 36, 37, 38, -1, 40,
942 -1, 42, 43, -1, 45, -1, -1, 300, 301, 302,
943 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
944 -1, 279, 126, 64, -1, -1, -1, 41, -1, -1,
945 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
946 -1, -1, 300, 301, 58, 59, -1, -1, -1, -1,
947 91, -1, -1, -1, -1, -1, -1, -1, -1, -1,
948 -1, -1, -1, -1, -1, 33, -1, -1, 36, 37,
949 38, -1, 40, 41, 42, 43, -1, 45, -1, 93,
950 257, 258, 259, 260, 261, 126, 263, 264, 265, -1,
951 -1, -1, 269, -1, -1, -1, 64, -1, -1, -1,
952 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
953 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
954 -1, -1, -1, 91, -1, -1, 303, -1, -1, -1,
955 -1, -1, -1, -1, -1, -1, 313, 33, 315, 316,
956 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
957 -1, -1, -1, 257, 258, 259, 260, 261, 126, 263,
958 264, 265, -1, -1, -1, 269, -1, -1, 64, -1,
959 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
960 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
961 294, 295, 296, -1, -1, 91, -1, -1, -1, 303,
962 -1, -1, -1, -1, -1, -1, -1, -1, -1, 313,
963 -1, 315, 316, -1, -1, 256, 257, 258, 259, 260,
964 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
965 126, -1, -1, -1, -1, -1, -1, -1, -1, 280,
966 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
967 291, 292, 293, 294, 295, 296, -1, -1, 272, 273,
968 274, 275, 303, -1, -1, 279, -1, -1, -1, -1,
969 -1, -1, 313, 33, 315, 316, 36, 37, 38, -1,
970 40, 41, 42, 43, -1, 45, 300, 301, 302, 257,
971 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
972 -1, 269, -1, -1, 64, -1, -1, -1, -1, -1,
973 -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
974 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
975 -1, 91, -1, -1, -1, 303, -1, -1, -1, -1,
976 -1, -1, -1, -1, -1, 313, 33, 315, 316, 36,
977 37, 38, -1, 40, -1, 42, 43, -1, 45, -1,
978 -1, 257, 258, 259, 260, 261, 126, 263, 264, 265,
979 -1, -1, -1, 269, -1, -1, -1, 64, -1, -1,
980 -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
981 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
982 296, -1, -1, -1, 91, -1, -1, 303, -1, -1,
983 -1, -1, -1, -1, -1, 41, -1, 313, 44, 315,
984 316, -1, -1, 41, -1, -1, 44, -1, -1, -1,
985 -1, -1, 58, 59, -1, -1, -1, 63, -1, 126,
986 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
987 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
988 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
989 -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
990 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
991 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
992 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
993 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
994 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
995 -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
996 -1, -1, 41, 303, -1, 44, -1, -1, -1, -1,
997 -1, -1, -1, 313, -1, 315, 316, -1, -1, 58,
998 59, -1, 41, -1, 63, 44, -1, -1, -1, -1,
999 257, 258, 259, 260, 261, -1, 263, 264, 265, 58,
1000 59, -1, 269, -1, -1, -1, -1, -1, -1, -1,
1001 -1, -1, -1, 280, 93, 282, 283, 284, 285, 286,
1002 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
1003 -1, -1, 33, -1, 93, 41, 303, -1, 44, -1,
1004 41, -1, -1, -1, 45, -1, 313, 48, 315, 316,
1005 51, -1, 58, 59, 55, 56, 57, 58, 59, -1,
1006 -1, -1, 63, 64, -1, -1, 272, 273, 274, 275,
1007 -1, -1, -1, 279, 272, 273, 274, 275, -1, -1,
1008 -1, 279, -1, 281, -1, -1, -1, 93, -1, 287,
1009 288, 289, 290, -1, 300, 301, 302, -1, 304, -1,
1010 -1, 102, 300, 301, 302, -1, 304, 305, 306, 307,
1011 308, 309, 310, 311, -1, -1, 314, -1, -1, 317,
1012 318, 319, -1, -1, -1, -1, -1, 41, -1, -1,
1013 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1014 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1015 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1016 -1, -1, -1, -1, 165, 166, 167, 168, 169, 170,
1017 171, 172, 173, 174, 175, 176, 177, 178, 179, 93,
1018 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
1019 -1, -1, 193, 272, 273, 274, 275, -1, 58, 59,
1020 279, -1, 281, 63, -1, -1, -1, -1, 287, 288,
1021 289, 290, -1, 272, 273, 274, 275, -1, -1, -1,
1022 279, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1023 309, 310, 311, 93, 41, 314, -1, 44, 317, 318,
1024 319, 300, 301, 302, -1, -1, -1, -1, -1, -1,
1025 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
1026 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1027 -1, -1, -1, 279, -1, -1, -1, -1, -1, 280,
1028 -1, -1, 41, -1, -1, 44, 93, -1, -1, -1,
1029 -1, -1, -1, -1, 300, 301, 302, -1, -1, 58,
1030 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
1031 -1, -1, 313, -1, -1, -1, -1, -1, -1, -1,
1032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1033 41, -1, -1, 44, 93, -1, -1, -1, -1, -1,
1034 -1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
1035 -1, -1, 63, -1, -1, -1, -1, -1, 272, 273,
1036 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1037 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
1038 -1, -1, 93, -1, -1, -1, 300, 301, 302, -1,
1039 304, 305, 306, 307, 308, 309, 310, 311, -1, -1,
1040 314, -1, -1, 317, 318, 319, -1, -1, -1, -1,
1041 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
1042 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1043 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1044 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1045 310, 311, -1, -1, 314, -1, -1, 317, 318, 319,
1046 -1, -1, -1, -1, -1, 272, 273, 274, 275, 93,
1047 -1, -1, 279, -1, 281, -1, -1, -1, -1, -1,
1048 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
1049 -1, -1, -1, 300, 301, 302, -1, 304, 305, 306,
1050 307, 308, 309, 310, 311, -1, -1, 314, -1, -1,
1051 317, 318, 319, 272, 273, 274, 275, -1, -1, -1,
1052 279, -1, 281, -1, -1, -1, -1, -1, 287, 288,
1053 289, 290, -1, -1, -1, -1, -1, -1, -1, -1,
1054 -1, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1055 309, 310, 311, -1, -1, 314, -1, -1, 317, 318,
1056 319, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1057 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1058 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1059 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1060 311, -1, -1, 314, -1, -1, 317, 318, 319, -1,
1061 -1, -1, -1, -1, -1, -1, 41, -1, 93, 44,
1062 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1063 -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
1064 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1065 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1066 -1, -1, -1, 287, 288, 289, 290, -1, 93, -1,
1067 -1, -1, -1, -1, -1, -1, 300, 301, 302, -1,
1068 304, 305, 306, 307, 308, 309, 310, 311, 41, -1,
1069 314, 44, -1, 317, 318, 319, -1, -1, -1, -1,
1070 -1, -1, -1, -1, -1, 58, 59, -1, -1, -1,
1071 63, -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, -1, 41, -1, -1, 44,
1074 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1075 -1, -1, -1, 58, 59, -1, -1, -1, 63, -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, -1, 41, -1, -1, 93, -1,
1079 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1080 275, -1, 58, 59, 279, -1, 281, 63, -1, -1,
1081 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1082 -1, -1, -1, -1, -1, 300, 301, 302, -1, 304,
1083 305, 306, 307, 308, 309, 310, 311, 93, -1, 314,
1084 -1, -1, 317, 318, 319, -1, -1, 272, 273, 274,
1085 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1086 -1, -1, 287, 288, 289, 290, -1, -1, -1, 58,
1087 59, -1, -1, -1, 63, 300, 301, 302, -1, 304,
1088 305, 306, 307, 308, 309, 310, 311, -1, -1, 314,
1089 -1, -1, 317, 318, 319, -1, -1, -1, -1, -1,
1090 -1, -1, -1, -1, 93, -1, -1, 41, -1, -1,
1091 44, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1092 273, 274, 275, -1, 58, 59, 279, -1, 281, 63,
1093 -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
1094 -1, -1, -1, -1, -1, -1, -1, 300, 301, 302,
1095 -1, 304, 305, 306, 307, 308, 309, 310, 311, 93,
1096 -1, 314, -1, -1, 317, 318, 319, 272, 273, 274,
1097 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1098 -1, -1, 287, 288, 289, 290, -1, -1, -1, 58,
1099 59, -1, -1, -1, 63, 300, 301, 302, -1, 304,
1100 305, 306, 307, 308, 309, 310, 311, -1, -1, 314,
1101 -1, -1, 317, 318, 319, -1, 272, 273, 274, 275,
1102 41, -1, -1, 279, 93, 281, -1, -1, -1, -1,
1103 -1, 287, 288, 289, 290, -1, -1, 58, 59, -1,
1104 -1, -1, 63, -1, 300, 301, 302, -1, 304, 305,
1105 306, 307, 308, 309, 310, 311, -1, -1, 314, -1,
1106 -1, 317, 318, 319, -1, -1, -1, -1, -1, -1,
1107 -1, 41, 93, -1, -1, -1, -1, -1, -1, -1,
1108 -1, -1, -1, 272, 273, 274, 275, -1, 58, 59,
1109 279, -1, 281, 63, -1, -1, -1, -1, 287, 288,
1110 289, 290, -1, -1, -1, -1, -1, -1, -1, -1,
1111 -1, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1112 309, 310, 311, 93, -1, 314, -1, -1, 317, 318,
1113 319, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1114 274, 275, -1, 41, -1, 279, 44, 281, -1, -1,
1115 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
1116 58, 59, -1, -1, -1, 63, 300, 301, 302, -1,
1117 304, 305, 306, 307, 308, 309, 310, 311, -1, -1,
1118 314, -1, -1, 317, 318, 319, -1, -1, -1, -1,
1119 -1, 41, -1, -1, 44, 93, -1, -1, -1, -1,
1120 -1, -1, -1, 272, 273, 274, 275, -1, 58, 59,
1121 279, -1, 281, 63, -1, -1, -1, -1, 287, 288,
1122 289, 290, -1, -1, -1, -1, -1, -1, -1, -1,
1123 -1, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1124 309, 310, 311, 93, -1, 314, -1, -1, 317, 318,
1125 319, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1126 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1127 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1128 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1129 311, -1, -1, 314, -1, -1, 317, 318, 319, -1,
1130 -1, -1, 272, 273, 274, 275, -1, 41, 93, 279,
1131 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1132 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1133 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1134 310, 311, -1, -1, 314, -1, -1, 317, 318, 319,
1135 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
1136 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1137 -1, -1, -1, -1, 272, 273, 274, 275, -1, 58,
1138 59, 279, -1, 281, 63, -1, -1, -1, -1, 287,
1139 288, 289, 290, -1, -1, -1, -1, -1, -1, -1,
1140 -1, -1, 300, 301, 302, -1, 304, 305, 306, 307,
1141 308, 309, 310, 311, 93, -1, 314, -1, -1, -1,
1142 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
1143 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1144 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1145 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1146 310, 311, -1, -1, 314, -1, -1, -1, -1, -1,
1147 -1, -1, -1, -1, -1, 41, -1, -1, 44, 93,
1148 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1149 275, -1, 58, 59, 279, -1, 281, 63, -1, -1,
1150 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1151 -1, -1, -1, -1, -1, 300, 301, 302, -1, 304,
1152 305, 306, 307, 308, 309, 310, 311, 93, -1, -1,
1153 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1154 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1155 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
1156 -1, 41, -1, -1, 44, -1, 300, 301, 302, -1,
1157 304, 305, 306, 307, 308, 309, 310, 311, 58, 59,
1158 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1159 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1160 279, -1, 281, -1, -1, -1, -1, -1, 287, 288,
1161 289, 290, -1, 93, -1, -1, 41, -1, -1, 44,
1162 -1, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1163 309, 310, 311, 58, 59, -1, -1, -1, 63, -1,
1164 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1165 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1166 274, 275, -1, -1, -1, 279, -1, 281, 93, -1,
1167 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
1168 -1, 41, -1, -1, 44, -1, 300, 301, 302, -1,
1169 304, 305, 306, 307, 308, 309, 310, 311, 58, 59,
1170 -1, -1, -1, 63, -1, -1, 272, 273, 274, 275,
1171 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
1172 -1, 287, 288, 289, 290, -1, -1, -1, -1, 41,
1173 -1, -1, 44, 93, 300, 301, 302, -1, 304, 305,
1174 306, 307, 308, 309, 310, 311, 58, 59, -1, -1,
1175 -1, 63, -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, -1,
1178 41, 93, -1, 44, -1, -1, -1, -1, -1, -1,
1179 -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
1180 -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
1181 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1182 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1183 310, 311, 93, -1, -1, 41, -1, -1, 44, -1,
1184 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1185 275, -1, 58, 59, 279, -1, 281, 63, -1, -1,
1186 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1187 -1, -1, -1, -1, -1, 300, 301, 302, -1, 304,
1188 305, 306, 307, 308, 309, 310, 311, 93, -1, -1,
1189 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1190 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
1191 -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
1192 -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
1193 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1194 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1195 310, -1, 93, -1, -1, 41, -1, -1, 44, -1,
1196 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1197 -1, -1, 58, 59, -1, 287, 288, 63, 290, -1,
1198 -1, -1, 58, 59, -1, -1, -1, 63, 300, 301,
1199 302, -1, 304, 305, 306, 307, 308, 309, 310, -1,
1200 -1, -1, -1, -1, -1, -1, 41, 93, -1, 44,
1201 -1, 272, 273, 274, 275, -1, -1, 93, 279, -1,
1202 281, -1, -1, 58, 59, -1, 287, 288, 63, -1,
1203 -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
1204 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1205 -1, -1, -1, -1, 41, -1, -1, 44, 93, -1,
1206 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1207 -1, 58, 59, 279, -1, 281, 63, -1, -1, -1,
1208 -1, 287, 288, -1, -1, -1, -1, -1, -1, -1,
1209 -1, -1, -1, -1, 300, 301, 302, -1, 304, 305,
1210 306, 307, 308, 309, 41, -1, 93, 44, -1, -1,
1211 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1212 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
1213 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1214 281, -1, -1, -1, -1, -1, 287, 288, -1, -1,
1215 -1, -1, 41, -1, -1, 44, 93, -1, -1, 300,
1216 301, 302, -1, 304, 305, 306, 307, 308, 309, 58,
1217 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
1218 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1219 -1, 41, -1, 279, 44, 281, 272, 273, 274, 275,
1220 -1, 287, 288, 279, 93, 281, -1, -1, 58, 59,
1221 -1, 287, 288, 63, 300, 301, 302, -1, 304, 305,
1222 306, 307, 308, 309, 300, 301, 302, -1, 304, 305,
1223 306, 307, 308, 309, -1, -1, -1, 272, 273, 274,
1224 275, -1, -1, 93, 279, -1, 281, -1, -1, -1,
1225 -1, -1, -1, 288, -1, -1, -1, -1, 41, -1,
1226 -1, 44, -1, -1, -1, 300, 301, 302, -1, 304,
1227 305, 306, 307, 308, 309, 58, 59, -1, -1, -1,
1228 63, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1229 -1, -1, 279, -1, 281, -1, -1, -1, -1, -1,
1230 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1231 93, -1, -1, 300, 301, 302, -1, 304, 305, 306,
1232 307, 308, 309, 58, 59, -1, -1, -1, 63, -1,
1233 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1234 -1, -1, 279, -1, 281, -1, -1, -1, -1, -1,
1235 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
1236 -1, -1, -1, 300, 301, 302, -1, 304, 305, 306,
1237 307, 308, 309, -1, -1, -1, -1, -1, -1, -1,
1238 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1239 279, -1, 281, -1, -1, -1, -1, -1, -1, -1,
1240 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1241 -1, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1242 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1243 -1, 281, -1, -1, -1, -1, -1, -1, -1, -1,
1244 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1245 300, 301, 302, -1, 304, 305, 306, 307, -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, -1, 272,
1249 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
1250 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1251 -1, -1, -1, -1, -1, -1, -1, 300, 301, 302,
1252 -1, 304, 305, 306, -1, -1, -1, -1, -1, -1,
1253 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1254 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
1255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1256 -1, -1, -1, -1, -1, 300, 301, 302, -1, 304,
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 ';'",
1353 "package : PACKAGE ';'",
1355 "use : USE startsub $$1 WORD WORD listexpr ';'",
1356 "expr : expr ANDOP expr",
1357 "expr : expr OROP expr",
1358 "expr : expr DOROP expr",
1360 "argexpr : argexpr ','",
1361 "argexpr : argexpr ',' term",
1363 "listop : LSTOP indirob argexpr",
1364 "listop : FUNC '(' indirob expr ')'",
1365 "listop : term ARROW method '(' listexprcom ')'",
1366 "listop : term ARROW method",
1367 "listop : METHOD indirob listexpr",
1368 "listop : FUNCMETH indirob '(' listexprcom ')'",
1369 "listop : LSTOP listexpr",
1370 "listop : FUNC '(' listexprcom ')'",
1372 "listop : LSTOPSUB startanonsub block $$2 listexpr",
1375 "subscripted : star '{' expr ';' '}'",
1376 "subscripted : scalar '[' expr ']'",
1377 "subscripted : term ARROW '[' expr ']'",
1378 "subscripted : subscripted '[' expr ']'",
1379 "subscripted : scalar '{' expr ';' '}'",
1380 "subscripted : term ARROW '{' expr ';' '}'",
1381 "subscripted : subscripted '{' expr ';' '}'",
1382 "subscripted : term ARROW '(' ')'",
1383 "subscripted : term ARROW '(' expr ')'",
1384 "subscripted : subscripted '(' expr ')'",
1385 "subscripted : subscripted '(' ')'",
1386 "termbinop : term ASSIGNOP term",
1387 "termbinop : term POWOP term",
1388 "termbinop : term MULOP term",
1389 "termbinop : term ADDOP term",
1390 "termbinop : term SHIFTOP term",
1391 "termbinop : term RELOP term",
1392 "termbinop : term EQOP term",
1393 "termbinop : term BITANDOP term",
1394 "termbinop : term BITOROP term",
1395 "termbinop : term DOTDOT term",
1396 "termbinop : term ANDAND term",
1397 "termbinop : term OROR term",
1398 "termbinop : term DORDOR term",
1399 "termbinop : term MATCHOP term",
1400 "termunop : '-' term",
1401 "termunop : '+' term",
1402 "termunop : '!' term",
1403 "termunop : '~' term",
1404 "termunop : term POSTINC",
1405 "termunop : term POSTDEC",
1406 "termunop : PREINC term",
1407 "termunop : PREDEC term",
1408 "anonymous : '[' expr ']'",
1409 "anonymous : '[' ']'",
1410 "anonymous : HASHBRACK expr ';' '}'",
1411 "anonymous : HASHBRACK ';' '}'",
1412 "anonymous : ANONSUB startanonsub proto subattrlist block",
1414 "termdo : DO block",
1415 "termdo : DO WORD '(' ')'",
1416 "termdo : DO WORD '(' expr ')'",
1417 "termdo : DO scalar '(' ')'",
1418 "termdo : DO scalar '(' expr ')'",
1423 "term : term '?' term ':' term",
1424 "term : REFGEN term",
1425 "term : myattrterm",
1426 "term : LOCAL term",
1427 "term : '(' expr ')'",
1434 "term : subscripted",
1435 "term : '(' expr ')' '[' expr ']'",
1436 "term : '(' ')' '[' expr ']'",
1437 "term : ary '[' expr ']'",
1438 "term : ary '{' expr ';' '}'",
1441 "term : amper '(' ')'",
1442 "term : amper '(' expr ')'",
1443 "term : NOAMP WORD listexpr",
1445 "term : LOOPEX term",
1446 "term : NOTOP argexpr",
1448 "term : UNIOP block",
1449 "term : UNIOP term",
1450 "term : UNIOPSUB term",
1452 "term : FUNC0 '(' ')'",
1454 "term : FUNC1 '(' ')'",
1455 "term : FUNC1 '(' expr ')'",
1456 "term : PMFUNC '(' term ')'",
1457 "term : PMFUNC '(' term ',' term ')'",
1460 "myattrterm : MY myterm myattrlist",
1461 "myattrterm : MY myterm",
1462 "myterm : '(' expr ')'",
1468 "listexpr : argexpr",
1470 "listexprcom : expr",
1471 "listexprcom : expr ','",
1472 "my_scalar : scalar",
1473 "amper : '&' indirob",
1474 "scalar : '$' indirob",
1475 "ary : '@' indirob",
1476 "hsh : '%' indirob",
1477 "arylen : DOLSHARP indirob",
1478 "star : '*' indirob",
1482 "indirob : PRIVATEREF",
1485 #define yyclearin (yychar=(-1))
1486 #define yyerrok (yyerrflag=0)
1489 #define YYMAXDEPTH YYSTACKSIZE
1493 #define YYSTACKSIZE YYMAXDEPTH
1495 #define YYSTACKSIZE 500
1496 #define YYMAXDEPTH 500
1502 /* more stuff added to make perly_c.diff easier to apply */
1507 #define yyparse() Perl_yyparse(pTHX)
1509 #line 1509 "perly.c"
1510 #define YYABORT goto yyabort
1511 #define YYACCEPT goto yyaccept
1512 #define YYERROR goto yyerrlab
1516 register int yym, yyn, yystate;
1517 register short *yyssp;
1518 register YYSTYPE *yyvsp;
1521 unsigned yystacksize = YYSTACKSIZE;
1529 ENTER; /* force yydestruct() before we return */
1531 New(73, ysave, 1, struct ysv);
1532 SAVEDESTRUCTOR_X(yydestruct, ysave);
1533 ysave->oldyydebug = yydebug;
1534 ysave->oldyynerrs = yynerrs;
1535 ysave->oldyyerrflag = yyerrflag;
1536 ysave->oldyychar = yychar;
1537 ysave->oldyyval = yyval;
1538 ysave->oldyylval = yylval;
1542 register int saved_errno = errno;
1544 register int saved_vaxc_errno = vaxc$errno;
1546 register int saved_vaxc_errno = 0;
1548 if ((yys = getenv("YYDEBUG")))
1551 if (yyn >= '0' && yyn <= '9')
1552 yydebug = yyn - '0';
1554 else SETERRNO(saved_errno,saved_vaxc_errno);
1563 ** Initialize private stacks (yyparse may be called from an action)
1565 New(73, yyss, yystacksize, short);
1566 New(73, yyvs, yystacksize, YYSTYPE);
1574 *yyssp = yystate = 0;
1577 if ((yyn = yydefred[yystate])) goto yyreduce;
1580 if ((yychar = yylex()) < 0) yychar = 0;
1585 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1586 if (!yys) yys = "illegal-symbol";
1587 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1592 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1593 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1597 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1598 yystate, yytable[yyn]);
1600 if (yyssp >= yyss + yystacksize - 1)
1603 ** reallocate and recover. Note that pointers
1604 ** have to be reset, or bad things will happen
1606 int yyps_index = (yyssp - yyss);
1607 int yypv_index = (yyvsp - yyvs);
1608 yystacksize += YYSTACKSIZE;
1609 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1610 ysave->yyss = Renew(yyss, yystacksize, short);
1613 yyssp = yyss + yyps_index;
1614 yyvsp = yyvs + yypv_index;
1616 *++yyssp = yystate = yytable[yyn];
1619 if (yyerrflag > 0) --yyerrflag;
1622 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1623 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1628 if (yyerrflag) goto yyinrecovery;
1633 yyerror("syntax error");
1645 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1646 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1650 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery shifting\
1651 to state %d\n", *yyssp, yytable[yyn]);
1653 if (yyssp >= yyss + yystacksize - 1)
1656 ** reallocate and recover. Note that pointers
1657 ** have to be reset, or bad things will happen
1659 int yyps_index = (yyssp - yyss);
1660 int yypv_index = (yyvsp - yyvs);
1661 yystacksize += YYSTACKSIZE;
1662 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1663 ysave->yyss = Renew(yyss, yystacksize, short);
1666 yyssp = yyss + yyps_index;
1667 yyvsp = yyvs + yypv_index;
1669 *++yyssp = yystate = yytable[yyn];
1677 PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
1680 if (yyssp <= yyss) goto yyabort;
1688 if (yychar == 0) goto yyabort;
1693 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1694 if (!yys) yys = "illegal-symbol";
1695 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
1696 yystate, yychar, yys);
1705 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1706 yystate, yyn, yyrule[yyn]);
1709 yyval = yyvsp[1-yym];
1714 { yyval.ival = yyvsp[-1].ival; newPROG(block_end(yyvsp[-1].ival,yyvsp[0].opval)); }
1718 { if (PL_copline > (line_t)yyvsp[-3].ival)
1719 PL_copline = (line_t)yyvsp[-3].ival;
1720 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1724 { yyval.ival = block_start(TRUE); }
1729 #if defined(YYDEBUG) && defined(DEBUGGING)
1730 yydebug = (DEBUG_p_TEST);
1732 PL_expect = XSTATE; yyval.ival = block_start(TRUE);
1737 { if (PL_copline > (line_t)yyvsp[-3].ival)
1738 PL_copline = (line_t)yyvsp[-3].ival;
1739 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1743 { yyval.ival = block_start(FALSE); }
1747 { yyval.opval = Nullop; }
1751 { yyval.opval = yyvsp[-1].opval; }
1755 { yyval.opval = append_list(OP_LINESEQ,
1756 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1757 PL_pad_reset_pending = TRUE;
1758 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1762 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1766 { if (yyvsp[-1].pval != Nullch) {
1767 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1770 yyval.opval = Nullop;
1771 PL_copline = NOLINE;
1773 PL_expect = XSTATE; }
1777 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1778 PL_expect = XSTATE; }
1782 { yyval.opval = Nullop; }
1786 { yyval.opval = yyvsp[0].opval; }
1790 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1794 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1798 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1802 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1806 { yyval.opval = newFOROP(0, Nullch, (line_t)yyvsp[-1].ival,
1807 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1811 { yyval.opval = Nullop; }
1815 { (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
1819 { PL_copline = (line_t)yyvsp[-5].ival;
1820 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
1821 PL_hints |= HINT_BLOCK_SCOPE; }
1825 { PL_copline = (line_t)yyvsp[-6].ival;
1826 yyval.opval = block_end(yyvsp[-4].ival,
1827 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1831 { PL_copline = (line_t)yyvsp[-6].ival;
1832 yyval.opval = block_end(yyvsp[-4].ival,
1833 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1837 { yyval.opval = Nullop; }
1841 { yyval.opval = scope(yyvsp[0].opval); }
1845 { PL_copline = (line_t)yyvsp[-6].ival;
1846 yyval.opval = block_end(yyvsp[-4].ival,
1847 newSTATEOP(0, yyvsp[-7].pval,
1848 newWHILEOP(0, 1, (LOOP*)Nullop,
1849 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1853 { PL_copline = (line_t)yyvsp[-6].ival;
1854 yyval.opval = block_end(yyvsp[-4].ival,
1855 newSTATEOP(0, yyvsp[-7].pval,
1856 newWHILEOP(0, 1, (LOOP*)Nullop,
1857 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1861 { yyval.opval = block_end(yyvsp[-6].ival,
1862 newFOROP(0, yyvsp[-9].pval, (line_t)yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1866 { yyval.opval = block_end(yyvsp[-4].ival,
1867 newFOROP(0, yyvsp[-8].pval, (line_t)yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1868 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1872 { yyval.opval = block_end(yyvsp[-4].ival,
1873 newFOROP(0, yyvsp[-7].pval, (line_t)yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1878 PL_copline = (line_t)yyvsp[-9].ival;
1879 forop = newSTATEOP(0, yyvsp[-10].pval,
1880 newWHILEOP(0, 1, (LOOP*)Nullop,
1881 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1882 yyvsp[0].opval, yyvsp[-2].opval));
1883 if (yyvsp[-6].opval) {
1884 forop = append_elem(OP_LINESEQ,
1885 newSTATEOP(0, (yyvsp[-10].pval?savepv(yyvsp[-10].pval):Nullch),
1890 yyval.opval = block_end(yyvsp[-7].ival, forop); }
1894 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1895 newWHILEOP(0, 1, (LOOP*)Nullop,
1896 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1900 { yyval.opval = Nullop; }
1904 { (void)scan_num("1", &yylval); yyval.opval = yylval.opval; }
1908 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1912 { yyval.opval = yyvsp[0].opval; intro_my(); }
1916 { yyval.opval = yyvsp[0].opval; intro_my(); }
1920 { yyval.opval = yyvsp[0].opval; intro_my(); }
1924 { yyval.opval = yyvsp[0].opval; intro_my(); }
1928 { yyval.pval = Nullch; }
1952 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1956 { yyval.opval = yyvsp[0].opval; }
1960 { yyval.opval = Nullop; }
1964 { newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1968 { newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1972 { yyval.ival = start_subparse(FALSE, 0); }
1976 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1980 { yyval.ival = start_subparse(TRUE, 0); }
1984 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1985 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1986 || strEQ(name, "INIT") || strEQ(name, "CHECK"))
1987 CvSPECIAL_on(PL_compcv);
1988 yyval.opval = yyvsp[0].opval; }
1992 { yyval.opval = Nullop; }
1996 { yyval.opval = Nullop; }
2000 { yyval.opval = yyvsp[0].opval; }
2004 { yyval.opval = Nullop; }
2008 { yyval.opval = yyvsp[0].opval; }
2012 { yyval.opval = Nullop; }
2016 { yyval.opval = yyvsp[0].opval; }
2020 { yyval.opval = Nullop; PL_expect = XSTATE; }
2024 { package(yyvsp[-1].opval); }
2028 { package(Nullop); }
2032 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
2036 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
2040 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2044 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2048 { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2052 { yyval.opval = yyvsp[-1].opval; }
2056 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
2060 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
2061 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
2065 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
2066 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
2070 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2071 append_elem(OP_LIST,
2072 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
2073 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
2077 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2078 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
2079 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
2083 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2084 append_elem(OP_LIST,
2085 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
2086 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
2090 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2091 append_elem(OP_LIST,
2092 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
2093 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
2097 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2101 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2105 { yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
2109 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2110 append_elem(OP_LIST,
2111 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
2115 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
2119 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2123 { yyval.opval = newBINOP(OP_AELEM, 0,
2124 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2125 scalar(yyvsp[-1].opval));}
2129 { yyval.opval = newBINOP(OP_AELEM, 0,
2130 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2131 scalar(yyvsp[-1].opval));}
2135 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2136 PL_expect = XOPERATOR; }
2140 { yyval.opval = newBINOP(OP_HELEM, 0,
2141 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2142 jmaybe(yyvsp[-2].opval));
2143 PL_expect = XOPERATOR; }
2147 { yyval.opval = newBINOP(OP_HELEM, 0,
2148 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2149 jmaybe(yyvsp[-2].opval));
2150 PL_expect = XOPERATOR; }
2154 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2155 newCVREF(0, scalar(yyvsp[-3].opval))); }
2159 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2160 append_elem(OP_LIST, yyvsp[-1].opval,
2161 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2165 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2166 append_elem(OP_LIST, yyvsp[-1].opval,
2167 newCVREF(0, scalar(yyvsp[-3].opval)))); }
2171 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2172 newCVREF(0, scalar(yyvsp[-2].opval))); }
2176 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
2180 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2184 { if (yyvsp[-1].ival != OP_REPEAT)
2185 scalar(yyvsp[-2].opval);
2186 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2190 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2194 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2198 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2202 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2206 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2210 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2214 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2218 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2222 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2226 { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2230 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2234 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2238 { yyval.opval = yyvsp[0].opval; }
2242 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2246 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2250 { yyval.opval = newUNOP(OP_POSTINC, 0,
2251 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2255 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2256 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2260 { yyval.opval = newUNOP(OP_PREINC, 0,
2261 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2265 { yyval.opval = newUNOP(OP_PREDEC, 0,
2266 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2270 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2274 { yyval.opval = newANONLIST(Nullop); }
2278 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2282 { yyval.opval = newANONHASH(Nullop); }
2286 { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2290 { yyval.opval = dofile(yyvsp[0].opval); }
2294 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2298 { yyval.opval = newUNOP(OP_ENTERSUB,
2299 OPf_SPECIAL|OPf_STACKED,
2300 prepend_elem(OP_LIST,
2302 (OPpENTERSUB_AMPER<<8),
2303 scalar(yyvsp[-2].opval)
2304 )),Nullop)); dep();}
2308 { yyval.opval = newUNOP(OP_ENTERSUB,
2309 OPf_SPECIAL|OPf_STACKED,
2310 append_elem(OP_LIST,
2313 (OPpENTERSUB_AMPER<<8),
2314 scalar(yyvsp[-3].opval)
2319 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2320 prepend_elem(OP_LIST,
2321 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2325 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2326 prepend_elem(OP_LIST,
2328 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2332 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2336 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2340 { yyval.opval = yyvsp[0].opval; }
2344 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2348 { yyval.opval = sawparens(yyvsp[-1].opval); }
2352 { yyval.opval = sawparens(newNULLLIST()); }
2356 { yyval.opval = yyvsp[0].opval; }
2360 { yyval.opval = yyvsp[0].opval; }
2364 { yyval.opval = yyvsp[0].opval; }
2368 { yyval.opval = yyvsp[0].opval; }
2372 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2376 { yyval.opval = yyvsp[0].opval; }
2380 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2384 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2388 { yyval.opval = prepend_elem(OP_ASLICE,
2389 newOP(OP_PUSHMARK, 0),
2390 newLISTOP(OP_ASLICE, 0,
2391 list(yyvsp[-1].opval),
2392 ref(yyvsp[-3].opval, OP_ASLICE))); }
2396 { yyval.opval = prepend_elem(OP_HSLICE,
2397 newOP(OP_PUSHMARK, 0),
2398 newLISTOP(OP_HSLICE, 0,
2399 list(yyvsp[-2].opval),
2400 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2401 PL_expect = XOPERATOR; }
2405 { yyval.opval = yyvsp[0].opval; }
2409 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2413 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2417 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2418 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2422 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2423 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2427 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2428 PL_hints |= HINT_BLOCK_SCOPE; }
2432 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2436 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2440 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2444 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2448 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2452 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2453 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2457 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2461 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2465 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2466 scalar(yyvsp[0].opval)); }
2470 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2474 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2478 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2482 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2486 { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
2490 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2494 { yyval.opval = sawparens(yyvsp[-1].opval); }
2498 { yyval.opval = sawparens(newNULLLIST()); }
2502 { yyval.opval = yyvsp[0].opval; }
2506 { yyval.opval = yyvsp[0].opval; }
2510 { yyval.opval = yyvsp[0].opval; }
2514 { yyval.opval = Nullop; }
2518 { yyval.opval = yyvsp[0].opval; }
2522 { yyval.opval = Nullop; }
2526 { yyval.opval = yyvsp[0].opval; }
2530 { yyval.opval = yyvsp[-1].opval; }
2534 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2538 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2542 { yyval.opval = newSVREF(yyvsp[0].opval); }
2546 { yyval.opval = newAVREF(yyvsp[0].opval); }
2550 { yyval.opval = newHVREF(yyvsp[0].opval); }
2554 { yyval.opval = newAVREF(yyvsp[0].opval); }
2558 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2562 { yyval.opval = scalar(yyvsp[0].opval); }
2566 { yyval.opval = scalar(yyvsp[0].opval); }
2570 { yyval.opval = scope(yyvsp[0].opval); }
2574 { yyval.opval = yyvsp[0].opval; }
2576 #line 2567 "perly.c"
2582 if (yystate == 0 && yym == 0)
2586 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to\
2587 state %d\n", YYFINAL);
2594 if ((yychar = yylex()) < 0) yychar = 0;
2599 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2600 if (!yys) yys = "illegal-symbol";
2601 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2602 YYFINAL, yychar, yys);
2606 if (yychar == 0) goto yyaccept;
2609 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2610 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2611 yystate = yytable[yyn];
2613 yystate = yydgoto[yym];
2616 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d \
2617 to state %d\n", *yyssp, yystate);
2619 if (yyssp >= yyss + yystacksize - 1)
2622 ** reallocate and recover. Note that pointers
2623 ** have to be reset, or bad things will happen
2625 int yyps_index = (yyssp - yyss);
2626 int yypv_index = (yyvsp - yyvs);
2627 yystacksize += YYSTACKSIZE;
2628 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2629 ysave->yyss = Renew(yyss, yystacksize, short);
2632 yyssp = yyss + yyps_index;
2633 yyvsp = yyvs + yypv_index;
2639 yyerror("Out of memory for yacc stack");
2644 LEAVE; /* force yydestruct() before we return */
2650 yydestruct(pTHX_ void *ptr)
2652 struct ysv* ysave = (struct ysv*)ptr;
2653 if (ysave->yyss) Safefree(ysave->yyss);
2654 if (ysave->yyvs) Safefree(ysave->yyvs);
2655 yydebug = ysave->oldyydebug;
2656 yynerrs = ysave->oldyynerrs;
2657 yyerrflag = ysave->oldyyerrflag;
2658 yychar = ysave->oldyychar;
2659 yyval = ysave->oldyyval;
2660 yylval = ysave->oldyylval;