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, 10, 8, 7, 11, 9, 12, 12, 12, 13,
57 13, 13, 13, 26, 26, 26, 26, 26, 26, 26,
58 16, 16, 16, 15, 15, 43, 43, 14, 14, 14,
59 14, 14, 14, 14, 6, 28, 28, 29, 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, 17, 17, 17, 27, 27, 27, 37, 37,
64 37, 37, 37, 37, 37, 37, 59, 37, 38, 38,
65 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
66 19, 50, 50, 50, 50, 50, 50, 50, 50, 50,
67 50, 50, 50, 50, 51, 51, 51, 51, 51, 51,
68 51, 51, 52, 52, 52, 52, 52, 53, 53, 53,
69 53, 53, 53, 18, 18, 18, 18, 18, 18, 18,
70 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
71 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
72 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
73 18, 18, 18, 18, 18, 18, 48, 48, 49, 49,
74 49, 49, 49, 34, 34, 35, 35, 35, 44, 25,
75 20, 21, 22, 23, 24, 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, 9, 9, 10,
81 9, 8, 12, 3, 0, 0, 1, 0, 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, 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, 2, 2, 2, 2, 2, 2,
90 2, 2, 3, 2, 4, 3, 5, 2, 2, 4,
91 5, 4, 5, 1, 1, 1, 1, 5, 2, 1,
92 2, 3, 2, 1, 1, 1, 1, 1, 1, 6,
93 5, 4, 5, 1, 1, 3, 4, 3, 1, 2,
94 2, 1, 2, 2, 1, 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, 154,
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, 0, 12, 0, 0, 0, 0, 0, 0, 0,
107 10, 0, 0, 0, 0, 0, 146, 148, 0, 0,
108 0, 0, 176, 140, 134, 135, 136, 137, 52, 0,
109 59, 0, 69, 0, 0, 7, 196, 199, 198, 197,
110 0, 0, 0, 0, 0, 0, 3, 3, 3, 3,
111 3, 3, 0, 0, 0, 0, 0, 163, 0, 0,
112 0, 0, 85, 0, 194, 0, 129, 0, 0, 0,
113 0, 0, 0, 0, 181, 183, 182, 0, 0, 190,
114 0, 0, 0, 0, 0, 0, 0, 0, 124, 0,
115 0, 0, 191, 192, 193, 195, 0, 34, 0, 0,
116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
117 0, 0, 0, 0, 0, 0, 0, 0, 0, 119,
118 120, 0, 0, 0, 0, 0, 0, 0, 0, 0,
119 0, 13, 0, 51, 61, 0, 0, 0, 0, 83,
120 0, 0, 87, 0, 0, 0, 0, 0, 0, 0,
121 3, 169, 171, 0, 0, 0, 0, 0, 0, 0,
122 126, 0, 158, 180, 0, 0, 177, 0, 0, 123,
123 27, 0, 0, 19, 0, 0, 0, 0, 73, 0,
124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
125 0, 0, 0, 0, 89, 0, 0, 90, 0, 0,
126 101, 0, 0, 0, 0, 0, 0, 0, 156, 0,
127 0, 0, 0, 0, 0, 2, 0, 0, 173, 0,
128 0, 0, 0, 0, 0, 0, 43, 0, 189, 0,
129 0, 37, 42, 0, 0, 0, 172, 188, 86, 0,
130 130, 0, 132, 0, 125, 179, 65, 0, 0, 0,
131 0, 98, 0, 0, 0, 0, 100, 94, 0, 92,
132 0, 152, 0, 157, 63, 68, 67, 55, 0, 54,
133 84, 0, 88, 127, 35, 35, 0, 0, 0, 0,
134 0, 0, 80, 131, 133, 151, 0, 0, 0, 99,
135 93, 0, 97, 95, 153, 91, 72, 174, 0, 0,
136 6, 0, 0, 0, 0, 0, 0, 150, 96, 81,
137 0, 0, 7, 0, 0, 24, 25, 0, 32, 35,
138 0, 28, 29, 0, 22, 0, 0, 0, 31, 5,
139 0, 30, 0, 0, 0, 0, 33, 23,
141 static short yydgoto[] = { 1,
142 10, 11, 20, 105, 19, 359, 2, 96, 373, 99,
143 362, 3, 12, 13, 71, 376, 285, 73, 74, 75,
144 76, 77, 78, 79, 80, 292, 82, 293, 283, 234,
145 286, 295, 288, 123, 216, 101, 83, 259, 90, 92,
146 196, 328, 158, 290, 273, 227, 14, 84, 138, 85,
147 86, 87, 88, 15, 16, 17, 18, 94, 280,
149 static short yysindex[] = { 0,
150 0, 0, -112, 0, 0, 0, -47, 0, 0, 0,
151 0, 0, 0, 0, 651, 0, 0, 0, -214, -201,
152 44, 0, 0, -201, 0, 0, 0, -13, -13, 0,
153 20, 0, 2210, 0, 0, 66, 72, 78, 97, -22,
154 2210, 117, 121, 123, 919, -32, -13, 982, 1095, -189,
155 2210, 103, 2210, -13, 2210, 2210, 2210, 2210, 2210, 2210,
156 1246, 1306, 0, 2210, 2210, -13, -13, -13, -13, -149,
157 0, 213, 691, 1, -60, -58, 0, 0, 18, 125,
158 119, 137, 0, 0, 0, 0, 0, 0, 0, 76,
159 0, -59, 0, -57, -59, 0, 0, 0, 0, 0,
160 2210, 167, 2210, 854, 76, -59, 0, 0, 0, 0,
161 0, 0, 168, 691, 173, 1375, -32, 0, 854, 0,
162 -60, 137, 0, 2210, 0, 169, 0, 854, 9, 93,
163 -56, 2210, 854, 1436, 0, 0, 0, -79, 854, 0,
164 137, -191, -191, -191, -95, -95, 145, -24, 0, -67,
165 -191, -191, 0, 0, 0, 0, 76, 0, 2210, 2210,
166 2210, 2210, 2210, 2210, 2210, 2210, 2210, 2210, 2210, 2210,
167 2210, 2210, 2210, 2210, 2210, 2210, 2210, 2210, 2210, 0,
168 0, 43, 2210, 1586, 2210, 2210, 2210, 2210, 2210, 2210,
169 1700, 0, 2210, 0, 0, -52, -17, -52, 293, 0,
170 2210, 232, 0, -52, 2210, 2210, 2210, 2210, 219, 1761,
171 0, 0, 0, -16, 46, 224, 2210, 137, 1871, 2046,
172 0, 143, 0, 0, -14, 12, 0, 2210, 190, 0,
173 0, -220, -220, 0, -220, -220, -220, 4, 0, 587,
174 854, 396, 281, 216, 691, 745, 1466, 1524, 1264, 1632,
175 754, -191, -191, 2210, 0, 2151, 2210, 0, 249, -44,
176 0, -5, 87, 58, 89, 69, 91, 74, 0, -3,
177 691, 73, -38, 2210, -38, 0, 262, 2210, 0, 2210,
178 76, -220, 308, 311, -220, 317, 0, 320, 0, 332,
179 213, 0, 0, 336, 321, 2210, 0, 0, 0, 13,
180 0, 16, 0, 21, 0, 0, 0, 94, 2210, 2210,
181 77, 0, 23, 110, 2210, 257, 0, 0, 269, 0,
182 278, 0, 285, 0, 0, 0, 0, 0, 328, 0,
183 0, 3, 0, 0, 0, 0, 290, 290, 2210, 290,
184 2210, 375, 0, 0, 0, 0, 113, 1011, 292, 0,
185 0, 378, 0, 0, 0, 0, 0, 0, 290, 290,
186 0, -124, -124, 379, -149, 362, 290, 0, 0, 0,
187 -149, -149, 0, 290, 384, 0, 0, 290, 0, 0,
188 -149, 0, 0, 591, 0, 2210, -149, 1761, 0, 0,
189 385, 0, 388, 290, 290, -124, 0, 0,
191 static short yyrindex[] = { 0,
192 0, 0, 466, 0, 0, 0, 0, 0, 0, 0,
193 0, 0, 0, 0, 0, 0, 0, 0, 302, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
196 2304, 2489, 0, 0, 2574, 2621, 0, 0, 0, 0,
197 0, 0, 2672, 0, 0, 0, 0, 0, 0, 0,
198 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,
199 0, -11, 340, 2745, 2793, 2857, 0, 0, 2908, 2964,
200 0, 512, 0, 0, 0, 0, 0, 0, 0, 0,
201 0, -43, 0, 0, -43, 0, 0, 0, 0, 0,
202 2621, 0, 0, 4209, 0, -116, 0, 0, 0, 0,
203 0, 0, 0, 1409, 0, 0, 389, 0, 4255, 364,
204 537, 3419, 0, 0, 0, 3029, 0, 4292, 2793, 0,
205 0, 2621, 4329, 0, 0, 0, 0, 3076, 4366, 0,
206 3483, 3655, 3702, 3767, 2117, 3582, 3127, 0, 0, 0,
207 3818, 3857, 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, 3200, 0, 0, -37, 0, -37, 827, 0,
212 389, 0, 0, 309, 390, 0, 0, 0, 0, 382,
213 0, 0, 0, 0, 393, 0, 0, 3531, 0, 0,
214 0, 0, 0, 0, 0, 3248, 0, 0, 3312, 0,
215 0, -4, -1, 0, 28, 29, 56, 1034, 0, 1795,
216 4413, 1727, 4003, 4093, 1665, 0, 712, 4565, 4528, 4460,
217 4161, 3908, 3956, 0, 0, 0, 0, 0, 3363, 0,
218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
219 1930, -30, 0, 397, 0, 0, 0, 0, 0, 2621,
220 0, 64, 0, 0, 419, 0, 0, 0, 0, 0,
221 101, 0, 0, 0, 0, 0, 0, 0, 0, 0,
222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
223 0, 0, 0, 0, 389, 0, 0, 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 408, 0, 0, 0, 0, 0, 0, 1212, 0, 0,
227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
228 0, 179, 179, 0, 71, 0, 0, 0, 0, 0,
229 71, 71, 0, 0, 0, 0, 0, 0, 0, 0,
230 71, 0, 0, 827, 0, 0, 71, 427, 0, 0,
231 0, 0, 0, 0, 0, 179, 0, 0,
233 static short yygindex[] = { 0,
234 0, 0, 180, 444, 0, -308, 0, -34, 0, -6,
235 1062, -94, 0, 0, 0, -343, -15, 2478, 0, 2171,
236 428, 429, 0, 0, 0, 468, 423, 0, 148, -110,
237 -175, 96, 0, -82, -177, 1127, 0, 0, 0, 471,
238 25, 221, -320, 0, -109, 0, 0, 0, 0, 0,
239 0, 0, 0, 0, 0, 0, 0, 0, 0,
241 #define YYTABLESIZE 4871
242 static short yytable[] = { 72,
243 56, 199, 222, 66, 68, 54, 60, 61, 70, 69,
244 65, 22, 64, 66, 316, 60, 229, 112, 200, 377,
245 326, 62, 66, 277, 297, 230, 306, 360, 64, 15,
246 187, 67, 189, 131, 294, 317, 18, 324, 118, 40,
247 184, 127, 89, 358, 379, 148, 150, 15, 220, 223,
248 382, 383, 398, 343, 18, 91, 344, 40, 62, 103,
249 389, 345, 186, 350, 188, 172, 392, 132, 16, 17,
250 26, 388, 205, 206, 207, 208, 209, 210, 66, 60,
251 164, 165, 256, 194, 26, 62, 16, 17, 275, 298,
252 26, 185, 64, 57, 281, 284, 20, 287, 203, 187,
253 214, 215, 93, 26, 39, 107, 26, 26, 26, 26,
254 26, 108, 26, 26, 20, 26, 319, 109, 225, 198,
255 342, 179, 39, 183, 180, 181, 182, 321, 157, 26,
256 204, 186, 323, 257, 26, 349, 110, 352, 66, 68,
257 190, 41, 134, 232, 233, 235, 236, 237, 238, 239,
258 231, 374, 375, 4, 5, 6, 115, 7, 8, 15,
259 116, 26, 117, 364, 191, 254, 67, 260, 262, 263,
260 264, 265, 266, 267, 268, 270, 296, 192, 21, 318,
261 193, 320, 60, 322, 9, 215, 346, 23, 24, 282,
262 233, 329, 233, 26, 291, 26, 26, 333, 26, 197,
263 195, 300, 351, 302, 304, 368, 201, 211, 219, 21,
264 391, 21, 308, 212, 21, 21, 21, 221, 21, 226,
265 21, 21, 182, 21, 120, 28, 29, 30, 31, 98,
266 32, 33, 34, 164, 165, 228, 35, 21, 311, 274,
267 313, 314, 21, 97, 164, 165, 272, 41, 98, 42,
268 43, 44, 45, 46, 66, 60, 164, 165, 47, 48,
269 49, 50, 51, 52, 299, 53, 327, 305, 327, 21,
270 55, 307, 279, 111, 334, 278, 164, 165, 384, 58,
271 309, 59, 60, 166, 164, 165, 164, 165, 315, 167,
272 168, 169, 170, 347, 172, 164, 165, 164, 165, 215,
273 255, 21, 331, 21, 21, 165, 171, 173, 174, 175,
274 176, 177, 178, 164, 165, 179, 164, 165, 180, 181,
275 182, 164, 165, 164, 165, 282, 26, 26, 26, 26,
276 26, 26, 325, 26, 26, 26, 26, 26, 26, 26,
277 26, 26, 26, 26, 26, 26, 164, 165, 335, 26,
278 26, 336, 26, 26, 26, 26, 26, 337, 164, 165,
279 338, 26, 26, 26, 26, 26, 26, 26, 26, 164,
280 165, 339, 72, 26, 164, 165, 340, 164, 165, 341,
281 78, 353, 26, 78, 26, 26, 357, 164, 165, 164,
282 165, 164, 165, 354, 164, 165, 196, 78, 78, 196,
283 196, 196, 355, 196, 175, 196, 196, 175, 196, 356,
284 164, 165, 361, 164, 165, 367, 369, 276, 370, 378,
285 380, 175, 175, 386, 53, 394, 175, 196, 395, 186,
286 38, 62, 78, 187, 21, 21, 21, 21, 21, 21,
287 36, 21, 21, 21, 21, 21, 21, 21, 21, 21,
288 21, 21, 21, 21, 196, 184, 175, 21, 21, 41,
289 21, 21, 21, 21, 21, 1, 38, 36, 122, 21,
290 21, 21, 21, 21, 21, 21, 21, 141, 106, 136,
291 137, 21, 81, 393, 159, 160, 161, 162, 366, 196,
292 21, 163, 21, 21, 95, 330, 0, 0, 44, 0,
293 0, 44, 44, 44, 169, 44, 0, 44, 44, 0,
294 44, 0, 166, 164, 165, 0, 0, 0, 167, 168,
295 169, 170, 0, 122, 44, 178, 0, 0, 179, 44,
296 0, 180, 181, 182, 0, 171, 173, 174, 175, 176,
297 177, 178, 0, 0, 179, 0, 218, 180, 181, 182,
298 0, 0, 75, 0, 122, 0, 44, 0, 4, 5,
299 6, 0, 7, 8, 0, 0, 0, 0, 0, 197,
300 75, 0, 197, 197, 197, 0, 197, 144, 197, 197,
301 144, 197, 0, 0, 0, 0, 0, 0, 44, 9,
302 178, 44, 0, 179, 144, 144, 180, 181, 182, 144,
303 197, 0, 0, 0, 75, 0, 0, 0, 0, 0,
304 0, 78, 78, 78, 78, 0, 0, 0, 78, 0,
305 196, 196, 196, 196, 196, 0, 196, 196, 196, 144,
306 0, 0, 196, 0, 0, 175, 175, 175, 175, 0,
307 78, 78, 175, 196, 175, 196, 196, 196, 196, 196,
308 175, 175, 175, 175, 196, 196, 196, 196, 196, 196,
309 0, 196, 197, 0, 175, 175, 196, 175, 175, 175,
310 175, 175, 175, 175, 0, 196, 175, 196, 196, 175,
311 175, 175, 167, 56, 169, 170, 66, 68, 54, 0,
312 61, 0, 69, 65, 0, 64, 122, 0, 0, 0,
313 0, 0, 122, 0, 177, 178, 0, 0, 179, 63,
314 0, 180, 181, 182, 67, 390, 0, 0, 0, 0,
315 0, 44, 44, 44, 44, 44, 44, 0, 44, 44,
316 44, 0, 0, 0, 44, 0, 0, 44, 44, 44,
317 44, 62, 0, 0, 44, 44, 0, 44, 44, 44,
318 44, 44, 113, 172, 0, 113, 44, 44, 44, 44,
319 44, 44, 0, 44, 0, 0, 0, 0, 44, 113,
320 113, 0, 0, 26, 113, 0, 57, 44, 0, 44,
321 44, 0, 0, 75, 75, 75, 75, 0, 0, 0,
322 75, 0, 0, 197, 197, 197, 197, 197, 0, 197,
323 197, 197, 310, 0, 113, 197, 0, 172, 144, 144,
324 144, 144, 75, 75, 0, 144, 197, 144, 197, 197,
325 197, 197, 197, 144, 144, 144, 144, 197, 197, 197,
326 197, 197, 197, 0, 197, 0, 0, 144, 144, 197,
327 144, 144, 144, 144, 144, 144, 144, 0, 197, 144,
328 197, 197, 144, 144, 144, 0, 4, 5, 6, 44,
329 7, 8, 44, 44, 44, 0, 44, 0, 44, 44,
330 0, 44, 0, 167, 168, 169, 170, 0, 0, 0,
331 0, 0, 0, 0, 0, 44, 0, 9, 0, 0,
332 44, 173, 174, 175, 176, 177, 178, 0, 0, 179,
333 0, 0, 180, 181, 182, 0, 25, 27, 28, 29,
334 30, 31, 0, 32, 33, 34, 0, 44, 0, 35,
335 0, 0, 36, 37, 38, 39, 0, 0, 0, 40,
336 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
337 0, 47, 48, 49, 50, 51, 52, 0, 53, 44,
338 0, 56, 44, 55, 66, 68, 54, 0, 61, 0,
339 69, 65, 58, 64, 59, 60, 0, 0, 0, 0,
340 0, 166, 0, 0, 0, 0, 0, 167, 168, 169,
341 170, 0, 67, 113, 113, 113, 113, 0, 0, 0,
342 113, 0, 113, 0, 171, 173, 174, 175, 176, 177,
343 178, 0, 0, 179, 0, 0, 180, 181, 182, 62,
344 0, 0, 113, 113, 56, 113, 113, 66, 68, 54,
345 0, 61, 0, 69, 65, 166, 64, 0, 0, 0,
346 0, 167, 168, 169, 170, 0, 0, 0, 0, 0,
347 0, 26, 169, 170, 57, 67, 0, 0, 171, 173,
348 174, 175, 176, 177, 178, 0, 0, 179, 0, 0,
349 180, 181, 182, 178, 0, 0, 179, 0, 0, 180,
350 181, 182, 62, 172, 74, 0, 0, 74, 0, 0,
351 0, 0, 44, 44, 44, 44, 44, 44, 0, 44,
352 44, 44, 74, 0, 0, 44, 0, 0, 44, 44,
353 44, 44, 0, 0, 26, 44, 44, 57, 44, 44,
354 44, 44, 44, 0, 0, 0, 0, 44, 44, 44,
355 44, 44, 44, 0, 44, 0, 74, 56, 0, 44,
356 66, 68, 54, 0, 61, 0, 69, 65, 44, 64,
357 44, 44, 169, 170, 0, 0, 0, 0, 0, 0,
358 0, 0, 0, 130, 0, 102, 0, 0, 67, 0,
359 0, 0, 177, 178, 0, 0, 179, 0, 0, 180,
360 181, 182, 124, 125, 0, 27, 28, 29, 30, 31,
361 140, 32, 33, 34, 0, 62, 0, 35, 0, 0,
362 0, 0, 153, 154, 155, 156, 0, 0, 41, 0,
363 42, 43, 44, 45, 46, 0, 0, 0, 0, 47,
364 48, 49, 50, 51, 52, 0, 53, 0, 0, 0,
365 57, 55, 0, 0, 0, 0, 0, 0, 0, 0,
366 58, 0, 59, 60, 0, 0, 0, 0, 126, 28,
367 29, 30, 31, 217, 32, 33, 34, 0, 0, 0,
368 35, 0, 138, 0, 0, 138, 0, 0, 0, 0,
369 0, 41, 0, 42, 43, 44, 45, 46, 0, 138,
370 138, 0, 47, 48, 49, 50, 51, 52, 56, 53,
371 0, 66, 68, 54, 55, 61, 147, 69, 65, 0,
372 64, 166, 0, 58, 0, 59, 60, 167, 168, 169,
373 170, 0, 0, 0, 138, 74, 74, 74, 74, 67,
374 0, 0, 74, 0, 0, 173, 174, 175, 176, 177,
375 178, 0, 0, 179, 0, 0, 180, 181, 182, 0,
376 0, 0, 0, 0, 74, 0, 62, 0, 56, 0,
377 0, 66, 68, 54, 0, 61, 0, 69, 65, 0,
378 64, 27, 28, 29, 30, 31, 0, 32, 33, 34,
379 0, 0, 0, 35, 0, 0, 0, 0, 0, 67,
380 0, 57, 0, 0, 41, 0, 42, 43, 44, 45,
381 46, 0, 0, 0, 0, 47, 48, 49, 50, 51,
382 52, 0, 53, 0, 0, 0, 62, 55, 149, 363,
383 0, 365, 0, 0, 0, 0, 58, 56, 59, 60,
384 66, 68, 54, 0, 61, 213, 69, 65, 0, 64,
385 371, 372, 0, 0, 0, 0, 0, 0, 381, 0,
386 0, 57, 0, 0, 0, 385, 0, 0, 67, 387,
387 0, 0, 0, 0, 0, 0, 0, 0, 0, 160,
388 0, 0, 160, 0, 0, 396, 397, 0, 0, 0,
389 0, 0, 0, 0, 0, 62, 160, 160, 56, 0,
390 0, 66, 68, 54, 0, 61, 224, 69, 65, 0,
391 64, 0, 0, 138, 138, 138, 138, 0, 0, 0,
392 138, 0, 0, 0, 0, 0, 0, 0, 0, 67,
393 57, 160, 27, 28, 29, 30, 31, 0, 32, 33,
394 34, 0, 138, 138, 35, 138, 0, 0, 0, 0,
395 0, 0, 0, 0, 0, 41, 62, 42, 43, 44,
396 45, 46, 0, 0, 0, 0, 47, 48, 49, 50,
397 51, 52, 0, 53, 0, 0, 0, 0, 55, 0,
398 167, 168, 169, 170, 0, 0, 0, 58, 0, 59,
399 60, 57, 27, 28, 29, 30, 31, 0, 32, 33,
400 34, 176, 177, 178, 35, 0, 179, 0, 0, 180,
401 181, 182, 0, 0, 0, 41, 0, 42, 43, 44,
402 45, 46, 0, 0, 0, 0, 47, 48, 49, 50,
403 51, 52, 0, 53, 0, 0, 0, 0, 55, 0,
404 0, 0, 0, 0, 0, 0, 0, 58, 56, 59,
405 60, 66, 68, 54, 0, 61, 261, 69, 65, 0,
406 64, 27, 28, 29, 30, 31, 0, 32, 33, 34,
407 0, 0, 0, 35, 0, 0, 0, 0, 0, 67,
408 0, 0, 0, 0, 41, 0, 42, 43, 44, 45,
409 46, 0, 0, 0, 0, 47, 48, 49, 50, 51,
410 52, 0, 53, 0, 0, 0, 62, 55, 0, 0,
411 160, 160, 160, 160, 0, 0, 58, 160, 59, 60,
412 0, 0, 27, 28, 29, 30, 31, 0, 32, 33,
413 34, 0, 0, 0, 35, 102, 0, 0, 102, 160,
414 160, 57, 0, 0, 0, 41, 0, 42, 43, 44,
415 45, 46, 102, 102, 0, 0, 47, 48, 49, 50,
416 51, 52, 56, 53, 0, 66, 68, 54, 55, 61,
417 269, 69, 65, 0, 64, 0, 0, 58, 0, 59,
418 60, 0, 167, 168, 169, 170, 0, 102, 0, 0,
419 0, 0, 0, 67, 0, 0, 0, 108, 0, 0,
420 108, 174, 175, 176, 177, 178, 0, 0, 179, 0,
421 0, 180, 181, 182, 108, 108, 0, 0, 0, 108,
422 62, 0, 0, 56, 0, 0, 66, 68, 54, 0,
423 61, 0, 69, 65, 0, 64, 0, 0, 0, 0,
424 167, 168, 169, 170, 0, 0, 0, 0, 0, 108,
425 0, 0, 0, 0, 67, 57, 0, 0, 0, 0,
426 175, 176, 177, 178, 0, 111, 179, 0, 111, 180,
427 181, 182, 27, 28, 29, 30, 31, 0, 32, 33,
428 34, 62, 111, 111, 35, 0, 0, 111, 0, 0,
429 0, 0, 0, 0, 0, 41, 0, 42, 43, 44,
430 45, 46, 0, 0, 0, 0, 47, 48, 49, 50,
431 51, 52, 0, 53, 0, 0, 57, 111, 55, 0,
432 0, 0, 0, 0, 0, 0, 0, 58, 0, 59,
433 60, 0, 0, 56, 0, 0, 66, 68, 54, 0,
434 61, 301, 69, 65, 0, 64, 0, 0, 167, 168,
435 169, 170, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 67, 0, 102, 102, 102, 102,
437 177, 178, 0, 102, 179, 0, 0, 180, 181, 182,
438 0, 0, 0, 0, 0, 0, 27, 28, 29, 30,
439 31, 62, 32, 33, 34, 102, 102, 0, 35, 0,
440 77, 0, 0, 77, 0, 0, 0, 0, 0, 41,
441 0, 42, 43, 44, 45, 46, 0, 77, 77, 0,
442 47, 48, 49, 50, 51, 52, 57, 53, 108, 108,
443 108, 108, 55, 0, 0, 108, 0, 108, 0, 0,
444 0, 58, 0, 59, 60, 0, 25, 27, 28, 29,
445 30, 31, 77, 32, 33, 34, 0, 108, 108, 35,
446 108, 108, 108, 108, 108, 0, 0, 0, 0, 0,
447 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
448 0, 47, 48, 49, 50, 51, 52, 0, 53, 0,
449 0, 0, 0, 55, 0, 0, 111, 111, 111, 111,
450 0, 0, 58, 111, 59, 60, 0, 0, 56, 0,
451 0, 66, 68, 54, 0, 61, 303, 69, 65, 0,
452 64, 0, 0, 0, 0, 111, 111, 0, 111, 0,
453 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
455 0, 0, 0, 0, 0, 0, 0, 27, 28, 29,
456 30, 31, 0, 32, 33, 34, 62, 0, 0, 35,
457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
458 41, 0, 42, 43, 44, 45, 46, 121, 0, 0,
459 121, 47, 48, 49, 50, 51, 52, 0, 53, 0,
460 0, 57, 0, 55, 121, 121, 0, 0, 0, 121,
461 0, 0, 58, 56, 59, 60, 66, 68, 54, 0,
462 61, 312, 69, 65, 0, 64, 0, 0, 100, 100,
463 0, 77, 77, 77, 77, 0, 0, 0, 77, 121,
464 113, 0, 0, 0, 67, 0, 121, 100, 129, 0,
465 0, 0, 135, 0, 100, 0, 0, 0, 0, 0,
466 77, 77, 0, 0, 0, 0, 100, 100, 100, 100,
467 0, 62, 56, 0, 0, 66, 68, 54, 0, 61,
468 0, 69, 65, 0, 64, 0, 0, 0, 0, 0,
469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 0, 0, 67, 0, 0, 57, 0, 0, 0,
471 0, 0, 0, 0, 0, 0, 0, 121, 0, 0,
472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
473 62, 0, 27, 28, 29, 30, 31, 0, 32, 33,
474 34, 0, 0, 0, 35, 0, 0, 0, 0, 0,
475 0, 0, 0, 0, 0, 41, 0, 42, 43, 44,
476 45, 46, 0, 0, 0, 57, 47, 48, 49, 50,
477 51, 52, 0, 53, 159, 0, 0, 159, 55, 0,
478 0, 0, 258, 0, 0, 0, 0, 58, 0, 59,
479 60, 159, 159, 0, 0, 0, 159, 0, 0, 0,
480 0, 0, 0, 0, 0, 0, 0, 0, 0, 289,
481 0, 0, 0, 0, 0, 0, 0, 0, 121, 121,
482 121, 121, 0, 0, 0, 121, 159, 121, 0, 0,
483 0, 0, 0, 121, 121, 121, 121, 27, 28, 29,
484 30, 31, 0, 32, 33, 34, 0, 121, 121, 35,
485 121, 121, 121, 121, 121, 121, 121, 0, 0, 121,
486 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
487 0, 47, 48, 49, 50, 51, 52, 0, 53, 0,
488 0, 0, 0, 55, 0, 0, 0, 0, 0, 0,
489 0, 0, 58, 0, 59, 60, 27, 28, 29, 30,
490 31, 0, 32, 33, 34, 0, 0, 0, 35, 0,
491 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,
492 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
493 47, 48, 49, 50, 51, 52, 0, 53, 0, 0,
494 104, 0, 55, 0, 0, 0, 0, 0, 114, 0,
495 0, 58, 119, 59, 60, 128, 0, 0, 133, 168,
496 139, 0, 168, 142, 143, 144, 145, 146, 0, 0,
497 0, 151, 152, 0, 0, 0, 168, 168, 0, 0,
498 0, 168, 0, 0, 0, 0, 0, 0, 0, 0,
499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 0, 0, 0, 159, 159, 159, 159, 0,
501 202, 168, 159, 0, 159, 0, 0, 0, 0, 0,
502 159, 159, 159, 159, 0, 0, 0, 0, 0, 0,
503 0, 0, 0, 0, 159, 159, 0, 159, 159, 159,
504 159, 159, 159, 159, 162, 0, 159, 162, 0, 159,
505 159, 159, 0, 0, 0, 0, 0, 0, 0, 0,
506 0, 162, 162, 0, 0, 0, 162, 0, 0, 0,
507 0, 0, 0, 240, 241, 242, 243, 244, 245, 246,
508 247, 248, 249, 250, 251, 252, 253, 0, 0, 0,
509 0, 184, 0, 0, 184, 0, 162, 0, 0, 0,
510 271, 0, 0, 0, 0, 0, 0, 0, 184, 184,
511 0, 0, 0, 184, 0, 0, 0, 0, 0, 0,
512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
514 0, 0, 165, 184, 0, 165, 0, 0, 0, 0,
515 0, 0, 0, 0, 0, 0, 0, 0, 0, 165,
516 165, 0, 0, 0, 165, 0, 0, 0, 0, 0,
517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
518 0, 0, 0, 0, 0, 332, 0, 0, 0, 0,
519 168, 168, 168, 168, 165, 0, 0, 168, 0, 168,
520 0, 0, 0, 0, 0, 168, 168, 168, 168, 0,
521 0, 0, 0, 0, 0, 149, 0, 348, 149, 168,
522 168, 0, 168, 168, 168, 168, 168, 168, 168, 0,
523 0, 168, 149, 149, 168, 168, 168, 149, 0, 0,
524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
526 0, 0, 0, 144, 0, 0, 144, 149, 0, 0,
527 0, 0, 0, 0, 0, 162, 162, 162, 162, 0,
528 144, 144, 162, 0, 162, 144, 0, 0, 0, 0,
529 162, 162, 162, 162, 0, 0, 0, 0, 0, 0,
530 0, 0, 0, 0, 162, 162, 0, 162, 162, 162,
531 162, 162, 162, 162, 0, 144, 162, 0, 0, 162,
532 162, 162, 184, 184, 184, 184, 0, 147, 0, 184,
533 147, 184, 0, 0, 0, 0, 0, 184, 184, 184,
534 184, 0, 0, 0, 147, 147, 0, 0, 0, 147,
535 0, 184, 184, 0, 184, 184, 184, 184, 184, 184,
536 184, 0, 0, 184, 0, 0, 184, 184, 184, 0,
537 0, 0, 0, 165, 165, 165, 165, 0, 145, 147,
538 165, 145, 165, 0, 0, 0, 0, 0, 165, 165,
539 165, 165, 0, 0, 0, 145, 145, 0, 0, 0,
540 145, 0, 165, 165, 0, 165, 165, 165, 165, 165,
541 165, 165, 0, 0, 165, 0, 0, 165, 165, 165,
542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
543 145, 0, 0, 0, 155, 0, 0, 155, 0, 0,
544 0, 0, 0, 0, 0, 0, 149, 149, 149, 149,
545 0, 155, 155, 149, 0, 149, 155, 0, 0, 0,
546 0, 149, 149, 149, 149, 0, 0, 0, 0, 0,
547 0, 0, 0, 0, 0, 149, 149, 0, 149, 149,
548 149, 149, 149, 149, 149, 0, 155, 149, 0, 0,
549 149, 149, 149, 0, 144, 144, 144, 144, 0, 175,
550 0, 144, 175, 144, 0, 0, 0, 0, 0, 144,
551 144, 144, 144, 0, 0, 0, 175, 175, 0, 0,
552 0, 175, 0, 144, 144, 0, 144, 144, 144, 144,
553 144, 144, 144, 0, 0, 144, 0, 0, 144, 144,
554 144, 0, 0, 0, 0, 0, 178, 0, 0, 178,
555 0, 175, 0, 0, 0, 0, 0, 0, 147, 147,
556 147, 147, 0, 178, 178, 147, 0, 147, 178, 0,
557 0, 0, 0, 147, 147, 147, 147, 0, 0, 0,
558 0, 0, 0, 0, 0, 0, 0, 147, 147, 0,
559 147, 147, 147, 147, 147, 147, 147, 143, 178, 147,
560 143, 0, 147, 147, 147, 0, 0, 0, 0, 145,
561 145, 145, 145, 0, 143, 143, 145, 0, 145, 143,
562 0, 0, 0, 0, 145, 145, 145, 145, 0, 0,
563 0, 0, 0, 0, 0, 0, 0, 0, 145, 145,
564 0, 145, 145, 145, 145, 145, 145, 145, 0, 143,
565 145, 0, 0, 145, 145, 145, 0, 0, 0, 0,
566 0, 0, 0, 0, 0, 155, 155, 155, 155, 0,
567 76, 0, 155, 76, 155, 0, 0, 0, 0, 0,
568 155, 155, 155, 155, 0, 0, 0, 76, 76, 0,
569 0, 0, 76, 0, 155, 155, 0, 155, 155, 155,
570 155, 155, 155, 155, 0, 0, 155, 0, 0, 155,
571 155, 155, 0, 0, 0, 0, 0, 0, 66, 0,
572 0, 66, 76, 0, 0, 0, 0, 0, 0, 0,
573 175, 175, 175, 175, 0, 66, 66, 175, 0, 175,
574 66, 0, 0, 0, 0, 175, 175, 175, 175, 0,
575 0, 0, 0, 0, 0, 0, 0, 0, 0, 175,
576 175, 0, 175, 175, 175, 175, 175, 175, 175, 0,
577 66, 175, 0, 0, 175, 175, 175, 178, 178, 178,
578 178, 0, 142, 0, 178, 142, 178, 0, 0, 0,
579 0, 0, 178, 178, 178, 178, 0, 0, 0, 142,
580 142, 0, 0, 0, 142, 0, 178, 178, 0, 178,
581 178, 178, 178, 178, 178, 178, 0, 0, 178, 0,
582 0, 178, 178, 178, 0, 0, 0, 0, 143, 143,
583 143, 143, 0, 82, 142, 143, 82, 143, 0, 0,
584 0, 0, 0, 143, 143, 143, 143, 0, 0, 0,
585 82, 82, 0, 0, 0, 82, 0, 143, 143, 0,
586 143, 143, 143, 143, 143, 143, 143, 0, 0, 143,
587 0, 0, 143, 143, 143, 0, 0, 0, 0, 0,
588 0, 0, 0, 0, 0, 82, 0, 0, 0, 185,
589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
590 0, 76, 76, 76, 76, 0, 185, 185, 76, 0,
591 76, 185, 0, 0, 0, 0, 76, 76, 76, 76,
592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
593 76, 76, 0, 76, 76, 76, 76, 76, 76, 76,
594 0, 185, 76, 0, 0, 76, 76, 76, 0, 66,
595 66, 66, 66, 161, 0, 0, 66, 0, 66, 0,
596 0, 0, 0, 0, 66, 66, 66, 66, 0, 0,
597 161, 161, 0, 0, 0, 161, 0, 0, 66, 66,
598 0, 66, 66, 66, 66, 66, 66, 66, 0, 0,
599 66, 0, 0, 66, 66, 66, 0, 0, 0, 0,
600 0, 79, 0, 0, 0, 161, 0, 0, 0, 0,
601 0, 0, 0, 142, 142, 142, 142, 0, 79, 79,
602 142, 0, 142, 79, 0, 0, 0, 0, 142, 142,
603 142, 142, 0, 0, 0, 0, 0, 0, 0, 0,
604 0, 0, 142, 142, 0, 142, 142, 142, 142, 142,
605 142, 142, 122, 79, 142, 122, 0, 142, 142, 142,
606 0, 0, 0, 0, 82, 82, 82, 82, 0, 122,
607 122, 82, 0, 82, 122, 0, 0, 0, 0, 82,
608 82, 82, 82, 0, 0, 0, 0, 0, 0, 0,
609 0, 0, 0, 82, 82, 0, 82, 82, 82, 82,
610 82, 82, 82, 0, 122, 82, 0, 0, 82, 82,
611 82, 0, 0, 0, 0, 0, 0, 0, 0, 0,
612 185, 185, 185, 185, 0, 117, 0, 185, 117, 185,
613 0, 0, 0, 0, 0, 185, 185, 185, 185, 0,
614 0, 0, 117, 117, 0, 0, 0, 117, 0, 185,
615 185, 0, 185, 185, 185, 185, 185, 185, 185, 0,
616 0, 185, 0, 0, 185, 185, 185, 0, 0, 0,
617 0, 0, 118, 0, 0, 118, 0, 117, 0, 0,
618 0, 0, 0, 0, 161, 161, 161, 161, 0, 118,
619 118, 161, 0, 161, 118, 0, 0, 0, 0, 161,
620 161, 161, 161, 0, 0, 0, 0, 0, 0, 0,
621 0, 0, 0, 161, 161, 0, 161, 161, 161, 161,
622 161, 161, 161, 0, 118, 161, 0, 0, 161, 161,
623 161, 0, 79, 79, 79, 79, 0, 139, 0, 79,
624 139, 79, 0, 0, 0, 0, 0, 79, 79, 79,
625 79, 0, 0, 0, 139, 139, 0, 0, 0, 139,
626 0, 79, 79, 0, 79, 79, 79, 79, 79, 79,
627 79, 0, 0, 79, 0, 0, 79, 79, 79, 0,
628 0, 0, 0, 122, 122, 122, 122, 0, 115, 139,
629 122, 115, 122, 0, 0, 0, 0, 0, 122, 122,
630 122, 122, 0, 0, 0, 115, 115, 0, 0, 0,
631 115, 0, 122, 122, 0, 122, 122, 122, 122, 122,
632 122, 122, 0, 0, 122, 0, 0, 116, 0, 0,
633 116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
634 115, 0, 0, 0, 116, 116, 0, 0, 0, 116,
635 0, 0, 0, 0, 0, 0, 117, 117, 117, 117,
636 0, 0, 0, 117, 0, 117, 0, 0, 0, 0,
637 0, 117, 117, 117, 117, 0, 0, 0, 114, 116,
638 0, 114, 0, 0, 0, 117, 117, 0, 117, 117,
639 117, 117, 117, 117, 117, 114, 114, 0, 0, 0,
640 114, 0, 0, 118, 118, 118, 118, 0, 0, 0,
641 118, 0, 118, 0, 0, 0, 0, 0, 118, 118,
642 118, 118, 0, 0, 0, 0, 103, 0, 0, 103,
643 114, 0, 118, 118, 0, 118, 118, 118, 118, 118,
644 118, 118, 0, 103, 103, 0, 0, 0, 103, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 139, 139,
647 139, 139, 0, 104, 0, 139, 104, 139, 103, 0,
648 0, 0, 0, 139, 139, 139, 139, 0, 0, 0,
649 104, 104, 0, 0, 0, 104, 0, 139, 139, 0,
650 139, 139, 139, 139, 139, 139, 139, 0, 0, 0,
651 0, 0, 0, 0, 0, 0, 0, 0, 0, 115,
652 115, 115, 115, 0, 0, 104, 115, 0, 115, 0,
653 0, 0, 0, 0, 115, 115, 115, 115, 0, 0,
654 0, 0, 0, 0, 0, 0, 0, 0, 115, 115,
655 0, 115, 115, 115, 115, 115, 115, 115, 116, 116,
656 116, 116, 0, 105, 0, 116, 105, 116, 0, 0,
657 0, 0, 0, 116, 116, 116, 116, 0, 0, 0,
658 105, 105, 0, 0, 0, 105, 0, 116, 116, 0,
659 116, 116, 116, 116, 116, 116, 116, 0, 0, 0,
660 0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
661 114, 114, 114, 0, 0, 105, 114, 0, 114, 0,
662 0, 0, 0, 0, 114, 114, 114, 114, 0, 0,
663 0, 106, 0, 0, 106, 0, 0, 0, 114, 114,
664 0, 114, 114, 114, 114, 114, 114, 114, 106, 106,
665 0, 0, 0, 106, 0, 0, 0, 103, 103, 103,
666 103, 0, 0, 0, 103, 0, 103, 0, 0, 0,
667 0, 0, 103, 103, 103, 103, 0, 0, 0, 167,
668 0, 0, 167, 106, 0, 0, 103, 103, 0, 103,
669 103, 103, 103, 103, 103, 103, 167, 167, 0, 0,
670 0, 167, 0, 0, 104, 104, 104, 104, 0, 0,
671 0, 104, 0, 104, 0, 0, 0, 0, 0, 104,
672 104, 104, 104, 0, 0, 164, 0, 0, 164, 0,
673 0, 167, 0, 104, 104, 0, 104, 104, 104, 104,
674 104, 104, 164, 164, 0, 0, 0, 164, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 128, 0, 0, 128, 0, 0, 0, 0,
677 0, 0, 0, 0, 0, 0, 0, 164, 0, 128,
678 128, 0, 0, 0, 128, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 105, 105, 105, 105, 0, 141,
680 0, 105, 141, 105, 0, 0, 0, 0, 0, 105,
681 105, 0, 105, 0, 128, 0, 141, 141, 0, 0,
682 0, 141, 0, 105, 105, 0, 105, 105, 105, 105,
683 105, 105, 0, 0, 0, 0, 166, 0, 0, 166,
684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
685 0, 141, 0, 166, 166, 0, 0, 0, 166, 0,
686 0, 0, 106, 106, 106, 106, 0, 0, 0, 106,
687 0, 106, 0, 0, 0, 0, 0, 106, 106, 0,
688 0, 0, 0, 107, 0, 0, 107, 0, 166, 0,
689 0, 106, 106, 0, 106, 106, 106, 106, 106, 106,
690 107, 107, 0, 0, 0, 107, 0, 0, 0, 0,
691 167, 167, 167, 167, 0, 0, 0, 167, 0, 167,
692 0, 0, 0, 0, 0, 167, 167, 0, 0, 0,
693 109, 0, 0, 109, 0, 107, 0, 0, 0, 167,
694 167, 0, 167, 167, 167, 167, 167, 109, 109, 0,
695 0, 0, 109, 0, 0, 0, 164, 164, 164, 164,
696 0, 0, 0, 164, 0, 164, 0, 0, 0, 0,
697 0, 164, 164, 0, 0, 0, 0, 0, 0, 0,
698 0, 0, 109, 0, 0, 164, 164, 0, 164, 164,
699 164, 164, 164, 128, 128, 128, 128, 0, 110, 0,
700 128, 110, 128, 0, 0, 0, 0, 0, 128, 128,
701 0, 0, 0, 0, 0, 110, 110, 0, 0, 0,
702 110, 0, 128, 128, 0, 128, 128, 128, 128, 128,
703 141, 141, 141, 141, 0, 112, 0, 141, 112, 141,
704 0, 0, 0, 0, 0, 141, 141, 0, 0, 0,
705 110, 0, 112, 112, 0, 0, 0, 112, 0, 141,
706 141, 0, 141, 141, 141, 141, 141, 166, 166, 166,
707 166, 0, 0, 0, 166, 0, 166, 0, 0, 0,
708 0, 0, 166, 166, 0, 0, 0, 112, 0, 0,
709 0, 0, 0, 0, 0, 0, 166, 166, 0, 166,
710 166, 166, 166, 166, 0, 0, 0, 0, 0, 0,
711 0, 0, 0, 0, 107, 107, 107, 107, 0, 0,
712 0, 107, 0, 107, 0, 0, 0, 0, 0, 0,
713 107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
714 0, 0, 0, 107, 107, 0, 107, 107, 107, 107,
715 107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
716 0, 109, 109, 109, 109, 0, 0, 0, 109, 0,
717 109, 0, 0, 0, 0, 0, 0, 0, 0, 0,
718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
719 109, 109, 0, 109, 109, 109, 109, 109, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
722 0, 0, 0, 0, 0, 0, 0, 0, 0, 110,
723 110, 110, 110, 0, 0, 0, 110, 0, 110, 0,
724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
725 0, 0, 0, 0, 0, 0, 0, 0, 110, 110,
726 0, 110, 110, 110, 110, 0, 112, 112, 112, 112,
727 0, 0, 0, 112, 0, 112, 0, 0, 0, 0,
728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
729 0, 0, 0, 0, 0, 112, 112, 0, 112, 112,
732 static short yycheck[] = { 15,
733 33, 96, 59, 36, 37, 38, 123, 40, 15, 42,
734 43, 59, 45, 36, 59, 59, 41, 40, 101, 363,
735 59, 59, 36, 201, 41, 93, 41, 336, 59, 41,
736 91, 64, 91, 49, 210, 41, 41, 41, 45, 41,
737 40, 48, 257, 41, 365, 61, 62, 59, 40, 132,
738 371, 372, 396, 41, 59, 257, 41, 59, 91, 40,
739 381, 41, 123, 41, 123, 63, 387, 257, 41, 41,
740 0, 380, 107, 108, 109, 110, 111, 112, 36, 123,
741 301, 302, 40, 90, 123, 123, 59, 59, 198, 44,
742 123, 91, 123, 126, 204, 206, 41, 208, 105, 91,
743 116, 117, 59, 33, 41, 40, 36, 37, 38, 123,
744 40, 40, 42, 43, 59, 45, 59, 40, 134, 95,
745 296, 313, 59, 123, 316, 317, 318, 59, 278, 59,
746 106, 123, 59, 91, 64, 59, 40, 315, 36, 37,
747 123, 41, 40, 159, 160, 161, 162, 163, 164, 165,
748 157, 276, 277, 266, 267, 268, 40, 270, 271, 59,
749 40, 91, 40, 339, 40, 123, 64, 183, 184, 185,
750 186, 187, 188, 189, 190, 191, 211, 59, 0, 93,
751 44, 93, 299, 93, 297, 201, 93, 8, 9, 205,
752 206, 274, 208, 123, 210, 125, 126, 280, 123, 257,
753 260, 217, 93, 219, 220, 93, 40, 40, 40, 257,
754 386, 33, 228, 41, 36, 37, 38, 125, 40, 299,
755 42, 43, 318, 45, 257, 258, 259, 260, 261, 262,
756 263, 264, 265, 301, 302, 91, 269, 59, 254, 257,
757 256, 257, 64, 257, 301, 302, 299, 280, 262, 282,
758 283, 284, 285, 286, 36, 299, 301, 302, 291, 292,
759 293, 294, 295, 296, 41, 298, 273, 125, 275, 91,
760 303, 260, 41, 296, 281, 44, 301, 302, 373, 312,
761 91, 314, 315, 281, 301, 302, 301, 302, 40, 287,
762 288, 289, 290, 309, 63, 301, 302, 301, 302, 315,
763 258, 123, 41, 125, 126, 302, 304, 305, 306, 307,
764 308, 309, 310, 301, 302, 313, 301, 302, 316, 317,
765 318, 301, 302, 301, 302, 341, 256, 257, 258, 259,
766 260, 261, 260, 263, 264, 265, 266, 267, 268, 269,
767 270, 271, 272, 273, 274, 275, 301, 302, 41, 279,
768 280, 41, 282, 283, 284, 285, 286, 41, 301, 302,
769 41, 291, 292, 293, 294, 295, 296, 297, 298, 301,
770 302, 40, 388, 303, 301, 302, 41, 301, 302, 59,
771 41, 125, 312, 44, 314, 315, 59, 301, 302, 301,
772 302, 301, 302, 125, 301, 302, 33, 58, 59, 36,
773 37, 38, 125, 40, 41, 42, 43, 44, 45, 125,
774 301, 302, 123, 301, 302, 41, 125, 125, 41, 41,
775 59, 58, 59, 40, 123, 41, 63, 64, 41, 41,
776 41, 123, 93, 41, 256, 257, 258, 259, 260, 261,
777 59, 263, 264, 265, 266, 267, 268, 269, 270, 271,
778 272, 273, 274, 275, 91, 59, 93, 279, 280, 41,
779 282, 283, 284, 285, 286, 0, 59, 41, 46, 291,
780 292, 293, 294, 295, 296, 297, 298, 55, 35, 52,
781 52, 303, 15, 388, 272, 273, 274, 275, 341, 126,
782 312, 279, 314, 315, 24, 275, -1, -1, 33, -1,
783 -1, 36, 37, 38, 289, 40, -1, 42, 43, -1,
784 45, -1, 281, 301, 302, -1, -1, -1, 287, 288,
785 289, 290, -1, 101, 59, 310, -1, -1, 313, 64,
786 -1, 316, 317, 318, -1, 304, 305, 306, 307, 308,
787 309, 310, -1, -1, 313, -1, 124, 316, 317, 318,
788 -1, -1, 41, -1, 132, -1, 91, -1, 266, 267,
789 268, -1, 270, 271, -1, -1, -1, -1, -1, 33,
790 59, -1, 36, 37, 38, -1, 40, 41, 42, 43,
791 44, 45, -1, -1, -1, -1, -1, -1, 123, 297,
792 310, 126, -1, 313, 58, 59, 316, 317, 318, 63,
793 64, -1, -1, -1, 93, -1, -1, -1, -1, -1,
794 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
795 257, 258, 259, 260, 261, -1, 263, 264, 265, 93,
796 -1, -1, 269, -1, -1, 272, 273, 274, 275, -1,
797 301, 302, 279, 280, 281, 282, 283, 284, 285, 286,
798 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
799 -1, 298, 126, -1, 301, 302, 303, 304, 305, 306,
800 307, 308, 309, 310, -1, 312, 313, 314, 315, 316,
801 317, 318, 287, 33, 289, 290, 36, 37, 38, -1,
802 40, -1, 42, 43, -1, 45, 274, -1, -1, -1,
803 -1, -1, 280, -1, 309, 310, -1, -1, 313, 59,
804 -1, 316, 317, 318, 64, 125, -1, -1, -1, -1,
805 -1, 256, 257, 258, 259, 260, 261, -1, 263, 264,
806 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
807 275, 91, -1, -1, 279, 280, -1, 282, 283, 284,
808 285, 286, 41, 63, -1, 44, 291, 292, 293, 294,
809 295, 296, -1, 298, -1, -1, -1, -1, 303, 58,
810 59, -1, -1, 123, 63, -1, 126, 312, -1, 314,
811 315, -1, -1, 272, 273, 274, 275, -1, -1, -1,
812 279, -1, -1, 257, 258, 259, 260, 261, -1, 263,
813 264, 265, 58, -1, 93, 269, -1, 63, 272, 273,
814 274, 275, 301, 302, -1, 279, 280, 281, 282, 283,
815 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
816 294, 295, 296, -1, 298, -1, -1, 301, 302, 303,
817 304, 305, 306, 307, 308, 309, 310, -1, 312, 313,
818 314, 315, 316, 317, 318, -1, 266, 267, 268, 33,
819 270, 271, 36, 37, 38, -1, 40, -1, 42, 43,
820 -1, 45, -1, 287, 288, 289, 290, -1, -1, -1,
821 -1, -1, -1, -1, -1, 59, -1, 297, -1, -1,
822 64, 305, 306, 307, 308, 309, 310, -1, -1, 313,
823 -1, -1, 316, 317, 318, -1, 256, 257, 258, 259,
824 260, 261, -1, 263, 264, 265, -1, 91, -1, 269,
825 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
826 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
827 -1, 291, 292, 293, 294, 295, 296, -1, 298, 123,
828 -1, 33, 126, 303, 36, 37, 38, -1, 40, -1,
829 42, 43, 312, 45, 314, 315, -1, -1, -1, -1,
830 -1, 281, -1, -1, -1, -1, -1, 287, 288, 289,
831 290, -1, 64, 272, 273, 274, 275, -1, -1, -1,
832 279, -1, 281, -1, 304, 305, 306, 307, 308, 309,
833 310, -1, -1, 313, -1, -1, 316, 317, 318, 91,
834 -1, -1, 301, 302, 33, 304, 305, 36, 37, 38,
835 -1, 40, -1, 42, 43, 281, 45, -1, -1, -1,
836 -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
837 -1, 123, 289, 290, 126, 64, -1, -1, 304, 305,
838 306, 307, 308, 309, 310, -1, -1, 313, -1, -1,
839 316, 317, 318, 310, -1, -1, 313, -1, -1, 316,
840 317, 318, 91, 63, 41, -1, -1, 44, -1, -1,
841 -1, -1, 256, 257, 258, 259, 260, 261, -1, 263,
842 264, 265, 59, -1, -1, 269, -1, -1, 272, 273,
843 274, 275, -1, -1, 123, 279, 280, 126, 282, 283,
844 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
845 294, 295, 296, -1, 298, -1, 93, 33, -1, 303,
846 36, 37, 38, -1, 40, -1, 42, 43, 312, 45,
847 314, 315, 289, 290, -1, -1, -1, -1, -1, -1,
848 -1, -1, -1, 59, -1, 29, -1, -1, 64, -1,
849 -1, -1, 309, 310, -1, -1, 313, -1, -1, 316,
850 317, 318, 46, 47, -1, 257, 258, 259, 260, 261,
851 54, 263, 264, 265, -1, 91, -1, 269, -1, -1,
852 -1, -1, 66, 67, 68, 69, -1, -1, 280, -1,
853 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
854 292, 293, 294, 295, 296, -1, 298, -1, -1, -1,
855 126, 303, -1, -1, -1, -1, -1, -1, -1, -1,
856 312, -1, 314, 315, -1, -1, -1, -1, 257, 258,
857 259, 260, 261, 117, 263, 264, 265, -1, -1, -1,
858 269, -1, 41, -1, -1, 44, -1, -1, -1, -1,
859 -1, 280, -1, 282, 283, 284, 285, 286, -1, 58,
860 59, -1, 291, 292, 293, 294, 295, 296, 33, 298,
861 -1, 36, 37, 38, 303, 40, 41, 42, 43, -1,
862 45, 281, -1, 312, -1, 314, 315, 287, 288, 289,
863 290, -1, -1, -1, 93, 272, 273, 274, 275, 64,
864 -1, -1, 279, -1, -1, 305, 306, 307, 308, 309,
865 310, -1, -1, 313, -1, -1, 316, 317, 318, -1,
866 -1, -1, -1, -1, 301, -1, 91, -1, 33, -1,
867 -1, 36, 37, 38, -1, 40, -1, 42, 43, -1,
868 45, 257, 258, 259, 260, 261, -1, 263, 264, 265,
869 -1, -1, -1, 269, -1, -1, -1, -1, -1, 64,
870 -1, 126, -1, -1, 280, -1, 282, 283, 284, 285,
871 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
872 296, -1, 298, -1, -1, -1, 91, 303, 93, 338,
873 -1, 340, -1, -1, -1, -1, 312, 33, 314, 315,
874 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
875 359, 360, -1, -1, -1, -1, -1, -1, 367, -1,
876 -1, 126, -1, -1, -1, 374, -1, -1, 64, 378,
877 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
878 -1, -1, 44, -1, -1, 394, 395, -1, -1, -1,
879 -1, -1, -1, -1, -1, 91, 58, 59, 33, -1,
880 -1, 36, 37, 38, -1, 40, 41, 42, 43, -1,
881 45, -1, -1, 272, 273, 274, 275, -1, -1, -1,
882 279, -1, -1, -1, -1, -1, -1, -1, -1, 64,
883 126, 93, 257, 258, 259, 260, 261, -1, 263, 264,
884 265, -1, 301, 302, 269, 304, -1, -1, -1, -1,
885 -1, -1, -1, -1, -1, 280, 91, 282, 283, 284,
886 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
887 295, 296, -1, 298, -1, -1, -1, -1, 303, -1,
888 287, 288, 289, 290, -1, -1, -1, 312, -1, 314,
889 315, 126, 257, 258, 259, 260, 261, -1, 263, 264,
890 265, 308, 309, 310, 269, -1, 313, -1, -1, 316,
891 317, 318, -1, -1, -1, 280, -1, 282, 283, 284,
892 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
893 295, 296, -1, 298, -1, -1, -1, -1, 303, -1,
894 -1, -1, -1, -1, -1, -1, -1, 312, 33, 314,
895 315, 36, 37, 38, -1, 40, 41, 42, 43, -1,
896 45, 257, 258, 259, 260, 261, -1, 263, 264, 265,
897 -1, -1, -1, 269, -1, -1, -1, -1, -1, 64,
898 -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
899 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
900 296, -1, 298, -1, -1, -1, 91, 303, -1, -1,
901 272, 273, 274, 275, -1, -1, 312, 279, 314, 315,
902 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
903 265, -1, -1, -1, 269, 41, -1, -1, 44, 301,
904 302, 126, -1, -1, -1, 280, -1, 282, 283, 284,
905 285, 286, 58, 59, -1, -1, 291, 292, 293, 294,
906 295, 296, 33, 298, -1, 36, 37, 38, 303, 40,
907 41, 42, 43, -1, 45, -1, -1, 312, -1, 314,
908 315, -1, 287, 288, 289, 290, -1, 93, -1, -1,
909 -1, -1, -1, 64, -1, -1, -1, 41, -1, -1,
910 44, 306, 307, 308, 309, 310, -1, -1, 313, -1,
911 -1, 316, 317, 318, 58, 59, -1, -1, -1, 63,
912 91, -1, -1, 33, -1, -1, 36, 37, 38, -1,
913 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
914 287, 288, 289, 290, -1, -1, -1, -1, -1, 93,
915 -1, -1, -1, -1, 64, 126, -1, -1, -1, -1,
916 307, 308, 309, 310, -1, 41, 313, -1, 44, 316,
917 317, 318, 257, 258, 259, 260, 261, -1, 263, 264,
918 265, 91, 58, 59, 269, -1, -1, 63, -1, -1,
919 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
920 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
921 295, 296, -1, 298, -1, -1, 126, 93, 303, -1,
922 -1, -1, -1, -1, -1, -1, -1, 312, -1, 314,
923 315, -1, -1, 33, -1, -1, 36, 37, 38, -1,
924 40, 41, 42, 43, -1, 45, -1, -1, 287, 288,
925 289, 290, -1, -1, -1, -1, -1, -1, -1, -1,
926 -1, -1, -1, -1, 64, -1, 272, 273, 274, 275,
927 309, 310, -1, 279, 313, -1, -1, 316, 317, 318,
928 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
929 261, 91, 263, 264, 265, 301, 302, -1, 269, -1,
930 41, -1, -1, 44, -1, -1, -1, -1, -1, 280,
931 -1, 282, 283, 284, 285, 286, -1, 58, 59, -1,
932 291, 292, 293, 294, 295, 296, 126, 298, 272, 273,
933 274, 275, 303, -1, -1, 279, -1, 281, -1, -1,
934 -1, 312, -1, 314, 315, -1, 256, 257, 258, 259,
935 260, 261, 93, 263, 264, 265, -1, 301, 302, 269,
936 304, 305, 306, 307, 308, -1, -1, -1, -1, -1,
937 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
938 -1, 291, 292, 293, 294, 295, 296, -1, 298, -1,
939 -1, -1, -1, 303, -1, -1, 272, 273, 274, 275,
940 -1, -1, 312, 279, 314, 315, -1, -1, 33, -1,
941 -1, 36, 37, 38, -1, 40, 41, 42, 43, -1,
942 45, -1, -1, -1, -1, 301, 302, -1, 304, -1,
943 -1, -1, -1, -1, -1, -1, -1, -1, -1, 64,
944 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
945 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
946 260, 261, -1, 263, 264, 265, 91, -1, -1, 269,
947 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
948 280, -1, 282, 283, 284, 285, 286, 41, -1, -1,
949 44, 291, 292, 293, 294, 295, 296, -1, 298, -1,
950 -1, 126, -1, 303, 58, 59, -1, -1, -1, 63,
951 -1, -1, 312, 33, 314, 315, 36, 37, 38, -1,
952 40, 41, 42, 43, -1, 45, -1, -1, 28, 29,
953 -1, 272, 273, 274, 275, -1, -1, -1, 279, 93,
954 40, -1, -1, -1, 64, -1, 46, 47, 48, -1,
955 -1, -1, 52, -1, 54, -1, -1, -1, -1, -1,
956 301, 302, -1, -1, -1, -1, 66, 67, 68, 69,
957 -1, 91, 33, -1, -1, 36, 37, 38, -1, 40,
958 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
959 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
960 -1, -1, -1, 64, -1, -1, 126, -1, -1, -1,
961 -1, -1, -1, -1, -1, -1, -1, 117, -1, -1,
962 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
963 91, -1, 257, 258, 259, 260, 261, -1, 263, 264,
964 265, -1, -1, -1, 269, -1, -1, -1, -1, -1,
965 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
966 285, 286, -1, -1, -1, 126, 291, 292, 293, 294,
967 295, 296, -1, 298, 41, -1, -1, 44, 303, -1,
968 -1, -1, 182, -1, -1, -1, -1, 312, -1, 314,
969 315, 58, 59, -1, -1, -1, 63, -1, -1, -1,
970 -1, -1, -1, -1, -1, -1, -1, -1, -1, 209,
971 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
972 274, 275, -1, -1, -1, 279, 93, 281, -1, -1,
973 -1, -1, -1, 287, 288, 289, 290, 257, 258, 259,
974 260, 261, -1, 263, 264, 265, -1, 301, 302, 269,
975 304, 305, 306, 307, 308, 309, 310, -1, -1, 313,
976 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
977 -1, 291, 292, 293, 294, 295, 296, -1, 298, -1,
978 -1, -1, -1, 303, -1, -1, -1, -1, -1, -1,
979 -1, -1, 312, -1, 314, 315, 257, 258, 259, 260,
980 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
981 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
982 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
983 291, 292, 293, 294, 295, 296, -1, 298, -1, -1,
984 33, -1, 303, -1, -1, -1, -1, -1, 41, -1,
985 -1, 312, 45, 314, 315, 48, -1, -1, 51, 41,
986 53, -1, 44, 56, 57, 58, 59, 60, -1, -1,
987 -1, 64, 65, -1, -1, -1, 58, 59, -1, -1,
988 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
989 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
990 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
991 103, 93, 279, -1, 281, -1, -1, -1, -1, -1,
992 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
993 -1, -1, -1, -1, 301, 302, -1, 304, 305, 306,
994 307, 308, 309, 310, 41, -1, 313, 44, -1, 316,
995 317, 318, -1, -1, -1, -1, -1, -1, -1, -1,
996 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
997 -1, -1, -1, 166, 167, 168, 169, 170, 171, 172,
998 173, 174, 175, 176, 177, 178, 179, -1, -1, -1,
999 -1, 41, -1, -1, 44, -1, 93, -1, -1, -1,
1000 193, -1, -1, -1, -1, -1, -1, -1, 58, 59,
1001 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1002 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1003 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1004 -1, -1, 41, 93, -1, 44, -1, -1, -1, -1,
1005 -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
1006 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
1007 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1008 -1, -1, -1, -1, -1, 278, -1, -1, -1, -1,
1009 272, 273, 274, 275, 93, -1, -1, 279, -1, 281,
1010 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1011 -1, -1, -1, -1, -1, 41, -1, 310, 44, 301,
1012 302, -1, 304, 305, 306, 307, 308, 309, 310, -1,
1013 -1, 313, 58, 59, 316, 317, 318, 63, -1, -1,
1014 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1015 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1016 -1, -1, -1, 41, -1, -1, 44, 93, -1, -1,
1017 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1018 58, 59, 279, -1, 281, 63, -1, -1, -1, -1,
1019 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
1020 -1, -1, -1, -1, 301, 302, -1, 304, 305, 306,
1021 307, 308, 309, 310, -1, 93, 313, -1, -1, 316,
1022 317, 318, 272, 273, 274, 275, -1, 41, -1, 279,
1023 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1024 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1025 -1, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1026 310, -1, -1, 313, -1, -1, 316, 317, 318, -1,
1027 -1, -1, -1, 272, 273, 274, 275, -1, 41, 93,
1028 279, 44, 281, -1, -1, -1, -1, -1, 287, 288,
1029 289, 290, -1, -1, -1, 58, 59, -1, -1, -1,
1030 63, -1, 301, 302, -1, 304, 305, 306, 307, 308,
1031 309, 310, -1, -1, 313, -1, -1, 316, 317, 318,
1032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1033 93, -1, -1, -1, 41, -1, -1, 44, -1, -1,
1034 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1035 -1, 58, 59, 279, -1, 281, 63, -1, -1, -1,
1036 -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
1037 -1, -1, -1, -1, -1, 301, 302, -1, 304, 305,
1038 306, 307, 308, 309, 310, -1, 93, 313, -1, -1,
1039 316, 317, 318, -1, 272, 273, 274, 275, -1, 41,
1040 -1, 279, 44, 281, -1, -1, -1, -1, -1, 287,
1041 288, 289, 290, -1, -1, -1, 58, 59, -1, -1,
1042 -1, 63, -1, 301, 302, -1, 304, 305, 306, 307,
1043 308, 309, 310, -1, -1, 313, -1, -1, 316, 317,
1044 318, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1045 -1, 93, -1, -1, -1, -1, -1, -1, 272, 273,
1046 274, 275, -1, 58, 59, 279, -1, 281, 63, -1,
1047 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
1048 -1, -1, -1, -1, -1, -1, -1, 301, 302, -1,
1049 304, 305, 306, 307, 308, 309, 310, 41, 93, 313,
1050 44, -1, 316, 317, 318, -1, -1, -1, -1, 272,
1051 273, 274, 275, -1, 58, 59, 279, -1, 281, 63,
1052 -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
1053 -1, -1, -1, -1, -1, -1, -1, -1, 301, 302,
1054 -1, 304, 305, 306, 307, 308, 309, 310, -1, 93,
1055 313, -1, -1, 316, 317, 318, -1, -1, -1, -1,
1056 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1057 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
1058 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
1059 -1, -1, 63, -1, 301, 302, -1, 304, 305, 306,
1060 307, 308, 309, 310, -1, -1, 313, -1, -1, 316,
1061 317, 318, -1, -1, -1, -1, -1, -1, 41, -1,
1062 -1, 44, 93, -1, -1, -1, -1, -1, -1, -1,
1063 272, 273, 274, 275, -1, 58, 59, 279, -1, 281,
1064 63, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1065 -1, -1, -1, -1, -1, -1, -1, -1, -1, 301,
1066 302, -1, 304, 305, 306, 307, 308, 309, 310, -1,
1067 93, 313, -1, -1, 316, 317, 318, 272, 273, 274,
1068 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1069 -1, -1, 287, 288, 289, 290, -1, -1, -1, 58,
1070 59, -1, -1, -1, 63, -1, 301, 302, -1, 304,
1071 305, 306, 307, 308, 309, 310, -1, -1, 313, -1,
1072 -1, 316, 317, 318, -1, -1, -1, -1, 272, 273,
1073 274, 275, -1, 41, 93, 279, 44, 281, -1, -1,
1074 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
1075 58, 59, -1, -1, -1, 63, -1, 301, 302, -1,
1076 304, 305, 306, 307, 308, 309, 310, -1, -1, 313,
1077 -1, -1, 316, 317, 318, -1, -1, -1, -1, -1,
1078 -1, -1, -1, -1, -1, 93, -1, -1, -1, 41,
1079 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1080 -1, 272, 273, 274, 275, -1, 58, 59, 279, -1,
1081 281, 63, -1, -1, -1, -1, 287, 288, 289, 290,
1082 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1083 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
1084 -1, 93, 313, -1, -1, 316, 317, 318, -1, 272,
1085 273, 274, 275, 41, -1, -1, 279, -1, 281, -1,
1086 -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
1087 58, 59, -1, -1, -1, 63, -1, -1, 301, 302,
1088 -1, 304, 305, 306, 307, 308, 309, 310, -1, -1,
1089 313, -1, -1, 316, 317, 318, -1, -1, -1, -1,
1090 -1, 41, -1, -1, -1, 93, -1, -1, -1, -1,
1091 -1, -1, -1, 272, 273, 274, 275, -1, 58, 59,
1092 279, -1, 281, 63, -1, -1, -1, -1, 287, 288,
1093 289, 290, -1, -1, -1, -1, -1, -1, -1, -1,
1094 -1, -1, 301, 302, -1, 304, 305, 306, 307, 308,
1095 309, 310, 41, 93, 313, 44, -1, 316, 317, 318,
1096 -1, -1, -1, -1, 272, 273, 274, 275, -1, 58,
1097 59, 279, -1, 281, 63, -1, -1, -1, -1, 287,
1098 288, 289, 290, -1, -1, -1, -1, -1, -1, -1,
1099 -1, -1, -1, 301, 302, -1, 304, 305, 306, 307,
1100 308, 309, 310, -1, 93, 313, -1, -1, 316, 317,
1101 318, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1102 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1103 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1104 -1, -1, 58, 59, -1, -1, -1, 63, -1, 301,
1105 302, -1, 304, 305, 306, 307, 308, 309, 310, -1,
1106 -1, 313, -1, -1, 316, 317, 318, -1, -1, -1,
1107 -1, -1, 41, -1, -1, 44, -1, 93, -1, -1,
1108 -1, -1, -1, -1, 272, 273, 274, 275, -1, 58,
1109 59, 279, -1, 281, 63, -1, -1, -1, -1, 287,
1110 288, 289, 290, -1, -1, -1, -1, -1, -1, -1,
1111 -1, -1, -1, 301, 302, -1, 304, 305, 306, 307,
1112 308, 309, 310, -1, 93, 313, -1, -1, 316, 317,
1113 318, -1, 272, 273, 274, 275, -1, 41, -1, 279,
1114 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1115 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1116 -1, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1117 310, -1, -1, 313, -1, -1, 316, 317, 318, -1,
1118 -1, -1, -1, 272, 273, 274, 275, -1, 41, 93,
1119 279, 44, 281, -1, -1, -1, -1, -1, 287, 288,
1120 289, 290, -1, -1, -1, 58, 59, -1, -1, -1,
1121 63, -1, 301, 302, -1, 304, 305, 306, 307, 308,
1122 309, 310, -1, -1, 313, -1, -1, 41, -1, -1,
1123 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1124 93, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1125 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1126 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
1127 -1, 287, 288, 289, 290, -1, -1, -1, 41, 93,
1128 -1, 44, -1, -1, -1, 301, 302, -1, 304, 305,
1129 306, 307, 308, 309, 310, 58, 59, -1, -1, -1,
1130 63, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1131 279, -1, 281, -1, -1, -1, -1, -1, 287, 288,
1132 289, 290, -1, -1, -1, -1, 41, -1, -1, 44,
1133 93, -1, 301, 302, -1, 304, 305, 306, 307, 308,
1134 309, 310, -1, 58, 59, -1, -1, -1, 63, -1,
1135 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1136 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1137 274, 275, -1, 41, -1, 279, 44, 281, 93, -1,
1138 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
1139 58, 59, -1, -1, -1, 63, -1, 301, 302, -1,
1140 304, 305, 306, 307, 308, 309, 310, -1, -1, -1,
1141 -1, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1142 273, 274, 275, -1, -1, 93, 279, -1, 281, -1,
1143 -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
1144 -1, -1, -1, -1, -1, -1, -1, -1, 301, 302,
1145 -1, 304, 305, 306, 307, 308, 309, 310, 272, 273,
1146 274, 275, -1, 41, -1, 279, 44, 281, -1, -1,
1147 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
1148 58, 59, -1, -1, -1, 63, -1, 301, 302, -1,
1149 304, 305, 306, 307, 308, 309, 310, -1, -1, -1,
1150 -1, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1151 273, 274, 275, -1, -1, 93, 279, -1, 281, -1,
1152 -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
1153 -1, 41, -1, -1, 44, -1, -1, -1, 301, 302,
1154 -1, 304, 305, 306, 307, 308, 309, 310, 58, 59,
1155 -1, -1, -1, 63, -1, -1, -1, 272, 273, 274,
1156 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
1157 -1, -1, 287, 288, 289, 290, -1, -1, -1, 41,
1158 -1, -1, 44, 93, -1, -1, 301, 302, -1, 304,
1159 305, 306, 307, 308, 309, 310, 58, 59, -1, -1,
1160 -1, 63, -1, -1, 272, 273, 274, 275, -1, -1,
1161 -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
1162 288, 289, 290, -1, -1, 41, -1, -1, 44, -1,
1163 -1, 93, -1, 301, 302, -1, 304, 305, 306, 307,
1164 308, 309, 58, 59, -1, -1, -1, 63, -1, -1,
1165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1166 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1167 -1, -1, -1, -1, -1, -1, -1, 93, -1, 58,
1168 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
1169 -1, -1, -1, -1, 272, 273, 274, 275, -1, 41,
1170 -1, 279, 44, 281, -1, -1, -1, -1, -1, 287,
1171 288, -1, 290, -1, 93, -1, 58, 59, -1, -1,
1172 -1, 63, -1, 301, 302, -1, 304, 305, 306, 307,
1173 308, 309, -1, -1, -1, -1, 41, -1, -1, 44,
1174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1175 -1, 93, -1, 58, 59, -1, -1, -1, 63, -1,
1176 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1177 -1, 281, -1, -1, -1, -1, -1, 287, 288, -1,
1178 -1, -1, -1, 41, -1, -1, 44, -1, 93, -1,
1179 -1, 301, 302, -1, 304, 305, 306, 307, 308, 309,
1180 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1181 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1182 -1, -1, -1, -1, -1, 287, 288, -1, -1, -1,
1183 41, -1, -1, 44, -1, 93, -1, -1, -1, 301,
1184 302, -1, 304, 305, 306, 307, 308, 58, 59, -1,
1185 -1, -1, 63, -1, -1, -1, 272, 273, 274, 275,
1186 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
1187 -1, 287, 288, -1, -1, -1, -1, -1, -1, -1,
1188 -1, -1, 93, -1, -1, 301, 302, -1, 304, 305,
1189 306, 307, 308, 272, 273, 274, 275, -1, 41, -1,
1190 279, 44, 281, -1, -1, -1, -1, -1, 287, 288,
1191 -1, -1, -1, -1, -1, 58, 59, -1, -1, -1,
1192 63, -1, 301, 302, -1, 304, 305, 306, 307, 308,
1193 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1194 -1, -1, -1, -1, -1, 287, 288, -1, -1, -1,
1195 93, -1, 58, 59, -1, -1, -1, 63, -1, 301,
1196 302, -1, 304, 305, 306, 307, 308, 272, 273, 274,
1197 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
1198 -1, -1, 287, 288, -1, -1, -1, 93, -1, -1,
1199 -1, -1, -1, -1, -1, -1, 301, 302, -1, 304,
1200 305, 306, 307, 308, -1, -1, -1, -1, -1, -1,
1201 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1202 -1, 279, -1, 281, -1, -1, -1, -1, -1, -1,
1203 288, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1204 -1, -1, -1, 301, 302, -1, 304, 305, 306, 307,
1205 308, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1206 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1207 281, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1208 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1209 301, 302, -1, 304, 305, 306, 307, 308, -1, -1,
1210 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1211 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1212 -1, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1213 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
1214 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1215 -1, -1, -1, -1, -1, -1, -1, -1, 301, 302,
1216 -1, 304, 305, 306, 307, -1, 272, 273, 274, 275,
1217 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
1218 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1219 -1, -1, -1, -1, -1, 301, 302, -1, 304, 305,
1226 #define YYMAXTOKEN 318
1228 static char *yyname[] = {
1229 "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,
1230 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1231 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1232 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1233 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1234 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1235 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1236 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",
1237 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1238 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1239 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1240 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1241 "MYSUB","REQUIRE","COLONATTR","PREC_LOW","OROP","ANDOP","NOTOP","ASSIGNOP",
1242 "OROR","ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN",
1243 "POWOP","PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
1245 static char *yyrule[] = {
1247 "prog : progstart lineseq",
1248 "block : '{' remember lineseq '}'",
1251 "mblock : '{' mremember lineseq '}'",
1254 "lineseq : lineseq decl",
1255 "lineseq : lineseq line",
1256 "line : label cond",
1259 "line : label sideff ';'",
1262 "sideff : expr IF expr",
1263 "sideff : expr UNLESS expr",
1264 "sideff : expr WHILE expr",
1265 "sideff : expr UNTIL iexpr",
1266 "sideff : expr FOR expr",
1268 "else : ELSE mblock",
1269 "else : ELSIF '(' mexpr ')' mblock else",
1270 "cond : IF '(' remember mexpr ')' mblock else",
1271 "cond : UNLESS '(' remember miexpr ')' mblock else",
1273 "cont : CONTINUE block",
1274 "loop : label WHILE '(' remember texpr ')' mintro mblock cont",
1275 "loop : label UNTIL '(' remember iexpr ')' mintro mblock cont",
1276 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1277 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1278 "loop : label FOR '(' remember mexpr ')' mblock cont",
1279 "loop : label FOR '(' remember mnexpr ';' texpr ';' mintro mnexpr ')' mblock",
1280 "loop : label block cont",
1297 "format : FORMAT startformsub formname block",
1300 "mysubrout : MYSUB startsub subname proto subattrlist subbody",
1301 "subrout : SUB startsub subname proto subattrlist subbody",
1309 "subattrlist : COLONATTR THING",
1310 "subattrlist : COLONATTR",
1311 "myattrlist : COLONATTR THING",
1312 "myattrlist : COLONATTR",
1315 "package : PACKAGE WORD ';'",
1316 "package : PACKAGE ';'",
1318 "use : USE startsub $$1 WORD WORD listexpr ';'",
1319 "expr : expr ANDOP expr",
1320 "expr : expr OROP expr",
1322 "argexpr : argexpr ','",
1323 "argexpr : argexpr ',' term",
1325 "listop : LSTOP indirob argexpr",
1326 "listop : FUNC '(' indirob expr ')'",
1327 "listop : term ARROW method '(' listexprcom ')'",
1328 "listop : term ARROW method",
1329 "listop : METHOD indirob listexpr",
1330 "listop : FUNCMETH indirob '(' listexprcom ')'",
1331 "listop : LSTOP listexpr",
1332 "listop : FUNC '(' listexprcom ')'",
1334 "listop : LSTOPSUB startanonsub block $$2 listexpr",
1337 "subscripted : star '{' expr ';' '}'",
1338 "subscripted : scalar '[' expr ']'",
1339 "subscripted : term ARROW '[' expr ']'",
1340 "subscripted : subscripted '[' expr ']'",
1341 "subscripted : scalar '{' expr ';' '}'",
1342 "subscripted : term ARROW '{' expr ';' '}'",
1343 "subscripted : subscripted '{' expr ';' '}'",
1344 "subscripted : term ARROW '(' ')'",
1345 "subscripted : term ARROW '(' expr ')'",
1346 "subscripted : subscripted '(' expr ')'",
1347 "subscripted : subscripted '(' ')'",
1348 "termbinop : term ASSIGNOP term",
1349 "termbinop : term POWOP term",
1350 "termbinop : term MULOP term",
1351 "termbinop : term ADDOP term",
1352 "termbinop : term SHIFTOP term",
1353 "termbinop : term RELOP term",
1354 "termbinop : term EQOP term",
1355 "termbinop : term BITANDOP term",
1356 "termbinop : term BITOROP term",
1357 "termbinop : term DOTDOT term",
1358 "termbinop : term ANDAND term",
1359 "termbinop : term OROR term",
1360 "termbinop : term MATCHOP term",
1361 "termunop : '-' term",
1362 "termunop : '+' term",
1363 "termunop : '!' term",
1364 "termunop : '~' term",
1365 "termunop : term POSTINC",
1366 "termunop : term POSTDEC",
1367 "termunop : PREINC term",
1368 "termunop : PREDEC term",
1369 "anonymous : '[' expr ']'",
1370 "anonymous : '[' ']'",
1371 "anonymous : HASHBRACK expr ';' '}'",
1372 "anonymous : HASHBRACK ';' '}'",
1373 "anonymous : ANONSUB startanonsub proto subattrlist block",
1375 "termdo : DO block",
1376 "termdo : DO WORD '(' ')'",
1377 "termdo : DO WORD '(' expr ')'",
1378 "termdo : DO scalar '(' ')'",
1379 "termdo : DO scalar '(' expr ')'",
1384 "term : term '?' term ':' term",
1385 "term : REFGEN term",
1386 "term : myattrterm",
1387 "term : LOCAL term",
1388 "term : '(' expr ')'",
1395 "term : subscripted",
1396 "term : '(' expr ')' '[' expr ']'",
1397 "term : '(' ')' '[' expr ']'",
1398 "term : ary '[' expr ']'",
1399 "term : ary '{' expr ';' '}'",
1402 "term : amper '(' ')'",
1403 "term : amper '(' expr ')'",
1404 "term : NOAMP WORD listexpr",
1406 "term : LOOPEX term",
1407 "term : NOTOP argexpr",
1409 "term : UNIOP block",
1410 "term : UNIOP term",
1412 "term : REQUIRE term",
1413 "term : UNIOPSUB term",
1415 "term : FUNC0 '(' ')'",
1417 "term : FUNC1 '(' ')'",
1418 "term : FUNC1 '(' expr ')'",
1419 "term : PMFUNC '(' term ')'",
1420 "term : PMFUNC '(' term ',' term ')'",
1423 "myattrterm : MY myterm myattrlist",
1424 "myattrterm : MY myterm",
1425 "myterm : '(' expr ')'",
1431 "listexpr : argexpr",
1433 "listexprcom : expr",
1434 "listexprcom : expr ','",
1435 "my_scalar : scalar",
1436 "amper : '&' indirob",
1437 "scalar : '$' indirob",
1438 "ary : '@' indirob",
1439 "hsh : '%' indirob",
1440 "arylen : DOLSHARP indirob",
1441 "star : '*' indirob",
1445 "indirob : PRIVATEREF",
1448 #define yyclearin (yychar=(-1))
1449 #define yyerrok (yyerrflag=0)
1452 #define YYMAXDEPTH YYSTACKSIZE
1456 #define YYSTACKSIZE YYMAXDEPTH
1458 #define YYSTACKSIZE 500
1459 #define YYMAXDEPTH 500
1465 /* more stuff added to make perly_c.diff easier to apply */
1470 #define yyparse() Perl_yyparse(pTHX)
1472 #line 1473 "perly.c"
1473 #define YYABORT goto yyabort
1474 #define YYACCEPT goto yyaccept
1475 #define YYERROR goto yyerrlab
1479 register int yym, yyn, yystate;
1480 register short *yyssp;
1481 register YYSTYPE *yyvsp;
1484 unsigned yystacksize = YYSTACKSIZE;
1492 ENTER; /* force yydestruct() before we return */
1494 New(73, ysave, 1, struct ysv);
1495 SAVEDESTRUCTOR_X(yydestruct, ysave);
1496 ysave->oldyydebug = yydebug;
1497 ysave->oldyynerrs = yynerrs;
1498 ysave->oldyyerrflag = yyerrflag;
1499 ysave->oldyychar = yychar;
1500 ysave->oldyyval = yyval;
1501 ysave->oldyylval = yylval;
1504 if ((yys = getenv("YYDEBUG")))
1507 if (yyn >= '0' && yyn <= '9')
1508 yydebug = yyn - '0';
1517 ** Initialize private stacks (yyparse may be called from an action)
1519 New(73, yyss, yystacksize, short);
1520 New(73, yyvs, yystacksize, YYSTYPE);
1528 *yyssp = yystate = 0;
1531 if ((yyn = yydefred[yystate])) goto yyreduce;
1534 if ((yychar = yylex()) < 0) yychar = 0;
1539 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1540 if (!yys) yys = "illegal-symbol";
1541 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1546 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1547 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1551 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1552 yystate, yytable[yyn]);
1554 if (yyssp >= yyss + yystacksize - 1)
1557 ** reallocate and recover. Note that pointers
1558 ** have to be reset, or bad things will happen
1560 int yyps_index = (yyssp - yyss);
1561 int yypv_index = (yyvsp - yyvs);
1562 yystacksize += YYSTACKSIZE;
1563 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1564 ysave->yyss = Renew(yyss, yystacksize, short);
1567 yyssp = yyss + yyps_index;
1568 yyvsp = yyvs + yypv_index;
1570 *++yyssp = yystate = yytable[yyn];
1573 if (yyerrflag > 0) --yyerrflag;
1576 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1577 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1582 if (yyerrflag) goto yyinrecovery;
1587 yyerror("syntax error");
1599 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1600 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1604 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery shifting\
1605 to state %d\n", *yyssp, yytable[yyn]);
1607 if (yyssp >= yyss + yystacksize - 1)
1610 ** reallocate and recover. Note that pointers
1611 ** have to be reset, or bad things will happen
1613 int yyps_index = (yyssp - yyss);
1614 int yypv_index = (yyvsp - yyvs);
1615 yystacksize += YYSTACKSIZE;
1616 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1617 ysave->yyss = Renew(yyss, yystacksize, short);
1620 yyssp = yyss + yyps_index;
1621 yyvsp = yyvs + yypv_index;
1623 *++yyssp = yystate = yytable[yyn];
1631 PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
1634 if (yyssp <= yyss) goto yyabort;
1642 if (yychar == 0) goto yyabort;
1647 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1648 if (!yys) yys = "illegal-symbol";
1649 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
1650 yystate, yychar, yys);
1659 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1660 yystate, yyn, yyrule[yyn]);
1663 yyval = yyvsp[1-yym];
1668 { yyval.ival = yyvsp[-1].ival; newPROG(block_end(yyvsp[-1].ival,yyvsp[0].opval)); }
1672 { if (PL_copline > (line_t)yyvsp[-3].ival)
1673 PL_copline = (line_t)yyvsp[-3].ival;
1674 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1678 { yyval.ival = block_start(TRUE); }
1683 #if defined(YYDEBUG) && defined(DEBUGGING)
1684 yydebug = (DEBUG_p_TEST);
1686 PL_expect = XSTATE; yyval.ival = block_start(TRUE);
1691 { if (PL_copline > (line_t)yyvsp[-3].ival)
1692 PL_copline = (line_t)yyvsp[-3].ival;
1693 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1697 { yyval.ival = block_start(FALSE); }
1701 { yyval.opval = Nullop; }
1705 { yyval.opval = yyvsp[-1].opval; }
1709 { yyval.opval = append_list(OP_LINESEQ,
1710 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1711 PL_pad_reset_pending = TRUE;
1712 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1716 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1720 { if (yyvsp[-1].pval != Nullch) {
1721 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1724 yyval.opval = Nullop;
1725 PL_copline = NOLINE;
1727 PL_expect = XSTATE; }
1731 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1732 PL_expect = XSTATE; }
1736 { yyval.opval = Nullop; }
1740 { yyval.opval = yyvsp[0].opval; }
1744 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1748 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1752 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1756 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1760 { yyval.opval = newFOROP(0, Nullch, (line_t)yyvsp[-1].ival,
1761 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1765 { yyval.opval = Nullop; }
1769 { (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
1773 { PL_copline = (line_t)yyvsp[-5].ival;
1774 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
1775 PL_hints |= HINT_BLOCK_SCOPE; }
1779 { PL_copline = (line_t)yyvsp[-6].ival;
1780 yyval.opval = block_end(yyvsp[-4].ival,
1781 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1785 { PL_copline = (line_t)yyvsp[-6].ival;
1786 yyval.opval = block_end(yyvsp[-4].ival,
1787 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1791 { yyval.opval = Nullop; }
1795 { yyval.opval = scope(yyvsp[0].opval); }
1799 { PL_copline = (line_t)yyvsp[-7].ival;
1800 yyval.opval = block_end(yyvsp[-5].ival,
1801 newSTATEOP(0, yyvsp[-8].pval,
1802 newWHILEOP8(0, 1, (LOOP*)Nullop,
1803 yyvsp[-7].ival, yyvsp[-4].opval, yyvsp[-1].opval, yyvsp[0].opval, yyvsp[-2].ival))); }
1807 { PL_copline = (line_t)yyvsp[-7].ival;
1808 yyval.opval = block_end(yyvsp[-5].ival,
1809 newSTATEOP(0, yyvsp[-8].pval,
1810 newWHILEOP8(0, 1, (LOOP*)Nullop,
1811 yyvsp[-7].ival, yyvsp[-4].opval, yyvsp[-1].opval, yyvsp[0].opval, yyvsp[-2].ival))); }
1815 { yyval.opval = block_end(yyvsp[-6].ival,
1816 newFOROP(0, yyvsp[-9].pval, (line_t)yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1820 { yyval.opval = block_end(yyvsp[-4].ival,
1821 newFOROP(0, yyvsp[-8].pval, (line_t)yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1822 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1826 { yyval.opval = block_end(yyvsp[-4].ival,
1827 newFOROP(0, yyvsp[-7].pval, (line_t)yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1832 PL_copline = (line_t)yyvsp[-10].ival;
1833 forop = newSTATEOP(0, yyvsp[-11].pval,
1834 newWHILEOP8(0, 1, (LOOP*)Nullop,
1835 yyvsp[-10].ival, scalar(yyvsp[-5].opval),
1836 yyvsp[0].opval, yyvsp[-2].opval, yyvsp[-3].ival));
1837 if (yyvsp[-7].opval) {
1838 forop = append_elem(OP_LINESEQ,
1839 newSTATEOP(0, (yyvsp[-11].pval?savepv(yyvsp[-11].pval):Nullch),
1844 yyval.opval = block_end(yyvsp[-8].ival, forop); }
1848 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1849 newWHILEOP8(0, 1, (LOOP*)Nullop,
1850 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval, 0)); }
1854 { yyval.ival = (PL_min_intro_pending &&
1855 PL_max_intro_pending >= PL_min_intro_pending);
1860 { yyval.opval = Nullop; }
1864 { (void)scan_num("1", &yylval); yyval.opval = yylval.opval; }
1868 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1872 { yyval.opval = yyvsp[0].opval; intro_my(); }
1876 { yyval.opval = yyvsp[0].opval; intro_my(); }
1880 { yyval.opval = yyvsp[0].opval; intro_my(); }
1884 { yyval.pval = Nullch; }
1908 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1912 { yyval.opval = yyvsp[0].opval; }
1916 { yyval.opval = Nullop; }
1920 { newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1924 { newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1928 { yyval.ival = start_subparse(FALSE, 0); }
1932 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1936 { yyval.ival = start_subparse(TRUE, 0); }
1940 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1941 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1942 || strEQ(name, "INIT") || strEQ(name, "CHECK"))
1943 CvSPECIAL_on(PL_compcv);
1944 yyval.opval = yyvsp[0].opval; }
1948 { yyval.opval = Nullop; }
1952 { yyval.opval = Nullop; }
1956 { yyval.opval = yyvsp[0].opval; }
1960 { yyval.opval = Nullop; }
1964 { yyval.opval = yyvsp[0].opval; }
1968 { yyval.opval = Nullop; }
1972 { yyval.opval = yyvsp[0].opval; }
1976 { yyval.opval = Nullop; PL_expect = XSTATE; }
1980 { package(yyvsp[-1].opval); }
1984 { package(Nullop); }
1988 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
1992 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1996 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2000 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2004 { yyval.opval = yyvsp[-1].opval; }
2008 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
2012 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
2013 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
2017 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
2018 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
2022 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2023 append_elem(OP_LIST,
2024 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
2025 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
2029 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2030 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
2031 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
2035 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2036 append_elem(OP_LIST,
2037 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
2038 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
2042 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2043 append_elem(OP_LIST,
2044 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
2045 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
2049 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2053 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2057 { yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
2061 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2062 append_elem(OP_LIST,
2063 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
2067 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval));
2068 PL_expect = XOPERATOR; }
2072 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2076 { yyval.opval = newBINOP(OP_AELEM, 0,
2077 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2078 scalar(yyvsp[-1].opval));}
2082 { yyval.opval = newBINOP(OP_AELEM, 0,
2083 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2084 scalar(yyvsp[-1].opval));}
2088 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2089 PL_expect = XOPERATOR; }
2093 { yyval.opval = newBINOP(OP_HELEM, 0,
2094 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2095 jmaybe(yyvsp[-2].opval));
2096 PL_expect = XOPERATOR; }
2100 { yyval.opval = newBINOP(OP_HELEM, 0,
2101 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2102 jmaybe(yyvsp[-2].opval));
2103 PL_expect = XOPERATOR; }
2107 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2108 newCVREF(0, scalar(yyvsp[-3].opval))); }
2112 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2113 append_elem(OP_LIST, yyvsp[-1].opval,
2114 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2118 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2119 append_elem(OP_LIST, yyvsp[-1].opval,
2120 newCVREF(0, scalar(yyvsp[-3].opval)))); }
2124 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2125 newCVREF(0, scalar(yyvsp[-2].opval))); }
2129 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
2133 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2137 { if (yyvsp[-1].ival != OP_REPEAT)
2138 scalar(yyvsp[-2].opval);
2139 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2143 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2147 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2151 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2155 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2159 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2163 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2167 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2171 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2175 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2179 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2183 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2187 { yyval.opval = yyvsp[0].opval; }
2191 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2195 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2199 { yyval.opval = newUNOP(OP_POSTINC, 0,
2200 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2204 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2205 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2209 { yyval.opval = newUNOP(OP_PREINC, 0,
2210 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2214 { yyval.opval = newUNOP(OP_PREDEC, 0,
2215 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2219 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2223 { yyval.opval = newANONLIST(Nullop); }
2227 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2231 { yyval.opval = newANONHASH(Nullop); }
2235 { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2239 { yyval.opval = dofile2(yyvsp[0].opval, yyvsp[-1].ival); }
2243 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2247 { yyval.opval = newUNOP(OP_ENTERSUB,
2248 OPf_SPECIAL|OPf_STACKED,
2249 prepend_elem(OP_LIST,
2251 (OPpENTERSUB_AMPER<<8),
2252 scalar(yyvsp[-2].opval)
2253 )),Nullop)); dep();}
2257 { yyval.opval = newUNOP(OP_ENTERSUB,
2258 OPf_SPECIAL|OPf_STACKED,
2259 append_elem(OP_LIST,
2262 (OPpENTERSUB_AMPER<<8),
2263 scalar(yyvsp[-3].opval)
2268 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2269 prepend_elem(OP_LIST,
2270 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2274 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2275 prepend_elem(OP_LIST,
2277 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2281 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2285 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2289 { yyval.opval = yyvsp[0].opval; }
2293 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2297 { yyval.opval = sawparens(yyvsp[-1].opval); }
2301 { yyval.opval = sawparens(newNULLLIST()); }
2305 { yyval.opval = yyvsp[0].opval; }
2309 { yyval.opval = yyvsp[0].opval; }
2313 { yyval.opval = yyvsp[0].opval; }
2317 { yyval.opval = yyvsp[0].opval; }
2321 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2325 { yyval.opval = yyvsp[0].opval; }
2329 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2333 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2337 { yyval.opval = prepend_elem(OP_ASLICE,
2338 newOP(OP_PUSHMARK, 0),
2339 newLISTOP(OP_ASLICE, 0,
2340 list(yyvsp[-1].opval),
2341 ref(yyvsp[-3].opval, OP_ASLICE))); }
2345 { yyval.opval = prepend_elem(OP_HSLICE,
2346 newOP(OP_PUSHMARK, 0),
2347 newLISTOP(OP_HSLICE, 0,
2348 list(yyvsp[-2].opval),
2349 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2350 PL_expect = XOPERATOR; }
2354 { yyval.opval = yyvsp[0].opval; }
2358 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2362 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2366 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2367 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2371 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2372 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2376 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2377 PL_hints |= HINT_BLOCK_SCOPE; }
2381 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2385 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2389 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2393 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2397 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2401 { yyval.opval = newOP(OP_REQUIRE, yyvsp[0].ival ? OPf_SPECIAL : 0); }
2405 { yyval.opval = newUNOP(OP_REQUIRE, yyvsp[-1].ival ? OPf_SPECIAL : 0, yyvsp[0].opval); }
2409 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2410 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2414 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2418 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2422 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2423 scalar(yyvsp[0].opval)); }
2427 { yyval.opval = yyvsp[-2].ival == OP_NOT ? newUNOP(yyvsp[-2].ival, 0, newSVOP(OP_CONST, 0, newSViv(0)))
2428 : newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2432 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2436 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2440 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2444 { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
2448 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2452 { yyval.opval = sawparens(yyvsp[-1].opval); }
2456 { yyval.opval = sawparens(newNULLLIST()); }
2460 { yyval.opval = yyvsp[0].opval; }
2464 { yyval.opval = yyvsp[0].opval; }
2468 { yyval.opval = yyvsp[0].opval; }
2472 { yyval.opval = Nullop; }
2476 { yyval.opval = yyvsp[0].opval; }
2480 { yyval.opval = Nullop; }
2484 { yyval.opval = yyvsp[0].opval; }
2488 { yyval.opval = yyvsp[-1].opval; }
2492 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2496 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2500 { yyval.opval = newSVREF(yyvsp[0].opval); }
2504 { yyval.opval = newAVREF(yyvsp[0].opval); }
2508 { yyval.opval = newHVREF(yyvsp[0].opval); }
2512 { yyval.opval = newAVREF(yyvsp[0].opval); }
2516 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2520 { yyval.opval = scalar(yyvsp[0].opval); }
2524 { yyval.opval = scalar(yyvsp[0].opval); }
2528 { yyval.opval = scope(yyvsp[0].opval); }
2532 { yyval.opval = yyvsp[0].opval; }
2534 #line 2535 "perly.c"
2540 if (yystate == 0 && yym == 0)
2544 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to\
2545 state %d\n", YYFINAL);
2552 if ((yychar = yylex()) < 0) yychar = 0;
2557 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2558 if (!yys) yys = "illegal-symbol";
2559 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2560 YYFINAL, yychar, yys);
2564 if (yychar == 0) goto yyaccept;
2567 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2568 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2569 yystate = yytable[yyn];
2571 yystate = yydgoto[yym];
2574 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d \
2575 to state %d\n", *yyssp, yystate);
2577 if (yyssp >= yyss + yystacksize - 1)
2580 ** reallocate and recover. Note that pointers
2581 ** have to be reset, or bad things will happen
2583 int yyps_index = (yyssp - yyss);
2584 int yypv_index = (yyvsp - yyvs);
2585 yystacksize += YYSTACKSIZE;
2586 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2587 ysave->yyss = Renew(yyss, yystacksize, short);
2590 yyssp = yyss + yyps_index;
2591 yyvsp = yyvs + yypv_index;
2597 yyerror("Out of memory for yacc stack");
2602 LEAVE; /* force yydestruct() before we return */
2608 yydestruct(pTHX_ void *ptr)
2610 struct ysv* ysave = (struct ysv*)ptr;
2611 if (ysave->yyss) Safefree(ysave->yyss);
2612 if (ysave->yyvs) Safefree(ysave->yyvs);
2613 yydebug = ysave->oldyydebug;
2614 yynerrs = ysave->oldyynerrs;
2615 yyerrflag = ysave->oldyyerrflag;
2616 yychar = ysave->oldyychar;
2617 yyval = ysave->oldyyval;
2618 yylval = ysave->oldyylval;