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, 58,
63 57, 16, 16, 16, 16, 26, 26, 26, 37, 37,
64 37, 37, 37, 37, 37, 37, 59, 37, 38, 38,
65 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
66 18, 50, 50, 50, 50, 50, 50, 50, 50, 50,
67 50, 50, 50, 50, 50, 51, 51, 51, 51, 51,
68 51, 51, 51, 52, 52, 52, 52, 52, 53, 53,
69 53, 53, 53, 53, 17, 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, 48, 48, 49, 49, 49,
74 49, 49, 34, 34, 35, 35, 35, 44, 24, 19,
75 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, 0,
85 7, 3, 3, 3, 1, 2, 3, 1, 3, 5,
86 6, 3, 3, 5, 2, 4, 0, 5, 1, 1,
87 5, 4, 5, 4, 5, 6, 5, 4, 5, 4,
88 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
89 3, 3, 3, 3, 3, 2, 2, 2, 2, 2,
90 2, 2, 2, 3, 2, 4, 3, 5, 2, 2,
91 4, 5, 4, 5, 1, 1, 1, 1, 5, 2,
92 1, 2, 3, 2, 1, 1, 1, 1, 1, 1,
93 6, 5, 4, 5, 1, 1, 3, 4, 3, 1,
94 2, 2, 1, 2, 2, 2, 1, 3, 1, 3,
95 4, 4, 6, 1, 1, 3, 2, 3, 2, 1,
96 1, 1, 0, 1, 0, 1, 2, 1, 2, 2,
97 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, 0, 14, 3, 174, 0, 0, 155, 0,
103 169, 0, 57, 57, 0, 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 12, 0, 0, 0, 0, 0, 0, 0, 10, 0,
107 0, 0, 0, 0, 147, 149, 0, 0, 0, 0,
108 175, 141, 135, 136, 137, 138, 52, 0, 59, 0,
109 69, 0, 0, 7, 195, 198, 197, 196, 0, 0,
110 0, 0, 0, 0, 3, 3, 3, 3, 3, 3,
111 0, 0, 0, 0, 0, 164, 0, 0, 0, 0,
112 85, 0, 193, 0, 130, 0, 0, 0, 0, 0,
113 0, 0, 180, 182, 181, 0, 189, 0, 0, 0,
114 0, 0, 0, 0, 0, 125, 0, 0, 0, 190,
115 191, 192, 194, 0, 34, 0, 0, 0, 0, 0,
116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
117 0, 0, 0, 0, 0, 0, 0, 0, 120, 121,
118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
119 13, 0, 51, 61, 0, 0, 0, 0, 83, 0,
120 0, 87, 0, 0, 0, 0, 0, 0, 0, 3,
121 168, 170, 0, 0, 0, 0, 0, 0, 0, 127,
122 0, 159, 179, 0, 0, 176, 0, 0, 124, 27,
123 0, 0, 19, 0, 0, 0, 0, 0, 72, 0,
124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
125 0, 0, 0, 0, 0, 89, 0, 0, 90, 0,
126 0, 101, 0, 0, 0, 0, 0, 0, 0, 157,
127 0, 0, 0, 0, 0, 0, 2, 0, 0, 172,
128 0, 0, 0, 42, 0, 43, 0, 0, 0, 0,
129 188, 0, 0, 36, 41, 0, 0, 0, 171, 187,
130 86, 0, 131, 0, 133, 0, 126, 178, 65, 0,
131 0, 0, 0, 98, 0, 0, 0, 0, 100, 94,
132 0, 92, 0, 153, 0, 158, 63, 68, 67, 55,
133 0, 54, 84, 0, 88, 128, 0, 0, 0, 0,
134 0, 0, 0, 0, 80, 132, 134, 152, 0, 0,
135 0, 99, 93, 0, 97, 95, 154, 91, 71, 173,
136 6, 0, 0, 0, 0, 0, 0, 0, 0, 151,
137 96, 81, 7, 28, 29, 0, 0, 24, 25, 0,
138 32, 0, 0, 0, 22, 0, 0, 0, 31, 5,
139 0, 30, 0, 0, 33, 0, 23,
141 static short yydgoto[] = { 1,
142 10, 11, 20, 103, 19, 2, 94, 373, 97, 362,
143 3, 12, 13, 69, 378, 288, 71, 72, 73, 74,
144 75, 76, 77, 78, 294, 80, 295, 284, 286, 289,
145 297, 285, 287, 121, 215, 99, 81, 260, 88, 90,
146 195, 330, 155, 292, 274, 226, 14, 82, 136, 83,
147 84, 85, 86, 15, 16, 17, 18, 92, 281,
149 static short yysindex[] = { 0,
150 0, 0, -236, 0, 0, 0, -231, 0, 0, 0,
151 0, 0, 0, 0, 819, 0, 0, 0, -211, -209,
152 3, 0, -209, 0, 0, 0, -32, -32, 0, 23,
153 0, 2213, 0, 0, 28, 30, 32, 33, -18, 2213,
154 42, 52, 64, 1004, 940, -32, 1149, 1268, -168, 2213,
155 174, -32, 2213, 2213, 2213, 2213, 2213, 2213, 1328, 1413,
156 0, 2213, 2213, -32, -32, -32, -32, -173, 0, 607,
157 404, -27, -71, -67, 0, 0, -12, 68, 66, 94,
158 0, 0, 0, 0, 0, 0, 0, 27, 0, -108,
159 0, -100, -108, 0, 0, 0, 0, 0, 2213, 122,
160 2213, 743, 27, -108, 0, 0, 0, 0, 0, 0,
161 125, 404, 135, 1454, 940, 0, 743, 0, -71, 94,
162 0, 2213, 0, 140, 0, 743, -25, 38, -8, 2213,
163 743, 1562, 0, 0, 0, -114, 0, 94, 245, 245,
164 245, -123, -123, 106, -34, 0, -53, 245, 245, 0,
165 0, 0, 0, 27, 0, 2213, 2213, 2213, 2213, 2213,
166 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213,
167 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 0, 0,
168 -26, 2213, 1723, 2213, 2213, 2213, 2213, 2213, 2213, 1796,
169 0, 2213, 0, 0, -90, -48, -90, 285, 0, 2213,
170 -35, 0, -90, 2213, 2213, 2213, 2213, 182, 1859, 0,
171 0, 0, -2, -42, 180, 2213, 94, 1932, 2004, 0,
172 102, 0, 0, 13, -21, 0, 2213, 142, 0, 0,
173 184, 184, 0, 184, 184, 184, -51, -51, 0, 296,
174 743, 386, 683, -158, 404, 643, 1034, 1034, 1067, 1345,
175 960, -112, 245, 245, 2213, 0, 2140, 2213, 0, 216,
176 120, 0, 40, 127, 123, 214, 132, 217, 136, 0,
177 77, 404, -3, -47, 2213, -47, 0, 220, 2213, 0,
178 2213, 27, 184, 0, 224, 0, 240, 184, 244, 246,
179 0, 261, 607, 0, 0, 267, 227, 2213, 0, 0,
180 0, 88, 0, 95, 0, 98, 0, 0, 0, 236,
181 2213, 2213, 139, 0, 117, 239, 2213, 194, 0, 0,
182 206, 0, 213, 0, 218, 0, 0, 0, 0, 0,
183 293, 0, 0, 585, 0, 0, 221, 221, 221, 221,
184 2213, 221, 2213, 325, 0, 0, 0, 0, 243, 703,
185 255, 0, 0, 327, 0, 0, 0, 0, 0, 0,
186 0, -173, -173, -240, -240, 351, -173, 332, 221, 0,
187 0, 0, 0, 0, 0, 221, 354, 0, 0, 221,
188 0, 1859, -173, 350, 0, 2213, -173, 360, 0, 0,
189 361, 0, 221, 221, 0, -240, 0,
191 static short yyrindex[] = { 0,
192 0, 0, 371, 0, 0, 0, 0, 0, 0, 0,
193 0, 0, 0, 0, 0, 0, 0, 0, 289, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
195 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
196 2282, 0, 0, 2401, 2566, 0, 0, 0, 0, 0,
197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
198 0, 0, 0, 0, 0, 0, 0, 90, 0, -16,
199 1607, 2620, 2673, 2721, 0, 0, 2769, 2856, 0, -38,
200 0, 0, 0, 0, 0, 0, 0, 0, 0, -54,
201 0, 0, -54, 0, 0, 0, 0, 0, 2566, 0,
202 0, 4274, 0, -115, 0, 0, 0, 0, 0, 0,
203 0, 1886, 0, 0, 374, 0, 4339, 467, 532, 3224,
204 0, 0, 0, 3005, 0, 4394, 2673, 0, 0, 2566,
205 4404, 0, 0, 0, 0, 3055, 0, 3459, 3695, 3746,
206 3801, 3582, 3630, 3127, 0, 0, 0, 3866, 3914, 0,
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, 3175, 0, 0, -43, 0, -43, 880, 0, 374,
212 0, 0, 303, 390, 0, 0, 0, 0, 389, 0,
213 0, 0, 0, 422, 0, 0, 3510, 0, 0, 0,
214 0, 0, 0, 0, 3291, 0, 0, 3346, 0, 0,
215 8, 12, 0, 61, 62, 65, 1479, 1642, 0, 2274,
216 4445, 4493, 4120, 4168, 2421, 0, 4697, 4745, 4630, 4591,
217 4543, 4219, 4000, 4055, 0, 0, 0, 0, 0, 3411,
218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
219 0, 2474, -30, 0, 405, 0, 0, 0, 0, 0,
220 2566, 0, 78, 0, 0, 0, 0, 432, 0, 0,
221 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
223 0, 0, 0, 0, 0, 0, 374, 0, 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, 415, 0, 0, 0, 0, 0, 0, 1201,
227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
228 0, 90, 90, 186, 186, 0, 90, 0, 0, 0,
229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
230 0, 435, 90, 880, 0, 0, 90, 0, 0, 0,
231 0, 0, 0, 0, 0, 186, 0,
233 static short yygindex[] = { 0,
234 0, 0, 50, 453, 0, 0, -22, 0, 63, 153,
235 -93, 0, 0, 0, -346, -15, 2480, 0, 1744, 437,
236 439, 0, 0, 0, 481, 755, 0, 0, 341, -186,
237 124, 170, 313, -88, -183, 49, 0, 0, 0, 498,
238 -66, 247, 225, 0, -156, 0, 0, 0, 0, 0,
239 0, 0, 0, 0, 0, 0, 0, 0, 0,
241 #define YYTABLESIZE 5051
242 static short yytable[] = { 70,
243 198, 300, 75, 64, 60, 280, 228, 60, 279, 64,
244 199, 328, 183, 257, 219, 62, 278, 64, 379, 186,
245 75, 110, 296, 188, 15, 21, 197, 170, 64, 4,
246 5, 6, 129, 7, 8, 376, 377, 203, 299, 229,
247 276, 222, 15, 145, 147, 87, 282, 89, 18, 397,
248 221, 185, 39, 308, 75, 187, 160, 22, 23, 160,
249 9, 91, 101, 184, 258, 186, 18, 105, 60, 106,
250 39, 107, 108, 160, 160, 25, 100, 68, 160, 62,
251 319, 113, 204, 205, 206, 207, 208, 209, 130, 26,
252 25, 114, 64, 122, 123, 182, 255, 185, 213, 214,
253 137, 16, 17, 115, 154, 20, 116, 190, 160, 125,
254 189, 344, 150, 151, 152, 153, 224, 326, 38, 16,
255 17, 40, 26, 20, 191, 26, 26, 26, 345, 26,
256 167, 26, 26, 354, 26, 346, 38, 192, 347, 15,
257 231, 232, 234, 235, 236, 237, 238, 239, 26, 25,
258 193, 194, 177, 26, 366, 178, 196, 352, 179, 180,
259 181, 200, 220, 216, 210, 202, 261, 263, 264, 265,
260 266, 267, 268, 269, 271, 211, 167, 168, 318, 218,
261 26, 321, 60, 225, 214, 21, 331, 298, 283, 232,
262 323, 232, 335, 293, 325, 181, 227, 351, 177, 391,
263 302, 178, 304, 306, 179, 180, 181, 273, 275, 64,
264 66, 310, 26, 132, 26, 26, 230, 64, 21, 320,
265 301, 21, 21, 21, 95, 21, 307, 21, 21, 96,
266 21, 256, 311, 75, 75, 75, 75, 65, 309, 313,
267 75, 315, 316, 60, 21, 164, 161, 162, 163, 21,
268 163, 165, 166, 167, 168, 317, 327, 161, 162, 163,
269 333, 75, 75, 75, 337, 161, 162, 163, 169, 171,
270 172, 173, 174, 175, 176, 177, 21, 109, 178, 384,
271 338, 179, 180, 181, 339, 343, 340, 160, 160, 160,
272 160, 161, 162, 163, 160, 349, 160, 161, 162, 163,
273 341, 214, 160, 160, 160, 160, 322, 342, 21, 324,
274 21, 21, 161, 162, 163, 160, 160, 160, 355, 160,
275 160, 160, 160, 160, 160, 160, 160, 283, 348, 160,
276 356, 353, 160, 160, 160, 370, 329, 357, 329, 161,
277 162, 163, 358, 361, 336, 26, 26, 26, 26, 26,
278 26, 359, 26, 26, 26, 26, 26, 26, 26, 26,
279 26, 26, 26, 26, 26, 369, 70, 372, 26, 26,
280 1, 26, 26, 26, 26, 26, 161, 162, 163, 371,
281 26, 26, 26, 26, 26, 26, 26, 161, 162, 163,
282 382, 380, 26, 386, 161, 162, 163, 161, 162, 163,
283 393, 394, 26, 44, 26, 26, 44, 44, 44, 277,
284 44, 53, 44, 44, 185, 44, 161, 162, 163, 161,
285 162, 163, 161, 162, 163, 62, 161, 162, 163, 44,
286 37, 161, 162, 163, 44, 161, 162, 163, 161, 162,
287 163, 21, 21, 21, 21, 21, 21, 35, 21, 21,
288 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
289 21, 44, 186, 183, 21, 21, 170, 21, 21, 21,
290 21, 21, 40, 37, 390, 35, 21, 21, 21, 21,
291 21, 21, 21, 161, 162, 163, 104, 134, 21, 135,
292 363, 364, 365, 44, 367, 79, 44, 233, 21, 195,
293 21, 21, 195, 195, 195, 388, 195, 174, 195, 195,
294 174, 195, 368, 161, 162, 163, 161, 162, 163, 290,
295 93, 383, 332, 0, 174, 174, 0, 0, 385, 174,
296 195, 0, 387, 0, 0, 161, 162, 163, 161, 162,
297 163, 0, 161, 162, 163, 395, 396, 0, 0, 0,
298 4, 5, 6, 0, 7, 8, 0, 195, 178, 174,
299 0, 179, 180, 181, 196, 0, 0, 196, 196, 196,
300 0, 196, 145, 196, 196, 145, 196, 0, 0, 0,
301 0, 9, 165, 166, 167, 168, 374, 375, 0, 145,
302 145, 381, 195, 0, 145, 196, 0, 0, 0, 0,
303 171, 172, 173, 174, 175, 176, 177, 389, 0, 178,
304 0, 392, 179, 180, 181, 4, 5, 6, 0, 7,
305 8, 0, 0, 0, 145, 360, 44, 44, 44, 44,
306 44, 44, 0, 44, 44, 44, 0, 0, 0, 44,
307 0, 0, 44, 44, 44, 44, 9, 170, 0, 44,
308 44, 0, 44, 44, 44, 44, 44, 196, 0, 0,
309 0, 44, 44, 44, 44, 44, 44, 0, 0, 0,
310 0, 0, 165, 44, 167, 168, 0, 0, 0, 0,
311 0, 0, 0, 44, 164, 44, 44, 0, 0, 0,
312 165, 166, 167, 168, 0, 176, 177, 0, 0, 178,
313 312, 0, 179, 180, 181, 170, 0, 169, 171, 172,
314 173, 174, 175, 176, 177, 0, 0, 178, 0, 0,
315 179, 180, 181, 195, 195, 195, 195, 195, 0, 195,
316 195, 195, 0, 0, 0, 195, 0, 0, 174, 174,
317 174, 174, 0, 0, 0, 174, 195, 174, 195, 195,
318 195, 195, 195, 174, 174, 174, 174, 195, 195, 195,
319 195, 195, 195, 0, 0, 170, 174, 174, 174, 195,
320 174, 174, 174, 174, 174, 174, 174, 174, 0, 195,
321 174, 195, 195, 174, 174, 174, 0, 0, 196, 196,
322 196, 196, 196, 0, 196, 196, 196, 0, 0, 120,
323 196, 0, 0, 145, 145, 145, 145, 138, 0, 0,
324 145, 196, 145, 196, 196, 196, 196, 196, 145, 145,
325 145, 145, 196, 196, 196, 196, 196, 196, 0, 0,
326 0, 145, 145, 145, 196, 145, 145, 145, 145, 145,
327 145, 145, 145, 0, 196, 145, 196, 196, 145, 145,
328 145, 54, 0, 120, 64, 66, 52, 0, 59, 0,
329 67, 63, 0, 62, 0, 164, 0, 0, 0, 0,
330 0, 165, 166, 167, 168, 0, 217, 61, 156, 157,
331 158, 159, 65, 0, 120, 160, 0, 0, 169, 171,
332 172, 173, 174, 175, 176, 177, 0, 0, 178, 0,
333 0, 179, 180, 181, 0, 0, 161, 162, 163, 60,
334 0, 0, 44, 0, 0, 44, 44, 44, 0, 44,
335 0, 44, 44, 164, 44, 0, 0, 0, 0, 165,
336 166, 167, 168, 0, 0, 0, 0, 0, 44, 0,
337 0, 25, 0, 44, 55, 0, 169, 171, 172, 173,
338 174, 175, 176, 177, 0, 0, 178, 0, 0, 179,
339 180, 181, 0, 0, 0, 0, 0, 0, 0, 0,
340 44, 0, 54, 0, 0, 64, 66, 52, 0, 59,
341 0, 67, 63, 164, 62, 0, 0, 0, 0, 165,
342 166, 167, 168, 177, 0, 0, 178, 0, 0, 179,
343 180, 181, 44, 65, 0, 44, 0, 171, 172, 173,
344 174, 175, 176, 177, 0, 0, 178, 0, 0, 179,
345 180, 181, 0, 0, 0, 0, 0, 0, 0, 120,
346 60, 167, 168, 0, 0, 120, 54, 0, 0, 64,
347 66, 52, 0, 59, 0, 67, 63, 0, 62, 0,
348 0, 0, 176, 177, 0, 0, 178, 0, 0, 179,
349 180, 181, 25, 0, 0, 55, 0, 65, 0, 0,
350 0, 0, 0, 0, 24, 26, 27, 28, 29, 30,
351 0, 31, 32, 33, 0, 0, 0, 34, 0, 0,
352 35, 36, 37, 38, 60, 0, 0, 39, 40, 0,
353 41, 42, 43, 44, 45, 0, 0, 0, 0, 46,
354 47, 48, 49, 50, 51, 0, 0, 0, 0, 0,
355 0, 53, 0, 0, 0, 0, 25, 0, 0, 55,
356 0, 56, 0, 57, 58, 44, 44, 44, 44, 44,
357 44, 0, 44, 44, 44, 0, 0, 0, 44, 0,
358 0, 44, 44, 44, 44, 0, 0, 0, 44, 44,
359 0, 44, 44, 44, 44, 44, 0, 0, 0, 0,
360 44, 44, 44, 44, 44, 44, 0, 0, 0, 0,
361 0, 54, 44, 0, 64, 66, 52, 0, 59, 0,
362 67, 63, 44, 62, 44, 44, 118, 27, 28, 29,
363 30, 96, 31, 32, 33, 0, 0, 0, 34, 0,
364 0, 0, 65, 0, 0, 0, 0, 0, 0, 40,
365 0, 41, 42, 43, 44, 45, 0, 0, 0, 0,
366 46, 47, 48, 49, 50, 51, 0, 0, 0, 60,
367 0, 139, 53, 0, 139, 0, 165, 166, 167, 168,
368 0, 0, 56, 0, 57, 58, 0, 0, 139, 139,
369 26, 27, 28, 29, 30, 0, 31, 32, 33, 176,
370 177, 25, 34, 178, 55, 0, 179, 180, 181, 0,
371 0, 0, 0, 40, 0, 41, 42, 43, 44, 45,
372 0, 0, 0, 139, 46, 47, 48, 49, 50, 51,
373 54, 0, 0, 64, 66, 52, 53, 59, 0, 67,
374 63, 0, 62, 0, 0, 0, 56, 0, 57, 58,
375 165, 166, 167, 168, 0, 0, 128, 0, 0, 0,
376 0, 65, 0, 0, 0, 0, 0, 0, 0, 0,
377 173, 174, 175, 176, 177, 0, 0, 178, 0, 0,
378 179, 180, 181, 165, 166, 167, 168, 0, 60, 0,
379 54, 0, 0, 64, 66, 52, 0, 59, 144, 67,
380 63, 0, 62, 0, 174, 175, 176, 177, 0, 0,
381 178, 0, 0, 179, 180, 181, 0, 0, 0, 0,
382 0, 65, 0, 55, 0, 0, 0, 0, 0, 0,
383 0, 0, 0, 0, 0, 124, 27, 28, 29, 30,
384 0, 31, 32, 33, 0, 0, 0, 34, 60, 0,
385 0, 0, 0, 0, 0, 0, 0, 0, 40, 0,
386 41, 42, 43, 44, 45, 0, 0, 0, 0, 46,
387 47, 48, 49, 50, 51, 54, 0, 0, 64, 66,
388 52, 53, 59, 55, 67, 63, 0, 62, 0, 0,
389 0, 56, 0, 57, 58, 0, 0, 0, 0, 0,
390 0, 0, 139, 139, 139, 139, 65, 0, 0, 139,
391 0, 0, 0, 0, 0, 0, 54, 0, 0, 64,
392 66, 52, 0, 59, 212, 67, 63, 0, 62, 0,
393 139, 139, 139, 60, 139, 146, 0, 0, 0, 0,
394 0, 0, 0, 0, 0, 0, 0, 65, 0, 73,
395 0, 0, 73, 0, 26, 27, 28, 29, 30, 0,
396 31, 32, 33, 0, 0, 0, 34, 73, 55, 0,
397 0, 0, 0, 0, 60, 0, 0, 40, 0, 41,
398 42, 43, 44, 45, 0, 0, 0, 0, 46, 47,
399 48, 49, 50, 51, 0, 0, 0, 0, 0, 0,
400 53, 73, 0, 0, 0, 0, 0, 0, 0, 55,
401 56, 0, 57, 58, 26, 27, 28, 29, 30, 0,
402 31, 32, 33, 0, 54, 0, 34, 64, 66, 52,
403 0, 59, 223, 67, 63, 0, 62, 40, 0, 41,
404 42, 43, 44, 45, 0, 0, 0, 0, 46, 47,
405 48, 49, 50, 51, 0, 65, 0, 0, 0, 0,
406 53, 165, 166, 167, 168, 0, 0, 0, 0, 0,
407 56, 0, 57, 58, 0, 0, 0, 78, 0, 0,
408 78, 0, 60, 175, 176, 177, 0, 0, 178, 0,
409 0, 179, 180, 181, 78, 78, 0, 0, 0, 26,
410 27, 28, 29, 30, 0, 31, 32, 33, 0, 0,
411 0, 34, 74, 0, 0, 74, 0, 55, 0, 0,
412 0, 0, 40, 0, 41, 42, 43, 44, 45, 78,
413 74, 0, 0, 46, 47, 48, 49, 50, 51, 0,
414 26, 27, 28, 29, 30, 53, 31, 32, 33, 0,
415 0, 0, 34, 0, 0, 56, 0, 57, 58, 0,
416 0, 0, 0, 40, 74, 41, 42, 43, 44, 45,
417 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
418 73, 73, 73, 73, 0, 54, 53, 73, 64, 66,
419 52, 0, 59, 262, 67, 63, 56, 62, 57, 58,
420 98, 98, 0, 0, 0, 0, 0, 0, 73, 73,
421 0, 0, 111, 0, 0, 0, 65, 0, 119, 98,
422 127, 0, 0, 0, 133, 98, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 98, 98, 98,
424 98, 0, 0, 60, 0, 0, 0, 0, 26, 27,
425 28, 29, 30, 0, 31, 32, 33, 0, 54, 0,
426 34, 64, 66, 52, 0, 59, 270, 67, 63, 0,
427 62, 40, 0, 41, 42, 43, 44, 45, 55, 0,
428 0, 0, 46, 47, 48, 49, 50, 51, 119, 65,
429 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 56, 0, 57, 58, 78, 78,
431 78, 78, 0, 0, 0, 78, 60, 0, 0, 0,
432 0, 54, 0, 0, 64, 66, 52, 0, 59, 0,
433 67, 63, 0, 62, 0, 0, 78, 78, 78, 0,
434 0, 0, 0, 74, 74, 74, 74, 0, 0, 0,
435 74, 55, 65, 0, 259, 0, 161, 0, 0, 161,
436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 74, 74, 161, 161, 0, 0, 0, 0, 60,
438 0, 291, 0, 0, 0, 0, 0, 0, 0, 0,
439 0, 0, 0, 0, 54, 0, 0, 64, 66, 52,
440 0, 59, 303, 67, 63, 0, 62, 0, 161, 26,
441 27, 28, 29, 30, 55, 31, 32, 33, 0, 0,
442 0, 34, 0, 0, 0, 65, 0, 0, 0, 0,
443 0, 0, 40, 0, 41, 42, 43, 44, 45, 0,
444 0, 0, 0, 46, 47, 48, 49, 50, 51, 0,
445 0, 0, 60, 0, 0, 53, 0, 0, 0, 0,
446 0, 0, 0, 0, 0, 56, 54, 57, 58, 64,
447 66, 52, 0, 59, 305, 67, 63, 0, 62, 0,
448 0, 0, 26, 27, 28, 29, 30, 55, 31, 32,
449 33, 0, 0, 0, 34, 0, 0, 65, 0, 0,
450 0, 0, 0, 0, 0, 40, 0, 41, 42, 43,
451 44, 45, 0, 0, 0, 0, 46, 47, 48, 49,
452 50, 51, 0, 0, 60, 0, 0, 0, 53, 0,
453 0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
454 57, 58, 0, 0, 24, 26, 27, 28, 29, 30,
455 0, 31, 32, 33, 0, 0, 0, 34, 0, 55,
456 0, 0, 0, 0, 0, 0, 0, 0, 40, 0,
457 41, 42, 43, 44, 45, 0, 0, 0, 0, 46,
458 47, 48, 49, 50, 51, 0, 0, 161, 161, 161,
459 161, 53, 0, 0, 161, 0, 0, 0, 0, 0,
460 0, 56, 54, 57, 58, 64, 66, 52, 0, 59,
461 314, 67, 63, 0, 62, 161, 161, 161, 26, 27,
462 28, 29, 30, 0, 31, 32, 33, 0, 0, 0,
463 34, 0, 0, 65, 0, 0, 0, 0, 0, 0,
464 0, 40, 0, 41, 42, 43, 44, 45, 0, 0,
465 0, 0, 46, 47, 48, 49, 50, 51, 0, 0,
466 60, 0, 0, 0, 53, 0, 0, 0, 0, 0,
467 0, 0, 0, 0, 56, 54, 57, 58, 64, 66,
468 52, 0, 59, 0, 67, 63, 0, 62, 0, 0,
469 26, 27, 28, 29, 30, 55, 31, 32, 33, 0,
470 0, 0, 34, 0, 0, 0, 65, 0, 0, 0,
471 0, 0, 0, 40, 0, 41, 42, 43, 44, 45,
472 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
473 0, 0, 0, 60, 0, 0, 53, 0, 0, 0,
474 0, 0, 0, 0, 111, 0, 56, 111, 57, 58,
475 0, 0, 167, 0, 0, 167, 0, 0, 0, 0,
476 0, 111, 111, 0, 0, 0, 111, 0, 55, 167,
477 167, 0, 0, 0, 167, 0, 0, 0, 0, 0,
478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 0, 111, 0, 0, 0,
480 0, 0, 0, 0, 167, 0, 0, 0, 0, 0,
481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
482 0, 0, 0, 0, 0, 0, 26, 27, 28, 29,
483 30, 0, 31, 32, 33, 0, 0, 0, 34, 0,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,
485 0, 41, 42, 43, 44, 45, 0, 0, 0, 0,
486 46, 47, 48, 49, 50, 51, 0, 0, 0, 0,
487 0, 163, 53, 0, 163, 0, 0, 0, 0, 0,
488 0, 0, 56, 0, 57, 58, 0, 0, 163, 163,
489 0, 102, 0, 163, 102, 0, 0, 0, 0, 26,
490 27, 28, 29, 30, 0, 31, 32, 33, 102, 102,
491 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
492 0, 0, 40, 163, 41, 42, 43, 44, 45, 0,
493 0, 0, 0, 46, 47, 48, 49, 50, 51, 0,
494 0, 102, 0, 102, 77, 53, 0, 77, 0, 112,
495 0, 0, 0, 117, 0, 56, 126, 57, 58, 131,
496 0, 77, 77, 139, 140, 141, 142, 143, 0, 0,
497 0, 148, 149, 0, 0, 111, 111, 111, 111, 0,
498 0, 0, 111, 167, 167, 167, 167, 0, 0, 0,
499 167, 0, 167, 0, 0, 0, 77, 0, 167, 167,
500 167, 167, 0, 111, 111, 111, 0, 111, 0, 0,
501 201, 167, 167, 167, 0, 167, 167, 167, 167, 167,
502 167, 167, 167, 0, 0, 167, 0, 0, 167, 167,
503 167, 0, 0, 0, 0, 0, 183, 0, 0, 183,
504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
505 0, 0, 0, 183, 183, 0, 0, 0, 183, 0,
506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
507 0, 0, 0, 240, 241, 242, 243, 244, 245, 246,
508 247, 248, 249, 250, 251, 252, 253, 254, 183, 0,
509 150, 0, 0, 150, 0, 0, 0, 0, 0, 0,
510 0, 272, 163, 163, 163, 163, 0, 150, 150, 163,
511 0, 163, 150, 0, 0, 0, 0, 163, 163, 163,
512 163, 0, 102, 102, 102, 102, 0, 0, 0, 102,
513 163, 163, 163, 0, 163, 163, 163, 163, 163, 163,
514 163, 163, 150, 145, 163, 0, 145, 163, 163, 163,
515 102, 102, 102, 0, 0, 0, 0, 0, 0, 0,
516 145, 145, 0, 0, 0, 145, 0, 0, 0, 0,
517 0, 0, 0, 0, 0, 77, 77, 77, 77, 0,
518 0, 0, 77, 0, 0, 0, 0, 0, 334, 0,
519 0, 148, 0, 0, 148, 145, 0, 0, 0, 0,
520 0, 0, 0, 77, 77, 77, 0, 0, 148, 148,
521 0, 0, 0, 148, 0, 0, 0, 0, 0, 0,
522 0, 350, 0, 0, 0, 0, 0, 0, 0, 0,
523 0, 0, 0, 0, 0, 0, 0, 0, 0, 146,
524 0, 0, 146, 148, 0, 0, 0, 0, 0, 0,
525 0, 0, 0, 0, 0, 0, 146, 146, 0, 0,
526 0, 146, 0, 0, 0, 0, 0, 183, 183, 183,
527 183, 0, 0, 0, 183, 0, 183, 0, 0, 0,
528 0, 0, 183, 183, 183, 183, 0, 0, 0, 0,
529 0, 146, 0, 0, 0, 183, 183, 183, 0, 183,
530 183, 183, 183, 183, 183, 183, 183, 0, 0, 183,
531 0, 0, 183, 183, 183, 0, 0, 0, 0, 0,
532 0, 150, 150, 150, 150, 0, 156, 0, 150, 156,
533 150, 0, 0, 0, 0, 0, 150, 150, 150, 150,
534 0, 0, 0, 156, 156, 0, 0, 0, 156, 150,
535 150, 150, 0, 150, 150, 150, 150, 150, 150, 150,
536 150, 0, 0, 150, 0, 0, 150, 150, 150, 0,
537 0, 0, 0, 0, 145, 145, 145, 145, 156, 0,
538 0, 145, 0, 145, 0, 0, 0, 0, 0, 145,
539 145, 145, 145, 0, 0, 0, 0, 0, 0, 0,
540 0, 0, 145, 145, 145, 0, 145, 145, 145, 145,
541 145, 145, 145, 145, 0, 0, 145, 0, 0, 145,
542 145, 145, 148, 148, 148, 148, 0, 0, 0, 148,
543 0, 148, 0, 0, 0, 0, 0, 148, 148, 148,
544 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
545 148, 148, 148, 0, 148, 148, 148, 148, 148, 148,
546 148, 148, 0, 0, 148, 0, 0, 148, 148, 148,
547 146, 146, 146, 146, 0, 174, 0, 146, 174, 146,
548 0, 0, 0, 0, 0, 146, 146, 146, 146, 0,
549 0, 0, 174, 174, 0, 0, 0, 174, 146, 146,
550 146, 0, 146, 146, 146, 146, 146, 146, 146, 146,
551 0, 0, 146, 0, 0, 146, 146, 146, 0, 0,
552 0, 0, 0, 0, 0, 177, 0, 174, 177, 0,
553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
554 0, 0, 177, 177, 0, 0, 0, 177, 0, 0,
555 0, 0, 0, 0, 0, 0, 0, 156, 156, 156,
556 156, 0, 0, 0, 156, 0, 156, 0, 0, 0,
557 0, 0, 156, 156, 156, 156, 0, 177, 0, 0,
558 0, 0, 0, 0, 0, 156, 156, 156, 0, 156,
559 156, 156, 156, 156, 156, 156, 156, 144, 0, 156,
560 144, 0, 156, 156, 156, 0, 0, 0, 0, 0,
561 0, 0, 0, 0, 144, 144, 0, 0, 0, 144,
562 0, 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, 76, 0, 0, 76, 144,
565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
566 0, 0, 76, 76, 0, 0, 0, 76, 0, 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, 184, 0, 0, 76, 0, 0,
570 0, 0, 0, 0, 0, 0, 174, 174, 174, 174,
571 0, 184, 184, 174, 0, 174, 184, 0, 0, 0,
572 0, 174, 174, 174, 174, 0, 0, 0, 0, 0,
573 0, 0, 0, 0, 174, 174, 174, 0, 174, 174,
574 174, 174, 174, 174, 174, 174, 184, 0, 174, 0,
575 0, 174, 174, 174, 0, 0, 177, 177, 177, 177,
576 0, 66, 0, 177, 66, 177, 0, 0, 0, 0,
577 0, 177, 177, 177, 177, 0, 0, 0, 66, 66,
578 0, 0, 0, 66, 177, 177, 177, 0, 177, 177,
579 177, 177, 177, 177, 177, 177, 0, 0, 177, 0,
580 0, 177, 177, 177, 0, 0, 0, 0, 0, 0,
581 0, 0, 0, 66, 0, 0, 143, 0, 0, 143,
582 0, 0, 0, 0, 0, 0, 0, 0, 144, 144,
583 144, 144, 0, 143, 143, 144, 0, 144, 143, 0,
584 0, 0, 0, 144, 144, 144, 144, 0, 0, 0,
585 0, 0, 0, 0, 0, 0, 144, 144, 144, 0,
586 144, 144, 144, 144, 144, 144, 144, 144, 143, 0,
587 144, 0, 0, 144, 144, 144, 76, 76, 76, 76,
588 0, 82, 0, 76, 82, 76, 0, 0, 0, 0,
589 0, 76, 76, 76, 76, 0, 0, 0, 82, 82,
590 0, 0, 0, 82, 76, 76, 76, 0, 76, 76,
591 76, 76, 76, 76, 76, 76, 0, 0, 76, 0,
592 0, 76, 76, 76, 0, 184, 184, 184, 184, 162,
593 0, 0, 184, 82, 184, 0, 0, 0, 0, 0,
594 184, 184, 184, 184, 0, 0, 162, 162, 0, 0,
595 0, 162, 0, 184, 184, 184, 0, 184, 184, 184,
596 184, 184, 184, 184, 184, 0, 0, 184, 0, 0,
597 184, 184, 184, 0, 0, 0, 0, 0, 0, 0,
598 79, 162, 0, 0, 0, 0, 0, 0, 0, 0,
599 0, 0, 66, 66, 66, 66, 0, 79, 79, 66,
600 0, 66, 79, 0, 0, 0, 0, 66, 66, 66,
601 66, 0, 0, 0, 0, 0, 0, 0, 0, 0,
602 66, 66, 66, 0, 66, 66, 66, 66, 66, 66,
603 66, 66, 79, 0, 66, 0, 0, 66, 66, 66,
604 0, 0, 0, 0, 0, 0, 0, 143, 143, 143,
605 143, 0, 122, 0, 143, 122, 143, 0, 0, 0,
606 0, 0, 143, 143, 143, 143, 0, 0, 0, 122,
607 122, 0, 0, 0, 122, 143, 143, 143, 0, 143,
608 143, 143, 143, 143, 143, 143, 143, 0, 0, 143,
609 0, 0, 143, 143, 143, 0, 0, 0, 0, 0,
610 123, 0, 0, 123, 122, 0, 0, 0, 0, 0,
611 0, 0, 82, 82, 82, 82, 0, 123, 123, 82,
612 0, 82, 123, 0, 0, 0, 0, 82, 82, 82,
613 82, 0, 0, 0, 0, 0, 0, 0, 0, 0,
614 82, 82, 82, 0, 82, 82, 82, 82, 82, 82,
615 82, 82, 123, 0, 82, 0, 0, 82, 82, 82,
616 162, 162, 162, 162, 0, 118, 0, 162, 118, 162,
617 0, 0, 0, 0, 0, 162, 162, 162, 162, 0,
618 0, 0, 118, 118, 0, 0, 0, 118, 162, 162,
619 162, 0, 162, 162, 162, 162, 162, 162, 162, 162,
620 0, 0, 162, 0, 0, 162, 162, 162, 0, 0,
621 0, 79, 79, 79, 79, 0, 119, 118, 79, 119,
622 79, 0, 0, 0, 0, 0, 79, 79, 79, 79,
623 0, 0, 0, 119, 119, 0, 0, 0, 119, 79,
624 79, 79, 0, 79, 79, 79, 79, 79, 79, 79,
625 79, 0, 0, 79, 0, 0, 79, 79, 79, 0,
626 0, 0, 0, 0, 0, 0, 0, 0, 119, 0,
627 0, 140, 0, 0, 140, 0, 0, 0, 0, 0,
628 0, 0, 0, 122, 122, 122, 122, 0, 140, 140,
629 122, 0, 122, 140, 0, 0, 0, 0, 122, 122,
630 122, 122, 0, 0, 0, 0, 0, 0, 0, 0,
631 0, 122, 122, 122, 0, 122, 122, 122, 122, 122,
632 122, 122, 122, 140, 0, 122, 0, 0, 0, 0,
633 0, 123, 123, 123, 123, 0, 116, 0, 123, 116,
634 123, 0, 0, 0, 0, 0, 123, 123, 123, 123,
635 0, 0, 0, 116, 116, 0, 0, 0, 116, 123,
636 123, 123, 0, 123, 123, 123, 123, 123, 123, 123,
637 123, 0, 0, 123, 0, 0, 0, 0, 0, 0,
638 0, 0, 0, 0, 117, 0, 0, 117, 116, 0,
639 0, 0, 0, 0, 0, 0, 118, 118, 118, 118,
640 0, 117, 117, 118, 0, 118, 117, 0, 0, 0,
641 0, 118, 118, 118, 118, 0, 0, 0, 0, 0,
642 0, 0, 0, 0, 118, 118, 118, 0, 118, 118,
643 118, 118, 118, 118, 118, 118, 117, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 119, 119, 119,
645 119, 0, 0, 0, 119, 0, 119, 0, 0, 0,
646 0, 0, 119, 119, 119, 119, 0, 0, 0, 0,
647 115, 0, 0, 115, 0, 119, 119, 119, 0, 119,
648 119, 119, 119, 119, 119, 119, 119, 115, 115, 0,
649 0, 0, 115, 0, 0, 0, 0, 0, 0, 0,
650 0, 0, 140, 140, 140, 140, 0, 0, 0, 140,
651 0, 140, 0, 0, 0, 0, 0, 140, 140, 140,
652 140, 0, 115, 0, 0, 103, 0, 0, 103, 0,
653 140, 140, 140, 0, 140, 140, 140, 140, 140, 140,
654 140, 140, 103, 103, 0, 0, 0, 103, 0, 0,
655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
656 0, 0, 0, 0, 0, 0, 0, 116, 116, 116,
657 116, 0, 0, 0, 116, 0, 116, 103, 0, 0,
658 0, 0, 116, 116, 116, 116, 0, 0, 0, 0,
659 104, 0, 0, 104, 0, 116, 116, 116, 0, 116,
660 116, 116, 116, 116, 116, 116, 116, 104, 104, 0,
661 0, 0, 104, 0, 0, 117, 117, 117, 117, 0,
662 0, 0, 117, 0, 117, 0, 0, 0, 0, 0,
663 117, 117, 117, 117, 0, 0, 0, 0, 105, 0,
664 0, 105, 104, 117, 117, 117, 0, 117, 117, 117,
665 117, 117, 117, 117, 117, 105, 105, 0, 0, 0,
666 105, 0, 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, 106,
669 105, 0, 106, 0, 0, 0, 0, 0, 0, 0,
670 0, 115, 115, 115, 115, 0, 106, 106, 115, 0,
671 115, 106, 0, 0, 0, 0, 115, 115, 115, 115,
672 0, 0, 0, 0, 0, 0, 0, 0, 0, 115,
673 115, 115, 0, 115, 115, 115, 115, 115, 115, 115,
674 115, 106, 0, 0, 166, 0, 0, 166, 0, 0,
675 0, 0, 0, 0, 0, 0, 103, 103, 103, 103,
676 0, 166, 166, 103, 0, 103, 166, 0, 0, 0,
677 0, 103, 103, 103, 103, 0, 0, 0, 0, 0,
678 0, 0, 0, 0, 103, 103, 103, 0, 103, 103,
679 103, 103, 103, 103, 103, 103, 166, 0, 0, 0,
680 0, 0, 0, 0, 0, 0, 0, 0, 0, 165,
681 0, 0, 165, 0, 0, 0, 0, 0, 0, 0,
682 0, 104, 104, 104, 104, 0, 165, 165, 104, 0,
683 104, 165, 0, 0, 0, 0, 104, 104, 104, 104,
684 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
685 104, 104, 0, 104, 104, 104, 104, 104, 104, 104,
686 0, 165, 0, 0, 129, 0, 0, 129, 0, 105,
687 105, 105, 105, 0, 142, 0, 105, 142, 105, 0,
688 0, 129, 129, 0, 105, 105, 129, 105, 0, 0,
689 0, 142, 142, 0, 0, 0, 142, 105, 105, 105,
690 0, 105, 105, 105, 105, 105, 105, 105, 0, 0,
691 0, 0, 0, 0, 0, 107, 129, 0, 107, 0,
692 106, 106, 106, 106, 0, 0, 142, 106, 0, 106,
693 0, 0, 107, 107, 0, 106, 106, 107, 0, 0,
694 0, 0, 0, 0, 0, 0, 0, 0, 106, 106,
695 106, 0, 106, 106, 106, 106, 106, 106, 106, 0,
696 0, 0, 0, 108, 0, 0, 108, 107, 0, 0,
697 0, 0, 0, 0, 0, 166, 166, 166, 166, 0,
698 108, 108, 166, 0, 166, 108, 0, 0, 0, 0,
699 166, 166, 0, 0, 0, 0, 0, 0, 0, 0,
700 0, 0, 0, 166, 166, 166, 0, 166, 166, 166,
701 166, 166, 166, 109, 0, 108, 109, 0, 0, 0,
702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
703 109, 109, 0, 0, 0, 109, 0, 0, 0, 0,
704 165, 165, 165, 165, 0, 0, 0, 165, 0, 165,
705 0, 0, 0, 0, 0, 165, 165, 0, 0, 0,
706 0, 110, 0, 0, 110, 109, 0, 0, 165, 165,
707 165, 0, 165, 165, 165, 165, 165, 165, 110, 110,
708 0, 0, 0, 110, 0, 0, 0, 0, 0, 0,
709 0, 0, 0, 0, 0, 129, 129, 129, 129, 0,
710 112, 0, 129, 112, 129, 142, 142, 142, 142, 0,
711 129, 129, 142, 110, 142, 0, 0, 112, 112, 0,
712 142, 142, 112, 129, 129, 129, 0, 129, 129, 129,
713 129, 129, 129, 142, 142, 142, 0, 142, 142, 142,
714 142, 142, 142, 0, 0, 0, 107, 107, 107, 107,
715 0, 0, 112, 107, 0, 107, 0, 0, 0, 0,
716 0, 0, 107, 0, 0, 0, 0, 113, 0, 0,
717 113, 0, 0, 0, 107, 107, 107, 0, 107, 107,
718 107, 107, 107, 107, 113, 113, 0, 0, 0, 113,
719 0, 0, 0, 0, 108, 108, 108, 108, 0, 0,
720 0, 108, 0, 108, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 114, 0, 0, 114, 113,
722 0, 0, 108, 108, 108, 0, 108, 108, 108, 108,
723 108, 108, 114, 114, 0, 0, 0, 114, 0, 0,
724 0, 0, 0, 0, 109, 109, 109, 109, 0, 0,
725 0, 109, 0, 109, 0, 0, 0, 0, 0, 0,
726 0, 0, 0, 0, 0, 0, 0, 114, 0, 0,
727 0, 0, 109, 109, 109, 0, 109, 109, 109, 109,
728 109, 109, 0, 0, 0, 0, 0, 0, 0, 0,
729 0, 0, 110, 110, 110, 110, 0, 0, 0, 110,
730 0, 110, 0, 0, 0, 0, 0, 0, 0, 0,
731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
732 110, 110, 110, 0, 110, 110, 110, 110, 110, 0,
733 0, 112, 112, 112, 112, 0, 0, 0, 112, 0,
734 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
735 0, 0, 0, 0, 0, 0, 0, 0, 0, 112,
736 112, 112, 0, 112, 112, 112, 112, 0, 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, 113, 113,
740 113, 113, 0, 0, 0, 113, 0, 113, 0, 0,
741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
742 0, 0, 0, 0, 0, 0, 113, 113, 113, 0,
743 113, 113, 113, 0, 0, 0, 0, 0, 0, 0,
744 0, 0, 0, 0, 0, 0, 114, 114, 114, 114,
745 0, 0, 0, 114, 0, 114, 0, 0, 0, 0,
746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
747 0, 0, 0, 0, 114, 114, 114, 0, 114, 114,
750 static short yycheck[] = { 15,
751 94, 44, 41, 36, 59, 41, 41, 123, 44, 36,
752 99, 59, 40, 40, 40, 59, 200, 36, 365, 91,
753 59, 40, 209, 91, 41, 257, 93, 63, 59, 266,
754 267, 268, 48, 270, 271, 276, 277, 104, 41, 93,
755 197, 130, 59, 59, 60, 257, 203, 257, 41, 396,
756 59, 123, 41, 41, 93, 123, 41, 8, 9, 44,
757 297, 59, 40, 91, 91, 91, 59, 40, 123, 40,
758 59, 40, 40, 58, 59, 123, 28, 15, 63, 123,
759 41, 40, 105, 106, 107, 108, 109, 110, 257, 0,
760 123, 40, 123, 45, 46, 123, 123, 123, 114, 115,
761 52, 41, 41, 40, 278, 41, 44, 40, 93, 47,
762 123, 298, 64, 65, 66, 67, 132, 41, 41, 59,
763 59, 41, 33, 59, 59, 36, 37, 38, 41, 40,
764 289, 42, 43, 317, 45, 41, 59, 44, 41, 59,
765 156, 157, 158, 159, 160, 161, 162, 163, 59, 123,
766 88, 260, 311, 64, 341, 314, 257, 41, 317, 318,
767 319, 40, 125, 115, 40, 103, 182, 183, 184, 185,
768 186, 187, 188, 189, 190, 41, 289, 290, 59, 40,
769 91, 59, 298, 298, 200, 0, 275, 210, 204, 205,
770 59, 207, 281, 209, 59, 319, 91, 59, 311, 386,
771 216, 314, 218, 219, 317, 318, 319, 298, 257, 36,
772 37, 227, 123, 40, 125, 126, 154, 36, 33, 93,
773 41, 36, 37, 38, 257, 40, 125, 42, 43, 262,
774 45, 258, 91, 272, 273, 274, 275, 64, 260, 255,
775 279, 257, 258, 298, 59, 281, 300, 301, 302, 64,
776 302, 287, 288, 289, 290, 40, 260, 300, 301, 302,
777 41, 300, 301, 302, 41, 300, 301, 302, 304, 305,
778 306, 307, 308, 309, 310, 311, 91, 296, 314, 373,
779 41, 317, 318, 319, 41, 59, 41, 272, 273, 274,
780 275, 300, 301, 302, 279, 311, 281, 300, 301, 302,
781 40, 317, 287, 288, 289, 290, 93, 41, 123, 93,
782 125, 126, 300, 301, 302, 300, 301, 302, 125, 304,
783 305, 306, 307, 308, 309, 310, 311, 343, 93, 314,
784 125, 93, 317, 318, 319, 93, 274, 125, 276, 300,
785 301, 302, 125, 123, 282, 256, 257, 258, 259, 260,
786 261, 59, 263, 264, 265, 266, 267, 268, 269, 270,
787 271, 272, 273, 274, 275, 41, 382, 41, 279, 280,
788 0, 282, 283, 284, 285, 286, 300, 301, 302, 125,
789 291, 292, 293, 294, 295, 296, 297, 300, 301, 302,
790 59, 41, 303, 40, 300, 301, 302, 300, 301, 302,
791 41, 41, 313, 33, 315, 316, 36, 37, 38, 125,
792 40, 123, 42, 43, 41, 45, 300, 301, 302, 300,
793 301, 302, 300, 301, 302, 123, 300, 301, 302, 59,
794 41, 300, 301, 302, 64, 300, 301, 302, 300, 301,
795 302, 256, 257, 258, 259, 260, 261, 59, 263, 264,
796 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
797 275, 91, 41, 59, 279, 280, 63, 282, 283, 284,
798 285, 286, 41, 59, 125, 41, 291, 292, 293, 294,
799 295, 296, 297, 300, 301, 302, 34, 51, 303, 51,
800 338, 339, 340, 123, 342, 15, 126, 157, 313, 33,
801 315, 316, 36, 37, 38, 382, 40, 41, 42, 43,
802 44, 45, 343, 300, 301, 302, 300, 301, 302, 207,
803 23, 369, 276, -1, 58, 59, -1, -1, 376, 63,
804 64, -1, 380, -1, -1, 300, 301, 302, 300, 301,
805 302, -1, 300, 301, 302, 393, 394, -1, -1, -1,
806 266, 267, 268, -1, 270, 271, -1, 91, 314, 93,
807 -1, 317, 318, 319, 33, -1, -1, 36, 37, 38,
808 -1, 40, 41, 42, 43, 44, 45, -1, -1, -1,
809 -1, 297, 287, 288, 289, 290, 362, 363, -1, 58,
810 59, 367, 126, -1, 63, 64, -1, -1, -1, -1,
811 305, 306, 307, 308, 309, 310, 311, 383, -1, 314,
812 -1, 387, 317, 318, 319, 266, 267, 268, -1, 270,
813 271, -1, -1, -1, 93, 41, 256, 257, 258, 259,
814 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
815 -1, -1, 272, 273, 274, 275, 297, 63, -1, 279,
816 280, -1, 282, 283, 284, 285, 286, 126, -1, -1,
817 -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
818 -1, -1, 287, 303, 289, 290, -1, -1, -1, -1,
819 -1, -1, -1, 313, 281, 315, 316, -1, -1, -1,
820 287, 288, 289, 290, -1, 310, 311, -1, -1, 314,
821 58, -1, 317, 318, 319, 63, -1, 304, 305, 306,
822 307, 308, 309, 310, 311, -1, -1, 314, -1, -1,
823 317, 318, 319, 257, 258, 259, 260, 261, -1, 263,
824 264, 265, -1, -1, -1, 269, -1, -1, 272, 273,
825 274, 275, -1, -1, -1, 279, 280, 281, 282, 283,
826 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
827 294, 295, 296, -1, -1, 63, 300, 301, 302, 303,
828 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
829 314, 315, 316, 317, 318, 319, -1, -1, 257, 258,
830 259, 260, 261, -1, 263, 264, 265, -1, -1, 45,
831 269, -1, -1, 272, 273, 274, 275, 53, -1, -1,
832 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
833 289, 290, 291, 292, 293, 294, 295, 296, -1, -1,
834 -1, 300, 301, 302, 303, 304, 305, 306, 307, 308,
835 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
836 319, 33, -1, 99, 36, 37, 38, -1, 40, -1,
837 42, 43, -1, 45, -1, 281, -1, -1, -1, -1,
838 -1, 287, 288, 289, 290, -1, 122, 59, 272, 273,
839 274, 275, 64, -1, 130, 279, -1, -1, 304, 305,
840 306, 307, 308, 309, 310, 311, -1, -1, 314, -1,
841 -1, 317, 318, 319, -1, -1, 300, 301, 302, 91,
842 -1, -1, 33, -1, -1, 36, 37, 38, -1, 40,
843 -1, 42, 43, 281, 45, -1, -1, -1, -1, 287,
844 288, 289, 290, -1, -1, -1, -1, -1, 59, -1,
845 -1, 123, -1, 64, 126, -1, 304, 305, 306, 307,
846 308, 309, 310, 311, -1, -1, 314, -1, -1, 317,
847 318, 319, -1, -1, -1, -1, -1, -1, -1, -1,
848 91, -1, 33, -1, -1, 36, 37, 38, -1, 40,
849 -1, 42, 43, 281, 45, -1, -1, -1, -1, 287,
850 288, 289, 290, 311, -1, -1, 314, -1, -1, 317,
851 318, 319, 123, 64, -1, 126, -1, 305, 306, 307,
852 308, 309, 310, 311, -1, -1, 314, -1, -1, 317,
853 318, 319, -1, -1, -1, -1, -1, -1, -1, 275,
854 91, 289, 290, -1, -1, 281, 33, -1, -1, 36,
855 37, 38, -1, 40, -1, 42, 43, -1, 45, -1,
856 -1, -1, 310, 311, -1, -1, 314, -1, -1, 317,
857 318, 319, 123, -1, -1, 126, -1, 64, -1, -1,
858 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
859 -1, 263, 264, 265, -1, -1, -1, 269, -1, -1,
860 272, 273, 274, 275, 91, -1, -1, 279, 280, -1,
861 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
862 292, 293, 294, 295, 296, -1, -1, -1, -1, -1,
863 -1, 303, -1, -1, -1, -1, 123, -1, -1, 126,
864 -1, 313, -1, 315, 316, 256, 257, 258, 259, 260,
865 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
866 -1, 272, 273, 274, 275, -1, -1, -1, 279, 280,
867 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
868 291, 292, 293, 294, 295, 296, -1, -1, -1, -1,
869 -1, 33, 303, -1, 36, 37, 38, -1, 40, -1,
870 42, 43, 313, 45, 315, 316, 257, 258, 259, 260,
871 261, 262, 263, 264, 265, -1, -1, -1, 269, -1,
872 -1, -1, 64, -1, -1, -1, -1, -1, -1, 280,
873 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
874 291, 292, 293, 294, 295, 296, -1, -1, -1, 91,
875 -1, 41, 303, -1, 44, -1, 287, 288, 289, 290,
876 -1, -1, 313, -1, 315, 316, -1, -1, 58, 59,
877 257, 258, 259, 260, 261, -1, 263, 264, 265, 310,
878 311, 123, 269, 314, 126, -1, 317, 318, 319, -1,
879 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
880 -1, -1, -1, 93, 291, 292, 293, 294, 295, 296,
881 33, -1, -1, 36, 37, 38, 303, 40, -1, 42,
882 43, -1, 45, -1, -1, -1, 313, -1, 315, 316,
883 287, 288, 289, 290, -1, -1, 59, -1, -1, -1,
884 -1, 64, -1, -1, -1, -1, -1, -1, -1, -1,
885 307, 308, 309, 310, 311, -1, -1, 314, -1, -1,
886 317, 318, 319, 287, 288, 289, 290, -1, 91, -1,
887 33, -1, -1, 36, 37, 38, -1, 40, 41, 42,
888 43, -1, 45, -1, 308, 309, 310, 311, -1, -1,
889 314, -1, -1, 317, 318, 319, -1, -1, -1, -1,
890 -1, 64, -1, 126, -1, -1, -1, -1, -1, -1,
891 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
892 -1, 263, 264, 265, -1, -1, -1, 269, 91, -1,
893 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
894 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
895 292, 293, 294, 295, 296, 33, -1, -1, 36, 37,
896 38, 303, 40, 126, 42, 43, -1, 45, -1, -1,
897 -1, 313, -1, 315, 316, -1, -1, -1, -1, -1,
898 -1, -1, 272, 273, 274, 275, 64, -1, -1, 279,
899 -1, -1, -1, -1, -1, -1, 33, -1, -1, 36,
900 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
901 300, 301, 302, 91, 304, 93, -1, -1, -1, -1,
902 -1, -1, -1, -1, -1, -1, -1, 64, -1, 41,
903 -1, -1, 44, -1, 257, 258, 259, 260, 261, -1,
904 263, 264, 265, -1, -1, -1, 269, 59, 126, -1,
905 -1, -1, -1, -1, 91, -1, -1, 280, -1, 282,
906 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
907 293, 294, 295, 296, -1, -1, -1, -1, -1, -1,
908 303, 93, -1, -1, -1, -1, -1, -1, -1, 126,
909 313, -1, 315, 316, 257, 258, 259, 260, 261, -1,
910 263, 264, 265, -1, 33, -1, 269, 36, 37, 38,
911 -1, 40, 41, 42, 43, -1, 45, 280, -1, 282,
912 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
913 293, 294, 295, 296, -1, 64, -1, -1, -1, -1,
914 303, 287, 288, 289, 290, -1, -1, -1, -1, -1,
915 313, -1, 315, 316, -1, -1, -1, 41, -1, -1,
916 44, -1, 91, 309, 310, 311, -1, -1, 314, -1,
917 -1, 317, 318, 319, 58, 59, -1, -1, -1, 257,
918 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
919 -1, 269, 41, -1, -1, 44, -1, 126, -1, -1,
920 -1, -1, 280, -1, 282, 283, 284, 285, 286, 93,
921 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
922 257, 258, 259, 260, 261, 303, 263, 264, 265, -1,
923 -1, -1, 269, -1, -1, 313, -1, 315, 316, -1,
924 -1, -1, -1, 280, 93, 282, 283, 284, 285, 286,
925 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
926 272, 273, 274, 275, -1, 33, 303, 279, 36, 37,
927 38, -1, 40, 41, 42, 43, 313, 45, 315, 316,
928 27, 28, -1, -1, -1, -1, -1, -1, 300, 301,
929 -1, -1, 39, -1, -1, -1, 64, -1, 45, 46,
930 47, -1, -1, -1, 51, 52, -1, -1, -1, -1,
931 -1, -1, -1, -1, -1, -1, -1, 64, 65, 66,
932 67, -1, -1, 91, -1, -1, -1, -1, 257, 258,
933 259, 260, 261, -1, 263, 264, 265, -1, 33, -1,
934 269, 36, 37, 38, -1, 40, 41, 42, 43, -1,
935 45, 280, -1, 282, 283, 284, 285, 286, 126, -1,
936 -1, -1, 291, 292, 293, 294, 295, 296, 115, 64,
937 -1, -1, -1, -1, 303, -1, -1, -1, -1, -1,
938 -1, -1, -1, -1, 313, -1, 315, 316, 272, 273,
939 274, 275, -1, -1, -1, 279, 91, -1, -1, -1,
940 -1, 33, -1, -1, 36, 37, 38, -1, 40, -1,
941 42, 43, -1, 45, -1, -1, 300, 301, 302, -1,
942 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
943 279, 126, 64, -1, 181, -1, 41, -1, -1, 44,
944 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
945 -1, 300, 301, 58, 59, -1, -1, -1, -1, 91,
946 -1, 208, -1, -1, -1, -1, -1, -1, -1, -1,
947 -1, -1, -1, -1, 33, -1, -1, 36, 37, 38,
948 -1, 40, 41, 42, 43, -1, 45, -1, 93, 257,
949 258, 259, 260, 261, 126, 263, 264, 265, -1, -1,
950 -1, 269, -1, -1, -1, 64, -1, -1, -1, -1,
951 -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
952 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
953 -1, -1, 91, -1, -1, 303, -1, -1, -1, -1,
954 -1, -1, -1, -1, -1, 313, 33, 315, 316, 36,
955 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
956 -1, -1, 257, 258, 259, 260, 261, 126, 263, 264,
957 265, -1, -1, -1, 269, -1, -1, 64, -1, -1,
958 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
959 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
960 295, 296, -1, -1, 91, -1, -1, -1, 303, -1,
961 -1, -1, -1, -1, -1, -1, -1, -1, 313, -1,
962 315, 316, -1, -1, 256, 257, 258, 259, 260, 261,
963 -1, 263, 264, 265, -1, -1, -1, 269, -1, 126,
964 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
965 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
966 292, 293, 294, 295, 296, -1, -1, 272, 273, 274,
967 275, 303, -1, -1, 279, -1, -1, -1, -1, -1,
968 -1, 313, 33, 315, 316, 36, 37, 38, -1, 40,
969 41, 42, 43, -1, 45, 300, 301, 302, 257, 258,
970 259, 260, 261, -1, 263, 264, 265, -1, -1, -1,
971 269, -1, -1, 64, -1, -1, -1, -1, -1, -1,
972 -1, 280, -1, 282, 283, 284, 285, 286, -1, -1,
973 -1, -1, 291, 292, 293, 294, 295, 296, -1, -1,
974 91, -1, -1, -1, 303, -1, -1, -1, -1, -1,
975 -1, -1, -1, -1, 313, 33, 315, 316, 36, 37,
976 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
977 257, 258, 259, 260, 261, 126, 263, 264, 265, -1,
978 -1, -1, 269, -1, -1, -1, 64, -1, -1, -1,
979 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
980 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
981 -1, -1, -1, 91, -1, -1, 303, -1, -1, -1,
982 -1, -1, -1, -1, 41, -1, 313, 44, 315, 316,
983 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
984 -1, 58, 59, -1, -1, -1, 63, -1, 126, 58,
985 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
986 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
987 -1, -1, -1, -1, -1, -1, 93, -1, -1, -1,
988 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
989 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
990 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
991 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
992 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
993 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
994 291, 292, 293, 294, 295, 296, -1, -1, -1, -1,
995 -1, 41, 303, -1, 44, -1, -1, -1, -1, -1,
996 -1, -1, 313, -1, 315, 316, -1, -1, 58, 59,
997 -1, 41, -1, 63, 44, -1, -1, -1, -1, 257,
998 258, 259, 260, 261, -1, 263, 264, 265, 58, 59,
999 -1, 269, -1, -1, -1, -1, -1, -1, -1, -1,
1000 -1, -1, 280, 93, 282, 283, 284, 285, 286, -1,
1001 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
1002 -1, 32, -1, 93, 41, 303, -1, 44, -1, 40,
1003 -1, -1, -1, 44, -1, 313, 47, 315, 316, 50,
1004 -1, 58, 59, 54, 55, 56, 57, 58, -1, -1,
1005 -1, 62, 63, -1, -1, 272, 273, 274, 275, -1,
1006 -1, -1, 279, 272, 273, 274, 275, -1, -1, -1,
1007 279, -1, 281, -1, -1, -1, 93, -1, 287, 288,
1008 289, 290, -1, 300, 301, 302, -1, 304, -1, -1,
1009 101, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1010 309, 310, 311, -1, -1, 314, -1, -1, 317, 318,
1011 319, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1012 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1013 -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
1014 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1015 -1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
1016 171, 172, 173, 174, 175, 176, 177, 178, 93, -1,
1017 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
1018 -1, 192, 272, 273, 274, 275, -1, 58, 59, 279,
1019 -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
1020 290, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1021 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1022 310, 311, 93, 41, 314, -1, 44, 317, 318, 319,
1023 300, 301, 302, -1, -1, -1, -1, -1, -1, -1,
1024 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1025 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1026 -1, -1, 279, -1, -1, -1, -1, -1, 279, -1,
1027 -1, 41, -1, -1, 44, 93, -1, -1, -1, -1,
1028 -1, -1, -1, 300, 301, 302, -1, -1, 58, 59,
1029 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1030 -1, 312, -1, -1, -1, -1, -1, -1, -1, -1,
1031 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1032 -1, -1, 44, 93, -1, -1, -1, -1, -1, -1,
1033 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
1034 -1, 63, -1, -1, -1, -1, -1, 272, 273, 274,
1035 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
1036 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1037 -1, 93, -1, -1, -1, 300, 301, 302, -1, 304,
1038 305, 306, 307, 308, 309, 310, 311, -1, -1, 314,
1039 -1, -1, 317, 318, 319, -1, -1, -1, -1, -1,
1040 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1041 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1042 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1043 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1044 311, -1, -1, 314, -1, -1, 317, 318, 319, -1,
1045 -1, -1, -1, -1, 272, 273, 274, 275, 93, -1,
1046 -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
1047 288, 289, 290, -1, -1, -1, -1, -1, -1, -1,
1048 -1, -1, 300, 301, 302, -1, 304, 305, 306, 307,
1049 308, 309, 310, 311, -1, -1, 314, -1, -1, 317,
1050 318, 319, 272, 273, 274, 275, -1, -1, -1, 279,
1051 -1, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1052 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1053 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1054 310, 311, -1, -1, 314, -1, -1, 317, 318, 319,
1055 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1056 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1057 -1, -1, 58, 59, -1, -1, -1, 63, 300, 301,
1058 302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
1059 -1, -1, 314, -1, -1, 317, 318, 319, -1, -1,
1060 -1, -1, -1, -1, -1, 41, -1, 93, 44, -1,
1061 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1062 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
1063 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1064 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
1065 -1, -1, 287, 288, 289, 290, -1, 93, -1, -1,
1066 -1, -1, -1, -1, -1, 300, 301, 302, -1, 304,
1067 305, 306, 307, 308, 309, 310, 311, 41, -1, 314,
1068 44, -1, 317, 318, 319, -1, -1, -1, -1, -1,
1069 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1070 -1, -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, 41, -1, -1, 44, 93,
1073 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1074 -1, -1, 58, 59, -1, -1, -1, 63, -1, -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, 41, -1, -1, 93, -1, -1,
1078 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1079 -1, 58, 59, 279, -1, 281, 63, -1, -1, -1,
1080 -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
1081 -1, -1, -1, -1, 300, 301, 302, -1, 304, 305,
1082 306, 307, 308, 309, 310, 311, 93, -1, 314, -1,
1083 -1, 317, 318, 319, -1, -1, 272, 273, 274, 275,
1084 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1085 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
1086 -1, -1, -1, 63, 300, 301, 302, -1, 304, 305,
1087 306, 307, 308, 309, 310, 311, -1, -1, 314, -1,
1088 -1, 317, 318, 319, -1, -1, -1, -1, -1, -1,
1089 -1, -1, -1, 93, -1, -1, 41, -1, -1, 44,
1090 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1091 274, 275, -1, 58, 59, 279, -1, 281, 63, -1,
1092 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
1093 -1, -1, -1, -1, -1, -1, 300, 301, 302, -1,
1094 304, 305, 306, 307, 308, 309, 310, 311, 93, -1,
1095 314, -1, -1, 317, 318, 319, 272, 273, 274, 275,
1096 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1097 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
1098 -1, -1, -1, 63, 300, 301, 302, -1, 304, 305,
1099 306, 307, 308, 309, 310, 311, -1, -1, 314, -1,
1100 -1, 317, 318, 319, -1, 272, 273, 274, 275, 41,
1101 -1, -1, 279, 93, 281, -1, -1, -1, -1, -1,
1102 287, 288, 289, 290, -1, -1, 58, 59, -1, -1,
1103 -1, 63, -1, 300, 301, 302, -1, 304, 305, 306,
1104 307, 308, 309, 310, 311, -1, -1, 314, -1, -1,
1105 317, 318, 319, -1, -1, -1, -1, -1, -1, -1,
1106 41, 93, -1, -1, -1, -1, -1, -1, -1, -1,
1107 -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
1108 -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
1109 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1110 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1111 310, 311, 93, -1, 314, -1, -1, 317, 318, 319,
1112 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1113 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1114 -1, -1, 287, 288, 289, 290, -1, -1, -1, 58,
1115 59, -1, -1, -1, 63, 300, 301, 302, -1, 304,
1116 305, 306, 307, 308, 309, 310, 311, -1, -1, 314,
1117 -1, -1, 317, 318, 319, -1, -1, -1, -1, -1,
1118 41, -1, -1, 44, 93, -1, -1, -1, -1, -1,
1119 -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
1120 -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
1121 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1122 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1123 310, 311, 93, -1, 314, -1, -1, 317, 318, 319,
1124 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1125 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1126 -1, -1, 58, 59, -1, -1, -1, 63, 300, 301,
1127 302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
1128 -1, -1, 314, -1, -1, 317, 318, 319, -1, -1,
1129 -1, 272, 273, 274, 275, -1, 41, 93, 279, 44,
1130 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1131 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1132 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1133 311, -1, -1, 314, -1, -1, 317, 318, 319, -1,
1134 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
1135 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
1136 -1, -1, -1, 272, 273, 274, 275, -1, 58, 59,
1137 279, -1, 281, 63, -1, -1, -1, -1, 287, 288,
1138 289, 290, -1, -1, -1, -1, -1, -1, -1, -1,
1139 -1, 300, 301, 302, -1, 304, 305, 306, 307, 308,
1140 309, 310, 311, 93, -1, 314, -1, -1, -1, -1,
1141 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1142 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1143 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1144 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1145 311, -1, -1, 314, -1, -1, -1, -1, -1, -1,
1146 -1, -1, -1, -1, 41, -1, -1, 44, 93, -1,
1147 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1148 -1, 58, 59, 279, -1, 281, 63, -1, -1, -1,
1149 -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
1150 -1, -1, -1, -1, 300, 301, 302, -1, 304, 305,
1151 306, 307, 308, 309, 310, 311, 93, -1, -1, -1,
1152 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1153 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
1154 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1155 41, -1, -1, 44, -1, 300, 301, 302, -1, 304,
1156 305, 306, 307, 308, 309, 310, 311, 58, 59, -1,
1157 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
1158 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1159 -1, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1160 290, -1, 93, -1, -1, 41, -1, -1, 44, -1,
1161 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1162 310, 311, 58, 59, -1, -1, -1, 63, -1, -1,
1163 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1164 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1165 275, -1, -1, -1, 279, -1, 281, 93, -1, -1,
1166 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1167 41, -1, -1, 44, -1, 300, 301, 302, -1, 304,
1168 305, 306, 307, 308, 309, 310, 311, 58, 59, -1,
1169 -1, -1, 63, -1, -1, 272, 273, 274, 275, -1,
1170 -1, -1, 279, -1, 281, -1, -1, -1, -1, -1,
1171 287, 288, 289, 290, -1, -1, -1, -1, 41, -1,
1172 -1, 44, 93, 300, 301, 302, -1, 304, 305, 306,
1173 307, 308, 309, 310, 311, 58, 59, -1, -1, -1,
1174 63, -1, -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, 41,
1177 93, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1178 -1, 272, 273, 274, 275, -1, 58, 59, 279, -1,
1179 281, 63, -1, -1, -1, -1, 287, 288, 289, 290,
1180 -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
1181 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1182 311, 93, -1, -1, 41, -1, -1, 44, -1, -1,
1183 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1184 -1, 58, 59, 279, -1, 281, 63, -1, -1, -1,
1185 -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
1186 -1, -1, -1, -1, 300, 301, 302, -1, 304, 305,
1187 306, 307, 308, 309, 310, 311, 93, -1, -1, -1,
1188 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1189 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1190 -1, 272, 273, 274, 275, -1, 58, 59, 279, -1,
1191 281, 63, -1, -1, -1, -1, 287, 288, 289, 290,
1192 -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
1193 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1194 -1, 93, -1, -1, 41, -1, -1, 44, -1, 272,
1195 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1196 -1, 58, 59, -1, 287, 288, 63, 290, -1, -1,
1197 -1, 58, 59, -1, -1, -1, 63, 300, 301, 302,
1198 -1, 304, 305, 306, 307, 308, 309, 310, -1, -1,
1199 -1, -1, -1, -1, -1, 41, 93, -1, 44, -1,
1200 272, 273, 274, 275, -1, -1, 93, 279, -1, 281,
1201 -1, -1, 58, 59, -1, 287, 288, 63, -1, -1,
1202 -1, -1, -1, -1, -1, -1, -1, -1, 300, 301,
1203 302, -1, 304, 305, 306, 307, 308, 309, 310, -1,
1204 -1, -1, -1, 41, -1, -1, 44, 93, -1, -1,
1205 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1206 58, 59, 279, -1, 281, 63, -1, -1, -1, -1,
1207 287, 288, -1, -1, -1, -1, -1, -1, -1, -1,
1208 -1, -1, -1, 300, 301, 302, -1, 304, 305, 306,
1209 307, 308, 309, 41, -1, 93, 44, -1, -1, -1,
1210 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1211 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1212 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1213 -1, -1, -1, -1, -1, 287, 288, -1, -1, -1,
1214 -1, 41, -1, -1, 44, 93, -1, -1, 300, 301,
1215 302, -1, 304, 305, 306, 307, 308, 309, 58, 59,
1216 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1217 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1218 41, -1, 279, 44, 281, 272, 273, 274, 275, -1,
1219 287, 288, 279, 93, 281, -1, -1, 58, 59, -1,
1220 287, 288, 63, 300, 301, 302, -1, 304, 305, 306,
1221 307, 308, 309, 300, 301, 302, -1, 304, 305, 306,
1222 307, 308, 309, -1, -1, -1, 272, 273, 274, 275,
1223 -1, -1, 93, 279, -1, 281, -1, -1, -1, -1,
1224 -1, -1, 288, -1, -1, -1, -1, 41, -1, -1,
1225 44, -1, -1, -1, 300, 301, 302, -1, 304, 305,
1226 306, 307, 308, 309, 58, 59, -1, -1, -1, 63,
1227 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1228 -1, 279, -1, 281, -1, -1, -1, -1, -1, -1,
1229 -1, -1, -1, -1, -1, 41, -1, -1, 44, 93,
1230 -1, -1, 300, 301, 302, -1, 304, 305, 306, 307,
1231 308, 309, 58, 59, -1, -1, -1, 63, -1, -1,
1232 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1233 -1, 279, -1, 281, -1, -1, -1, -1, -1, -1,
1234 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
1235 -1, -1, 300, 301, 302, -1, 304, 305, 306, 307,
1236 308, 309, -1, -1, -1, -1, -1, -1, -1, -1,
1237 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1238 -1, 281, -1, -1, -1, -1, -1, -1, -1, -1,
1239 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1240 300, 301, 302, -1, 304, 305, 306, 307, 308, -1,
1241 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1242 281, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1243 -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
1244 301, 302, -1, 304, 305, 306, 307, -1, -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, 272, 273,
1248 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1250 -1, -1, -1, -1, -1, -1, 300, 301, 302, -1,
1251 304, 305, 306, -1, -1, -1, -1, -1, -1, -1,
1252 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1253 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
1254 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1255 -1, -1, -1, -1, 300, 301, 302, -1, 304, 305,
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 ';'",
1353 "use : USE startsub $$1 WORD WORD listexpr ';'",
1354 "expr : expr ANDOP expr",
1355 "expr : expr OROP expr",
1356 "expr : expr DOROP expr",
1358 "argexpr : argexpr ','",
1359 "argexpr : argexpr ',' term",
1361 "listop : LSTOP indirob argexpr",
1362 "listop : FUNC '(' indirob expr ')'",
1363 "listop : term ARROW method '(' listexprcom ')'",
1364 "listop : term ARROW method",
1365 "listop : METHOD indirob listexpr",
1366 "listop : FUNCMETH indirob '(' listexprcom ')'",
1367 "listop : LSTOP listexpr",
1368 "listop : FUNC '(' listexprcom ')'",
1370 "listop : LSTOPSUB startanonsub block $$2 listexpr",
1373 "subscripted : star '{' expr ';' '}'",
1374 "subscripted : scalar '[' expr ']'",
1375 "subscripted : term ARROW '[' expr ']'",
1376 "subscripted : subscripted '[' expr ']'",
1377 "subscripted : scalar '{' expr ';' '}'",
1378 "subscripted : term ARROW '{' expr ';' '}'",
1379 "subscripted : subscripted '{' expr ';' '}'",
1380 "subscripted : term ARROW '(' ')'",
1381 "subscripted : term ARROW '(' expr ')'",
1382 "subscripted : subscripted '(' expr ')'",
1383 "subscripted : subscripted '(' ')'",
1384 "termbinop : term ASSIGNOP term",
1385 "termbinop : term POWOP term",
1386 "termbinop : term MULOP term",
1387 "termbinop : term ADDOP term",
1388 "termbinop : term SHIFTOP term",
1389 "termbinop : term RELOP term",
1390 "termbinop : term EQOP term",
1391 "termbinop : term BITANDOP term",
1392 "termbinop : term BITOROP term",
1393 "termbinop : term DOTDOT term",
1394 "termbinop : term ANDAND term",
1395 "termbinop : term OROR term",
1396 "termbinop : term DORDOR term",
1397 "termbinop : term MATCHOP term",
1398 "termunop : '-' term",
1399 "termunop : '+' term",
1400 "termunop : '!' term",
1401 "termunop : '~' term",
1402 "termunop : term POSTINC",
1403 "termunop : term POSTDEC",
1404 "termunop : PREINC term",
1405 "termunop : PREDEC term",
1406 "anonymous : '[' expr ']'",
1407 "anonymous : '[' ']'",
1408 "anonymous : HASHBRACK expr ';' '}'",
1409 "anonymous : HASHBRACK ';' '}'",
1410 "anonymous : ANONSUB startanonsub proto subattrlist block",
1412 "termdo : DO block",
1413 "termdo : DO WORD '(' ')'",
1414 "termdo : DO WORD '(' expr ')'",
1415 "termdo : DO scalar '(' ')'",
1416 "termdo : DO scalar '(' expr ')'",
1421 "term : term '?' term ':' term",
1422 "term : REFGEN term",
1423 "term : myattrterm",
1424 "term : LOCAL term",
1425 "term : '(' expr ')'",
1432 "term : subscripted",
1433 "term : '(' expr ')' '[' expr ']'",
1434 "term : '(' ')' '[' expr ']'",
1435 "term : ary '[' expr ']'",
1436 "term : ary '{' expr ';' '}'",
1439 "term : amper '(' ')'",
1440 "term : amper '(' expr ')'",
1441 "term : NOAMP WORD listexpr",
1443 "term : LOOPEX term",
1444 "term : NOTOP argexpr",
1446 "term : UNIOP block",
1447 "term : UNIOP term",
1448 "term : UNIOPSUB term",
1450 "term : FUNC0 '(' ')'",
1452 "term : FUNC1 '(' ')'",
1453 "term : FUNC1 '(' expr ')'",
1454 "term : PMFUNC '(' term ')'",
1455 "term : PMFUNC '(' term ',' term ')'",
1458 "myattrterm : MY myterm myattrlist",
1459 "myattrterm : MY myterm",
1460 "myterm : '(' expr ')'",
1466 "listexpr : argexpr",
1468 "listexprcom : expr",
1469 "listexprcom : expr ','",
1470 "my_scalar : scalar",
1471 "amper : '&' indirob",
1472 "scalar : '$' indirob",
1473 "ary : '@' indirob",
1474 "hsh : '%' indirob",
1475 "arylen : DOLSHARP indirob",
1476 "star : '*' indirob",
1480 "indirob : PRIVATEREF",
1483 #define yyclearin (yychar=(-1))
1484 #define yyerrok (yyerrflag=0)
1487 #define YYMAXDEPTH YYSTACKSIZE
1491 #define YYSTACKSIZE YYMAXDEPTH
1493 #define YYSTACKSIZE 500
1494 #define YYMAXDEPTH 500
1500 /* more stuff added to make perly_c.diff easier to apply */
1505 #define yyparse() Perl_yyparse(pTHX)
1507 #line 1508 "perly.c"
1508 #define YYABORT goto yyabort
1509 #define YYACCEPT goto yyaccept
1510 #define YYERROR goto yyerrlab
1514 register int yym, yyn, yystate;
1515 register short *yyssp;
1516 register YYSTYPE *yyvsp;
1519 unsigned yystacksize = YYSTACKSIZE;
1527 ENTER; /* force yydestruct() before we return */
1529 New(73, ysave, 1, struct ysv);
1530 SAVEDESTRUCTOR_X(yydestruct, ysave);
1531 ysave->oldyydebug = yydebug;
1532 ysave->oldyynerrs = yynerrs;
1533 ysave->oldyyerrflag = yyerrflag;
1534 ysave->oldyychar = yychar;
1535 ysave->oldyyval = yyval;
1536 ysave->oldyylval = yylval;
1539 if ((yys = getenv("YYDEBUG")))
1542 if (yyn >= '0' && yyn <= '9')
1543 yydebug = yyn - '0';
1552 ** Initialize private stacks (yyparse may be called from an action)
1554 New(73, yyss, yystacksize, short);
1555 New(73, yyvs, yystacksize, YYSTYPE);
1563 *yyssp = yystate = 0;
1566 if ((yyn = yydefred[yystate])) goto yyreduce;
1569 if ((yychar = yylex()) < 0) yychar = 0;
1574 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1575 if (!yys) yys = "illegal-symbol";
1576 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1581 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1582 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1586 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1587 yystate, yytable[yyn]);
1589 if (yyssp >= yyss + yystacksize - 1)
1592 ** reallocate and recover. Note that pointers
1593 ** have to be reset, or bad things will happen
1595 int yyps_index = (yyssp - yyss);
1596 int yypv_index = (yyvsp - yyvs);
1597 yystacksize += YYSTACKSIZE;
1598 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1599 ysave->yyss = Renew(yyss, yystacksize, short);
1602 yyssp = yyss + yyps_index;
1603 yyvsp = yyvs + yypv_index;
1605 *++yyssp = yystate = yytable[yyn];
1608 if (yyerrflag > 0) --yyerrflag;
1611 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1612 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1617 if (yyerrflag) goto yyinrecovery;
1622 yyerror("syntax error");
1634 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1635 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1639 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery shifting\
1640 to state %d\n", *yyssp, yytable[yyn]);
1642 if (yyssp >= yyss + yystacksize - 1)
1645 ** reallocate and recover. Note that pointers
1646 ** have to be reset, or bad things will happen
1648 int yyps_index = (yyssp - yyss);
1649 int yypv_index = (yyvsp - yyvs);
1650 yystacksize += YYSTACKSIZE;
1651 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1652 ysave->yyss = Renew(yyss, yystacksize, short);
1655 yyssp = yyss + yyps_index;
1656 yyvsp = yyvs + yypv_index;
1658 *++yyssp = yystate = yytable[yyn];
1666 PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
1669 if (yyssp <= yyss) goto yyabort;
1677 if (yychar == 0) goto yyabort;
1682 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1683 if (!yys) yys = "illegal-symbol";
1684 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
1685 yystate, yychar, yys);
1694 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1695 yystate, yyn, yyrule[yyn]);
1698 yyval = yyvsp[1-yym];
1703 { yyval.ival = yyvsp[-1].ival; newPROG(block_end(yyvsp[-1].ival,yyvsp[0].opval)); }
1707 { if (PL_copline > (line_t)yyvsp[-3].ival)
1708 PL_copline = (line_t)yyvsp[-3].ival;
1709 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1713 { yyval.ival = block_start(TRUE); }
1718 #if defined(YYDEBUG) && defined(DEBUGGING)
1719 yydebug = (DEBUG_p_TEST);
1721 PL_expect = XSTATE; yyval.ival = block_start(TRUE);
1726 { if (PL_copline > (line_t)yyvsp[-3].ival)
1727 PL_copline = (line_t)yyvsp[-3].ival;
1728 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1732 { yyval.ival = block_start(FALSE); }
1736 { yyval.opval = Nullop; }
1740 { yyval.opval = yyvsp[-1].opval; }
1744 { yyval.opval = append_list(OP_LINESEQ,
1745 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1746 PL_pad_reset_pending = TRUE;
1747 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1751 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1755 { if (yyvsp[-1].pval != Nullch) {
1756 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1759 yyval.opval = Nullop;
1760 PL_copline = NOLINE;
1762 PL_expect = XSTATE; }
1766 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1767 PL_expect = XSTATE; }
1771 { yyval.opval = Nullop; }
1775 { yyval.opval = yyvsp[0].opval; }
1779 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1783 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1787 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1791 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1795 { yyval.opval = newFOROP(0, Nullch, (line_t)yyvsp[-1].ival,
1796 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1800 { yyval.opval = Nullop; }
1804 { (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
1808 { PL_copline = (line_t)yyvsp[-5].ival;
1809 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
1810 PL_hints |= HINT_BLOCK_SCOPE; }
1814 { PL_copline = (line_t)yyvsp[-6].ival;
1815 yyval.opval = block_end(yyvsp[-4].ival,
1816 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1820 { PL_copline = (line_t)yyvsp[-6].ival;
1821 yyval.opval = block_end(yyvsp[-4].ival,
1822 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1826 { yyval.opval = Nullop; }
1830 { yyval.opval = scope(yyvsp[0].opval); }
1834 { PL_copline = (line_t)yyvsp[-6].ival;
1835 yyval.opval = block_end(yyvsp[-4].ival,
1836 newSTATEOP(0, yyvsp[-7].pval,
1837 newWHILEOP(0, 1, (LOOP*)Nullop,
1838 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1842 { PL_copline = (line_t)yyvsp[-6].ival;
1843 yyval.opval = block_end(yyvsp[-4].ival,
1844 newSTATEOP(0, yyvsp[-7].pval,
1845 newWHILEOP(0, 1, (LOOP*)Nullop,
1846 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1850 { yyval.opval = block_end(yyvsp[-6].ival,
1851 newFOROP(0, yyvsp[-9].pval, (line_t)yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1855 { yyval.opval = block_end(yyvsp[-4].ival,
1856 newFOROP(0, yyvsp[-8].pval, (line_t)yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1857 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1861 { yyval.opval = block_end(yyvsp[-4].ival,
1862 newFOROP(0, yyvsp[-7].pval, (line_t)yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1867 PL_copline = (line_t)yyvsp[-9].ival;
1868 forop = newSTATEOP(0, yyvsp[-10].pval,
1869 newWHILEOP(0, 1, (LOOP*)Nullop,
1870 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1871 yyvsp[0].opval, yyvsp[-2].opval));
1872 if (yyvsp[-6].opval) {
1873 forop = append_elem(OP_LINESEQ,
1874 newSTATEOP(0, (yyvsp[-10].pval?savepv(yyvsp[-10].pval):Nullch),
1879 yyval.opval = block_end(yyvsp[-7].ival, forop); }
1883 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1884 newWHILEOP(0, 1, (LOOP*)Nullop,
1885 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1889 { yyval.opval = Nullop; }
1893 { (void)scan_num("1", &yylval); yyval.opval = yylval.opval; }
1897 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1901 { yyval.opval = yyvsp[0].opval; intro_my(); }
1905 { yyval.opval = yyvsp[0].opval; intro_my(); }
1909 { yyval.opval = yyvsp[0].opval; intro_my(); }
1913 { yyval.opval = yyvsp[0].opval; intro_my(); }
1917 { yyval.pval = Nullch; }
1941 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1945 { yyval.opval = yyvsp[0].opval; }
1949 { yyval.opval = Nullop; }
1953 { newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1957 { newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1961 { yyval.ival = start_subparse(FALSE, 0); }
1965 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1969 { yyval.ival = start_subparse(TRUE, 0); }
1973 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1974 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1975 || strEQ(name, "INIT") || strEQ(name, "CHECK"))
1976 CvSPECIAL_on(PL_compcv);
1977 yyval.opval = yyvsp[0].opval; }
1981 { yyval.opval = Nullop; }
1985 { yyval.opval = Nullop; }
1989 { yyval.opval = yyvsp[0].opval; }
1993 { yyval.opval = Nullop; }
1997 { yyval.opval = yyvsp[0].opval; }
2001 { yyval.opval = Nullop; }
2005 { yyval.opval = yyvsp[0].opval; }
2009 { yyval.opval = Nullop; PL_expect = XSTATE; }
2013 { package(yyvsp[-1].opval); }
2017 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
2021 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
2025 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2029 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2033 { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2037 { yyval.opval = yyvsp[-1].opval; }
2041 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
2045 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
2046 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
2050 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
2051 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
2055 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2056 append_elem(OP_LIST,
2057 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
2058 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
2062 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2063 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
2064 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
2068 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2069 append_elem(OP_LIST,
2070 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
2071 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
2075 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2076 append_elem(OP_LIST,
2077 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
2078 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
2082 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2086 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2090 { yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
2094 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2095 append_elem(OP_LIST,
2096 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
2100 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
2104 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2108 { yyval.opval = newBINOP(OP_AELEM, 0,
2109 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2110 scalar(yyvsp[-1].opval));}
2114 { yyval.opval = newBINOP(OP_AELEM, 0,
2115 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2116 scalar(yyvsp[-1].opval));}
2120 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2121 PL_expect = XOPERATOR; }
2125 { yyval.opval = newBINOP(OP_HELEM, 0,
2126 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2127 jmaybe(yyvsp[-2].opval));
2128 PL_expect = XOPERATOR; }
2132 { yyval.opval = newBINOP(OP_HELEM, 0,
2133 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2134 jmaybe(yyvsp[-2].opval));
2135 PL_expect = XOPERATOR; }
2139 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2140 newCVREF(0, scalar(yyvsp[-3].opval))); }
2144 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2145 append_elem(OP_LIST, yyvsp[-1].opval,
2146 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2150 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2151 append_elem(OP_LIST, yyvsp[-1].opval,
2152 newCVREF(0, scalar(yyvsp[-3].opval)))); }
2156 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2157 newCVREF(0, scalar(yyvsp[-2].opval))); }
2161 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
2165 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2169 { if (yyvsp[-1].ival != OP_REPEAT)
2170 scalar(yyvsp[-2].opval);
2171 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2175 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2179 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2183 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2187 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2191 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2195 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2199 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2203 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2207 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2211 { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2215 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2219 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2223 { yyval.opval = yyvsp[0].opval; }
2227 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2231 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2235 { yyval.opval = newUNOP(OP_POSTINC, 0,
2236 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2240 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2241 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2245 { yyval.opval = newUNOP(OP_PREINC, 0,
2246 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2250 { yyval.opval = newUNOP(OP_PREDEC, 0,
2251 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2255 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2259 { yyval.opval = newANONLIST(Nullop); }
2263 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2267 { yyval.opval = newANONHASH(Nullop); }
2271 { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2275 { yyval.opval = dofile(yyvsp[0].opval); }
2279 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2283 { yyval.opval = newUNOP(OP_ENTERSUB,
2284 OPf_SPECIAL|OPf_STACKED,
2285 prepend_elem(OP_LIST,
2287 (OPpENTERSUB_AMPER<<8),
2288 scalar(yyvsp[-2].opval)
2289 )),Nullop)); dep();}
2293 { yyval.opval = newUNOP(OP_ENTERSUB,
2294 OPf_SPECIAL|OPf_STACKED,
2295 append_elem(OP_LIST,
2298 (OPpENTERSUB_AMPER<<8),
2299 scalar(yyvsp[-3].opval)
2304 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2305 prepend_elem(OP_LIST,
2306 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2310 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2311 prepend_elem(OP_LIST,
2313 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2317 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2321 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2325 { yyval.opval = yyvsp[0].opval; }
2329 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2333 { yyval.opval = sawparens(yyvsp[-1].opval); }
2337 { yyval.opval = sawparens(newNULLLIST()); }
2341 { yyval.opval = yyvsp[0].opval; }
2345 { yyval.opval = yyvsp[0].opval; }
2349 { yyval.opval = yyvsp[0].opval; }
2353 { yyval.opval = yyvsp[0].opval; }
2357 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2361 { yyval.opval = yyvsp[0].opval; }
2365 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2369 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2373 { yyval.opval = prepend_elem(OP_ASLICE,
2374 newOP(OP_PUSHMARK, 0),
2375 newLISTOP(OP_ASLICE, 0,
2376 list(yyvsp[-1].opval),
2377 ref(yyvsp[-3].opval, OP_ASLICE))); }
2381 { yyval.opval = prepend_elem(OP_HSLICE,
2382 newOP(OP_PUSHMARK, 0),
2383 newLISTOP(OP_HSLICE, 0,
2384 list(yyvsp[-2].opval),
2385 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2386 PL_expect = XOPERATOR; }
2390 { yyval.opval = yyvsp[0].opval; }
2394 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2398 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2402 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2403 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2407 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2408 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2412 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2413 PL_hints |= HINT_BLOCK_SCOPE; }
2417 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2421 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2425 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2429 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2433 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2437 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2438 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2442 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2446 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2450 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2451 scalar(yyvsp[0].opval)); }
2455 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2459 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2463 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2467 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2471 { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
2475 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2479 { yyval.opval = sawparens(yyvsp[-1].opval); }
2483 { yyval.opval = sawparens(newNULLLIST()); }
2487 { yyval.opval = yyvsp[0].opval; }
2491 { yyval.opval = yyvsp[0].opval; }
2495 { yyval.opval = yyvsp[0].opval; }
2499 { yyval.opval = Nullop; }
2503 { yyval.opval = yyvsp[0].opval; }
2507 { yyval.opval = Nullop; }
2511 { yyval.opval = yyvsp[0].opval; }
2515 { yyval.opval = yyvsp[-1].opval; }
2519 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2523 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2527 { yyval.opval = newSVREF(yyvsp[0].opval); }
2531 { yyval.opval = newAVREF(yyvsp[0].opval); }
2535 { yyval.opval = newHVREF(yyvsp[0].opval); }
2539 { yyval.opval = newAVREF(yyvsp[0].opval); }
2543 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2547 { yyval.opval = scalar(yyvsp[0].opval); }
2551 { yyval.opval = scalar(yyvsp[0].opval); }
2555 { yyval.opval = scope(yyvsp[0].opval); }
2559 { yyval.opval = yyvsp[0].opval; }
2561 #line 2562 "perly.c"
2567 if (yystate == 0 && yym == 0)
2571 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to\
2572 state %d\n", YYFINAL);
2579 if ((yychar = yylex()) < 0) yychar = 0;
2584 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2585 if (!yys) yys = "illegal-symbol";
2586 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2587 YYFINAL, yychar, yys);
2591 if (yychar == 0) goto yyaccept;
2594 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2595 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2596 yystate = yytable[yyn];
2598 yystate = yydgoto[yym];
2601 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d \
2602 to state %d\n", *yyssp, yystate);
2604 if (yyssp >= yyss + yystacksize - 1)
2607 ** reallocate and recover. Note that pointers
2608 ** have to be reset, or bad things will happen
2610 int yyps_index = (yyssp - yyss);
2611 int yypv_index = (yyvsp - yyvs);
2612 yystacksize += YYSTACKSIZE;
2613 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2614 ysave->yyss = Renew(yyss, yystacksize, short);
2617 yyssp = yyss + yyps_index;
2618 yyvsp = yyvs + yypv_index;
2624 yyerror("Out of memory for yacc stack");
2629 LEAVE; /* force yydestruct() before we return */
2635 yydestruct(pTHX_ void *ptr)
2637 struct ysv* ysave = (struct ysv*)ptr;
2638 if (ysave->yyss) Safefree(ysave->yyss);
2639 if (ysave->yyvs) Safefree(ysave->yyvs);
2640 yydebug = ysave->oldyydebug;
2641 yynerrs = ysave->oldyynerrs;
2642 yyerrflag = ysave->oldyyerrflag;
2643 yychar = ysave->oldyychar;
2644 yyval = ysave->oldyyval;
2645 yylval = ysave->oldyylval;