2 /* static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91"; */
7 #define PERL_IN_PERLY_C
12 #define dep() deprecate_old("\"do\" to call subroutines")
14 /* stuff included here to make perly_c.diff apply better */
16 #define yydebug PL_yydebug
17 #define yynerrs PL_yynerrs
18 #define yyerrflag PL_yyerrflag
19 #define yychar PL_yychar
20 #define yyval PL_yyval
21 #define yylval PL_yylval
34 static void yydestruct(pTHX_ void *ptr);
37 #if 0 /* get this from perly.h instead */
49 #define YYLEX_PARAM (&yychar)
55 static short yylhs[] = { -1,
56 0, 9, 7, 6, 10, 8, 11, 11, 11, 12,
57 12, 12, 12, 25, 25, 25, 25, 25, 25, 25,
58 15, 15, 15, 14, 14, 43, 43, 13, 13, 13,
59 13, 13, 13, 13, 27, 27, 28, 28, 29, 30,
60 31, 32, 33, 54, 54, 1, 1, 1, 1, 1,
61 2, 39, 39, 47, 55, 3, 4, 5, 40, 41,
62 41, 45, 45, 45, 46, 46, 42, 42, 56, 56,
63 58, 57, 16, 16, 16, 16, 26, 26, 26, 37,
64 37, 37, 37, 37, 37, 37, 37, 59, 37, 38,
65 38, 18, 18, 18, 18, 18, 18, 18, 18, 18,
66 18, 18, 50, 50, 50, 50, 50, 50, 50, 50,
67 50, 50, 50, 50, 50, 50, 51, 51, 51, 51,
68 51, 51, 51, 51, 52, 52, 52, 52, 52, 53,
69 53, 53, 53, 53, 53, 17, 17, 17, 17, 17,
70 17, 17, 17, 17, 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, 48, 48, 49, 49,
74 49, 49, 49, 34, 34, 35, 35, 35, 44, 24,
75 19, 20, 21, 22, 23, 36, 36, 36, 36,
77 static short yylen[] = { 2,
78 2, 4, 0, 0, 4, 0, 0, 2, 2, 2,
79 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
80 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
81 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
82 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
83 4, 1, 0, 6, 6, 0, 0, 0, 1, 0,
84 1, 0, 2, 1, 2, 1, 1, 1, 3, 2,
85 0, 7, 3, 3, 3, 1, 2, 3, 1, 3,
86 5, 6, 3, 3, 5, 2, 4, 0, 5, 1,
87 1, 5, 4, 5, 4, 5, 6, 5, 4, 5,
88 4, 3, 3, 3, 3, 3, 3, 3, 3, 3,
89 3, 3, 3, 3, 3, 3, 2, 2, 2, 2,
90 2, 2, 2, 2, 3, 2, 4, 3, 5, 2,
91 2, 4, 5, 4, 5, 1, 1, 1, 1, 5,
92 2, 1, 2, 3, 2, 1, 1, 1, 1, 1,
93 1, 6, 5, 4, 5, 1, 1, 3, 4, 3,
94 1, 2, 2, 1, 2, 2, 2, 1, 3, 1,
95 3, 4, 4, 6, 1, 1, 3, 2, 3, 2,
96 1, 1, 1, 0, 1, 0, 1, 2, 1, 2,
97 2, 2, 2, 2, 2, 1, 1, 1, 1,
99 static short yydefred[] = { 4,
100 0, 7, 0, 45, 58, 56, 0, 56, 56, 8,
101 46, 9, 11, 48, 0, 47, 49, 50, 0, 0,
102 0, 70, 71, 0, 14, 3, 175, 0, 0, 156,
103 0, 170, 0, 57, 57, 0, 0, 0, 0, 0,
104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
106 0, 12, 0, 0, 0, 0, 0, 0, 0, 10,
107 0, 0, 0, 0, 0, 148, 150, 0, 0, 0,
108 0, 176, 142, 136, 137, 138, 139, 52, 0, 59,
109 0, 69, 0, 0, 7, 196, 199, 198, 197, 0,
110 0, 0, 0, 0, 0, 3, 3, 3, 3, 3,
111 3, 0, 0, 0, 0, 0, 165, 0, 0, 0,
112 0, 86, 0, 194, 0, 131, 0, 0, 0, 0,
113 0, 0, 0, 181, 183, 182, 0, 190, 0, 0,
114 0, 0, 0, 0, 0, 0, 126, 0, 0, 0,
115 191, 192, 193, 195, 0, 34, 0, 0, 0, 0,
116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
117 0, 0, 0, 0, 0, 0, 0, 0, 0, 121,
118 122, 0, 0, 0, 0, 0, 0, 0, 0, 0,
119 0, 13, 0, 51, 61, 0, 0, 0, 0, 84,
120 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
121 3, 169, 171, 0, 0, 0, 0, 0, 0, 0,
122 128, 0, 160, 180, 0, 0, 177, 0, 0, 125,
123 27, 0, 0, 19, 0, 0, 0, 0, 0, 73,
124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
125 0, 0, 0, 0, 0, 0, 90, 0, 0, 91,
126 0, 0, 102, 0, 0, 0, 0, 0, 0, 0,
127 158, 0, 0, 0, 0, 0, 0, 2, 0, 0,
128 173, 0, 0, 0, 42, 0, 43, 0, 0, 0,
129 0, 189, 0, 0, 36, 41, 0, 0, 0, 172,
130 188, 87, 0, 132, 0, 134, 0, 127, 179, 65,
131 0, 0, 0, 0, 99, 0, 0, 0, 0, 101,
132 95, 0, 93, 0, 154, 0, 159, 63, 68, 67,
133 55, 0, 54, 85, 0, 89, 129, 0, 0, 0,
134 0, 0, 0, 0, 0, 81, 133, 135, 153, 0,
135 0, 0, 100, 94, 0, 98, 96, 155, 92, 72,
136 174, 6, 0, 0, 0, 0, 0, 0, 0, 0,
137 152, 97, 82, 7, 28, 29, 0, 0, 24, 25,
138 0, 32, 0, 0, 0, 22, 0, 0, 0, 31,
139 5, 0, 30, 0, 0, 33, 0, 23,
141 static short yydgoto[] = { 1,
142 10, 11, 20, 104, 19, 2, 95, 374, 98, 363,
143 3, 12, 13, 70, 379, 289, 72, 73, 74, 75,
144 76, 77, 78, 79, 295, 81, 296, 285, 287, 290,
145 298, 286, 288, 122, 216, 100, 82, 261, 89, 91,
146 196, 331, 156, 293, 275, 227, 14, 83, 137, 84,
147 85, 86, 87, 15, 16, 17, 18, 93, 282,
149 static short yysindex[] = { 0,
150 0, 0, -183, 0, 0, 0, -57, 0, 0, 0,
151 0, 0, 0, 0, 820, 0, 0, 0, -222, -208,
152 7, 0, 0, -208, 0, 0, 0, -31, -31, 0,
153 32, 0, 2214, 0, 0, 33, 49, 56, 59, -30,
154 2214, 63, 65, 66, 1005, 941, -31, 1150, 1269, -149,
155 2214, -7, -31, 2214, 2214, 2214, 2214, 2214, 2214, 1329,
156 1414, 0, 2214, 2214, -31, -31, -31, -31, -168, 0,
157 -121, 704, -16, -63, -59, 0, 0, -8, 80, 64,
158 81, 0, 0, 0, 0, 0, 0, 0, -1, 0,
159 -134, 0, -125, -134, 0, 0, 0, 0, 0, 2214,
160 95, 2214, 744, -1, -134, 0, 0, 0, 0, 0,
161 0, 117, 704, 97, 1455, 941, 0, 744, 0, -63,
162 81, 0, 2214, 0, 123, 0, 744, -14, 36, -52,
163 2214, 744, 1563, 0, 0, 0, -132, 0, 81, -111,
164 -111, -111, -155, -155, 76, -37, 0, -66, -111, -111,
165 0, 0, 0, 0, -1, 0, 2214, 2214, 2214, 2214,
166 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214,
167 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214, 0,
168 0, -21, 2214, 1724, 2214, 2214, 2214, 2214, 2214, 2214,
169 1797, 0, 2214, 0, 0, -120, -74, -120, 343, 0,
170 2214, 27, 0, -120, 2214, 2214, 2214, 2214, 153, 1860,
171 0, 0, 0, -25, 4, 156, 2214, 81, 1933, 2005,
172 0, 73, 0, 0, 18, -51, 0, 2214, 110, 0,
173 0, 228, 228, 0, 228, 228, 228, -92, -92, 0,
174 1351, 744, 961, 375, 271, 704, 585, 1068, 1068, 646,
175 1485, 394, 611, -111, -111, 2214, 0, 2141, 2214, 0,
176 172, 101, 0, 21, -62, 133, -43, 137, 128, 140,
177 0, 24, 704, -38, -45, 2214, -45, 0, 177, 2214,
178 0, 2214, -1, 228, 0, 178, 0, 204, 228, 206,
179 211, 0, 175, -121, 0, 0, 220, 169, 2214, 0,
180 0, 0, 78, 0, 98, 0, 121, 0, 0, 0,
181 186, 2214, 2214, 174, 0, 124, 191, 2214, 142, 0,
182 0, 147, 0, 148, 0, 168, 0, 0, 0, 0,
183 0, 235, 0, 0, 233, 0, 0, 179, 179, 179,
184 179, 2214, 179, 2214, 260, 0, 0, 0, 0, 216,
185 1035, 182, 0, 0, 270, 0, 0, 0, 0, 0,
186 0, 0, -168, -168, -256, -256, 286, -168, 269, 179,
187 0, 0, 0, 0, 0, 0, 179, 290, 0, 0,
188 179, 0, 1860, -168, 352, 0, 2214, -168, 298, 0,
189 0, 299, 0, 179, 179, 0, -256, 0,
191 static short yyrindex[] = { 0,
192 0, 0, 372, 0, 0, 0, 0, 0, 0, 0,
193 0, 0, 0, 0, 0, 0, 0, 0, 219, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
196 -19, 2283, 0, 0, 2402, 2567, 0, 0, 0, 0,
197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
198 0, 0, 0, 0, 0, 0, 0, 0, 91, 0,
199 -18, 1608, 2621, 2674, 2722, 0, 0, 2770, 2857, 0,
200 118, 0, 0, 0, 0, 0, 0, 0, 0, 0,
201 -56, 0, 0, -56, 0, 0, 0, 0, 0, 2567,
202 0, 0, 4275, 0, -114, 0, 0, 0, 0, 0,
203 0, 0, 1887, 0, 0, 302, 0, 4340, 468, 533,
204 3225, 0, 0, 0, 3006, 0, 4395, 2674, 0, 0,
205 2567, 4405, 0, 0, 0, 0, 3056, 0, 3460, 3696,
206 3747, 3802, 3583, 3631, 3128, 0, 0, 0, 3867, 3915,
207 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3176, 0, 0, -42, 0, -42, 881, 0,
212 302, 0, 0, 230, 326, 0, 0, 0, 0, 310,
213 0, 0, 0, 0, 340, 0, 0, 3511, 0, 0,
214 0, 0, 0, 0, 0, 3292, 0, 0, 3347, 0,
215 0, 17, 20, 0, 39, 45, 52, 1480, 1643, 0,
216 2275, 4446, 4494, 4121, 4169, 2422, 0, 4698, 4746, 4631,
217 4592, 4544, 4220, 4001, 4056, 0, 0, 0, 0, 0,
218 3412, 0, 0, 0, 0, 0, 0, 0, 0, 0,
219 0, 0, 2475, -41, 0, 330, 0, 0, 0, 0,
220 0, 2567, 0, 53, 0, 0, 0, 0, 354, 0,
221 0, 0, 0, 54, 0, 0, 0, 0, 0, 0,
222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
223 0, 0, 0, 0, 0, 0, 0, 302, 0, 0,
224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
226 0, 0, 0, 337, 0, 0, 0, 0, 0, 0,
227 1202, 0, 0, 0, 0, 0, 0, 0, 0, 0,
228 0, 0, 91, 91, 187, 187, 0, 91, 0, 0,
229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
230 0, 0, 370, 91, 881, 0, 0, 91, 0, 0,
231 0, 0, 0, 0, 0, 0, 187, 0,
233 static short yygindex[] = { 0,
234 0, 0, 29, 378, 0, 0, -55, 0, 676, 567,
235 -94, 0, 0, 0, -355, -15, 2480, 0, 650, 364,
236 380, 0, 0, 0, 412, 755, 0, 0, 291, -202,
237 82, 120, 277, -88, -188, 534, 0, 0, 0, 465,
238 -58, 217, -247, 0, -135, 0, 0, 0, 0, 0,
239 0, 0, 0, 0, 0, 0, 0, 0, 0,
241 #define YYTABLESIZE 5052
242 static short yytable[] = { 71,
243 199, 22, 60, 229, 65, 65, 222, 297, 60, 111,
244 380, 200, 279, 329, 65, 300, 62, 64, 258, 377,
245 378, 161, 15, 184, 161, 220, 230, 187, 65, 67,
246 321, 189, 133, 130, 88, 198, 23, 24, 161, 161,
247 15, 398, 223, 161, 146, 148, 204, 301, 90, 323,
248 205, 206, 207, 208, 209, 210, 66, 18, 309, 186,
249 39, 320, 277, 188, 327, 92, 60, 281, 283, 259,
250 280, 102, 106, 161, 185, 18, 187, 26, 39, 16,
251 62, 64, 4, 5, 6, 17, 7, 8, 107, 171,
252 26, 26, 20, 38, 40, 108, 345, 16, 109, 214,
253 215, 256, 114, 17, 115, 116, 183, 131, 186, 155,
254 20, 38, 15, 9, 190, 375, 376, 225, 346, 191,
255 382, 26, 192, 26, 193, 195, 26, 26, 26, 355,
256 26, 197, 26, 26, 201, 26, 390, 212, 347, 367,
257 393, 232, 233, 235, 236, 237, 238, 239, 240, 26,
258 157, 158, 159, 160, 26, 299, 211, 161, 76, 319,
259 221, 348, 219, 182, 353, 226, 228, 262, 264, 265,
260 266, 267, 268, 269, 270, 272, 76, 274, 162, 163,
261 164, 26, 276, 60, 392, 215, 21, 332, 65, 284,
262 233, 322, 233, 336, 294, 324, 302, 308, 326, 21,
263 312, 303, 179, 305, 307, 180, 181, 182, 310, 164,
264 76, 318, 311, 26, 342, 26, 26, 334, 338, 21,
265 325, 328, 21, 21, 21, 96, 21, 344, 21, 21,
266 97, 21, 352, 162, 163, 164, 257, 162, 163, 164,
267 314, 60, 316, 317, 339, 21, 340, 162, 163, 164,
268 21, 341, 161, 161, 161, 161, 162, 163, 164, 161,
269 343, 161, 162, 163, 164, 110, 356, 161, 161, 161,
270 161, 357, 358, 361, 162, 163, 164, 21, 349, 385,
271 161, 161, 161, 354, 161, 161, 161, 161, 161, 161,
272 161, 161, 359, 360, 161, 171, 350, 161, 161, 161,
273 370, 362, 215, 162, 163, 164, 372, 165, 371, 21,
274 373, 21, 21, 166, 167, 168, 169, 162, 163, 164,
275 162, 163, 164, 162, 163, 164, 381, 383, 284, 387,
276 170, 172, 173, 174, 175, 176, 177, 178, 394, 395,
277 179, 53, 186, 180, 181, 182, 26, 26, 26, 26,
278 26, 26, 62, 26, 26, 26, 26, 26, 26, 26,
279 26, 26, 26, 26, 26, 26, 37, 71, 35, 26,
280 26, 1, 26, 26, 26, 26, 26, 162, 163, 164,
281 187, 26, 26, 26, 26, 26, 26, 26, 184, 76,
282 76, 76, 76, 26, 40, 37, 76, 162, 163, 164,
283 162, 163, 164, 26, 44, 26, 26, 44, 44, 44,
284 35, 44, 105, 44, 44, 135, 44, 76, 76, 76,
285 162, 163, 164, 162, 163, 164, 80, 162, 163, 164,
286 44, 136, 162, 163, 164, 44, 162, 163, 164, 162,
287 163, 164, 21, 21, 21, 21, 21, 21, 234, 21,
288 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
289 21, 21, 44, 369, 389, 21, 21, 278, 21, 21,
290 21, 21, 21, 162, 163, 164, 391, 21, 21, 21,
291 21, 21, 21, 21, 291, 162, 163, 164, 94, 21,
292 162, 163, 164, 333, 44, 0, 0, 44, 0, 21,
293 196, 21, 21, 196, 196, 196, 0, 196, 175, 196,
294 196, 175, 196, 165, 0, 162, 163, 164, 0, 166,
295 167, 168, 169, 0, 0, 175, 175, 162, 163, 164,
296 175, 196, 0, 0, 0, 0, 170, 172, 173, 174,
297 175, 176, 177, 178, 0, 0, 179, 0, 0, 180,
298 181, 182, 0, 0, 0, 0, 0, 0, 196, 168,
299 175, 0, 101, 0, 0, 197, 0, 0, 197, 197,
300 197, 0, 197, 146, 197, 197, 146, 197, 0, 123,
301 124, 178, 0, 0, 179, 0, 138, 180, 181, 182,
302 146, 146, 0, 196, 0, 146, 197, 0, 151, 152,
303 153, 154, 0, 0, 0, 0, 0, 0, 4, 5,
304 6, 0, 7, 8, 0, 0, 0, 4, 5, 6,
305 0, 7, 8, 0, 0, 146, 0, 44, 44, 44,
306 44, 44, 44, 0, 44, 44, 44, 0, 0, 9,
307 44, 0, 313, 44, 44, 44, 44, 171, 9, 217,
308 44, 44, 0, 44, 44, 44, 44, 44, 197, 0,
309 0, 0, 44, 44, 44, 44, 44, 44, 0, 0,
310 0, 0, 0, 0, 44, 0, 0, 99, 99, 0,
311 166, 167, 168, 169, 44, 178, 44, 44, 179, 112,
312 69, 180, 181, 182, 0, 120, 99, 128, 0, 0,
313 0, 134, 99, 177, 178, 0, 0, 179, 0, 0,
314 180, 181, 182, 0, 99, 99, 99, 99, 0, 0,
315 117, 0, 0, 126, 196, 196, 196, 196, 196, 0,
316 196, 196, 196, 0, 0, 0, 196, 0, 0, 175,
317 175, 175, 175, 0, 0, 0, 175, 196, 175, 196,
318 196, 196, 196, 196, 175, 175, 175, 175, 196, 196,
319 196, 196, 196, 196, 194, 120, 171, 175, 175, 175,
320 196, 175, 175, 175, 175, 175, 175, 175, 175, 203,
321 196, 175, 196, 196, 175, 175, 175, 0, 0, 197,
322 197, 197, 197, 197, 0, 197, 197, 197, 0, 0,
323 121, 197, 0, 0, 146, 146, 146, 146, 139, 0,
324 0, 146, 197, 146, 197, 197, 197, 197, 197, 146,
325 146, 146, 146, 197, 197, 197, 197, 197, 197, 0,
326 231, 260, 146, 146, 146, 197, 146, 146, 146, 146,
327 146, 146, 146, 146, 0, 197, 146, 197, 197, 146,
328 146, 146, 55, 0, 121, 65, 67, 53, 292, 60,
329 0, 68, 64, 0, 63, 165, 0, 0, 0, 0,
330 0, 166, 167, 168, 169, 0, 0, 218, 62, 0,
331 0, 0, 0, 66, 0, 121, 0, 0, 170, 172,
332 173, 174, 175, 176, 177, 178, 0, 0, 179, 168,
333 169, 180, 181, 182, 0, 364, 365, 366, 0, 368,
334 61, 0, 0, 44, 0, 0, 44, 44, 44, 0,
335 44, 178, 44, 44, 179, 44, 0, 180, 181, 182,
336 0, 0, 166, 167, 168, 169, 384, 0, 0, 44,
337 0, 0, 26, 386, 44, 56, 0, 388, 0, 0,
338 330, 0, 330, 175, 176, 177, 178, 0, 337, 179,
339 396, 397, 180, 181, 182, 0, 0, 0, 0, 0,
340 0, 44, 0, 55, 0, 0, 65, 67, 53, 0,
341 60, 0, 68, 64, 165, 63, 0, 0, 0, 0,
342 166, 167, 168, 169, 0, 0, 0, 0, 0, 0,
343 0, 0, 0, 44, 66, 0, 44, 170, 172, 173,
344 174, 175, 176, 177, 178, 0, 0, 179, 0, 0,
345 180, 181, 182, 0, 0, 0, 0, 0, 0, 0,
346 121, 61, 168, 169, 0, 0, 121, 55, 0, 0,
347 65, 67, 53, 0, 60, 0, 68, 64, 0, 63,
348 0, 0, 0, 177, 178, 0, 0, 179, 0, 0,
349 180, 181, 182, 26, 0, 0, 56, 0, 66, 0,
350 0, 0, 0, 0, 0, 25, 27, 28, 29, 30,
351 31, 0, 32, 33, 34, 0, 0, 0, 35, 0,
352 0, 36, 37, 38, 39, 61, 0, 171, 40, 41,
353 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
354 47, 48, 49, 50, 51, 52, 0, 0, 0, 0,
355 0, 0, 54, 0, 0, 0, 0, 26, 0, 0,
356 56, 0, 57, 0, 58, 59, 44, 44, 44, 44,
357 44, 44, 0, 44, 44, 44, 0, 0, 0, 44,
358 0, 0, 44, 44, 44, 44, 0, 0, 0, 44,
359 44, 0, 44, 44, 44, 44, 44, 0, 0, 0,
360 0, 44, 44, 44, 44, 44, 44, 0, 0, 0,
361 0, 0, 55, 44, 0, 65, 67, 53, 0, 60,
362 0, 68, 64, 44, 63, 44, 44, 119, 28, 29,
363 30, 31, 97, 32, 33, 34, 0, 0, 0, 35,
364 0, 0, 0, 66, 0, 0, 0, 0, 0, 0,
365 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
366 0, 47, 48, 49, 50, 51, 52, 0, 0, 0,
367 61, 0, 140, 54, 0, 140, 0, 166, 0, 168,
368 169, 0, 0, 57, 0, 58, 59, 0, 0, 140,
369 140, 27, 28, 29, 30, 31, 0, 32, 33, 34,
370 177, 178, 26, 35, 179, 56, 0, 180, 181, 182,
371 0, 0, 0, 0, 41, 0, 42, 43, 44, 45,
372 46, 0, 0, 0, 140, 47, 48, 49, 50, 51,
373 52, 55, 0, 0, 65, 67, 53, 54, 60, 0,
374 68, 64, 0, 63, 0, 165, 0, 57, 0, 58,
375 59, 166, 167, 168, 169, 0, 0, 129, 0, 0,
376 0, 0, 66, 0, 0, 0, 0, 0, 0, 172,
377 173, 174, 175, 176, 177, 178, 0, 0, 179, 0,
378 0, 180, 181, 182, 166, 167, 168, 169, 0, 61,
379 0, 55, 0, 0, 65, 67, 53, 0, 60, 145,
380 68, 64, 0, 63, 174, 175, 176, 177, 178, 0,
381 0, 179, 0, 0, 180, 181, 182, 0, 0, 0,
382 0, 0, 66, 0, 56, 0, 0, 0, 0, 0,
383 0, 0, 0, 0, 0, 0, 125, 28, 29, 30,
384 31, 0, 32, 33, 34, 0, 0, 0, 35, 61,
385 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,
386 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
387 47, 48, 49, 50, 51, 52, 55, 0, 0, 65,
388 67, 53, 54, 60, 56, 68, 64, 0, 63, 0,
389 0, 0, 57, 0, 58, 59, 0, 0, 0, 0,
390 0, 0, 0, 140, 140, 140, 140, 66, 0, 0,
391 140, 0, 0, 0, 0, 0, 0, 55, 0, 0,
392 65, 67, 53, 0, 60, 213, 68, 64, 0, 63,
393 0, 140, 140, 140, 61, 140, 147, 0, 0, 0,
394 0, 0, 0, 0, 0, 0, 0, 0, 66, 0,
395 74, 0, 0, 74, 0, 27, 28, 29, 30, 31,
396 0, 32, 33, 34, 0, 0, 0, 35, 74, 56,
397 0, 0, 0, 0, 0, 61, 0, 0, 41, 0,
398 42, 43, 44, 45, 46, 0, 0, 0, 0, 47,
399 48, 49, 50, 51, 52, 0, 0, 0, 0, 0,
400 0, 54, 74, 0, 0, 0, 0, 0, 0, 0,
401 56, 57, 0, 58, 59, 27, 28, 29, 30, 31,
402 0, 32, 33, 34, 0, 55, 0, 35, 65, 67,
403 53, 0, 60, 224, 68, 64, 0, 63, 41, 0,
404 42, 43, 44, 45, 46, 0, 0, 0, 0, 47,
405 48, 49, 50, 51, 52, 0, 66, 0, 0, 0,
406 0, 54, 0, 0, 0, 0, 0, 166, 167, 168,
407 169, 57, 0, 58, 59, 0, 0, 0, 79, 0,
408 0, 79, 0, 61, 0, 172, 173, 174, 175, 176,
409 177, 178, 0, 0, 179, 79, 79, 180, 181, 182,
410 27, 28, 29, 30, 31, 0, 32, 33, 34, 0,
411 0, 0, 35, 75, 0, 0, 75, 0, 56, 0,
412 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
413 79, 75, 0, 0, 47, 48, 49, 50, 51, 52,
414 0, 27, 28, 29, 30, 31, 54, 32, 33, 34,
415 0, 0, 0, 35, 0, 0, 57, 0, 58, 59,
416 0, 0, 0, 0, 41, 75, 42, 43, 44, 45,
417 46, 0, 0, 0, 0, 47, 48, 49, 50, 51,
418 52, 74, 74, 74, 74, 0, 55, 54, 74, 65,
419 67, 53, 0, 60, 263, 68, 64, 57, 63, 58,
420 59, 166, 167, 168, 169, 0, 0, 0, 0, 74,
421 74, 0, 0, 0, 0, 0, 0, 66, 0, 0,
422 0, 0, 0, 176, 177, 178, 0, 0, 179, 0,
423 0, 180, 181, 182, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 61, 0, 0, 0, 0, 27,
425 28, 29, 30, 31, 0, 32, 33, 34, 0, 55,
426 0, 35, 65, 67, 53, 0, 60, 271, 68, 64,
427 0, 63, 41, 0, 42, 43, 44, 45, 46, 56,
428 0, 0, 0, 47, 48, 49, 50, 51, 52, 0,
429 66, 0, 0, 0, 0, 54, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 57, 0, 58, 59, 79,
431 79, 79, 79, 0, 0, 0, 79, 61, 0, 0,
432 0, 0, 55, 0, 0, 65, 67, 53, 0, 60,
433 0, 68, 64, 0, 63, 0, 0, 79, 79, 79,
434 0, 0, 0, 0, 75, 75, 75, 75, 0, 0,
435 0, 75, 56, 66, 0, 0, 0, 162, 0, 0,
436 162, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 0, 75, 75, 162, 162, 0, 0, 0, 0,
438 61, 0, 0, 0, 0, 0, 0, 0, 0, 0,
439 0, 0, 0, 0, 0, 55, 0, 0, 65, 67,
440 53, 0, 60, 304, 68, 64, 0, 63, 0, 162,
441 27, 28, 29, 30, 31, 56, 32, 33, 34, 0,
442 0, 0, 35, 0, 0, 0, 66, 0, 0, 0,
443 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
444 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
445 0, 0, 0, 61, 0, 0, 54, 0, 0, 0,
446 0, 0, 0, 0, 0, 0, 57, 55, 58, 59,
447 65, 67, 53, 0, 60, 306, 68, 64, 0, 63,
448 0, 0, 0, 27, 28, 29, 30, 31, 56, 32,
449 33, 34, 0, 0, 0, 35, 0, 0, 66, 0,
450 0, 0, 0, 0, 0, 0, 41, 0, 42, 43,
451 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
452 50, 51, 52, 0, 0, 61, 0, 0, 0, 54,
453 0, 0, 0, 0, 0, 0, 0, 0, 0, 57,
454 0, 58, 59, 0, 0, 25, 27, 28, 29, 30,
455 31, 0, 32, 33, 34, 0, 0, 0, 35, 0,
456 56, 0, 0, 0, 0, 0, 0, 0, 0, 41,
457 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
458 47, 48, 49, 50, 51, 52, 0, 0, 162, 162,
459 162, 162, 54, 0, 0, 162, 0, 0, 0, 0,
460 0, 0, 57, 55, 58, 59, 65, 67, 53, 0,
461 60, 315, 68, 64, 0, 63, 162, 162, 162, 27,
462 28, 29, 30, 31, 0, 32, 33, 34, 0, 0,
463 0, 35, 0, 0, 66, 0, 0, 0, 0, 0,
464 0, 0, 41, 0, 42, 43, 44, 45, 46, 0,
465 0, 0, 0, 47, 48, 49, 50, 51, 52, 0,
466 0, 61, 0, 0, 0, 54, 0, 0, 0, 0,
467 0, 0, 0, 0, 0, 57, 55, 58, 59, 65,
468 67, 53, 0, 60, 0, 68, 64, 0, 63, 0,
469 0, 27, 28, 29, 30, 31, 56, 32, 33, 34,
470 0, 0, 0, 35, 0, 0, 0, 66, 0, 0,
471 0, 0, 0, 0, 41, 0, 42, 43, 44, 45,
472 46, 0, 0, 0, 0, 47, 48, 49, 50, 51,
473 52, 0, 0, 0, 61, 0, 0, 54, 0, 0,
474 0, 0, 0, 0, 0, 112, 0, 57, 112, 58,
475 59, 0, 0, 168, 0, 0, 168, 0, 0, 0,
476 0, 0, 112, 112, 0, 0, 0, 112, 0, 56,
477 168, 168, 0, 0, 0, 168, 0, 0, 0, 0,
478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 0, 0, 112, 0, 0,
480 0, 0, 0, 0, 0, 168, 0, 0, 0, 0,
481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
482 0, 0, 0, 0, 0, 0, 0, 27, 28, 29,
483 30, 31, 0, 32, 33, 34, 0, 0, 0, 35,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
485 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
486 0, 47, 48, 49, 50, 51, 52, 0, 0, 0,
487 0, 0, 164, 54, 0, 164, 0, 0, 0, 0,
488 0, 0, 0, 57, 0, 58, 59, 0, 0, 164,
489 164, 0, 103, 0, 164, 103, 0, 0, 0, 0,
490 27, 28, 29, 30, 31, 0, 32, 33, 34, 103,
491 103, 0, 35, 0, 0, 0, 0, 0, 0, 0,
492 0, 0, 0, 41, 164, 42, 43, 44, 45, 46,
493 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
494 0, 0, 103, 0, 103, 78, 54, 0, 78, 0,
495 113, 0, 0, 0, 118, 0, 57, 127, 58, 59,
496 132, 0, 78, 78, 140, 141, 142, 143, 144, 0,
497 0, 0, 149, 150, 0, 0, 112, 112, 112, 112,
498 0, 0, 0, 112, 168, 168, 168, 168, 0, 0,
499 0, 168, 0, 168, 0, 0, 0, 78, 0, 168,
500 168, 168, 168, 0, 112, 112, 112, 0, 112, 0,
501 0, 202, 168, 168, 168, 0, 168, 168, 168, 168,
502 168, 168, 168, 168, 0, 0, 168, 0, 0, 168,
503 168, 168, 0, 0, 0, 0, 0, 184, 0, 0,
504 184, 0, 0, 0, 0, 0, 0, 0, 0, 0,
505 0, 0, 0, 0, 184, 184, 0, 0, 0, 184,
506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
507 0, 0, 0, 0, 241, 242, 243, 244, 245, 246,
508 247, 248, 249, 250, 251, 252, 253, 254, 255, 184,
509 0, 151, 0, 0, 151, 0, 0, 0, 0, 0,
510 0, 0, 273, 164, 164, 164, 164, 0, 151, 151,
511 164, 0, 164, 151, 0, 0, 0, 0, 164, 164,
512 164, 164, 0, 103, 103, 103, 103, 0, 0, 0,
513 103, 164, 164, 164, 0, 164, 164, 164, 164, 164,
514 164, 164, 164, 151, 146, 164, 0, 146, 164, 164,
515 164, 103, 103, 103, 0, 0, 0, 0, 0, 0,
516 0, 146, 146, 0, 0, 0, 146, 0, 0, 0,
517 0, 0, 0, 0, 0, 0, 78, 78, 78, 78,
518 0, 0, 0, 78, 0, 0, 0, 0, 0, 335,
519 0, 0, 149, 0, 0, 149, 146, 0, 0, 0,
520 0, 0, 0, 0, 78, 78, 78, 0, 0, 149,
521 149, 0, 0, 0, 149, 0, 0, 0, 0, 0,
522 0, 0, 351, 0, 0, 0, 0, 0, 0, 0,
523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
524 147, 0, 0, 147, 149, 0, 0, 0, 0, 0,
525 0, 0, 0, 0, 0, 0, 0, 147, 147, 0,
526 0, 0, 147, 0, 0, 0, 0, 0, 184, 184,
527 184, 184, 0, 0, 0, 184, 0, 184, 0, 0,
528 0, 0, 0, 184, 184, 184, 184, 0, 0, 0,
529 0, 0, 147, 0, 0, 0, 184, 184, 184, 0,
530 184, 184, 184, 184, 184, 184, 184, 184, 0, 0,
531 184, 0, 0, 184, 184, 184, 0, 0, 0, 0,
532 0, 0, 151, 151, 151, 151, 0, 157, 0, 151,
533 157, 151, 0, 0, 0, 0, 0, 151, 151, 151,
534 151, 0, 0, 0, 157, 157, 0, 0, 0, 157,
535 151, 151, 151, 0, 151, 151, 151, 151, 151, 151,
536 151, 151, 0, 0, 151, 0, 0, 151, 151, 151,
537 0, 0, 0, 0, 0, 146, 146, 146, 146, 157,
538 0, 0, 146, 0, 146, 0, 0, 0, 0, 0,
539 146, 146, 146, 146, 0, 0, 0, 0, 0, 0,
540 0, 0, 0, 146, 146, 146, 0, 146, 146, 146,
541 146, 146, 146, 146, 146, 0, 0, 146, 0, 0,
542 146, 146, 146, 149, 149, 149, 149, 0, 0, 0,
543 149, 0, 149, 0, 0, 0, 0, 0, 149, 149,
544 149, 149, 0, 0, 0, 0, 0, 0, 0, 0,
545 0, 149, 149, 149, 0, 149, 149, 149, 149, 149,
546 149, 149, 149, 0, 0, 149, 0, 0, 149, 149,
547 149, 147, 147, 147, 147, 0, 175, 0, 147, 175,
548 147, 0, 0, 0, 0, 0, 147, 147, 147, 147,
549 0, 0, 0, 175, 175, 0, 0, 0, 175, 147,
550 147, 147, 0, 147, 147, 147, 147, 147, 147, 147,
551 147, 0, 0, 147, 0, 0, 147, 147, 147, 0,
552 0, 0, 0, 0, 0, 0, 178, 0, 175, 178,
553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
554 0, 0, 0, 178, 178, 0, 0, 0, 178, 0,
555 0, 0, 0, 0, 0, 0, 0, 0, 157, 157,
556 157, 157, 0, 0, 0, 157, 0, 157, 0, 0,
557 0, 0, 0, 157, 157, 157, 157, 0, 178, 0,
558 0, 0, 0, 0, 0, 0, 157, 157, 157, 0,
559 157, 157, 157, 157, 157, 157, 157, 157, 145, 0,
560 157, 145, 0, 157, 157, 157, 0, 0, 0, 0,
561 0, 0, 0, 0, 0, 145, 145, 0, 0, 0,
562 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
564 0, 0, 0, 0, 0, 0, 77, 0, 0, 77,
565 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
566 0, 0, 0, 77, 77, 0, 0, 0, 77, 0,
567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
569 0, 0, 0, 0, 0, 185, 0, 0, 77, 0,
570 0, 0, 0, 0, 0, 0, 0, 175, 175, 175,
571 175, 0, 185, 185, 175, 0, 175, 185, 0, 0,
572 0, 0, 175, 175, 175, 175, 0, 0, 0, 0,
573 0, 0, 0, 0, 0, 175, 175, 175, 0, 175,
574 175, 175, 175, 175, 175, 175, 175, 185, 0, 175,
575 0, 0, 175, 175, 175, 0, 0, 178, 178, 178,
576 178, 0, 66, 0, 178, 66, 178, 0, 0, 0,
577 0, 0, 178, 178, 178, 178, 0, 0, 0, 66,
578 66, 0, 0, 0, 66, 178, 178, 178, 0, 178,
579 178, 178, 178, 178, 178, 178, 178, 0, 0, 178,
580 0, 0, 178, 178, 178, 0, 0, 0, 0, 0,
581 0, 0, 0, 0, 66, 0, 0, 144, 0, 0,
582 144, 0, 0, 0, 0, 0, 0, 0, 0, 145,
583 145, 145, 145, 0, 144, 144, 145, 0, 145, 144,
584 0, 0, 0, 0, 145, 145, 145, 145, 0, 0,
585 0, 0, 0, 0, 0, 0, 0, 145, 145, 145,
586 0, 145, 145, 145, 145, 145, 145, 145, 145, 144,
587 0, 145, 0, 0, 145, 145, 145, 77, 77, 77,
588 77, 0, 83, 0, 77, 83, 77, 0, 0, 0,
589 0, 0, 77, 77, 77, 77, 0, 0, 0, 83,
590 83, 0, 0, 0, 83, 77, 77, 77, 0, 77,
591 77, 77, 77, 77, 77, 77, 77, 0, 0, 77,
592 0, 0, 77, 77, 77, 0, 185, 185, 185, 185,
593 163, 0, 0, 185, 83, 185, 0, 0, 0, 0,
594 0, 185, 185, 185, 185, 0, 0, 163, 163, 0,
595 0, 0, 163, 0, 185, 185, 185, 0, 185, 185,
596 185, 185, 185, 185, 185, 185, 0, 0, 185, 0,
597 0, 185, 185, 185, 0, 0, 0, 0, 0, 0,
598 0, 80, 163, 0, 0, 0, 0, 0, 0, 0,
599 0, 0, 0, 66, 66, 66, 66, 0, 80, 80,
600 66, 0, 66, 80, 0, 0, 0, 0, 66, 66,
601 66, 66, 0, 0, 0, 0, 0, 0, 0, 0,
602 0, 66, 66, 66, 0, 66, 66, 66, 66, 66,
603 66, 66, 66, 80, 0, 66, 0, 0, 66, 66,
604 66, 0, 0, 0, 0, 0, 0, 0, 144, 144,
605 144, 144, 0, 123, 0, 144, 123, 144, 0, 0,
606 0, 0, 0, 144, 144, 144, 144, 0, 0, 0,
607 123, 123, 0, 0, 0, 123, 144, 144, 144, 0,
608 144, 144, 144, 144, 144, 144, 144, 144, 0, 0,
609 144, 0, 0, 144, 144, 144, 0, 0, 0, 0,
610 0, 124, 0, 0, 124, 123, 0, 0, 0, 0,
611 0, 0, 0, 83, 83, 83, 83, 0, 124, 124,
612 83, 0, 83, 124, 0, 0, 0, 0, 83, 83,
613 83, 83, 0, 0, 0, 0, 0, 0, 0, 0,
614 0, 83, 83, 83, 0, 83, 83, 83, 83, 83,
615 83, 83, 83, 124, 0, 83, 0, 0, 83, 83,
616 83, 163, 163, 163, 163, 0, 119, 0, 163, 119,
617 163, 0, 0, 0, 0, 0, 163, 163, 163, 163,
618 0, 0, 0, 119, 119, 0, 0, 0, 119, 163,
619 163, 163, 0, 163, 163, 163, 163, 163, 163, 163,
620 163, 0, 0, 163, 0, 0, 163, 163, 163, 0,
621 0, 0, 80, 80, 80, 80, 0, 120, 119, 80,
622 120, 80, 0, 0, 0, 0, 0, 80, 80, 80,
623 80, 0, 0, 0, 120, 120, 0, 0, 0, 120,
624 80, 80, 80, 0, 80, 80, 80, 80, 80, 80,
625 80, 80, 0, 0, 80, 0, 0, 80, 80, 80,
626 0, 0, 0, 0, 0, 0, 0, 0, 0, 120,
627 0, 0, 141, 0, 0, 141, 0, 0, 0, 0,
628 0, 0, 0, 0, 123, 123, 123, 123, 0, 141,
629 141, 123, 0, 123, 141, 0, 0, 0, 0, 123,
630 123, 123, 123, 0, 0, 0, 0, 0, 0, 0,
631 0, 0, 123, 123, 123, 0, 123, 123, 123, 123,
632 123, 123, 123, 123, 141, 0, 123, 0, 0, 0,
633 0, 0, 124, 124, 124, 124, 0, 117, 0, 124,
634 117, 124, 0, 0, 0, 0, 0, 124, 124, 124,
635 124, 0, 0, 0, 117, 117, 0, 0, 0, 117,
636 124, 124, 124, 0, 124, 124, 124, 124, 124, 124,
637 124, 124, 0, 0, 124, 0, 0, 0, 0, 0,
638 0, 0, 0, 0, 0, 118, 0, 0, 118, 117,
639 0, 0, 0, 0, 0, 0, 0, 119, 119, 119,
640 119, 0, 118, 118, 119, 0, 119, 118, 0, 0,
641 0, 0, 119, 119, 119, 119, 0, 0, 0, 0,
642 0, 0, 0, 0, 0, 119, 119, 119, 0, 119,
643 119, 119, 119, 119, 119, 119, 119, 118, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0, 120, 120,
645 120, 120, 0, 0, 0, 120, 0, 120, 0, 0,
646 0, 0, 0, 120, 120, 120, 120, 0, 0, 0,
647 0, 116, 0, 0, 116, 0, 120, 120, 120, 0,
648 120, 120, 120, 120, 120, 120, 120, 120, 116, 116,
649 0, 0, 0, 116, 0, 0, 0, 0, 0, 0,
650 0, 0, 0, 141, 141, 141, 141, 0, 0, 0,
651 141, 0, 141, 0, 0, 0, 0, 0, 141, 141,
652 141, 141, 0, 116, 0, 0, 104, 0, 0, 104,
653 0, 141, 141, 141, 0, 141, 141, 141, 141, 141,
654 141, 141, 141, 104, 104, 0, 0, 0, 104, 0,
655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
656 0, 0, 0, 0, 0, 0, 0, 0, 117, 117,
657 117, 117, 0, 0, 0, 117, 0, 117, 104, 0,
658 0, 0, 0, 117, 117, 117, 117, 0, 0, 0,
659 0, 105, 0, 0, 105, 0, 117, 117, 117, 0,
660 117, 117, 117, 117, 117, 117, 117, 117, 105, 105,
661 0, 0, 0, 105, 0, 0, 118, 118, 118, 118,
662 0, 0, 0, 118, 0, 118, 0, 0, 0, 0,
663 0, 118, 118, 118, 118, 0, 0, 0, 0, 106,
664 0, 0, 106, 105, 118, 118, 118, 0, 118, 118,
665 118, 118, 118, 118, 118, 118, 106, 106, 0, 0,
666 0, 106, 0, 0, 0, 0, 0, 0, 0, 0,
667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
669 107, 106, 0, 107, 0, 0, 0, 0, 0, 0,
670 0, 0, 116, 116, 116, 116, 0, 107, 107, 116,
671 0, 116, 107, 0, 0, 0, 0, 116, 116, 116,
672 116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
673 116, 116, 116, 0, 116, 116, 116, 116, 116, 116,
674 116, 116, 107, 0, 0, 167, 0, 0, 167, 0,
675 0, 0, 0, 0, 0, 0, 0, 104, 104, 104,
676 104, 0, 167, 167, 104, 0, 104, 167, 0, 0,
677 0, 0, 104, 104, 104, 104, 0, 0, 0, 0,
678 0, 0, 0, 0, 0, 104, 104, 104, 0, 104,
679 104, 104, 104, 104, 104, 104, 104, 167, 0, 0,
680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
681 166, 0, 0, 166, 0, 0, 0, 0, 0, 0,
682 0, 0, 105, 105, 105, 105, 0, 166, 166, 105,
683 0, 105, 166, 0, 0, 0, 0, 105, 105, 105,
684 105, 0, 0, 0, 0, 0, 0, 0, 0, 0,
685 105, 105, 105, 0, 105, 105, 105, 105, 105, 105,
686 105, 0, 166, 0, 0, 130, 0, 0, 130, 0,
687 106, 106, 106, 106, 0, 143, 0, 106, 143, 106,
688 0, 0, 130, 130, 0, 106, 106, 130, 106, 0,
689 0, 0, 143, 143, 0, 0, 0, 143, 106, 106,
690 106, 0, 106, 106, 106, 106, 106, 106, 106, 0,
691 0, 0, 0, 0, 0, 0, 108, 130, 0, 108,
692 0, 107, 107, 107, 107, 0, 0, 143, 107, 0,
693 107, 0, 0, 108, 108, 0, 107, 107, 108, 0,
694 0, 0, 0, 0, 0, 0, 0, 0, 0, 107,
695 107, 107, 0, 107, 107, 107, 107, 107, 107, 107,
696 0, 0, 0, 0, 109, 0, 0, 109, 108, 0,
697 0, 0, 0, 0, 0, 0, 167, 167, 167, 167,
698 0, 109, 109, 167, 0, 167, 109, 0, 0, 0,
699 0, 167, 167, 0, 0, 0, 0, 0, 0, 0,
700 0, 0, 0, 0, 167, 167, 167, 0, 167, 167,
701 167, 167, 167, 167, 110, 0, 109, 110, 0, 0,
702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
703 0, 110, 110, 0, 0, 0, 110, 0, 0, 0,
704 0, 166, 166, 166, 166, 0, 0, 0, 166, 0,
705 166, 0, 0, 0, 0, 0, 166, 166, 0, 0,
706 0, 0, 111, 0, 0, 111, 110, 0, 0, 166,
707 166, 166, 0, 166, 166, 166, 166, 166, 166, 111,
708 111, 0, 0, 0, 111, 0, 0, 0, 0, 0,
709 0, 0, 0, 0, 0, 0, 130, 130, 130, 130,
710 0, 113, 0, 130, 113, 130, 143, 143, 143, 143,
711 0, 130, 130, 143, 111, 143, 0, 0, 113, 113,
712 0, 143, 143, 113, 130, 130, 130, 0, 130, 130,
713 130, 130, 130, 130, 143, 143, 143, 0, 143, 143,
714 143, 143, 143, 143, 0, 0, 0, 108, 108, 108,
715 108, 0, 0, 113, 108, 0, 108, 0, 0, 0,
716 0, 0, 0, 108, 0, 0, 0, 0, 114, 0,
717 0, 114, 0, 0, 0, 108, 108, 108, 0, 108,
718 108, 108, 108, 108, 108, 114, 114, 0, 0, 0,
719 114, 0, 0, 0, 0, 109, 109, 109, 109, 0,
720 0, 0, 109, 0, 109, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 0, 115, 0, 0, 115,
722 114, 0, 0, 109, 109, 109, 0, 109, 109, 109,
723 109, 109, 109, 115, 115, 0, 0, 0, 115, 0,
724 0, 0, 0, 0, 0, 110, 110, 110, 110, 0,
725 0, 0, 110, 0, 110, 0, 0, 0, 0, 0,
726 0, 0, 0, 0, 0, 0, 0, 0, 115, 0,
727 0, 0, 0, 110, 110, 110, 0, 110, 110, 110,
728 110, 110, 110, 0, 0, 0, 0, 0, 0, 0,
729 0, 0, 0, 111, 111, 111, 111, 0, 0, 0,
730 111, 0, 111, 0, 0, 0, 0, 0, 0, 0,
731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
732 0, 111, 111, 111, 0, 111, 111, 111, 111, 111,
733 0, 0, 113, 113, 113, 113, 0, 0, 0, 113,
734 0, 113, 0, 0, 0, 0, 0, 0, 0, 0,
735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 113, 113, 113, 0, 113, 113, 113, 113, 0, 0,
737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
740 114, 114, 114, 0, 0, 0, 114, 0, 114, 0,
741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
742 0, 0, 0, 0, 0, 0, 0, 114, 114, 114,
743 0, 114, 114, 114, 0, 0, 0, 0, 0, 0,
744 0, 0, 0, 0, 0, 0, 0, 115, 115, 115,
745 115, 0, 0, 0, 115, 0, 115, 0, 0, 0,
746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
747 0, 0, 0, 0, 0, 115, 115, 115, 0, 115,
750 static short yycheck[] = { 15,
751 95, 59, 59, 41, 36, 36, 59, 210, 123, 40,
752 366, 100, 201, 59, 36, 41, 59, 59, 40, 276,
753 277, 41, 41, 40, 44, 40, 93, 91, 36, 37,
754 93, 91, 40, 49, 257, 94, 8, 9, 58, 59,
755 59, 397, 131, 63, 60, 61, 105, 44, 257, 93,
756 106, 107, 108, 109, 110, 111, 64, 41, 41, 123,
757 41, 41, 198, 123, 41, 59, 123, 41, 204, 91,
758 44, 40, 40, 93, 91, 59, 91, 123, 59, 41,
759 123, 123, 266, 267, 268, 41, 270, 271, 40, 63,
760 0, 123, 41, 41, 41, 40, 299, 59, 40, 115,
761 116, 123, 40, 59, 40, 40, 123, 257, 123, 278,
762 59, 59, 59, 297, 123, 363, 364, 133, 41, 40,
763 368, 123, 59, 33, 44, 260, 36, 37, 38, 318,
764 40, 257, 42, 43, 40, 45, 384, 41, 41, 342,
765 388, 157, 158, 159, 160, 161, 162, 163, 164, 59,
766 272, 273, 274, 275, 64, 211, 40, 279, 41, 59,
767 125, 41, 40, 319, 41, 298, 91, 183, 184, 185,
768 186, 187, 188, 189, 190, 191, 59, 298, 300, 301,
769 302, 91, 257, 298, 387, 201, 0, 276, 36, 205,
770 206, 59, 208, 282, 210, 59, 41, 125, 59, 257,
771 91, 217, 314, 219, 220, 317, 318, 319, 260, 302,
772 93, 40, 228, 123, 40, 125, 126, 41, 41, 33,
773 93, 260, 36, 37, 38, 257, 40, 59, 42, 43,
774 262, 45, 59, 300, 301, 302, 258, 300, 301, 302,
775 256, 298, 258, 259, 41, 59, 41, 300, 301, 302,
776 64, 41, 272, 273, 274, 275, 300, 301, 302, 279,
777 41, 281, 300, 301, 302, 296, 125, 287, 288, 289,
778 290, 125, 125, 41, 300, 301, 302, 91, 93, 374,
779 300, 301, 302, 93, 304, 305, 306, 307, 308, 309,
780 310, 311, 125, 59, 314, 63, 312, 317, 318, 319,
781 41, 123, 318, 300, 301, 302, 125, 281, 93, 123,
782 41, 125, 126, 287, 288, 289, 290, 300, 301, 302,
783 300, 301, 302, 300, 301, 302, 41, 59, 344, 40,
784 304, 305, 306, 307, 308, 309, 310, 311, 41, 41,
785 314, 123, 41, 317, 318, 319, 256, 257, 258, 259,
786 260, 261, 123, 263, 264, 265, 266, 267, 268, 269,
787 270, 271, 272, 273, 274, 275, 41, 383, 59, 279,
788 280, 0, 282, 283, 284, 285, 286, 300, 301, 302,
789 41, 291, 292, 293, 294, 295, 296, 297, 59, 272,
790 273, 274, 275, 303, 41, 59, 279, 300, 301, 302,
791 300, 301, 302, 313, 33, 315, 316, 36, 37, 38,
792 41, 40, 35, 42, 43, 52, 45, 300, 301, 302,
793 300, 301, 302, 300, 301, 302, 15, 300, 301, 302,
794 59, 52, 300, 301, 302, 64, 300, 301, 302, 300,
795 301, 302, 256, 257, 258, 259, 260, 261, 158, 263,
796 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
797 274, 275, 91, 344, 383, 279, 280, 125, 282, 283,
798 284, 285, 286, 300, 301, 302, 125, 291, 292, 293,
799 294, 295, 296, 297, 208, 300, 301, 302, 24, 303,
800 300, 301, 302, 277, 123, -1, -1, 126, -1, 313,
801 33, 315, 316, 36, 37, 38, -1, 40, 41, 42,
802 43, 44, 45, 281, -1, 300, 301, 302, -1, 287,
803 288, 289, 290, -1, -1, 58, 59, 300, 301, 302,
804 63, 64, -1, -1, -1, -1, 304, 305, 306, 307,
805 308, 309, 310, 311, -1, -1, 314, -1, -1, 317,
806 318, 319, -1, -1, -1, -1, -1, -1, 91, 289,
807 93, -1, 29, -1, -1, 33, -1, -1, 36, 37,
808 38, -1, 40, 41, 42, 43, 44, 45, -1, 46,
809 47, 311, -1, -1, 314, -1, 53, 317, 318, 319,
810 58, 59, -1, 126, -1, 63, 64, -1, 65, 66,
811 67, 68, -1, -1, -1, -1, -1, -1, 266, 267,
812 268, -1, 270, 271, -1, -1, -1, 266, 267, 268,
813 -1, 270, 271, -1, -1, 93, -1, 256, 257, 258,
814 259, 260, 261, -1, 263, 264, 265, -1, -1, 297,
815 269, -1, 58, 272, 273, 274, 275, 63, 297, 116,
816 279, 280, -1, 282, 283, 284, 285, 286, 126, -1,
817 -1, -1, 291, 292, 293, 294, 295, 296, -1, -1,
818 -1, -1, -1, -1, 303, -1, -1, 28, 29, -1,
819 287, 288, 289, 290, 313, 311, 315, 316, 314, 40,
820 15, 317, 318, 319, -1, 46, 47, 48, -1, -1,
821 -1, 52, 53, 310, 311, -1, -1, 314, -1, -1,
822 317, 318, 319, -1, 65, 66, 67, 68, -1, -1,
823 45, -1, -1, 48, 257, 258, 259, 260, 261, -1,
824 263, 264, 265, -1, -1, -1, 269, -1, -1, 272,
825 273, 274, 275, -1, -1, -1, 279, 280, 281, 282,
826 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
827 293, 294, 295, 296, 89, 116, 63, 300, 301, 302,
828 303, 304, 305, 306, 307, 308, 309, 310, 311, 104,
829 313, 314, 315, 316, 317, 318, 319, -1, -1, 257,
830 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
831 46, 269, -1, -1, 272, 273, 274, 275, 54, -1,
832 -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
833 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
834 155, 182, 300, 301, 302, 303, 304, 305, 306, 307,
835 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
836 318, 319, 33, -1, 100, 36, 37, 38, 209, 40,
837 -1, 42, 43, -1, 45, 281, -1, -1, -1, -1,
838 -1, 287, 288, 289, 290, -1, -1, 123, 59, -1,
839 -1, -1, -1, 64, -1, 131, -1, -1, 304, 305,
840 306, 307, 308, 309, 310, 311, -1, -1, 314, 289,
841 290, 317, 318, 319, -1, 339, 340, 341, -1, 343,
842 91, -1, -1, 33, -1, -1, 36, 37, 38, -1,
843 40, 311, 42, 43, 314, 45, -1, 317, 318, 319,
844 -1, -1, 287, 288, 289, 290, 370, -1, -1, 59,
845 -1, -1, 123, 377, 64, 126, -1, 381, -1, -1,
846 275, -1, 277, 308, 309, 310, 311, -1, 283, 314,
847 394, 395, 317, 318, 319, -1, -1, -1, -1, -1,
848 -1, 91, -1, 33, -1, -1, 36, 37, 38, -1,
849 40, -1, 42, 43, 281, 45, -1, -1, -1, -1,
850 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
851 -1, -1, -1, 123, 64, -1, 126, 304, 305, 306,
852 307, 308, 309, 310, 311, -1, -1, 314, -1, -1,
853 317, 318, 319, -1, -1, -1, -1, -1, -1, -1,
854 276, 91, 289, 290, -1, -1, 282, 33, -1, -1,
855 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
856 -1, -1, -1, 310, 311, -1, -1, 314, -1, -1,
857 317, 318, 319, 123, -1, -1, 126, -1, 64, -1,
858 -1, -1, -1, -1, -1, 256, 257, 258, 259, 260,
859 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
860 -1, 272, 273, 274, 275, 91, -1, 63, 279, 280,
861 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
862 291, 292, 293, 294, 295, 296, -1, -1, -1, -1,
863 -1, -1, 303, -1, -1, -1, -1, 123, -1, -1,
864 126, -1, 313, -1, 315, 316, 256, 257, 258, 259,
865 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
866 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
867 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
868 -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
869 -1, -1, 33, 303, -1, 36, 37, 38, -1, 40,
870 -1, 42, 43, 313, 45, 315, 316, 257, 258, 259,
871 260, 261, 262, 263, 264, 265, -1, -1, -1, 269,
872 -1, -1, -1, 64, -1, -1, -1, -1, -1, -1,
873 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
874 -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
875 91, -1, 41, 303, -1, 44, -1, 287, -1, 289,
876 290, -1, -1, 313, -1, 315, 316, -1, -1, 58,
877 59, 257, 258, 259, 260, 261, -1, 263, 264, 265,
878 310, 311, 123, 269, 314, 126, -1, 317, 318, 319,
879 -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
880 286, -1, -1, -1, 93, 291, 292, 293, 294, 295,
881 296, 33, -1, -1, 36, 37, 38, 303, 40, -1,
882 42, 43, -1, 45, -1, 281, -1, 313, -1, 315,
883 316, 287, 288, 289, 290, -1, -1, 59, -1, -1,
884 -1, -1, 64, -1, -1, -1, -1, -1, -1, 305,
885 306, 307, 308, 309, 310, 311, -1, -1, 314, -1,
886 -1, 317, 318, 319, 287, 288, 289, 290, -1, 91,
887 -1, 33, -1, -1, 36, 37, 38, -1, 40, 41,
888 42, 43, -1, 45, 307, 308, 309, 310, 311, -1,
889 -1, 314, -1, -1, 317, 318, 319, -1, -1, -1,
890 -1, -1, 64, -1, 126, -1, -1, -1, -1, -1,
891 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
892 261, -1, 263, 264, 265, -1, -1, -1, 269, 91,
893 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
894 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
895 291, 292, 293, 294, 295, 296, 33, -1, -1, 36,
896 37, 38, 303, 40, 126, 42, 43, -1, 45, -1,
897 -1, -1, 313, -1, 315, 316, -1, -1, -1, -1,
898 -1, -1, -1, 272, 273, 274, 275, 64, -1, -1,
899 279, -1, -1, -1, -1, -1, -1, 33, -1, -1,
900 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
901 -1, 300, 301, 302, 91, 304, 93, -1, -1, -1,
902 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
903 41, -1, -1, 44, -1, 257, 258, 259, 260, 261,
904 -1, 263, 264, 265, -1, -1, -1, 269, 59, 126,
905 -1, -1, -1, -1, -1, 91, -1, -1, 280, -1,
906 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
907 292, 293, 294, 295, 296, -1, -1, -1, -1, -1,
908 -1, 303, 93, -1, -1, -1, -1, -1, -1, -1,
909 126, 313, -1, 315, 316, 257, 258, 259, 260, 261,
910 -1, 263, 264, 265, -1, 33, -1, 269, 36, 37,
911 38, -1, 40, 41, 42, 43, -1, 45, 280, -1,
912 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
913 292, 293, 294, 295, 296, -1, 64, -1, -1, -1,
914 -1, 303, -1, -1, -1, -1, -1, 287, 288, 289,
915 290, 313, -1, 315, 316, -1, -1, -1, 41, -1,
916 -1, 44, -1, 91, -1, 305, 306, 307, 308, 309,
917 310, 311, -1, -1, 314, 58, 59, 317, 318, 319,
918 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
919 -1, -1, 269, 41, -1, -1, 44, -1, 126, -1,
920 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
921 93, 59, -1, -1, 291, 292, 293, 294, 295, 296,
922 -1, 257, 258, 259, 260, 261, 303, 263, 264, 265,
923 -1, -1, -1, 269, -1, -1, 313, -1, 315, 316,
924 -1, -1, -1, -1, 280, 93, 282, 283, 284, 285,
925 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
926 296, 272, 273, 274, 275, -1, 33, 303, 279, 36,
927 37, 38, -1, 40, 41, 42, 43, 313, 45, 315,
928 316, 287, 288, 289, 290, -1, -1, -1, -1, 300,
929 301, -1, -1, -1, -1, -1, -1, 64, -1, -1,
930 -1, -1, -1, 309, 310, 311, -1, -1, 314, -1,
931 -1, 317, 318, 319, -1, -1, -1, -1, -1, -1,
932 -1, -1, -1, -1, 91, -1, -1, -1, -1, 257,
933 258, 259, 260, 261, -1, 263, 264, 265, -1, 33,
934 -1, 269, 36, 37, 38, -1, 40, 41, 42, 43,
935 -1, 45, 280, -1, 282, 283, 284, 285, 286, 126,
936 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
937 64, -1, -1, -1, -1, 303, -1, -1, -1, -1,
938 -1, -1, -1, -1, -1, 313, -1, 315, 316, 272,
939 273, 274, 275, -1, -1, -1, 279, 91, -1, -1,
940 -1, -1, 33, -1, -1, 36, 37, 38, -1, 40,
941 -1, 42, 43, -1, 45, -1, -1, 300, 301, 302,
942 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
943 -1, 279, 126, 64, -1, -1, -1, 41, -1, -1,
944 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
945 -1, -1, 300, 301, 58, 59, -1, -1, -1, -1,
946 91, -1, -1, -1, -1, -1, -1, -1, -1, -1,
947 -1, -1, -1, -1, -1, 33, -1, -1, 36, 37,
948 38, -1, 40, 41, 42, 43, -1, 45, -1, 93,
949 257, 258, 259, 260, 261, 126, 263, 264, 265, -1,
950 -1, -1, 269, -1, -1, -1, 64, -1, -1, -1,
951 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
952 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
953 -1, -1, -1, 91, -1, -1, 303, -1, -1, -1,
954 -1, -1, -1, -1, -1, -1, 313, 33, 315, 316,
955 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
956 -1, -1, -1, 257, 258, 259, 260, 261, 126, 263,
957 264, 265, -1, -1, -1, 269, -1, -1, 64, -1,
958 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
959 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
960 294, 295, 296, -1, -1, 91, -1, -1, -1, 303,
961 -1, -1, -1, -1, -1, -1, -1, -1, -1, 313,
962 -1, 315, 316, -1, -1, 256, 257, 258, 259, 260,
963 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
964 126, -1, -1, -1, -1, -1, -1, -1, -1, 280,
965 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
966 291, 292, 293, 294, 295, 296, -1, -1, 272, 273,
967 274, 275, 303, -1, -1, 279, -1, -1, -1, -1,
968 -1, -1, 313, 33, 315, 316, 36, 37, 38, -1,
969 40, 41, 42, 43, -1, 45, 300, 301, 302, 257,
970 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
971 -1, 269, -1, -1, 64, -1, -1, -1, -1, -1,
972 -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
973 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
974 -1, 91, -1, -1, -1, 303, -1, -1, -1, -1,
975 -1, -1, -1, -1, -1, 313, 33, 315, 316, 36,
976 37, 38, -1, 40, -1, 42, 43, -1, 45, -1,
977 -1, 257, 258, 259, 260, 261, 126, 263, 264, 265,
978 -1, -1, -1, 269, -1, -1, -1, 64, -1, -1,
979 -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
980 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
981 296, -1, -1, -1, 91, -1, -1, 303, -1, -1,
982 -1, -1, -1, -1, -1, 41, -1, 313, 44, 315,
983 316, -1, -1, 41, -1, -1, 44, -1, -1, -1,
984 -1, -1, 58, 59, -1, -1, -1, 63, -1, 126,
985 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
986 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
987 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
988 -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
989 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
990 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
991 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
992 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
993 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
994 -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
995 -1, -1, 41, 303, -1, 44, -1, -1, -1, -1,
996 -1, -1, -1, 313, -1, 315, 316, -1, -1, 58,
997 59, -1, 41, -1, 63, 44, -1, -1, -1, -1,
998 257, 258, 259, 260, 261, -1, 263, 264, 265, 58,
999 59, -1, 269, -1, -1, -1, -1, -1, -1, -1,
1000 -1, -1, -1, 280, 93, 282, 283, 284, 285, 286,
1001 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
1002 -1, -1, 33, -1, 93, 41, 303, -1, 44, -1,
1003 41, -1, -1, -1, 45, -1, 313, 48, 315, 316,
1004 51, -1, 58, 59, 55, 56, 57, 58, 59, -1,
1005 -1, -1, 63, 64, -1, -1, 272, 273, 274, 275,
1006 -1, -1, -1, 279, 272, 273, 274, 275, -1, -1,
1007 -1, 279, -1, 281, -1, -1, -1, 93, -1, 287,
1008 288, 289, 290, -1, 300, 301, 302, -1, 304, -1,
1009 -1, 102, 300, 301, 302, -1, 304, 305, 306, 307,
1010 308, 309, 310, 311, -1, -1, 314, -1, -1, 317,
1011 318, 319, -1, -1, -1, -1, -1, 41, -1, -1,
1012 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1013 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1014 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1015 -1, -1, -1, -1, 165, 166, 167, 168, 169, 170,
1016 171, 172, 173, 174, 175, 176, 177, 178, 179, 93,
1017 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
1018 -1, -1, 193, 272, 273, 274, 275, -1, 58, 59,
1019 279, -1, 281, 63, -1, -1, -1, -1, 287, 288,
1020 289, 290, -1, 272, 273, 274, 275, -1, -1, -1,
1021 279, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1022 309, 310, 311, 93, 41, 314, -1, 44, 317, 318,
1023 319, 300, 301, 302, -1, -1, -1, -1, -1, -1,
1024 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
1025 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1026 -1, -1, -1, 279, -1, -1, -1, -1, -1, 280,
1027 -1, -1, 41, -1, -1, 44, 93, -1, -1, -1,
1028 -1, -1, -1, -1, 300, 301, 302, -1, -1, 58,
1029 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
1030 -1, -1, 313, -1, -1, -1, -1, -1, -1, -1,
1031 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1032 41, -1, -1, 44, 93, -1, -1, -1, -1, -1,
1033 -1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
1034 -1, -1, 63, -1, -1, -1, -1, -1, 272, 273,
1035 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1036 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
1037 -1, -1, 93, -1, -1, -1, 300, 301, 302, -1,
1038 304, 305, 306, 307, 308, 309, 310, 311, -1, -1,
1039 314, -1, -1, 317, 318, 319, -1, -1, -1, -1,
1040 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
1041 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1042 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1043 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1044 310, 311, -1, -1, 314, -1, -1, 317, 318, 319,
1045 -1, -1, -1, -1, -1, 272, 273, 274, 275, 93,
1046 -1, -1, 279, -1, 281, -1, -1, -1, -1, -1,
1047 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
1048 -1, -1, -1, 300, 301, 302, -1, 304, 305, 306,
1049 307, 308, 309, 310, 311, -1, -1, 314, -1, -1,
1050 317, 318, 319, 272, 273, 274, 275, -1, -1, -1,
1051 279, -1, 281, -1, -1, -1, -1, -1, 287, 288,
1052 289, 290, -1, -1, -1, -1, -1, -1, -1, -1,
1053 -1, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1054 309, 310, 311, -1, -1, 314, -1, -1, 317, 318,
1055 319, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1056 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1057 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1058 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1059 311, -1, -1, 314, -1, -1, 317, 318, 319, -1,
1060 -1, -1, -1, -1, -1, -1, 41, -1, 93, 44,
1061 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1062 -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
1063 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1064 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1065 -1, -1, -1, 287, 288, 289, 290, -1, 93, -1,
1066 -1, -1, -1, -1, -1, -1, 300, 301, 302, -1,
1067 304, 305, 306, 307, 308, 309, 310, 311, 41, -1,
1068 314, 44, -1, 317, 318, 319, -1, -1, -1, -1,
1069 -1, -1, -1, -1, -1, 58, 59, -1, -1, -1,
1070 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1071 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1072 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1073 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1074 -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
1075 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1076 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1077 -1, -1, -1, -1, -1, 41, -1, -1, 93, -1,
1078 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1079 275, -1, 58, 59, 279, -1, 281, 63, -1, -1,
1080 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1081 -1, -1, -1, -1, -1, 300, 301, 302, -1, 304,
1082 305, 306, 307, 308, 309, 310, 311, 93, -1, 314,
1083 -1, -1, 317, 318, 319, -1, -1, 272, 273, 274,
1084 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1085 -1, -1, 287, 288, 289, 290, -1, -1, -1, 58,
1086 59, -1, -1, -1, 63, 300, 301, 302, -1, 304,
1087 305, 306, 307, 308, 309, 310, 311, -1, -1, 314,
1088 -1, -1, 317, 318, 319, -1, -1, -1, -1, -1,
1089 -1, -1, -1, -1, 93, -1, -1, 41, -1, -1,
1090 44, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1091 273, 274, 275, -1, 58, 59, 279, -1, 281, 63,
1092 -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
1093 -1, -1, -1, -1, -1, -1, -1, 300, 301, 302,
1094 -1, 304, 305, 306, 307, 308, 309, 310, 311, 93,
1095 -1, 314, -1, -1, 317, 318, 319, 272, 273, 274,
1096 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1097 -1, -1, 287, 288, 289, 290, -1, -1, -1, 58,
1098 59, -1, -1, -1, 63, 300, 301, 302, -1, 304,
1099 305, 306, 307, 308, 309, 310, 311, -1, -1, 314,
1100 -1, -1, 317, 318, 319, -1, 272, 273, 274, 275,
1101 41, -1, -1, 279, 93, 281, -1, -1, -1, -1,
1102 -1, 287, 288, 289, 290, -1, -1, 58, 59, -1,
1103 -1, -1, 63, -1, 300, 301, 302, -1, 304, 305,
1104 306, 307, 308, 309, 310, 311, -1, -1, 314, -1,
1105 -1, 317, 318, 319, -1, -1, -1, -1, -1, -1,
1106 -1, 41, 93, -1, -1, -1, -1, -1, -1, -1,
1107 -1, -1, -1, 272, 273, 274, 275, -1, 58, 59,
1108 279, -1, 281, 63, -1, -1, -1, -1, 287, 288,
1109 289, 290, -1, -1, -1, -1, -1, -1, -1, -1,
1110 -1, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1111 309, 310, 311, 93, -1, 314, -1, -1, 317, 318,
1112 319, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1113 274, 275, -1, 41, -1, 279, 44, 281, -1, -1,
1114 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
1115 58, 59, -1, -1, -1, 63, 300, 301, 302, -1,
1116 304, 305, 306, 307, 308, 309, 310, 311, -1, -1,
1117 314, -1, -1, 317, 318, 319, -1, -1, -1, -1,
1118 -1, 41, -1, -1, 44, 93, -1, -1, -1, -1,
1119 -1, -1, -1, 272, 273, 274, 275, -1, 58, 59,
1120 279, -1, 281, 63, -1, -1, -1, -1, 287, 288,
1121 289, 290, -1, -1, -1, -1, -1, -1, -1, -1,
1122 -1, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1123 309, 310, 311, 93, -1, 314, -1, -1, 317, 318,
1124 319, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1125 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1126 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1127 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1128 311, -1, -1, 314, -1, -1, 317, 318, 319, -1,
1129 -1, -1, 272, 273, 274, 275, -1, 41, 93, 279,
1130 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1131 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1132 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1133 310, 311, -1, -1, 314, -1, -1, 317, 318, 319,
1134 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
1135 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1136 -1, -1, -1, -1, 272, 273, 274, 275, -1, 58,
1137 59, 279, -1, 281, 63, -1, -1, -1, -1, 287,
1138 288, 289, 290, -1, -1, -1, -1, -1, -1, -1,
1139 -1, -1, 300, 301, 302, -1, 304, 305, 306, 307,
1140 308, 309, 310, 311, 93, -1, 314, -1, -1, -1,
1141 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
1142 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1143 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1144 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1145 310, 311, -1, -1, 314, -1, -1, -1, -1, -1,
1146 -1, -1, -1, -1, -1, 41, -1, -1, 44, 93,
1147 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1148 275, -1, 58, 59, 279, -1, 281, 63, -1, -1,
1149 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1150 -1, -1, -1, -1, -1, 300, 301, 302, -1, 304,
1151 305, 306, 307, 308, 309, 310, 311, 93, -1, -1,
1152 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1153 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1154 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
1155 -1, 41, -1, -1, 44, -1, 300, 301, 302, -1,
1156 304, 305, 306, 307, 308, 309, 310, 311, 58, 59,
1157 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1158 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1159 279, -1, 281, -1, -1, -1, -1, -1, 287, 288,
1160 289, 290, -1, 93, -1, -1, 41, -1, -1, 44,
1161 -1, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1162 309, 310, 311, 58, 59, -1, -1, -1, 63, -1,
1163 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1164 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1165 274, 275, -1, -1, -1, 279, -1, 281, 93, -1,
1166 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
1167 -1, 41, -1, -1, 44, -1, 300, 301, 302, -1,
1168 304, 305, 306, 307, 308, 309, 310, 311, 58, 59,
1169 -1, -1, -1, 63, -1, -1, 272, 273, 274, 275,
1170 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
1171 -1, 287, 288, 289, 290, -1, -1, -1, -1, 41,
1172 -1, -1, 44, 93, 300, 301, 302, -1, 304, 305,
1173 306, 307, 308, 309, 310, 311, 58, 59, -1, -1,
1174 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1175 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1176 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1177 41, 93, -1, 44, -1, -1, -1, -1, -1, -1,
1178 -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
1179 -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
1180 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1181 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1182 310, 311, 93, -1, -1, 41, -1, -1, 44, -1,
1183 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1184 275, -1, 58, 59, 279, -1, 281, 63, -1, -1,
1185 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1186 -1, -1, -1, -1, -1, 300, 301, 302, -1, 304,
1187 305, 306, 307, 308, 309, 310, 311, 93, -1, -1,
1188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1189 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
1190 -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
1191 -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
1192 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1193 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1194 310, -1, 93, -1, -1, 41, -1, -1, 44, -1,
1195 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1196 -1, -1, 58, 59, -1, 287, 288, 63, 290, -1,
1197 -1, -1, 58, 59, -1, -1, -1, 63, 300, 301,
1198 302, -1, 304, 305, 306, 307, 308, 309, 310, -1,
1199 -1, -1, -1, -1, -1, -1, 41, 93, -1, 44,
1200 -1, 272, 273, 274, 275, -1, -1, 93, 279, -1,
1201 281, -1, -1, 58, 59, -1, 287, 288, 63, -1,
1202 -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
1203 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1204 -1, -1, -1, -1, 41, -1, -1, 44, 93, -1,
1205 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1206 -1, 58, 59, 279, -1, 281, 63, -1, -1, -1,
1207 -1, 287, 288, -1, -1, -1, -1, -1, -1, -1,
1208 -1, -1, -1, -1, 300, 301, 302, -1, 304, 305,
1209 306, 307, 308, 309, 41, -1, 93, 44, -1, -1,
1210 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1211 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
1212 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1213 281, -1, -1, -1, -1, -1, 287, 288, -1, -1,
1214 -1, -1, 41, -1, -1, 44, 93, -1, -1, 300,
1215 301, 302, -1, 304, 305, 306, 307, 308, 309, 58,
1216 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
1217 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1218 -1, 41, -1, 279, 44, 281, 272, 273, 274, 275,
1219 -1, 287, 288, 279, 93, 281, -1, -1, 58, 59,
1220 -1, 287, 288, 63, 300, 301, 302, -1, 304, 305,
1221 306, 307, 308, 309, 300, 301, 302, -1, 304, 305,
1222 306, 307, 308, 309, -1, -1, -1, 272, 273, 274,
1223 275, -1, -1, 93, 279, -1, 281, -1, -1, -1,
1224 -1, -1, -1, 288, -1, -1, -1, -1, 41, -1,
1225 -1, 44, -1, -1, -1, 300, 301, 302, -1, 304,
1226 305, 306, 307, 308, 309, 58, 59, -1, -1, -1,
1227 63, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1228 -1, -1, 279, -1, 281, -1, -1, -1, -1, -1,
1229 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1230 93, -1, -1, 300, 301, 302, -1, 304, 305, 306,
1231 307, 308, 309, 58, 59, -1, -1, -1, 63, -1,
1232 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1233 -1, -1, 279, -1, 281, -1, -1, -1, -1, -1,
1234 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
1235 -1, -1, -1, 300, 301, 302, -1, 304, 305, 306,
1236 307, 308, 309, -1, -1, -1, -1, -1, -1, -1,
1237 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1238 279, -1, 281, -1, -1, -1, -1, -1, -1, -1,
1239 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1240 -1, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1241 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1242 -1, 281, -1, -1, -1, -1, -1, -1, -1, -1,
1243 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1244 300, 301, 302, -1, 304, 305, 306, 307, -1, -1,
1245 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1246 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1247 -1, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1248 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
1249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1250 -1, -1, -1, -1, -1, -1, -1, 300, 301, 302,
1251 -1, 304, 305, 306, -1, -1, -1, -1, -1, -1,
1252 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1253 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
1254 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1255 -1, -1, -1, -1, -1, 300, 301, 302, -1, 304,
1262 #define YYMAXTOKEN 319
1264 static char *yyname[] = {
1265 "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,
1266 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1267 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,
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,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,
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,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,"WORD","METHOD","FUNCMETH","THING",
1273 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1274 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1275 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1276 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1277 "MYSUB","COLONATTR","PREC_LOW","OROP","DOROP","ANDOP","NOTOP","ASSIGNOP","OROR",
1278 "DORDOR","ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN",
1279 "POWOP","PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
1281 static char *yyrule[] = {
1283 "prog : progstart lineseq",
1284 "block : '{' remember lineseq '}'",
1287 "mblock : '{' mremember lineseq '}'",
1290 "lineseq : lineseq decl",
1291 "lineseq : lineseq line",
1292 "line : label cond",
1295 "line : label sideff ';'",
1298 "sideff : expr IF expr",
1299 "sideff : expr UNLESS expr",
1300 "sideff : expr WHILE expr",
1301 "sideff : expr UNTIL iexpr",
1302 "sideff : expr FOR expr",
1304 "else : ELSE mblock",
1305 "else : ELSIF '(' mexpr ')' mblock else",
1306 "cond : IF '(' remember mexpr ')' mblock else",
1307 "cond : UNLESS '(' remember miexpr ')' mblock else",
1309 "cont : CONTINUE block",
1310 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1311 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1312 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1313 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1314 "loop : label FOR '(' remember mexpr ')' mblock cont",
1315 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1316 "loop : label block cont",
1333 "format : FORMAT startformsub formname block",
1336 "mysubrout : MYSUB startsub subname proto subattrlist subbody",
1337 "subrout : SUB startsub subname proto subattrlist subbody",
1345 "subattrlist : COLONATTR THING",
1346 "subattrlist : COLONATTR",
1347 "myattrlist : COLONATTR THING",
1348 "myattrlist : COLONATTR",
1351 "package : PACKAGE WORD ';'",
1352 "package : PACKAGE ';'",
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 1509 "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;
1540 if ((yys = getenv("YYDEBUG")))
1543 if (yyn >= '0' && yyn <= '9')
1544 yydebug = yyn - '0';
1553 ** Initialize private stacks (yyparse may be called from an action)
1555 New(73, yyss, yystacksize, short);
1556 New(73, yyvs, yystacksize, YYSTYPE);
1564 *yyssp = yystate = 0;
1567 if ((yyn = yydefred[yystate])) goto yyreduce;
1570 if ((yychar = yylex()) < 0) yychar = 0;
1575 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1576 if (!yys) yys = "illegal-symbol";
1577 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1582 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1583 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1587 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1588 yystate, yytable[yyn]);
1590 if (yyssp >= yyss + yystacksize - 1)
1593 ** reallocate and recover. Note that pointers
1594 ** have to be reset, or bad things will happen
1596 int yyps_index = (yyssp - yyss);
1597 int yypv_index = (yyvsp - yyvs);
1598 yystacksize += YYSTACKSIZE;
1599 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1600 ysave->yyss = Renew(yyss, yystacksize, short);
1603 yyssp = yyss + yyps_index;
1604 yyvsp = yyvs + yypv_index;
1606 *++yyssp = yystate = yytable[yyn];
1609 if (yyerrflag > 0) --yyerrflag;
1612 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1613 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1618 if (yyerrflag) goto yyinrecovery;
1623 yyerror("syntax error");
1635 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1636 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1640 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery shifting\
1641 to state %d\n", *yyssp, yytable[yyn]);
1643 if (yyssp >= yyss + yystacksize - 1)
1646 ** reallocate and recover. Note that pointers
1647 ** have to be reset, or bad things will happen
1649 int yyps_index = (yyssp - yyss);
1650 int yypv_index = (yyvsp - yyvs);
1651 yystacksize += YYSTACKSIZE;
1652 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1653 ysave->yyss = Renew(yyss, yystacksize, short);
1656 yyssp = yyss + yyps_index;
1657 yyvsp = yyvs + yypv_index;
1659 *++yyssp = yystate = yytable[yyn];
1667 PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
1670 if (yyssp <= yyss) goto yyabort;
1678 if (yychar == 0) goto yyabort;
1683 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1684 if (!yys) yys = "illegal-symbol";
1685 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
1686 yystate, yychar, yys);
1695 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1696 yystate, yyn, yyrule[yyn]);
1699 yyval = yyvsp[1-yym];
1704 { yyval.ival = yyvsp[-1].ival; newPROG(block_end(yyvsp[-1].ival,yyvsp[0].opval)); }
1708 { if (PL_copline > (line_t)yyvsp[-3].ival)
1709 PL_copline = (line_t)yyvsp[-3].ival;
1710 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1714 { yyval.ival = block_start(TRUE); }
1719 #if defined(YYDEBUG) && defined(DEBUGGING)
1720 yydebug = (DEBUG_p_TEST);
1722 PL_expect = XSTATE; yyval.ival = block_start(TRUE);
1727 { if (PL_copline > (line_t)yyvsp[-3].ival)
1728 PL_copline = (line_t)yyvsp[-3].ival;
1729 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1733 { yyval.ival = block_start(FALSE); }
1737 { yyval.opval = Nullop; }
1741 { yyval.opval = yyvsp[-1].opval; }
1745 { yyval.opval = append_list(OP_LINESEQ,
1746 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1747 PL_pad_reset_pending = TRUE;
1748 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1752 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1756 { if (yyvsp[-1].pval != Nullch) {
1757 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1760 yyval.opval = Nullop;
1761 PL_copline = NOLINE;
1763 PL_expect = XSTATE; }
1767 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1768 PL_expect = XSTATE; }
1772 { yyval.opval = Nullop; }
1776 { yyval.opval = yyvsp[0].opval; }
1780 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1784 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1788 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1792 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1796 { yyval.opval = newFOROP(0, Nullch, (line_t)yyvsp[-1].ival,
1797 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1801 { yyval.opval = Nullop; }
1805 { (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
1809 { PL_copline = (line_t)yyvsp[-5].ival;
1810 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
1811 PL_hints |= HINT_BLOCK_SCOPE; }
1815 { PL_copline = (line_t)yyvsp[-6].ival;
1816 yyval.opval = block_end(yyvsp[-4].ival,
1817 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1821 { PL_copline = (line_t)yyvsp[-6].ival;
1822 yyval.opval = block_end(yyvsp[-4].ival,
1823 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1827 { yyval.opval = Nullop; }
1831 { yyval.opval = scope(yyvsp[0].opval); }
1835 { PL_copline = (line_t)yyvsp[-6].ival;
1836 yyval.opval = block_end(yyvsp[-4].ival,
1837 newSTATEOP(0, yyvsp[-7].pval,
1838 newWHILEOP(0, 1, (LOOP*)Nullop,
1839 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1843 { PL_copline = (line_t)yyvsp[-6].ival;
1844 yyval.opval = block_end(yyvsp[-4].ival,
1845 newSTATEOP(0, yyvsp[-7].pval,
1846 newWHILEOP(0, 1, (LOOP*)Nullop,
1847 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1851 { yyval.opval = block_end(yyvsp[-6].ival,
1852 newFOROP(0, yyvsp[-9].pval, (line_t)yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1856 { yyval.opval = block_end(yyvsp[-4].ival,
1857 newFOROP(0, yyvsp[-8].pval, (line_t)yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1858 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1862 { yyval.opval = block_end(yyvsp[-4].ival,
1863 newFOROP(0, yyvsp[-7].pval, (line_t)yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1868 PL_copline = (line_t)yyvsp[-9].ival;
1869 forop = newSTATEOP(0, yyvsp[-10].pval,
1870 newWHILEOP(0, 1, (LOOP*)Nullop,
1871 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1872 yyvsp[0].opval, yyvsp[-2].opval));
1873 if (yyvsp[-6].opval) {
1874 forop = append_elem(OP_LINESEQ,
1875 newSTATEOP(0, (yyvsp[-10].pval?savepv(yyvsp[-10].pval):Nullch),
1880 yyval.opval = block_end(yyvsp[-7].ival, forop); }
1884 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1885 newWHILEOP(0, 1, (LOOP*)Nullop,
1886 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1890 { yyval.opval = Nullop; }
1894 { (void)scan_num("1", &yylval); yyval.opval = yylval.opval; }
1898 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1902 { yyval.opval = yyvsp[0].opval; intro_my(); }
1906 { yyval.opval = yyvsp[0].opval; intro_my(); }
1910 { yyval.opval = yyvsp[0].opval; intro_my(); }
1914 { yyval.opval = yyvsp[0].opval; intro_my(); }
1918 { yyval.pval = Nullch; }
1942 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1946 { yyval.opval = yyvsp[0].opval; }
1950 { yyval.opval = Nullop; }
1954 { newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1958 { newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1962 { yyval.ival = start_subparse(FALSE, 0); }
1966 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1970 { yyval.ival = start_subparse(TRUE, 0); }
1974 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1975 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1976 || strEQ(name, "INIT") || strEQ(name, "CHECK"))
1977 CvSPECIAL_on(PL_compcv);
1978 yyval.opval = yyvsp[0].opval; }
1982 { yyval.opval = Nullop; }
1986 { yyval.opval = Nullop; }
1990 { yyval.opval = yyvsp[0].opval; }
1994 { yyval.opval = Nullop; }
1998 { yyval.opval = yyvsp[0].opval; }
2002 { yyval.opval = Nullop; }
2006 { yyval.opval = yyvsp[0].opval; }
2010 { yyval.opval = Nullop; PL_expect = XSTATE; }
2014 { package(yyvsp[-1].opval); }
2018 { package(Nullop); }
2022 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
2026 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
2030 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2034 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2038 { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2042 { yyval.opval = yyvsp[-1].opval; }
2046 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
2050 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
2051 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
2055 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
2056 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
2060 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2061 append_elem(OP_LIST,
2062 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
2063 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
2067 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2068 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
2069 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
2073 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2074 append_elem(OP_LIST,
2075 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
2076 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
2080 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2081 append_elem(OP_LIST,
2082 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
2083 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
2087 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2091 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2095 { yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
2099 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2100 append_elem(OP_LIST,
2101 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
2105 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
2109 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2113 { yyval.opval = newBINOP(OP_AELEM, 0,
2114 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2115 scalar(yyvsp[-1].opval));}
2119 { yyval.opval = newBINOP(OP_AELEM, 0,
2120 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2121 scalar(yyvsp[-1].opval));}
2125 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2126 PL_expect = XOPERATOR; }
2130 { yyval.opval = newBINOP(OP_HELEM, 0,
2131 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2132 jmaybe(yyvsp[-2].opval));
2133 PL_expect = XOPERATOR; }
2137 { yyval.opval = newBINOP(OP_HELEM, 0,
2138 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2139 jmaybe(yyvsp[-2].opval));
2140 PL_expect = XOPERATOR; }
2144 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2145 newCVREF(0, scalar(yyvsp[-3].opval))); }
2149 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2150 append_elem(OP_LIST, yyvsp[-1].opval,
2151 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2155 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2156 append_elem(OP_LIST, yyvsp[-1].opval,
2157 newCVREF(0, scalar(yyvsp[-3].opval)))); }
2161 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2162 newCVREF(0, scalar(yyvsp[-2].opval))); }
2166 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
2170 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2174 { if (yyvsp[-1].ival != OP_REPEAT)
2175 scalar(yyvsp[-2].opval);
2176 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2180 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2184 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2188 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2192 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2196 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2200 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2204 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2208 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2212 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2216 { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2220 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2224 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2228 { yyval.opval = yyvsp[0].opval; }
2232 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2236 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2240 { yyval.opval = newUNOP(OP_POSTINC, 0,
2241 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2245 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2246 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2250 { yyval.opval = newUNOP(OP_PREINC, 0,
2251 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2255 { yyval.opval = newUNOP(OP_PREDEC, 0,
2256 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2260 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2264 { yyval.opval = newANONLIST(Nullop); }
2268 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2272 { yyval.opval = newANONHASH(Nullop); }
2276 { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2280 { yyval.opval = dofile(yyvsp[0].opval); }
2284 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2288 { yyval.opval = newUNOP(OP_ENTERSUB,
2289 OPf_SPECIAL|OPf_STACKED,
2290 prepend_elem(OP_LIST,
2292 (OPpENTERSUB_AMPER<<8),
2293 scalar(yyvsp[-2].opval)
2294 )),Nullop)); dep();}
2298 { yyval.opval = newUNOP(OP_ENTERSUB,
2299 OPf_SPECIAL|OPf_STACKED,
2300 append_elem(OP_LIST,
2303 (OPpENTERSUB_AMPER<<8),
2304 scalar(yyvsp[-3].opval)
2309 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2310 prepend_elem(OP_LIST,
2311 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2315 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2316 prepend_elem(OP_LIST,
2318 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2322 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2326 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2330 { yyval.opval = yyvsp[0].opval; }
2334 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2338 { yyval.opval = sawparens(yyvsp[-1].opval); }
2342 { yyval.opval = sawparens(newNULLLIST()); }
2346 { yyval.opval = yyvsp[0].opval; }
2350 { yyval.opval = yyvsp[0].opval; }
2354 { yyval.opval = yyvsp[0].opval; }
2358 { yyval.opval = yyvsp[0].opval; }
2362 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2366 { yyval.opval = yyvsp[0].opval; }
2370 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2374 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2378 { yyval.opval = prepend_elem(OP_ASLICE,
2379 newOP(OP_PUSHMARK, 0),
2380 newLISTOP(OP_ASLICE, 0,
2381 list(yyvsp[-1].opval),
2382 ref(yyvsp[-3].opval, OP_ASLICE))); }
2386 { yyval.opval = prepend_elem(OP_HSLICE,
2387 newOP(OP_PUSHMARK, 0),
2388 newLISTOP(OP_HSLICE, 0,
2389 list(yyvsp[-2].opval),
2390 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2391 PL_expect = XOPERATOR; }
2395 { yyval.opval = yyvsp[0].opval; }
2399 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2403 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2407 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2408 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2412 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2413 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2417 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2418 PL_hints |= HINT_BLOCK_SCOPE; }
2422 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2426 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2430 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2434 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2438 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2442 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2443 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2447 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2451 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2455 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2456 scalar(yyvsp[0].opval)); }
2460 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2464 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2468 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2472 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2476 { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
2480 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2484 { yyval.opval = sawparens(yyvsp[-1].opval); }
2488 { yyval.opval = sawparens(newNULLLIST()); }
2492 { yyval.opval = yyvsp[0].opval; }
2496 { yyval.opval = yyvsp[0].opval; }
2500 { yyval.opval = yyvsp[0].opval; }
2504 { yyval.opval = Nullop; }
2508 { yyval.opval = yyvsp[0].opval; }
2512 { yyval.opval = Nullop; }
2516 { yyval.opval = yyvsp[0].opval; }
2520 { yyval.opval = yyvsp[-1].opval; }
2524 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2528 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2532 { yyval.opval = newSVREF(yyvsp[0].opval); }
2536 { yyval.opval = newAVREF(yyvsp[0].opval); }
2540 { yyval.opval = newHVREF(yyvsp[0].opval); }
2544 { yyval.opval = newAVREF(yyvsp[0].opval); }
2548 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2552 { yyval.opval = scalar(yyvsp[0].opval); }
2556 { yyval.opval = scalar(yyvsp[0].opval); }
2560 { yyval.opval = scope(yyvsp[0].opval); }
2564 { yyval.opval = yyvsp[0].opval; }
2566 #line 2567 "perly.c"
2572 if (yystate == 0 && yym == 0)
2576 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to\
2577 state %d\n", YYFINAL);
2584 if ((yychar = yylex()) < 0) yychar = 0;
2589 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2590 if (!yys) yys = "illegal-symbol";
2591 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2592 YYFINAL, yychar, yys);
2596 if (yychar == 0) goto yyaccept;
2599 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2600 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2601 yystate = yytable[yyn];
2603 yystate = yydgoto[yym];
2606 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d \
2607 to state %d\n", *yyssp, yystate);
2609 if (yyssp >= yyss + yystacksize - 1)
2612 ** reallocate and recover. Note that pointers
2613 ** have to be reset, or bad things will happen
2615 int yyps_index = (yyssp - yyss);
2616 int yypv_index = (yyvsp - yyvs);
2617 yystacksize += YYSTACKSIZE;
2618 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2619 ysave->yyss = Renew(yyss, yystacksize, short);
2622 yyssp = yyss + yyps_index;
2623 yyvsp = yyvs + yypv_index;
2629 yyerror("Out of memory for yacc stack");
2634 LEAVE; /* force yydestruct() before we return */
2640 yydestruct(pTHX_ void *ptr)
2642 struct ysv* ysave = (struct ysv*)ptr;
2643 if (ysave->yyss) Safefree(ysave->yyss);
2644 if (ysave->yyvs) Safefree(ysave->yyvs);
2645 yydebug = ysave->oldyydebug;
2646 yynerrs = ysave->oldyynerrs;
2647 yyerrflag = ysave->oldyyerrflag;
2648 yychar = ysave->oldyychar;
2649 yyval = ysave->oldyyval;
2650 yylval = ysave->oldyylval;