This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
missing integration in previous change
[perl5.git] / perly.c
... / ...
CommitLineData
1#ifndef lint
2static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
3#endif
4#define YYBYACC 1
5#line 16 "perly.y"
6#include "EXTERN.h"
7#include "perl.h"
8
9#define yydebug PL_yydebug
10#define yynerrs PL_yynerrs
11#define yyerrflag PL_yyerrflag
12#define yychar PL_yychar
13#define yyval PL_yyval
14#define yylval PL_yylval
15
16#ifdef PERL_OBJECT
17static void
18Dep(CPerlObj *pPerl)
19{
20 pPerl->deprecate("\"do\" to call subroutines");
21}
22#define dep() Dep(this)
23#else
24static void
25dep(void)
26{
27 deprecate("\"do\" to call subroutines");
28}
29#endif
30
31#line 30 "perly.y"
32#define YYERRCODE 256
33static short yylhs[] = { -1,
34 45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
35 12, 12, 12, 24, 24, 24, 24, 24, 24, 24,
36 15, 15, 15, 14, 14, 42, 42, 13, 13, 13,
37 13, 13, 13, 13, 26, 26, 27, 27, 28, 29,
38 30, 31, 32, 44, 44, 1, 1, 1, 1, 3,
39 38, 38, 46, 4, 5, 6, 39, 40, 40, 41,
40 41, 47, 47, 49, 48, 16, 16, 16, 25, 25,
41 25, 36, 36, 36, 36, 36, 36, 36, 36, 50,
42 36, 37, 37, 17, 17, 17, 17, 17, 17, 17,
43 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
44 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
45 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
46 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
47 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
48 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
49 17, 17, 17, 17, 17, 17, 17, 17, 17, 33,
50 33, 34, 34, 34, 2, 2, 43, 23, 18, 19,
51 20, 21, 22, 35, 35, 35, 35,
52};
53static short yylen[] = { 2,
54 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
55 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
56 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
57 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
58 1, 1, 1, 0, 1, 1, 1, 1, 1, 4,
59 1, 0, 5, 0, 0, 0, 1, 0, 1, 1,
60 1, 3, 2, 0, 7, 3, 3, 1, 2, 3,
61 1, 3, 5, 6, 3, 3, 5, 2, 4, 0,
62 5, 1, 1, 3, 3, 3, 3, 3, 3, 3,
63 3, 3, 3, 3, 3, 5, 3, 2, 2, 2,
64 2, 2, 2, 2, 2, 2, 2, 3, 2, 3,
65 2, 4, 3, 4, 1, 5, 1, 4, 5, 4,
66 1, 1, 1, 5, 6, 5, 6, 5, 4, 5,
67 1, 1, 3, 4, 3, 2, 2, 4, 5, 4,
68 5, 4, 5, 1, 2, 2, 1, 2, 2, 2,
69 1, 3, 1, 3, 4, 4, 6, 1, 1, 0,
70 1, 0, 1, 2, 1, 1, 1, 2, 2, 2,
71 2, 2, 2, 1, 1, 1, 1,
72};
73static short yydefred[] = { 1,
74 0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
75 9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
76 64, 14, 4, 158, 0, 0, 131, 0, 153, 0,
77 55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
78 0, 0, 0, 0, 0, 0, 0, 165, 166, 0,
79 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
80 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
81 0, 0, 121, 123, 0, 0, 0, 0, 159, 51,
82 0, 57, 0, 62, 0, 7, 174, 177, 176, 175,
83 0, 0, 0, 0, 0, 0, 4, 4, 4, 4,
84 4, 4, 0, 0, 0, 0, 0, 148, 0, 0,
85 0, 0, 78, 0, 172, 0, 137, 0, 0, 0,
86 0, 0, 168, 0, 0, 0, 0, 0, 0, 0,
87 0, 0, 0, 111, 0, 169, 170, 171, 173, 0,
88 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
89 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
90 0, 0, 0, 0, 103, 104, 0, 0, 0, 0,
91 0, 0, 0, 0, 13, 0, 50, 59, 0, 0,
92 0, 76, 0, 0, 80, 0, 0, 0, 0, 0,
93 0, 0, 4, 152, 154, 0, 0, 0, 0, 0,
94 0, 0, 113, 0, 135, 0, 0, 110, 27, 0,
95 0, 19, 0, 0, 0, 0, 66, 0, 0, 0,
96 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
97 0, 0, 0, 82, 0, 0, 83, 0, 0, 0,
98 0, 0, 0, 0, 133, 0, 0, 61, 60, 53,
99 0, 3, 0, 156, 0, 0, 114, 0, 42, 0,
100 43, 0, 0, 0, 0, 167, 0, 0, 36, 41,
101 0, 0, 0, 155, 164, 79, 0, 138, 0, 140,
102 0, 112, 0, 0, 0, 0, 0, 142, 0, 0,
103 0, 120, 0, 118, 0, 129, 0, 134, 0, 77,
104 0, 81, 0, 0, 0, 0, 0, 0, 0, 0,
105 73, 139, 141, 128, 0, 126, 0, 0, 143, 119,
106 0, 124, 130, 116, 65, 157, 6, 0, 0, 0,
107 0, 0, 0, 0, 0, 127, 125, 74, 7, 28,
108 29, 0, 0, 24, 25, 0, 32, 0, 0, 0,
109 22, 0, 0, 0, 31, 5, 0, 30, 0, 0,
110 33, 0, 23,
111};
112static short yydgoto[] = { 1,
113 9, 66, 10, 18, 95, 17, 86, 339, 89, 328,
114 3, 11, 12, 68, 344, 263, 70, 71, 72, 73,
115 74, 75, 76, 269, 78, 270, 259, 261, 264, 272,
116 260, 262, 113, 198, 91, 79, 238, 81, 83, 179,
117 250, 142, 267, 13, 2, 14, 15, 16, 85, 256,
118};
119static short yysindex[] = { 0,
120 0, 0, -66, 0, 0, 0, -48, 0, 0, 0,
121 0, 0, 645, 0, 0, 0, -232, -227, -27, 0,
122 0, 0, 0, 0, -23, -23, 0, -6, 0, 2099,
123 0, 0, 13, 20, 24, 25, -34, 2099, 27, 28,
124 29, 1021, 965, -23, 1084, 1348, -217, 0, 0, -23,
125 2099, 2099, 2099, 2099, 2099, 2099, 1404, 0, 2099, 2099,
126 1460, -23, -23, -23, -23, 2099, -206, 0, 335, 3925,
127 -73, -68, 0, 0, -47, 40, 32, 61, 0, 0,
128 -39, 0, -157, 0, -145, 0, 0, 0, 0, 0,
129 2099, 73, 2099, 825, -39, -157, 0, 0, 0, 0,
130 0, 0, 75, 3925, 78, 1519, 965, 0, 825, 0,
131 -73, 61, 0, 2099, 0, 77, 0, 825, -16, -9,
132 -51, 2099, 0, 61, 87, 87, 87, -86, -86, 33,
133 -40, 87, 87, 0, -81, 0, 0, 0, 0, 825,
134 -39, 0, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
135 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
136 2099, 2099, 2099, 2099, 0, 0, 30, 2099, 2099, 2099,
137 2099, 2099, 2099, 1694, 0, 2099, 0, 0, -49, -118,
138 189, 0, 2099, 353, 0, -39, 2099, 2099, 2099, 2099,
139 104, 1753, 0, 0, 0, -24, 8, 85, 2099, 61,
140 1809, 1865, 0, 23, 0, 2099, 54, 0, 0, -269,
141 -269, 0, -269, -269, -269, -151, 0, -43, 1121, 825,
142 673, 50, 363, 3925, 1233, 3757, 4023, 2308, 266, -82,
143 87, 87, 2099, 0, 1928, 2099, 0, 111, 51, 12,
144 76, 14, 90, 39, 0, -22, 3925, 0, 0, 0,
145 2099, 0, 121, 0, 2099, 2099, 0, -269, 0, 124,
146 0, 125, -269, 126, 130, 0, 112, 335, 0, 0,
147 131, 136, 2099, 0, 0, 0, -14, 0, 1, 0,
148 4, 0, 133, 2099, 55, 2099, 49, 0, 6, 197,
149 2099, 0, 89, 0, 94, 0, 100, 0, 144, 0,
150 1175, 0, 92, 92, 92, 92, 2099, 92, 2099, 171,
151 0, 0, 0, 0, 202, 0, 3963, 108, 0, 0,
152 188, 0, 0, 0, 0, 0, 0, -206, -206, -238,
153 -238, 199, -206, 211, 92, 0, 0, 0, 0, 0,
154 0, 92, 241, 0, 0, 92, 0, 1753, -206, 326,
155 0, 2099, -206, 256, 0, 0, 259, 0, 92, 92,
156 0, -238, 0,
157};
158static short yyrindex[] = { 0,
159 0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
160 0, 0, 0, 0, 0, 0, 184, 0, 0, 0,
161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
162 0, 0, 0, 0, 0, 0, 0, 2273, 426, 0,
163 0, 2909, 2959, 0, 0, 0, 0, 0, 0, 0,
164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
165 0, 0, 0, 0, 0, 0, 59, 0, -10, 2776,
166 3024, 3069, 0, 0, 2376, 2140, 0, 200, 0, 0,
167 0, 0, -44, 0, 0, 0, 0, 0, 0, 0,
168 2421, 0, 0, 105, 0, 198, 0, 0, 0, 0,
169 0, 0, 0, 3183, 0, 0, 319, 0, 3681, 525,
170 586, 2509, 0, 0, 0, 2185, 0, 3731, 3024, 0,
171 0, 2421, 0, 2552, 3195, 3260, 3305, -37, 3112, 2657,
172 0, 3348, 3384, 0, 0, 0, 0, 0, 0, 3777,
173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
176 0, 0, 0, 0, 0, 2707, 0, 0, 0, 0,
177 909, 0, 319, 0, 0, 0, 320, 0, 0, 0,
178 0, 306, 0, 0, 0, 0, 325, 0, 0, 2788,
179 0, 0, 0, 0, 0, 0, 2833, 0, 0, -5,
180 22, 0, 68, 69, 70, 702, 0, 0, 2464, 1296,
181 1560, 3541, 3584, 3868, 0, 3856, 3820, 3810, 1616, 3620,
182 3431, 3479, 0, 0, 0, 0, 0, 2228, 0, 0,
183 0, 0, 0, 0, 0, 0, 3899, 0, 0, 0,
184 309, 0, 0, 0, 0, 2421, 0, 79, 0, 0,
185 0, 0, 330, 0, 0, 0, 0, 84, 0, 0,
186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
188 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
189 0, 0, 0, 0, 0, 0, 0, 0, 317, 0,
190 0, 0, 0, 0, 0, 0, 1982, 0, 0, 0,
191 0, 0, 0, 0, 0, 0, 0, 59, 59, 154,
192 154, 0, 59, 0, 0, 0, 0, 0, 0, 0,
193 0, 0, 0, 0, 0, 0, 0, 340, 59, 909,
194 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
195 0, 154, 0,
196};
197static short yygindex[] = { 0,
198 0, 0, 0, 374, 351, 0, -12, 0, 946, 413,
199 -83, 0, 0, 0, -311, -13, 4139, 4198, 0, 0,
200 0, 0, 0, 372, -8, 0, 0, 246, -131, 43,
201 86, 208, -45, -169, 987, 0, 0, 0, 0, 308,
202 0, -271, 0, 0, 0, 0, 0, 0, 0, 0,
203};
204#define YYTABLESIZE 4425
205static short yytable[] = { 69,
206 207, 62, 181, 105, 168, 102, 105, 204, 168, 248,
207 20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
208 105, 105, 172, 202, 80, 105, 311, 148, 149, 82,
209 15, 84, 121, 93, 112, 18, 150, 342, 343, 122,
210 150, 312, 124, 131, 313, 182, 319, 135, 15, 169,
211 363, 275, 97, 18, 171, 105, 340, 341, 26, 98,
212 271, 347, 39, 99, 100, 62, 105, 106, 107, 235,
213 293, 141, 295, 23, 170, 173, 205, 355, 58, 174,
214 39, 358, 112, 23, 187, 188, 189, 190, 191, 192,
215 175, 26, 196, 197, 26, 26, 26, 297, 26, 23,
216 26, 26, 178, 26, 176, 200, 169, 318, 16, 17,
217 20, 180, 183, 112, 193, 203, 201, 26, 194, 38,
218 236, 321, 26, 206, 40, 276, 16, 17, 20, 210,
219 211, 213, 214, 215, 216, 217, 218, 38, 251, 62,
220 168, 310, 15, 292, 284, 150, 149, 282, 150, 26,
221 291, 307, 233, 21, 239, 240, 241, 242, 243, 244,
222 246, 300, 150, 150, 303, 304, 305, 150, 294, 197,
223 306, 308, 150, 258, 211, 332, 211, 168, 268, 316,
224 273, 26, 296, 26, 26, 277, 21, 279, 281, 21,
225 21, 21, 283, 21, 309, 21, 21, 150, 21, 4,
226 5, 6, 325, 7, 8, 299, 154, 155, 19, 150,
227 302, 335, 21, 322, 327, 148, 149, 21, 323, 287,
228 357, 289, 290, 163, 324, 314, 164, 167, 338, 165,
229 166, 167, 337, 87, 105, 105, 105, 105, 88, 346,
230 68, 105, 112, 105, 21, 148, 149, 112, 2, 105,
231 105, 105, 105, 148, 149, 350, 148, 149, 68, 105,
232 105, 101, 105, 105, 105, 105, 105, 105, 105, 348,
233 315, 105, 148, 149, 148, 149, 21, 197, 21, 21,
234 352, 44, 148, 149, 44, 44, 44, 234, 44, 320,
235 44, 44, 68, 44, 336, 258, 359, 148, 149, 360,
236 148, 149, 148, 149, 148, 149, 52, 44, 148, 149,
237 148, 149, 44, 252, 26, 26, 26, 26, 26, 26,
238 58, 26, 26, 26, 26, 26, 26, 26, 26, 26,
239 26, 26, 26, 26, 69, 148, 149, 26, 26, 44,
240 26, 26, 26, 26, 26, 148, 149, 148, 149, 26,
241 26, 26, 26, 26, 26, 163, 168, 26, 164, 162,
242 37, 165, 166, 167, 35, 163, 26, 160, 26, 26,
243 40, 44, 148, 149, 44, 37, 150, 150, 150, 150,
244 35, 21, 96, 150, 77, 150, 148, 149, 150, 212,
245 354, 150, 150, 254, 334, 164, 255, 265, 165, 166,
246 167, 150, 150, 186, 150, 150, 150, 150, 150, 21,
247 21, 21, 21, 21, 21, 157, 21, 21, 21, 21,
248 21, 21, 21, 21, 21, 21, 21, 21, 21, 148,
249 149, 0, 21, 21, 0, 21, 21, 21, 21, 21,
250 0, 0, 0, 168, 21, 21, 21, 21, 21, 21,
251 356, 0, 21, 168, 4, 5, 6, 0, 7, 8,
252 0, 21, 0, 21, 21, 0, 151, 0, 0, 151,
253 0, 68, 68, 68, 68, 150, 0, 0, 68, 0,
254 0, 0, 0, 151, 151, 150, 0, 0, 151, 0,
255 0, 0, 0, 148, 149, 0, 68, 68, 148, 149,
256 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
257 0, 44, 44, 44, 0, 0, 151, 44, 151, 0,
258 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
259 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
260 44, 44, 44, 44, 44, 0, 0, 44, 151, 0,
261 0, 0, 152, 153, 154, 155, 44, 174, 44, 44,
262 174, 174, 174, 0, 174, 158, 174, 174, 158, 174,
263 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
264 0, 0, 158, 158, 0, 0, 0, 158, 174, 0,
265 0, 4, 5, 6, 0, 7, 8, 0, 0, 0,
266 0, 0, 0, 0, 0, 0, 143, 144, 145, 146,
267 0, 0, 0, 147, 0, 158, 0, 158, 175, 0,
268 0, 175, 175, 175, 0, 175, 115, 175, 175, 115,
269 175, 148, 149, 151, 0, 0, 0, 0, 0, 152,
270 153, 154, 155, 115, 115, 0, 0, 158, 115, 175,
271 174, 154, 156, 158, 159, 160, 161, 162, 163, 0,
272 0, 164, 0, 0, 165, 166, 167, 0, 163, 0,
273 0, 164, 0, 0, 165, 166, 167, 52, 115, 0,
274 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
275 0, 0, 0, 0, 0, 0, 0, 151, 151, 151,
276 151, 0, 0, 58, 151, 0, 151, 0, 63, 0,
277 0, 175, 151, 151, 151, 151, 329, 330, 331, 0,
278 333, 0, 151, 151, 0, 151, 151, 151, 151, 151,
279 151, 151, 0, 0, 151, 61, 0, 151, 151, 151,
280 0, 0, 67, 0, 0, 67, 0, 349, 0, 0,
281 0, 0, 0, 0, 351, 0, 0, 0, 353, 0,
282 67, 0, 0, 168, 0, 0, 0, 23, 0, 0,
283 53, 361, 362, 0, 0, 0, 0, 0, 0, 0,
284 0, 174, 174, 174, 174, 174, 0, 174, 174, 174,
285 0, 0, 0, 174, 67, 150, 158, 158, 158, 158,
286 0, 0, 0, 158, 174, 158, 174, 174, 174, 174,
287 174, 158, 158, 158, 158, 174, 174, 174, 174, 174,
288 174, 158, 158, 174, 158, 158, 158, 158, 158, 158,
289 158, 0, 174, 158, 174, 174, 158, 158, 158, 0,
290 0, 0, 175, 175, 175, 175, 175, 0, 175, 175,
291 175, 0, 0, 0, 175, 0, 0, 115, 115, 115,
292 115, 0, 0, 0, 115, 175, 115, 175, 175, 175,
293 175, 175, 115, 115, 115, 115, 175, 175, 175, 175,
294 175, 175, 115, 115, 175, 115, 115, 115, 115, 115,
295 115, 115, 0, 175, 115, 175, 175, 115, 115, 115,
296 22, 24, 25, 26, 27, 28, 0, 29, 30, 31,
297 0, 0, 0, 32, 0, 168, 33, 34, 35, 36,
298 0, 0, 0, 37, 38, 0, 39, 40, 41, 42,
299 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
300 49, 44, 0, 51, 44, 44, 44, 150, 44, 0,
301 44, 44, 54, 44, 55, 56, 0, 0, 67, 152,
302 0, 154, 155, 0, 0, 0, 0, 44, 0, 0,
303 0, 0, 44, 67, 67, 67, 67, 162, 163, 0,
304 67, 164, 0, 0, 165, 166, 167, 108, 0, 0,
305 117, 0, 0, 0, 0, 0, 0, 52, 67, 44,
306 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
307 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
308 0, 0, 0, 0, 0, 0, 177, 0, 63, 114,
309 115, 44, 0, 0, 44, 0, 123, 0, 0, 0,
310 185, 0, 0, 0, 0, 0, 0, 0, 136, 137,
311 138, 139, 0, 52, 0, 61, 62, 64, 50, 0,
312 57, 0, 65, 60, 0, 59, 0, 0, 0, 0,
313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
314 0, 0, 0, 0, 63, 0, 209, 23, 0, 0,
315 53, 0, 0, 199, 0, 0, 0, 0, 0, 0,
316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
317 0, 61, 0, 154, 155, 0, 52, 0, 0, 62,
318 64, 50, 0, 57, 249, 65, 60, 0, 59, 162,
319 163, 257, 0, 164, 0, 0, 165, 166, 167, 0,
320 0, 0, 0, 23, 0, 0, 53, 63, 0, 0,
321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
322 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
323 0, 44, 44, 44, 61, 0, 0, 44, 0, 0,
324 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
325 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
326 44, 44, 44, 44, 44, 0, 23, 44, 0, 53,
327 0, 168, 0, 0, 0, 326, 44, 0, 44, 44,
328 0, 110, 25, 26, 27, 28, 88, 29, 30, 31,
329 0, 0, 0, 32, 0, 0, 0, 157, 0, 0,
330 0, 0, 0, 150, 38, 0, 39, 40, 41, 42,
331 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
332 49, 0, 0, 51, 0, 168, 0, 0, 0, 0,
333 0, 0, 54, 0, 55, 56, 0, 24, 25, 26,
334 27, 28, 0, 29, 30, 31, 0, 0, 0, 32,
335 286, 0, 0, 0, 0, 157, 0, 150, 0, 0,
336 38, 0, 39, 40, 41, 42, 43, 0, 0, 0,
337 0, 44, 45, 46, 47, 48, 49, 0, 0, 51,
338 0, 0, 0, 168, 0, 0, 0, 0, 54, 0,
339 55, 56, 0, 0, 0, 0, 89, 0, 0, 89,
340 116, 25, 26, 27, 28, 0, 29, 30, 31, 0,
341 0, 0, 32, 89, 89, 150, 0, 0, 89, 0,
342 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
343 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
344 52, 0, 51, 62, 64, 50, 0, 57, 89, 65,
345 60, 54, 59, 55, 56, 0, 0, 0, 0, 0,
346 0, 0, 0, 0, 0, 0, 120, 152, 153, 154,
347 155, 63, 0, 0, 0, 0, 0, 0, 0, 0,
348 0, 158, 159, 160, 161, 162, 163, 0, 0, 164,
349 0, 0, 165, 166, 167, 0, 52, 0, 61, 62,
350 64, 50, 0, 57, 130, 65, 60, 0, 59, 0,
351 0, 0, 0, 0, 0, 151, 0, 0, 0, 0,
352 0, 152, 153, 154, 155, 0, 0, 63, 0, 0,
353 0, 0, 0, 53, 156, 158, 159, 160, 161, 162,
354 163, 0, 0, 164, 0, 0, 165, 166, 167, 0,
355 0, 0, 52, 0, 61, 62, 64, 50, 0, 57,
356 0, 65, 60, 0, 59, 0, 0, 0, 0, 0,
357 0, 0, 0, 151, 0, 0, 0, 0, 0, 152,
358 153, 154, 155, 63, 0, 0, 0, 0, 0, 53,
359 0, 0, 156, 158, 159, 160, 161, 162, 163, 0,
360 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
361 61, 52, 134, 0, 62, 64, 50, 0, 57, 195,
362 65, 60, 0, 59, 0, 0, 0, 89, 89, 89,
363 89, 0, 0, 0, 89, 0, 89, 0, 0, 0,
364 0, 0, 63, 89, 0, 53, 0, 0, 0, 0,
365 0, 0, 89, 89, 0, 89, 89, 89, 89, 89,
366 90, 0, 0, 90, 24, 25, 26, 27, 28, 61,
367 29, 30, 31, 0, 0, 0, 32, 90, 90, 0,
368 0, 0, 90, 0, 0, 0, 0, 38, 0, 39,
369 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
370 46, 47, 48, 49, 53, 0, 51, 0, 0, 0,
371 0, 0, 90, 0, 0, 54, 91, 55, 56, 91,
372 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
373 0, 0, 32, 91, 91, 0, 0, 0, 91, 0,
374 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
375 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
376 0, 0, 51, 0, 0, 0, 0, 0, 91, 0,
377 0, 54, 0, 55, 56, 0, 24, 25, 26, 27,
378 28, 0, 29, 30, 31, 0, 52, 0, 32, 62,
379 64, 50, 0, 57, 245, 65, 60, 0, 59, 38,
380 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
381 44, 45, 46, 47, 48, 49, 0, 63, 51, 0,
382 0, 0, 0, 0, 0, 0, 0, 54, 0, 55,
383 56, 0, 0, 0, 0, 24, 25, 26, 27, 28,
384 0, 29, 30, 31, 61, 52, 0, 32, 62, 64,
385 50, 0, 57, 0, 65, 60, 0, 59, 38, 0,
386 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
387 45, 46, 47, 48, 49, 0, 63, 51, 0, 53,
388 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
389 0, 90, 90, 90, 90, 0, 0, 0, 90, 0,
390 90, 52, 0, 61, 62, 64, 50, 0, 57, 278,
391 65, 60, 0, 59, 0, 0, 90, 90, 0, 90,
392 90, 90, 90, 90, 0, 0, 0, 0, 0, 0,
393 0, 0, 63, 0, 0, 0, 0, 0, 53, 0,
394 0, 0, 0, 0, 0, 0, 0, 91, 91, 91,
395 91, 0, 0, 0, 91, 0, 91, 52, 0, 61,
396 62, 64, 50, 0, 57, 280, 65, 60, 0, 59,
397 0, 0, 91, 91, 0, 91, 91, 91, 91, 91,
398 0, 0, 0, 0, 0, 0, 0, 0, 63, 0,
399 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
401 24, 25, 26, 27, 28, 61, 29, 30, 31, 0,
402 52, 0, 32, 62, 64, 50, 0, 57, 288, 65,
403 60, 0, 59, 38, 0, 39, 40, 41, 42, 43,
404 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
405 53, 63, 51, 0, 0, 0, 0, 0, 0, 0,
406 0, 54, 0, 55, 56, 0, 0, 0, 22, 24,
407 25, 26, 27, 28, 0, 29, 30, 31, 61, 0,
408 0, 32, 96, 0, 0, 96, 0, 0, 0, 0,
409 0, 0, 38, 0, 39, 40, 41, 42, 43, 96,
410 96, 0, 0, 44, 45, 46, 47, 48, 49, 0,
411 0, 51, 0, 53, 0, 0, 0, 0, 0, 0,
412 54, 0, 55, 56, 0, 24, 25, 26, 27, 28,
413 0, 29, 30, 31, 96, 0, 0, 32, 0, 0,
414 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
415 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
416 45, 46, 47, 48, 49, 0, 0, 51, 0, 0,
417 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
418 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
419 0, 52, 0, 32, 62, 64, 50, 0, 57, 0,
420 65, 60, 0, 59, 38, 0, 39, 40, 41, 42,
421 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
422 49, 0, 63, 51, 0, 0, 0, 0, 0, 0,
423 0, 0, 54, 0, 55, 56, 0, 0, 0, 0,
424 132, 0, 0, 132, 24, 25, 26, 27, 28, 61,
425 29, 30, 31, 0, 0, 0, 32, 132, 132, 0,
426 0, 0, 132, 0, 0, 0, 0, 38, 0, 39,
427 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
428 46, 47, 48, 49, 53, 158, 51, 0, 158, 0,
429 132, 0, 132, 0, 0, 54, 0, 55, 56, 0,
430 0, 0, 158, 158, 0, 0, 0, 158, 0, 0,
431 0, 0, 0, 96, 96, 96, 96, 0, 0, 0,
432 96, 0, 132, 0, 0, 0, 0, 0, 75, 0,
433 0, 75, 0, 0, 0, 158, 0, 158, 96, 96,
434 0, 96, 0, 0, 0, 75, 75, 0, 0, 0,
435 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 158, 0, 0,
437 0, 0, 0, 144, 0, 0, 144, 0, 75, 0,
438 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
439 144, 144, 0, 0, 0, 144, 0, 0, 0, 0,
440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441 75, 0, 0, 0, 0, 24, 25, 26, 27, 28,
442 0, 29, 30, 31, 0, 144, 0, 32, 0, 0,
443 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
444 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
445 45, 46, 47, 48, 49, 144, 0, 51, 168, 0,
446 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
447 0, 132, 132, 132, 132, 0, 117, 0, 132, 117,
448 132, 0, 0, 0, 0, 0, 132, 132, 132, 132,
449 150, 0, 0, 117, 117, 0, 132, 132, 117, 132,
450 132, 132, 132, 132, 132, 132, 0, 0, 132, 0,
451 0, 132, 132, 132, 0, 0, 158, 158, 158, 158,
452 0, 160, 0, 158, 160, 158, 117, 0, 117, 0,
453 0, 158, 158, 158, 158, 0, 0, 0, 160, 160,
454 0, 158, 158, 160, 158, 158, 158, 158, 158, 158,
455 158, 0, 0, 158, 0, 0, 158, 158, 158, 75,
456 75, 75, 75, 0, 93, 0, 75, 93, 75, 0,
457 0, 0, 0, 160, 75, 75, 75, 75, 0, 0,
458 0, 93, 93, 0, 75, 75, 93, 75, 75, 75,
459 75, 75, 75, 75, 0, 0, 75, 0, 0, 75,
460 75, 75, 0, 160, 144, 144, 144, 144, 0, 161,
461 0, 144, 0, 144, 0, 0, 93, 0, 0, 144,
462 144, 144, 144, 0, 0, 0, 161, 161, 0, 144,
463 144, 161, 144, 144, 144, 144, 144, 144, 144, 0,
464 0, 144, 0, 0, 144, 144, 144, 0, 0, 0,
465 0, 0, 146, 0, 152, 153, 154, 155, 0, 161,
466 0, 161, 0, 0, 0, 0, 0, 0, 0, 146,
467 146, 161, 162, 163, 146, 0, 164, 0, 0, 165,
468 166, 167, 0, 0, 0, 0, 0, 0, 0, 0,
469 0, 161, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 0, 146, 0, 146, 0, 0, 117, 117, 117,
471 117, 0, 0, 0, 117, 0, 117, 0, 0, 0,
472 0, 0, 117, 117, 117, 117, 0, 0, 0, 0,
473 0, 0, 117, 117, 146, 117, 117, 117, 117, 117,
474 117, 117, 0, 0, 117, 0, 0, 117, 117, 117,
475 0, 0, 160, 160, 160, 160, 0, 109, 0, 160,
476 109, 160, 0, 0, 0, 0, 0, 160, 160, 160,
477 160, 0, 0, 0, 109, 109, 0, 160, 160, 109,
478 160, 160, 160, 160, 160, 160, 160, 0, 0, 160,
479 0, 0, 160, 160, 160, 93, 93, 93, 93, 0,
480 0, 0, 93, 0, 0, 0, 0, 69, 0, 109,
481 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
482 93, 93, 0, 93, 69, 69, 0, 0, 0, 69,
483 0, 0, 0, 0, 0, 0, 0, 0, 0, 109,
484 161, 161, 161, 161, 0, 0, 0, 161, 0, 161,
485 0, 0, 0, 0, 0, 161, 161, 161, 161, 69,
486 0, 0, 0, 0, 0, 161, 161, 0, 161, 161,
487 161, 161, 161, 161, 161, 0, 71, 161, 0, 71,
488 161, 161, 161, 146, 146, 146, 146, 0, 72, 69,
489 146, 0, 146, 71, 71, 0, 0, 0, 146, 146,
490 146, 146, 0, 0, 0, 72, 72, 0, 146, 146,
491 72, 146, 146, 146, 146, 146, 146, 146, 0, 0,
492 146, 0, 0, 146, 146, 146, 0, 0, 71, 0,
493 0, 0, 0, 108, 0, 0, 108, 0, 72, 0,
494 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495 108, 108, 0, 0, 0, 108, 0, 0, 0, 0,
496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
497 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
498 0, 0, 0, 0, 0, 108, 0, 0, 109, 109,
499 109, 109, 0, 0, 0, 109, 0, 109, 0, 0,
500 0, 0, 0, 109, 109, 109, 109, 0, 0, 147,
501 0, 0, 147, 109, 109, 108, 109, 109, 109, 109,
502 109, 109, 109, 0, 0, 109, 147, 147, 109, 109,
503 109, 147, 0, 0, 0, 0, 0, 0, 69, 69,
504 69, 69, 0, 0, 0, 69, 0, 69, 0, 0,
505 0, 0, 0, 69, 69, 69, 69, 0, 0, 160,
506 0, 147, 160, 69, 69, 0, 69, 69, 69, 69,
507 69, 69, 69, 0, 0, 69, 160, 160, 69, 69,
508 69, 160, 0, 0, 0, 0, 0, 0, 0, 0,
509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 0, 0, 71, 71, 71,
511 71, 160, 0, 0, 71, 0, 0, 0, 0, 72,
512 72, 72, 72, 0, 115, 0, 72, 115, 72, 0,
513 0, 0, 71, 71, 72, 72, 72, 72, 0, 0,
514 0, 115, 115, 0, 72, 72, 115, 72, 72, 72,
515 72, 72, 72, 72, 0, 0, 72, 0, 0, 72,
516 72, 72, 0, 0, 108, 108, 108, 108, 0, 122,
517 0, 108, 122, 108, 0, 0, 115, 0, 0, 108,
518 108, 108, 108, 0, 0, 0, 122, 122, 0, 108,
519 108, 122, 108, 108, 108, 108, 108, 108, 108, 0,
520 0, 108, 0, 0, 108, 108, 108, 0, 0, 0,
521 0, 0, 106, 0, 0, 106, 0, 0, 0, 0,
522 0, 122, 0, 0, 0, 0, 0, 0, 0, 106,
523 106, 0, 0, 0, 106, 0, 0, 0, 0, 0,
524 147, 147, 147, 147, 0, 0, 0, 147, 0, 147,
525 0, 0, 0, 0, 0, 147, 147, 147, 147, 0,
526 0, 0, 0, 0, 106, 147, 147, 0, 147, 147,
527 147, 147, 147, 147, 147, 0, 0, 147, 0, 0,
528 147, 147, 147, 145, 0, 0, 145, 0, 0, 0,
529 160, 160, 160, 160, 0, 100, 0, 160, 100, 160,
530 145, 145, 0, 0, 0, 160, 160, 160, 160, 0,
531 0, 0, 100, 100, 0, 160, 160, 100, 160, 160,
532 160, 160, 160, 160, 160, 0, 0, 160, 0, 0,
533 160, 160, 160, 0, 0, 145, 0, 0, 0, 0,
534 0, 0, 0, 0, 0, 0, 0, 100, 0, 0,
535 0, 0, 0, 0, 0, 115, 115, 115, 115, 0,
536 101, 0, 115, 101, 115, 0, 0, 0, 0, 0,
537 115, 115, 115, 115, 0, 0, 0, 101, 101, 0,
538 115, 115, 101, 115, 115, 115, 115, 115, 115, 115,
539 0, 0, 115, 0, 0, 115, 115, 115, 0, 0,
540 122, 122, 122, 122, 0, 102, 0, 122, 102, 122,
541 0, 0, 101, 0, 0, 122, 122, 122, 122, 0,
542 0, 0, 102, 102, 0, 122, 122, 102, 122, 122,
543 122, 122, 122, 122, 122, 0, 0, 122, 0, 0,
544 122, 122, 122, 106, 106, 106, 106, 0, 98, 0,
545 106, 98, 106, 0, 0, 0, 0, 102, 106, 106,
546 106, 106, 0, 0, 0, 98, 98, 0, 106, 106,
547 98, 106, 106, 106, 106, 106, 106, 106, 0, 0,
548 106, 0, 0, 0, 99, 0, 0, 99, 0, 0,
549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
550 98, 99, 99, 0, 0, 0, 99, 0, 0, 0,
551 0, 0, 0, 0, 145, 145, 145, 145, 0, 0,
552 0, 145, 0, 0, 0, 0, 100, 100, 100, 100,
553 0, 97, 0, 100, 97, 100, 99, 0, 0, 145,
554 145, 100, 100, 100, 100, 0, 0, 0, 97, 97,
555 0, 100, 100, 97, 100, 100, 100, 100, 100, 100,
556 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
557 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,
558 0, 0, 85, 97, 0, 0, 0, 0, 0, 0,
559 0, 101, 101, 101, 101, 0, 85, 85, 101, 0,
560 101, 85, 0, 0, 0, 0, 101, 101, 101, 101,
561 0, 0, 0, 0, 0, 0, 101, 101, 0, 101,
562 101, 101, 101, 101, 101, 101, 0, 0, 0, 0,
563 0, 85, 0, 0, 0, 0, 102, 102, 102, 102,
564 0, 86, 0, 102, 86, 102, 0, 0, 0, 0,
565 0, 102, 102, 102, 102, 0, 0, 0, 86, 86,
566 0, 102, 102, 86, 102, 102, 102, 102, 102, 102,
567 102, 0, 0, 0, 0, 0, 0, 0, 0, 98,
568 98, 98, 98, 0, 87, 0, 98, 87, 98, 0,
569 0, 0, 0, 86, 98, 98, 98, 98, 0, 0,
570 0, 87, 87, 0, 98, 98, 87, 98, 98, 98,
571 98, 98, 98, 98, 0, 99, 99, 99, 99, 0,
572 88, 0, 99, 88, 99, 0, 0, 0, 0, 0,
573 99, 99, 99, 99, 0, 0, 87, 88, 88, 0,
574 99, 99, 88, 99, 99, 99, 99, 99, 99, 99,
575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
576 0, 0, 97, 97, 97, 97, 0, 0, 0, 97,
577 0, 97, 88, 0, 0, 0, 0, 97, 97, 97,
578 97, 149, 0, 0, 149, 0, 0, 97, 97, 0,
579 97, 97, 97, 97, 97, 97, 97, 0, 149, 149,
580 0, 0, 0, 149, 0, 0, 0, 0, 0, 0,
581 85, 85, 85, 85, 0, 0, 0, 85, 0, 85,
582 0, 0, 0, 0, 0, 85, 85, 85, 85, 0,
583 0, 136, 0, 149, 136, 85, 85, 0, 85, 85,
584 85, 85, 85, 85, 85, 0, 0, 0, 136, 136,
585 0, 0, 0, 136, 0, 0, 0, 0, 0, 0,
586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
587 0, 0, 86, 86, 86, 86, 0, 107, 0, 86,
588 107, 86, 0, 136, 0, 0, 0, 86, 86, 86,
589 86, 0, 0, 0, 107, 107, 0, 86, 86, 107,
590 86, 86, 86, 86, 86, 86, 0, 168, 0, 0,
591 92, 0, 0, 92, 0, 87, 87, 87, 87, 0,
592 94, 0, 87, 94, 87, 0, 0, 92, 92, 107,
593 87, 87, 92, 87, 0, 0, 0, 94, 94, 150,
594 87, 87, 94, 87, 87, 87, 87, 87, 87, 0,
595 0, 88, 88, 88, 88, 0, 95, 0, 88, 95,
596 88, 0, 92, 0, 0, 0, 88, 88, 84, 0,
597 0, 84, 94, 95, 95, 0, 88, 88, 95, 88,
598 88, 88, 88, 88, 88, 84, 84, 0, 0, 0,
599 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
600 0, 0, 70, 0, 0, 0, 0, 0, 95, 0,
601 0, 0, 149, 149, 149, 149, 70, 70, 0, 149,
602 84, 149, 0, 0, 0, 0, 0, 149, 149, 0,
603 0, 0, 0, 0, 0, 0, 0, 149, 149, 0,
604 149, 149, 149, 149, 149, 0, 0, 157, 0, 0,
605 0, 70, 0, 0, 0, 0, 0, 0, 0, 0,
606 0, 0, 136, 136, 136, 136, 0, 0, 0, 136,
607 0, 136, 0, 0, 0, 168, 0, 136, 136, 0,
608 0, 0, 0, 0, 0, 157, 0, 136, 136, 0,
609 136, 136, 136, 136, 136, 0, 0, 0, 0, 0,
610 0, 0, 0, 152, 153, 154, 155, 150, 107, 107,
611 107, 107, 0, 168, 0, 107, 0, 107, 159, 160,
612 161, 162, 163, 107, 107, 164, 0, 0, 165, 166,
613 167, 0, 0, 107, 107, 0, 107, 107, 107, 107,
614 107, 92, 92, 92, 92, 150, 0, 0, 92, 0,
615 92, 94, 94, 94, 94, 0, 0, 0, 94, 0,
616 94, 0, 0, 0, 0, 0, 92, 92, 0, 92,
617 92, 92, 92, 168, 0, 0, 94, 94, 0, 94,
618 94, 94, 0, 0, 0, 0, 0, 95, 95, 95,
619 95, 0, 0, 0, 95, 0, 95, 0, 0, 84,
620 84, 84, 84, 0, 0, 150, 84, 0, 0, 0,
621 0, 0, 95, 95, 0, 95, 95, 0, 0, 0,
622 0, 0, 0, 0, 84, 84, 0, 0, 94, 0,
623 70, 70, 70, 70, 0, 0, 104, 70, 0, 0,
624 109, 0, 0, 118, 0, 0, 0, 0, 0, 0,
625 125, 126, 127, 128, 129, 70, 70, 132, 133, 0,
626 0, 0, 0, 0, 140, 151, 0, 0, 0, 0,
627 0, 152, 153, 154, 155, 0, 0, 0, 0, 0,
628 0, 0, 90, 90, 156, 158, 159, 160, 161, 162,
629 163, 184, 0, 164, 103, 0, 165, 166, 167, 0,
630 111, 90, 119, 151, 0, 0, 0, 90, 0, 152,
631 153, 154, 155, 0, 0, 0, 0, 0, 0, 90,
632 90, 90, 90, 158, 159, 160, 161, 162, 163, 0,
633 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
634 0, 0, 0, 0, 0, 0, 0, 0, 0, 219,
635 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
636 230, 231, 232, 0, 111, 0, 0, 0, 0, 152,
637 153, 154, 155, 0, 247, 0, 0, 0, 0, 0,
638 0, 0, 0, 0, 0, 160, 161, 162, 163, 0,
639 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
642 0, 0, 0, 0, 237, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0, 266, 0,
645 0, 0, 0, 301, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
648 0, 0, 0, 0, 317,
649};
650static short yycheck[] = { 13,
651 41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
652 59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
653 58, 59, 91, 40, 257, 63, 41, 297, 298, 257,
654 41, 59, 46, 40, 43, 41, 123, 276, 277, 257,
655 123, 41, 51, 57, 41, 91, 41, 61, 59, 123,
656 362, 44, 40, 59, 123, 93, 328, 329, 0, 40,
657 192, 333, 41, 40, 40, 36, 40, 40, 40, 40,
658 59, 278, 59, 123, 91, 123, 122, 349, 123, 40,
659 59, 353, 91, 123, 97, 98, 99, 100, 101, 102,
660 59, 33, 106, 107, 36, 37, 38, 59, 40, 123,
661 42, 43, 260, 45, 44, 114, 123, 59, 41, 41,
662 41, 257, 40, 122, 40, 125, 40, 59, 41, 41,
663 91, 291, 64, 91, 41, 41, 59, 59, 59, 143,
664 144, 145, 146, 147, 148, 149, 150, 59, 257, 36,
665 91, 273, 59, 93, 91, 41, 298, 125, 44, 91,
666 40, 40, 123, 0, 168, 169, 170, 171, 172, 173,
667 174, 41, 58, 59, 41, 41, 41, 63, 93, 183,
668 41, 41, 123, 187, 188, 307, 190, 91, 192, 125,
669 193, 123, 93, 125, 126, 199, 33, 201, 202, 36,
670 37, 38, 206, 40, 59, 42, 43, 93, 45, 266,
671 267, 268, 59, 270, 271, 251, 289, 290, 257, 123,
672 256, 41, 59, 125, 123, 297, 298, 64, 125, 233,
673 352, 235, 236, 306, 125, 93, 309, 314, 41, 312,
674 313, 314, 125, 257, 272, 273, 274, 275, 262, 41,
675 41, 279, 251, 281, 91, 297, 298, 256, 0, 287,
676 288, 289, 290, 297, 298, 339, 297, 298, 59, 297,
677 298, 296, 300, 301, 302, 303, 304, 305, 306, 59,
678 284, 309, 297, 298, 297, 298, 123, 291, 125, 126,
679 40, 33, 297, 298, 36, 37, 38, 258, 40, 93,
680 42, 43, 93, 45, 93, 309, 41, 297, 298, 41,
681 297, 298, 297, 298, 297, 298, 123, 59, 297, 298,
682 297, 298, 64, 125, 256, 257, 258, 259, 260, 261,
683 123, 263, 264, 265, 266, 267, 268, 269, 270, 271,
684 272, 273, 274, 275, 348, 297, 298, 279, 280, 91,
685 282, 283, 284, 285, 286, 297, 298, 297, 298, 291,
686 292, 293, 294, 295, 296, 306, 91, 299, 309, 41,
687 41, 312, 313, 314, 59, 41, 308, 59, 310, 311,
688 41, 123, 297, 298, 126, 59, 272, 273, 274, 275,
689 41, 8, 32, 279, 13, 281, 297, 298, 123, 144,
690 348, 287, 288, 41, 309, 309, 44, 190, 312, 313,
691 314, 297, 298, 96, 300, 301, 302, 303, 304, 256,
692 257, 258, 259, 260, 261, 63, 263, 264, 265, 266,
693 267, 268, 269, 270, 271, 272, 273, 274, 275, 297,
694 298, -1, 279, 280, -1, 282, 283, 284, 285, 286,
695 -1, -1, -1, 91, 291, 292, 293, 294, 295, 296,
696 125, -1, 299, 91, 266, 267, 268, -1, 270, 271,
697 -1, 308, -1, 310, 311, -1, 41, -1, -1, 44,
698 -1, 272, 273, 274, 275, 123, -1, -1, 279, -1,
699 -1, -1, -1, 58, 59, 123, -1, -1, 63, -1,
700 -1, -1, -1, 297, 298, -1, 297, 298, 297, 298,
701 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
702 -1, 263, 264, 265, -1, -1, 91, 269, 93, -1,
703 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
704 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
705 292, 293, 294, 295, 296, -1, -1, 299, 123, -1,
706 -1, -1, 287, 288, 289, 290, 308, 33, 310, 311,
707 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
708 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
709 -1, -1, 58, 59, -1, -1, -1, 63, 64, -1,
710 -1, 266, 267, 268, -1, 270, 271, -1, -1, -1,
711 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
712 -1, -1, -1, 279, -1, 91, -1, 93, 33, -1,
713 -1, 36, 37, 38, -1, 40, 41, 42, 43, 44,
714 45, 297, 298, 281, -1, -1, -1, -1, -1, 287,
715 288, 289, 290, 58, 59, -1, -1, 123, 63, 64,
716 126, 289, 300, 301, 302, 303, 304, 305, 306, -1,
717 -1, 309, -1, -1, 312, 313, 314, -1, 306, -1,
718 -1, 309, -1, -1, 312, 313, 314, 33, 93, -1,
719 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
720 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
721 275, -1, -1, 59, 279, -1, 281, -1, 64, -1,
722 -1, 126, 287, 288, 289, 290, 304, 305, 306, -1,
723 308, -1, 297, 298, -1, 300, 301, 302, 303, 304,
724 305, 306, -1, -1, 309, 91, -1, 312, 313, 314,
725 -1, -1, 41, -1, -1, 44, -1, 335, -1, -1,
726 -1, -1, -1, -1, 342, -1, -1, -1, 346, -1,
727 59, -1, -1, 91, -1, -1, -1, 123, -1, -1,
728 126, 359, 360, -1, -1, -1, -1, -1, -1, -1,
729 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
730 -1, -1, -1, 269, 93, 123, 272, 273, 274, 275,
731 -1, -1, -1, 279, 280, 281, 282, 283, 284, 285,
732 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
733 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
734 306, -1, 308, 309, 310, 311, 312, 313, 314, -1,
735 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
736 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
737 275, -1, -1, -1, 279, 280, 281, 282, 283, 284,
738 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
739 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
740 305, 306, -1, 308, 309, 310, 311, 312, 313, 314,
741 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
742 -1, -1, -1, 269, -1, 91, 272, 273, 274, 275,
743 -1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
744 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
745 296, 33, -1, 299, 36, 37, 38, 123, 40, -1,
746 42, 43, 308, 45, 310, 311, -1, -1, 13, 287,
747 -1, 289, 290, -1, -1, -1, -1, 59, -1, -1,
748 -1, -1, 64, 272, 273, 274, 275, 305, 306, -1,
749 279, 309, -1, -1, 312, 313, 314, 42, -1, -1,
750 45, -1, -1, -1, -1, -1, -1, 33, 297, 91,
751 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
752 -1, -1, 26, -1, -1, -1, -1, -1, -1, -1,
753 -1, -1, -1, -1, -1, -1, 81, -1, 64, 43,
754 44, 123, -1, -1, 126, -1, 50, -1, -1, -1,
755 95, -1, -1, -1, -1, -1, -1, -1, 62, 63,
756 64, 65, -1, 33, -1, 91, 36, 37, 38, -1,
757 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
758 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
759 -1, -1, -1, -1, 64, -1, 141, 123, -1, -1,
760 126, -1, -1, 107, -1, -1, -1, -1, -1, -1,
761 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
762 -1, 91, -1, 289, 290, -1, 33, -1, -1, 36,
763 37, 38, -1, 40, 179, 42, 43, -1, 45, 305,
764 306, 186, -1, 309, -1, -1, 312, 313, 314, -1,
765 -1, -1, -1, 123, -1, -1, 126, 64, -1, -1,
766 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
767 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
768 -1, 263, 264, 265, 91, -1, -1, 269, -1, -1,
769 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
770 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
771 292, 293, 294, 295, 296, -1, 123, 299, -1, 126,
772 -1, 91, -1, -1, -1, 41, 308, -1, 310, 311,
773 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
774 -1, -1, -1, 269, -1, -1, -1, 63, -1, -1,
775 -1, -1, -1, 123, 280, -1, 282, 283, 284, 285,
776 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
777 296, -1, -1, 299, -1, 91, -1, -1, -1, -1,
778 -1, -1, 308, -1, 310, 311, -1, 257, 258, 259,
779 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
780 58, -1, -1, -1, -1, 63, -1, 123, -1, -1,
781 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
782 -1, 291, 292, 293, 294, 295, 296, -1, -1, 299,
783 -1, -1, -1, 91, -1, -1, -1, -1, 308, -1,
784 310, 311, -1, -1, -1, -1, 41, -1, -1, 44,
785 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
786 -1, -1, 269, 58, 59, 123, -1, -1, 63, -1,
787 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
788 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
789 33, -1, 299, 36, 37, 38, -1, 40, 93, 42,
790 43, 308, 45, 310, 311, -1, -1, -1, -1, -1,
791 -1, -1, -1, -1, -1, -1, 59, 287, 288, 289,
792 290, 64, -1, -1, -1, -1, -1, -1, -1, -1,
793 -1, 301, 302, 303, 304, 305, 306, -1, -1, 309,
794 -1, -1, 312, 313, 314, -1, 33, -1, 91, 36,
795 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
796 -1, -1, -1, -1, -1, 281, -1, -1, -1, -1,
797 -1, 287, 288, 289, 290, -1, -1, 64, -1, -1,
798 -1, -1, -1, 126, 300, 301, 302, 303, 304, 305,
799 306, -1, -1, 309, -1, -1, 312, 313, 314, -1,
800 -1, -1, 33, -1, 91, 36, 37, 38, -1, 40,
801 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
802 -1, -1, -1, 281, -1, -1, -1, -1, -1, 287,
803 288, 289, 290, 64, -1, -1, -1, -1, -1, 126,
804 -1, -1, 300, 301, 302, 303, 304, 305, 306, -1,
805 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
806 91, 33, 93, -1, 36, 37, 38, -1, 40, 41,
807 42, 43, -1, 45, -1, -1, -1, 272, 273, 274,
808 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
809 -1, -1, 64, 288, -1, 126, -1, -1, -1, -1,
810 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
811 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
812 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
813 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
814 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
815 293, 294, 295, 296, 126, -1, 299, -1, -1, -1,
816 -1, -1, 93, -1, -1, 308, 41, 310, 311, 44,
817 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
818 -1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
819 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
820 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
821 -1, -1, 299, -1, -1, -1, -1, -1, 93, -1,
822 -1, 308, -1, 310, 311, -1, 257, 258, 259, 260,
823 261, -1, 263, 264, 265, -1, 33, -1, 269, 36,
824 37, 38, -1, 40, 41, 42, 43, -1, 45, 280,
825 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
826 291, 292, 293, 294, 295, 296, -1, 64, 299, -1,
827 -1, -1, -1, -1, -1, -1, -1, 308, -1, 310,
828 311, -1, -1, -1, -1, 257, 258, 259, 260, 261,
829 -1, 263, 264, 265, 91, 33, -1, 269, 36, 37,
830 38, -1, 40, -1, 42, 43, -1, 45, 280, -1,
831 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
832 292, 293, 294, 295, 296, -1, 64, 299, -1, 126,
833 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
834 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
835 281, 33, -1, 91, 36, 37, 38, -1, 40, 41,
836 42, 43, -1, 45, -1, -1, 297, 298, -1, 300,
837 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
838 -1, -1, 64, -1, -1, -1, -1, -1, 126, -1,
839 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
840 275, -1, -1, -1, 279, -1, 281, 33, -1, 91,
841 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
842 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
843 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
844 -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
845 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
846 257, 258, 259, 260, 261, 91, 263, 264, 265, -1,
847 33, -1, 269, 36, 37, 38, -1, 40, 41, 42,
848 43, -1, 45, 280, -1, 282, 283, 284, 285, 286,
849 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
850 126, 64, 299, -1, -1, -1, -1, -1, -1, -1,
851 -1, 308, -1, 310, 311, -1, -1, -1, 256, 257,
852 258, 259, 260, 261, -1, 263, 264, 265, 91, -1,
853 -1, 269, 41, -1, -1, 44, -1, -1, -1, -1,
854 -1, -1, 280, -1, 282, 283, 284, 285, 286, 58,
855 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
856 -1, 299, -1, 126, -1, -1, -1, -1, -1, -1,
857 308, -1, 310, 311, -1, 257, 258, 259, 260, 261,
858 -1, 263, 264, 265, 93, -1, -1, 269, -1, -1,
859 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
860 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
861 292, 293, 294, 295, 296, -1, -1, 299, -1, -1,
862 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
863 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
864 -1, 33, -1, 269, 36, 37, 38, -1, 40, -1,
865 42, 43, -1, 45, 280, -1, 282, 283, 284, 285,
866 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
867 296, -1, 64, 299, -1, -1, -1, -1, -1, -1,
868 -1, -1, 308, -1, 310, 311, -1, -1, -1, -1,
869 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
870 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
871 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
872 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
873 293, 294, 295, 296, 126, 41, 299, -1, 44, -1,
874 91, -1, 93, -1, -1, 308, -1, 310, 311, -1,
875 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
876 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
877 279, -1, 123, -1, -1, -1, -1, -1, 41, -1,
878 -1, 44, -1, -1, -1, 91, -1, 93, 297, 298,
879 -1, 300, -1, -1, -1, 58, 59, -1, -1, -1,
880 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
881 -1, -1, -1, -1, -1, -1, -1, 123, -1, -1,
882 -1, -1, -1, 41, -1, -1, 44, -1, 91, -1,
883 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
884 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
885 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
886 123, -1, -1, -1, -1, 257, 258, 259, 260, 261,
887 -1, 263, 264, 265, -1, 93, -1, 269, -1, -1,
888 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
889 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
890 292, 293, 294, 295, 296, 123, -1, 299, 91, -1,
891 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
892 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
893 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
894 123, -1, -1, 58, 59, -1, 297, 298, 63, 300,
895 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
896 -1, 312, 313, 314, -1, -1, 272, 273, 274, 275,
897 -1, 41, -1, 279, 44, 281, 91, -1, 93, -1,
898 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
899 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
900 306, -1, -1, 309, -1, -1, 312, 313, 314, 272,
901 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
902 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
903 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
904 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
905 313, 314, -1, 123, 272, 273, 274, 275, -1, 41,
906 -1, 279, -1, 281, -1, -1, 93, -1, -1, 287,
907 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
908 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
909 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
910 -1, -1, 41, -1, 287, 288, 289, 290, -1, 91,
911 -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
912 59, 304, 305, 306, 63, -1, 309, -1, -1, 312,
913 313, 314, -1, -1, -1, -1, -1, -1, -1, -1,
914 -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
915 -1, -1, 91, -1, 93, -1, -1, 272, 273, 274,
916 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
917 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
918 -1, -1, 297, 298, 123, 300, 301, 302, 303, 304,
919 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
920 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
921 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
922 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
923 300, 301, 302, 303, 304, 305, 306, -1, -1, 309,
924 -1, -1, 312, 313, 314, 272, 273, 274, 275, -1,
925 -1, -1, 279, -1, -1, -1, -1, 41, -1, 93,
926 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
927 297, 298, -1, 300, 58, 59, -1, -1, -1, 63,
928 -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
929 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
930 -1, -1, -1, -1, -1, 287, 288, 289, 290, 93,
931 -1, -1, -1, -1, -1, 297, 298, -1, 300, 301,
932 302, 303, 304, 305, 306, -1, 41, 309, -1, 44,
933 312, 313, 314, 272, 273, 274, 275, -1, 41, 123,
934 279, -1, 281, 58, 59, -1, -1, -1, 287, 288,
935 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
936 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
937 309, -1, -1, 312, 313, 314, -1, -1, 93, -1,
938 -1, -1, -1, 41, -1, -1, 44, -1, 91, -1,
939 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
940 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
941 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
942 123, -1, -1, -1, -1, -1, -1, -1, -1, -1,
943 -1, -1, -1, -1, -1, 93, -1, -1, 272, 273,
944 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
945 -1, -1, -1, 287, 288, 289, 290, -1, -1, 41,
946 -1, -1, 44, 297, 298, 123, 300, 301, 302, 303,
947 304, 305, 306, -1, -1, 309, 58, 59, 312, 313,
948 314, 63, -1, -1, -1, -1, -1, -1, 272, 273,
949 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
950 -1, -1, -1, 287, 288, 289, 290, -1, -1, 41,
951 -1, 93, 44, 297, 298, -1, 300, 301, 302, 303,
952 304, 305, 306, -1, -1, 309, 58, 59, 312, 313,
953 314, 63, -1, -1, -1, -1, -1, -1, -1, -1,
954 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
955 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
956 275, 93, -1, -1, 279, -1, -1, -1, -1, 272,
957 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
958 -1, -1, 297, 298, 287, 288, 289, 290, -1, -1,
959 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
960 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
961 313, 314, -1, -1, 272, 273, 274, 275, -1, 41,
962 -1, 279, 44, 281, -1, -1, 93, -1, -1, 287,
963 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
964 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
965 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
966 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
967 -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
968 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
969 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
970 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
971 -1, -1, -1, -1, 93, 297, 298, -1, 300, 301,
972 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
973 312, 313, 314, 41, -1, -1, 44, -1, -1, -1,
974 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
975 58, 59, -1, -1, -1, 287, 288, 289, 290, -1,
976 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
977 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
978 312, 313, 314, -1, -1, 93, -1, -1, -1, -1,
979 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
980 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
981 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
982 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
983 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
984 -1, -1, 309, -1, -1, 312, 313, 314, -1, -1,
985 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
986 -1, -1, 93, -1, -1, 287, 288, 289, 290, -1,
987 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
988 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
989 312, 313, 314, 272, 273, 274, 275, -1, 41, -1,
990 279, 44, 281, -1, -1, -1, -1, 93, 287, 288,
991 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
992 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
993 309, -1, -1, -1, 41, -1, -1, 44, -1, -1,
994 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
995 93, 58, 59, -1, -1, -1, 63, -1, -1, -1,
996 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
997 -1, 279, -1, -1, -1, -1, 272, 273, 274, 275,
998 -1, 41, -1, 279, 44, 281, 93, -1, -1, 297,
999 298, 287, 288, 289, 290, -1, -1, -1, 58, 59,
1000 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
1001 306, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1002 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1003 -1, -1, 44, 93, -1, -1, -1, -1, -1, -1,
1004 -1, 272, 273, 274, 275, -1, 58, 59, 279, -1,
1005 281, 63, -1, -1, -1, -1, 287, 288, 289, 290,
1006 -1, -1, -1, -1, -1, -1, 297, 298, -1, 300,
1007 301, 302, 303, 304, 305, 306, -1, -1, -1, -1,
1008 -1, 93, -1, -1, -1, -1, 272, 273, 274, 275,
1009 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1010 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
1011 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
1012 306, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1013 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1014 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
1015 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
1016 303, 304, 305, 306, -1, 272, 273, 274, 275, -1,
1017 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
1018 287, 288, 289, 290, -1, -1, 93, 58, 59, -1,
1019 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
1020 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1021 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1022 -1, 281, 93, -1, -1, -1, -1, 287, 288, 289,
1023 290, 41, -1, -1, 44, -1, -1, 297, 298, -1,
1024 300, 301, 302, 303, 304, 305, 306, -1, 58, 59,
1025 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1026 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1027 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1028 -1, 41, -1, 93, 44, 297, 298, -1, 300, 301,
1029 302, 303, 304, 305, 306, -1, -1, -1, 58, 59,
1030 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1031 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1032 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
1033 44, 281, -1, 93, -1, -1, -1, 287, 288, 289,
1034 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
1035 300, 301, 302, 303, 304, 305, -1, 91, -1, -1,
1036 41, -1, -1, 44, -1, 272, 273, 274, 275, -1,
1037 41, -1, 279, 44, 281, -1, -1, 58, 59, 93,
1038 287, 288, 63, 290, -1, -1, -1, 58, 59, 123,
1039 297, 298, 63, 300, 301, 302, 303, 304, 305, -1,
1040 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1041 281, -1, 93, -1, -1, -1, 287, 288, 41, -1,
1042 -1, 44, 93, 58, 59, -1, 297, 298, 63, 300,
1043 301, 302, 303, 304, 305, 58, 59, -1, -1, -1,
1044 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1045 -1, -1, 44, -1, -1, -1, -1, -1, 93, -1,
1046 -1, -1, 272, 273, 274, 275, 58, 59, -1, 279,
1047 93, 281, -1, -1, -1, -1, -1, 287, 288, -1,
1048 -1, -1, -1, -1, -1, -1, -1, 297, 298, -1,
1049 300, 301, 302, 303, 304, -1, -1, 63, -1, -1,
1050 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
1051 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1052 -1, 281, -1, -1, -1, 91, -1, 287, 288, -1,
1053 -1, -1, -1, -1, -1, 63, -1, 297, 298, -1,
1054 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
1055 -1, -1, -1, 287, 288, 289, 290, 123, 272, 273,
1056 274, 275, -1, 91, -1, 279, -1, 281, 302, 303,
1057 304, 305, 306, 287, 288, 309, -1, -1, 312, 313,
1058 314, -1, -1, 297, 298, -1, 300, 301, 302, 303,
1059 304, 272, 273, 274, 275, 123, -1, -1, 279, -1,
1060 281, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1061 281, -1, -1, -1, -1, -1, 297, 298, -1, 300,
1062 301, 302, 303, 91, -1, -1, 297, 298, -1, 300,
1063 301, 302, -1, -1, -1, -1, -1, 272, 273, 274,
1064 275, -1, -1, -1, 279, -1, 281, -1, -1, 272,
1065 273, 274, 275, -1, -1, 123, 279, -1, -1, -1,
1066 -1, -1, 297, 298, -1, 300, 301, -1, -1, -1,
1067 -1, -1, -1, -1, 297, 298, -1, -1, 30, -1,
1068 272, 273, 274, 275, -1, -1, 38, 279, -1, -1,
1069 42, -1, -1, 45, -1, -1, -1, -1, -1, -1,
1070 52, 53, 54, 55, 56, 297, 298, 59, 60, -1,
1071 -1, -1, -1, -1, 66, 281, -1, -1, -1, -1,
1072 -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
1073 -1, -1, 25, 26, 300, 301, 302, 303, 304, 305,
1074 306, 93, -1, 309, 37, -1, 312, 313, 314, -1,
1075 43, 44, 45, 281, -1, -1, -1, 50, -1, 287,
1076 288, 289, 290, -1, -1, -1, -1, -1, -1, 62,
1077 63, 64, 65, 301, 302, 303, 304, 305, 306, -1,
1078 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
1079 -1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
1080 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1081 162, 163, 164, -1, 107, -1, -1, -1, -1, 287,
1082 288, 289, 290, -1, 176, -1, -1, -1, -1, -1,
1083 -1, -1, -1, -1, -1, 303, 304, 305, 306, -1,
1084 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
1085 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1086 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1087 -1, -1, -1, -1, 167, -1, -1, -1, -1, -1,
1088 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1089 -1, -1, -1, -1, -1, -1, -1, -1, 191, -1,
1090 -1, -1, -1, 255, -1, -1, -1, -1, -1, -1,
1091 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1092 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1093 -1, -1, -1, -1, 286,
1094};
1095#define YYFINAL 1
1096#ifndef YYDEBUG
1097#define YYDEBUG 0
1098#endif
1099#define YYMAXTOKEN 314
1100#if YYDEBUG
1101static char *yyname[] = {
1102"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,
1103"'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
11040,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
11050,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
11060,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
11070,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
11080,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
11090,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",
1110"PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1111"ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1112"CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1113"RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1114"OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP",
1115"SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
1116"POSTDEC","ARROW",
1117};
1118static char *yyrule[] = {
1119"$accept : prog",
1120"$$1 :",
1121"prog : $$1 lineseq",
1122"block : '{' remember lineseq '}'",
1123"remember :",
1124"mblock : '{' mremember lineseq '}'",
1125"mremember :",
1126"lineseq :",
1127"lineseq : lineseq decl",
1128"lineseq : lineseq line",
1129"line : label cond",
1130"line : loop",
1131"line : label ';'",
1132"line : label sideff ';'",
1133"sideff : error",
1134"sideff : expr",
1135"sideff : expr IF expr",
1136"sideff : expr UNLESS expr",
1137"sideff : expr WHILE expr",
1138"sideff : expr UNTIL iexpr",
1139"sideff : expr FOR expr",
1140"else :",
1141"else : ELSE mblock",
1142"else : ELSIF '(' mexpr ')' mblock else",
1143"cond : IF '(' remember mexpr ')' mblock else",
1144"cond : UNLESS '(' remember miexpr ')' mblock else",
1145"cont :",
1146"cont : CONTINUE block",
1147"loop : label WHILE '(' remember mtexpr ')' mblock cont",
1148"loop : label UNTIL '(' remember miexpr ')' mblock cont",
1149"loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1150"loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1151"loop : label FOR '(' remember mexpr ')' mblock cont",
1152"loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1153"loop : label block cont",
1154"nexpr :",
1155"nexpr : sideff",
1156"texpr :",
1157"texpr : expr",
1158"iexpr : expr",
1159"mexpr : expr",
1160"mnexpr : nexpr",
1161"mtexpr : texpr",
1162"miexpr : iexpr",
1163"label :",
1164"label : LABEL",
1165"decl : format",
1166"decl : subrout",
1167"decl : package",
1168"decl : use",
1169"format : FORMAT startformsub formname block",
1170"formname : WORD",
1171"formname :",
1172"subrout : SUB startsub subname proto subbody",
1173"startsub :",
1174"startanonsub :",
1175"startformsub :",
1176"subname : WORD",
1177"proto :",
1178"proto : THING",
1179"subbody : block",
1180"subbody : ';'",
1181"package : PACKAGE WORD ';'",
1182"package : PACKAGE ';'",
1183"$$2 :",
1184"use : USE startsub $$2 WORD WORD listexpr ';'",
1185"expr : expr ANDOP expr",
1186"expr : expr OROP expr",
1187"expr : argexpr",
1188"argexpr : argexpr ','",
1189"argexpr : argexpr ',' term",
1190"argexpr : term",
1191"listop : LSTOP indirob argexpr",
1192"listop : FUNC '(' indirob expr ')'",
1193"listop : term ARROW method '(' listexprcom ')'",
1194"listop : term ARROW method",
1195"listop : METHOD indirob listexpr",
1196"listop : FUNCMETH indirob '(' listexprcom ')'",
1197"listop : LSTOP listexpr",
1198"listop : FUNC '(' listexprcom ')'",
1199"$$3 :",
1200"listop : LSTOPSUB startanonsub block $$3 listexpr",
1201"method : METHOD",
1202"method : scalar",
1203"term : term ASSIGNOP term",
1204"term : term POWOP term",
1205"term : term MULOP term",
1206"term : term ADDOP term",
1207"term : term SHIFTOP term",
1208"term : term RELOP term",
1209"term : term EQOP term",
1210"term : term BITANDOP term",
1211"term : term BITOROP term",
1212"term : term DOTDOT term",
1213"term : term ANDAND term",
1214"term : term OROR term",
1215"term : term '?' term ':' term",
1216"term : term MATCHOP term",
1217"term : '-' term",
1218"term : '+' term",
1219"term : '!' term",
1220"term : '~' term",
1221"term : REFGEN term",
1222"term : term POSTINC",
1223"term : term POSTDEC",
1224"term : PREINC term",
1225"term : PREDEC term",
1226"term : local term",
1227"term : '(' expr ')'",
1228"term : '(' ')'",
1229"term : '[' expr ']'",
1230"term : '[' ']'",
1231"term : HASHBRACK expr ';' '}'",
1232"term : HASHBRACK ';' '}'",
1233"term : ANONSUB startanonsub proto block",
1234"term : scalar",
1235"term : star '{' expr ';' '}'",
1236"term : star",
1237"term : scalar '[' expr ']'",
1238"term : term ARROW '[' expr ']'",
1239"term : term '[' expr ']'",
1240"term : hsh",
1241"term : ary",
1242"term : arylen",
1243"term : scalar '{' expr ';' '}'",
1244"term : term ARROW '{' expr ';' '}'",
1245"term : term '{' expr ';' '}'",
1246"term : '(' expr ')' '[' expr ']'",
1247"term : '(' ')' '[' expr ']'",
1248"term : ary '[' expr ']'",
1249"term : ary '{' expr ';' '}'",
1250"term : THING",
1251"term : amper",
1252"term : amper '(' ')'",
1253"term : amper '(' expr ')'",
1254"term : NOAMP WORD listexpr",
1255"term : DO term",
1256"term : DO block",
1257"term : DO WORD '(' ')'",
1258"term : DO WORD '(' expr ')'",
1259"term : DO scalar '(' ')'",
1260"term : DO scalar '(' expr ')'",
1261"term : term ARROW '(' ')'",
1262"term : term ARROW '(' expr ')'",
1263"term : LOOPEX",
1264"term : LOOPEX term",
1265"term : NOTOP argexpr",
1266"term : UNIOP",
1267"term : UNIOP block",
1268"term : UNIOP term",
1269"term : UNIOPSUB term",
1270"term : FUNC0",
1271"term : FUNC0 '(' ')'",
1272"term : FUNC0SUB",
1273"term : FUNC1 '(' ')'",
1274"term : FUNC1 '(' expr ')'",
1275"term : PMFUNC '(' term ')'",
1276"term : PMFUNC '(' term ',' term ')'",
1277"term : WORD",
1278"term : listop",
1279"listexpr :",
1280"listexpr : argexpr",
1281"listexprcom :",
1282"listexprcom : expr",
1283"listexprcom : expr ','",
1284"local : LOCAL",
1285"local : MY",
1286"my_scalar : scalar",
1287"amper : '&' indirob",
1288"scalar : '$' indirob",
1289"ary : '@' indirob",
1290"hsh : '%' indirob",
1291"arylen : DOLSHARP indirob",
1292"star : '*' indirob",
1293"indirob : WORD",
1294"indirob : scalar",
1295"indirob : block",
1296"indirob : PRIVATEREF",
1297};
1298#endif
1299#define yyclearin (yychar=(-1))
1300#define yyerrok (yyerrflag=0)
1301#ifdef YYSTACKSIZE
1302#ifndef YYMAXDEPTH
1303#define YYMAXDEPTH YYSTACKSIZE
1304#endif
1305#else
1306#ifdef YYMAXDEPTH
1307#define YYSTACKSIZE YYMAXDEPTH
1308#else
1309#define YYSTACKSIZE 500
1310#define YYMAXDEPTH 500
1311#endif
1312#endif
1313#line 652 "perly.y"
1314 /* PROGRAM */
1315#line 1318 "perly.c"
1316#define YYABORT goto yyabort
1317#define YYACCEPT goto yyaccept
1318#define YYERROR goto yyerrlab
1319
1320struct ysv {
1321 short* yyss;
1322 YYSTYPE* yyvs;
1323 int oldyydebug;
1324 int oldyynerrs;
1325 int oldyyerrflag;
1326 int oldyychar;
1327 YYSTYPE oldyyval;
1328 YYSTYPE oldyylval;
1329};
1330
1331void
1332yydestruct(void *ptr)
1333{
1334 struct ysv* ysave = (struct ysv*)ptr;
1335 if (ysave->yyss) Safefree(ysave->yyss);
1336 if (ysave->yyvs) Safefree(ysave->yyvs);
1337 yydebug = ysave->oldyydebug;
1338 yynerrs = ysave->oldyynerrs;
1339 yyerrflag = ysave->oldyyerrflag;
1340 yychar = ysave->oldyychar;
1341 yyval = ysave->oldyyval;
1342 yylval = ysave->oldyylval;
1343 Safefree(ysave);
1344}
1345
1346int
1347yyparse(void)
1348{
1349 register int yym, yyn, yystate;
1350 register short *yyssp;
1351 register YYSTYPE *yyvsp;
1352 short* yyss;
1353 YYSTYPE* yyvs;
1354 unsigned yystacksize = YYSTACKSIZE;
1355 int retval = 0;
1356#if YYDEBUG
1357 register char *yys;
1358#ifndef __cplusplus
1359 extern char *getenv();
1360#endif
1361#endif
1362
1363 struct ysv *ysave;
1364 New(73, ysave, 1, struct ysv);
1365 SAVEDESTRUCTOR(yydestruct, ysave);
1366 ysave->oldyydebug = yydebug;
1367 ysave->oldyynerrs = yynerrs;
1368 ysave->oldyyerrflag = yyerrflag;
1369 ysave->oldyychar = yychar;
1370 ysave->oldyyval = yyval;
1371 ysave->oldyylval = yylval;
1372
1373#if YYDEBUG
1374 if (yys = getenv("YYDEBUG"))
1375 {
1376 yyn = *yys;
1377 if (yyn >= '0' && yyn <= '9')
1378 yydebug = yyn - '0';
1379 }
1380#endif
1381
1382 yynerrs = 0;
1383 yyerrflag = 0;
1384 yychar = (-1);
1385
1386 /*
1387 ** Initialize private stacks (yyparse may be called from an action)
1388 */
1389 New(73, yyss, yystacksize, short);
1390 New(73, yyvs, yystacksize, YYSTYPE);
1391 ysave->yyss = yyss;
1392 ysave->yyvs = yyvs;
1393 if (!yyvs || !yyss)
1394 goto yyoverflow;
1395
1396 yyssp = yyss;
1397 yyvsp = yyvs;
1398 *yyssp = yystate = 0;
1399
1400yyloop:
1401 if (yyn = yydefred[yystate]) goto yyreduce;
1402 if (yychar < 0)
1403 {
1404 if ((yychar = yylex()) < 0) yychar = 0;
1405#if YYDEBUG
1406 if (yydebug)
1407 {
1408 yys = 0;
1409 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1410 if (!yys) yys = "illegal-symbol";
1411 printf("yydebug: state %d, reading %d (%s)\n", yystate,
1412 yychar, yys);
1413 }
1414#endif
1415 }
1416 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1417 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1418 {
1419#if YYDEBUG
1420 if (yydebug)
1421 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1422 yystate, yytable[yyn]);
1423#endif
1424 if (yyssp >= yyss + yystacksize - 1)
1425 {
1426 /*
1427 ** reallocate and recover. Note that pointers
1428 ** have to be reset, or bad things will happen
1429 */
1430 int yyps_index = (yyssp - yyss);
1431 int yypv_index = (yyvsp - yyvs);
1432 yystacksize += YYSTACKSIZE;
1433 ysave->yyvs = yyvs =
1434 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1435 ysave->yyss = yyss =
1436 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
1437 if (!yyvs || !yyss)
1438 goto yyoverflow;
1439 yyssp = yyss + yyps_index;
1440 yyvsp = yyvs + yypv_index;
1441 }
1442 *++yyssp = yystate = yytable[yyn];
1443 *++yyvsp = yylval;
1444 yychar = (-1);
1445 if (yyerrflag > 0) --yyerrflag;
1446 goto yyloop;
1447 }
1448 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1449 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1450 {
1451 yyn = yytable[yyn];
1452 goto yyreduce;
1453 }
1454 if (yyerrflag) goto yyinrecovery;
1455#ifdef lint
1456 goto yynewerror;
1457#endif
1458yynewerror:
1459 yyerror("syntax error");
1460#ifdef lint
1461 goto yyerrlab;
1462#endif
1463yyerrlab:
1464 ++yynerrs;
1465yyinrecovery:
1466 if (yyerrflag < 3)
1467 {
1468 yyerrflag = 3;
1469 for (;;)
1470 {
1471 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1472 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1473 {
1474#if YYDEBUG
1475 if (yydebug)
1476 PerlIO_printf(Perl_debug_log,
1477 "yydebug: state %d, error recovery shifting to state %d\n",
1478 *yyssp, yytable[yyn]);
1479#endif
1480 if (yyssp >= yyss + yystacksize - 1)
1481 {
1482 /*
1483 ** reallocate and recover. Note that pointers
1484 ** have to be reset, or bad things will happen
1485 */
1486 int yyps_index = (yyssp - yyss);
1487 int yypv_index = (yyvsp - yyvs);
1488 yystacksize += YYSTACKSIZE;
1489 ysave->yyvs = yyvs = (YYSTYPE*)PerlMem_realloc((char*)yyvs,
1490 yystacksize * sizeof(YYSTYPE));
1491 ysave->yyss = yyss = (short*)PerlMem_realloc((char*)yyss,
1492 yystacksize * sizeof(short));
1493 if (!yyvs || !yyss)
1494 goto yyoverflow;
1495 yyssp = yyss + yyps_index;
1496 yyvsp = yyvs + yypv_index;
1497 }
1498 *++yyssp = yystate = yytable[yyn];
1499 *++yyvsp = yylval;
1500 goto yyloop;
1501 }
1502 else
1503 {
1504#if YYDEBUG
1505 if (yydebug)
1506 PerlIO_printf(Perl_debug_log,
1507 "yydebug: error recovery discarding state %d\n",
1508 *yyssp);
1509#endif
1510 if (yyssp <= yyss) goto yyabort;
1511 --yyssp;
1512 --yyvsp;
1513 }
1514 }
1515 }
1516 else
1517 {
1518 if (yychar == 0) goto yyabort;
1519#if YYDEBUG
1520 if (yydebug)
1521 {
1522 yys = 0;
1523 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1524 if (!yys) yys = "illegal-symbol";
1525 PerlIO_printf(Perl_debug_log,
1526 "yydebug: state %d, error recovery discards token %d (%s)\n",
1527 yystate, yychar, yys);
1528 }
1529#endif
1530 yychar = (-1);
1531 goto yyloop;
1532 }
1533yyreduce:
1534#if YYDEBUG
1535 if (yydebug)
1536 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1537 yystate, yyn, yyrule[yyn]);
1538#endif
1539 yym = yylen[yyn];
1540 yyval = yyvsp[1-yym];
1541 switch (yyn)
1542 {
1543case 1:
1544#line 99 "perly.y"
1545{
1546#if defined(YYDEBUG) && defined(DEBUGGING)
1547 yydebug = (PL_debug & 1);
1548#endif
1549 PL_expect = XSTATE;
1550 }
1551break;
1552case 2:
1553#line 106 "perly.y"
1554{ newPROG(yyvsp[0].opval); }
1555break;
1556case 3:
1557#line 110 "perly.y"
1558{ if (PL_copline > (line_t)yyvsp[-3].ival)
1559 PL_copline = yyvsp[-3].ival;
1560 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1561break;
1562case 4:
1563#line 116 "perly.y"
1564{ yyval.ival = block_start(TRUE); }
1565break;
1566case 5:
1567#line 120 "perly.y"
1568{ if (PL_copline > (line_t)yyvsp[-3].ival)
1569 PL_copline = yyvsp[-3].ival;
1570 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1571break;
1572case 6:
1573#line 126 "perly.y"
1574{ yyval.ival = block_start(FALSE); }
1575break;
1576case 7:
1577#line 130 "perly.y"
1578{ yyval.opval = Nullop; }
1579break;
1580case 8:
1581#line 132 "perly.y"
1582{ yyval.opval = yyvsp[-1].opval; }
1583break;
1584case 9:
1585#line 134 "perly.y"
1586{ yyval.opval = append_list(OP_LINESEQ,
1587 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1588 PL_pad_reset_pending = TRUE;
1589 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1590break;
1591case 10:
1592#line 141 "perly.y"
1593{ yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1594break;
1595case 12:
1596#line 144 "perly.y"
1597{ if (yyvsp[-1].pval != Nullch) {
1598 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1599 }
1600 else {
1601 yyval.opval = Nullop;
1602 PL_copline = NOLINE;
1603 }
1604 PL_expect = XSTATE; }
1605break;
1606case 13:
1607#line 153 "perly.y"
1608{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1609 PL_expect = XSTATE; }
1610break;
1611case 14:
1612#line 158 "perly.y"
1613{ yyval.opval = Nullop; }
1614break;
1615case 15:
1616#line 160 "perly.y"
1617{ yyval.opval = yyvsp[0].opval; }
1618break;
1619case 16:
1620#line 162 "perly.y"
1621{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1622break;
1623case 17:
1624#line 164 "perly.y"
1625{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1626break;
1627case 18:
1628#line 166 "perly.y"
1629{ yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1630break;
1631case 19:
1632#line 168 "perly.y"
1633{ yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1634break;
1635case 20:
1636#line 170 "perly.y"
1637{ yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1638 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1639break;
1640case 21:
1641#line 175 "perly.y"
1642{ yyval.opval = Nullop; }
1643break;
1644case 22:
1645#line 177 "perly.y"
1646{ yyval.opval = scope(yyvsp[0].opval); }
1647break;
1648case 23:
1649#line 179 "perly.y"
1650{ PL_copline = yyvsp[-5].ival;
1651 yyval.opval = newSTATEOP(0, Nullch,
1652 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1653 PL_hints |= HINT_BLOCK_SCOPE; }
1654break;
1655case 24:
1656#line 186 "perly.y"
1657{ PL_copline = yyvsp[-6].ival;
1658 yyval.opval = block_end(yyvsp[-4].ival,
1659 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1660break;
1661case 25:
1662#line 190 "perly.y"
1663{ PL_copline = yyvsp[-6].ival;
1664 yyval.opval = block_end(yyvsp[-4].ival,
1665 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1666break;
1667case 26:
1668#line 196 "perly.y"
1669{ yyval.opval = Nullop; }
1670break;
1671case 27:
1672#line 198 "perly.y"
1673{ yyval.opval = scope(yyvsp[0].opval); }
1674break;
1675case 28:
1676#line 202 "perly.y"
1677{ PL_copline = yyvsp[-6].ival;
1678 yyval.opval = block_end(yyvsp[-4].ival,
1679 newSTATEOP(0, yyvsp[-7].pval,
1680 newWHILEOP(0, 1, (LOOP*)Nullop,
1681 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1682break;
1683case 29:
1684#line 208 "perly.y"
1685{ PL_copline = yyvsp[-6].ival;
1686 yyval.opval = block_end(yyvsp[-4].ival,
1687 newSTATEOP(0, yyvsp[-7].pval,
1688 newWHILEOP(0, 1, (LOOP*)Nullop,
1689 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1690break;
1691case 30:
1692#line 214 "perly.y"
1693{ yyval.opval = block_end(yyvsp[-6].ival,
1694 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1695break;
1696case 31:
1697#line 217 "perly.y"
1698{ yyval.opval = block_end(yyvsp[-4].ival,
1699 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1700 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1701break;
1702case 32:
1703#line 221 "perly.y"
1704{ yyval.opval = block_end(yyvsp[-4].ival,
1705 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1706break;
1707case 33:
1708#line 225 "perly.y"
1709{ OP *forop = append_elem(OP_LINESEQ,
1710 scalar(yyvsp[-6].opval),
1711 newWHILEOP(0, 1, (LOOP*)Nullop,
1712 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1713 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1714 PL_copline = yyvsp[-9].ival;
1715 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1716break;
1717case 34:
1718#line 233 "perly.y"
1719{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1720 newWHILEOP(0, 1, (LOOP*)Nullop,
1721 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1722break;
1723case 35:
1724#line 239 "perly.y"
1725{ yyval.opval = Nullop; }
1726break;
1727case 37:
1728#line 244 "perly.y"
1729{ (void)scan_num("1"); yyval.opval = yylval.opval; }
1730break;
1731case 39:
1732#line 249 "perly.y"
1733{ yyval.opval = invert(scalar(yyvsp[0].opval)); }
1734break;
1735case 40:
1736#line 253 "perly.y"
1737{ yyval.opval = yyvsp[0].opval; intro_my(); }
1738break;
1739case 41:
1740#line 257 "perly.y"
1741{ yyval.opval = yyvsp[0].opval; intro_my(); }
1742break;
1743case 42:
1744#line 261 "perly.y"
1745{ yyval.opval = yyvsp[0].opval; intro_my(); }
1746break;
1747case 43:
1748#line 265 "perly.y"
1749{ yyval.opval = yyvsp[0].opval; intro_my(); }
1750break;
1751case 44:
1752#line 269 "perly.y"
1753{ yyval.pval = Nullch; }
1754break;
1755case 46:
1756#line 274 "perly.y"
1757{ yyval.ival = 0; }
1758break;
1759case 47:
1760#line 276 "perly.y"
1761{ yyval.ival = 0; }
1762break;
1763case 48:
1764#line 278 "perly.y"
1765{ yyval.ival = 0; }
1766break;
1767case 49:
1768#line 280 "perly.y"
1769{ yyval.ival = 0; }
1770break;
1771case 50:
1772#line 284 "perly.y"
1773{ newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1774break;
1775case 51:
1776#line 287 "perly.y"
1777{ yyval.opval = yyvsp[0].opval; }
1778break;
1779case 52:
1780#line 288 "perly.y"
1781{ yyval.opval = Nullop; }
1782break;
1783case 53:
1784#line 292 "perly.y"
1785{ newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1786break;
1787case 54:
1788#line 296 "perly.y"
1789{ yyval.ival = start_subparse(FALSE, 0); }
1790break;
1791case 55:
1792#line 300 "perly.y"
1793{ yyval.ival = start_subparse(FALSE, CVf_ANON); }
1794break;
1795case 56:
1796#line 304 "perly.y"
1797{ yyval.ival = start_subparse(TRUE, 0); }
1798break;
1799case 57:
1800#line 307 "perly.y"
1801{ STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1802 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1803 || strEQ(name, "INIT"))
1804 CvSPECIAL_on(PL_compcv);
1805 yyval.opval = yyvsp[0].opval; }
1806break;
1807case 58:
1808#line 315 "perly.y"
1809{ yyval.opval = Nullop; }
1810break;
1811case 60:
1812#line 319 "perly.y"
1813{ yyval.opval = yyvsp[0].opval; }
1814break;
1815case 61:
1816#line 320 "perly.y"
1817{ yyval.opval = Nullop; PL_expect = XSTATE; }
1818break;
1819case 62:
1820#line 324 "perly.y"
1821{ package(yyvsp[-1].opval); }
1822break;
1823case 63:
1824#line 326 "perly.y"
1825{ package(Nullop); }
1826break;
1827case 64:
1828#line 330 "perly.y"
1829{ CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
1830break;
1831case 65:
1832#line 332 "perly.y"
1833{ utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1834break;
1835case 66:
1836#line 336 "perly.y"
1837{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1838break;
1839case 67:
1840#line 338 "perly.y"
1841{ yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1842break;
1843case 69:
1844#line 343 "perly.y"
1845{ yyval.opval = yyvsp[-1].opval; }
1846break;
1847case 70:
1848#line 345 "perly.y"
1849{ yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1850break;
1851case 72:
1852#line 350 "perly.y"
1853{ yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1854 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1855break;
1856case 73:
1857#line 353 "perly.y"
1858{ yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1859 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1860break;
1861case 74:
1862#line 356 "perly.y"
1863{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1864 append_elem(OP_LIST,
1865 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1866 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1867break;
1868case 75:
1869#line 361 "perly.y"
1870{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1871 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
1872 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
1873break;
1874case 76:
1875#line 365 "perly.y"
1876{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1877 append_elem(OP_LIST,
1878 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1879 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1880break;
1881case 77:
1882#line 370 "perly.y"
1883{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1884 append_elem(OP_LIST,
1885 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1886 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1887break;
1888case 78:
1889#line 375 "perly.y"
1890{ yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1891break;
1892case 79:
1893#line 377 "perly.y"
1894{ yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1895break;
1896case 80:
1897#line 379 "perly.y"
1898{ yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1899break;
1900case 81:
1901#line 381 "perly.y"
1902{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1903 append_elem(OP_LIST,
1904 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1905break;
1906case 84:
1907#line 391 "perly.y"
1908{ yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1909break;
1910case 85:
1911#line 393 "perly.y"
1912{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1913break;
1914case 86:
1915#line 395 "perly.y"
1916{ if (yyvsp[-1].ival != OP_REPEAT)
1917 scalar(yyvsp[-2].opval);
1918 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1919break;
1920case 87:
1921#line 399 "perly.y"
1922{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1923break;
1924case 88:
1925#line 401 "perly.y"
1926{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1927break;
1928case 89:
1929#line 403 "perly.y"
1930{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1931break;
1932case 90:
1933#line 405 "perly.y"
1934{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1935break;
1936case 91:
1937#line 407 "perly.y"
1938{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1939break;
1940case 92:
1941#line 409 "perly.y"
1942{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1943break;
1944case 93:
1945#line 411 "perly.y"
1946{ yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1947break;
1948case 94:
1949#line 413 "perly.y"
1950{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1951break;
1952case 95:
1953#line 415 "perly.y"
1954{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1955break;
1956case 96:
1957#line 417 "perly.y"
1958{ yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1959break;
1960case 97:
1961#line 419 "perly.y"
1962{ yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1963break;
1964case 98:
1965#line 422 "perly.y"
1966{ yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1967break;
1968case 99:
1969#line 424 "perly.y"
1970{ yyval.opval = yyvsp[0].opval; }
1971break;
1972case 100:
1973#line 426 "perly.y"
1974{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1975break;
1976case 101:
1977#line 428 "perly.y"
1978{ yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1979break;
1980case 102:
1981#line 430 "perly.y"
1982{ yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1983break;
1984case 103:
1985#line 432 "perly.y"
1986{ yyval.opval = newUNOP(OP_POSTINC, 0,
1987 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1988break;
1989case 104:
1990#line 435 "perly.y"
1991{ yyval.opval = newUNOP(OP_POSTDEC, 0,
1992 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1993break;
1994case 105:
1995#line 438 "perly.y"
1996{ yyval.opval = newUNOP(OP_PREINC, 0,
1997 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1998break;
1999case 106:
2000#line 441 "perly.y"
2001{ yyval.opval = newUNOP(OP_PREDEC, 0,
2002 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2003break;
2004case 107:
2005#line 444 "perly.y"
2006{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2007break;
2008case 108:
2009#line 446 "perly.y"
2010{ yyval.opval = sawparens(yyvsp[-1].opval); }
2011break;
2012case 109:
2013#line 448 "perly.y"
2014{ yyval.opval = sawparens(newNULLLIST()); }
2015break;
2016case 110:
2017#line 450 "perly.y"
2018{ yyval.opval = newANONLIST(yyvsp[-1].opval); }
2019break;
2020case 111:
2021#line 452 "perly.y"
2022{ yyval.opval = newANONLIST(Nullop); }
2023break;
2024case 112:
2025#line 454 "perly.y"
2026{ yyval.opval = newANONHASH(yyvsp[-2].opval); }
2027break;
2028case 113:
2029#line 456 "perly.y"
2030{ yyval.opval = newANONHASH(Nullop); }
2031break;
2032case 114:
2033#line 458 "perly.y"
2034{ yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2035break;
2036case 115:
2037#line 460 "perly.y"
2038{ yyval.opval = yyvsp[0].opval; }
2039break;
2040case 116:
2041#line 462 "perly.y"
2042{ yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
2043break;
2044case 117:
2045#line 464 "perly.y"
2046{ yyval.opval = yyvsp[0].opval; }
2047break;
2048case 118:
2049#line 466 "perly.y"
2050{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2051break;
2052case 119:
2053#line 468 "perly.y"
2054{ yyval.opval = newBINOP(OP_AELEM, 0,
2055 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2056 scalar(yyvsp[-1].opval));}
2057break;
2058case 120:
2059#line 472 "perly.y"
2060{ assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
2061 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2062 scalar(yyvsp[-1].opval));}
2063break;
2064case 121:
2065#line 476 "perly.y"
2066{ yyval.opval = yyvsp[0].opval; }
2067break;
2068case 122:
2069#line 478 "perly.y"
2070{ yyval.opval = yyvsp[0].opval; }
2071break;
2072case 123:
2073#line 480 "perly.y"
2074{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2075break;
2076case 124:
2077#line 482 "perly.y"
2078{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2079 PL_expect = XOPERATOR; }
2080break;
2081case 125:
2082#line 485 "perly.y"
2083{ yyval.opval = newBINOP(OP_HELEM, 0,
2084 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2085 jmaybe(yyvsp[-2].opval));
2086 PL_expect = XOPERATOR; }
2087break;
2088case 126:
2089#line 490 "perly.y"
2090{ assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2091 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2092 jmaybe(yyvsp[-2].opval));
2093 PL_expect = XOPERATOR; }
2094break;
2095case 127:
2096#line 495 "perly.y"
2097{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2098break;
2099case 128:
2100#line 497 "perly.y"
2101{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2102break;
2103case 129:
2104#line 499 "perly.y"
2105{ yyval.opval = prepend_elem(OP_ASLICE,
2106 newOP(OP_PUSHMARK, 0),
2107 newLISTOP(OP_ASLICE, 0,
2108 list(yyvsp[-1].opval),
2109 ref(yyvsp[-3].opval, OP_ASLICE))); }
2110break;
2111case 130:
2112#line 505 "perly.y"
2113{ yyval.opval = prepend_elem(OP_HSLICE,
2114 newOP(OP_PUSHMARK, 0),
2115 newLISTOP(OP_HSLICE, 0,
2116 list(yyvsp[-2].opval),
2117 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2118 PL_expect = XOPERATOR; }
2119break;
2120case 131:
2121#line 512 "perly.y"
2122{ yyval.opval = yyvsp[0].opval; }
2123break;
2124case 132:
2125#line 514 "perly.y"
2126{ yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2127break;
2128case 133:
2129#line 516 "perly.y"
2130{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2131break;
2132case 134:
2133#line 518 "perly.y"
2134{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2135 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2136break;
2137case 135:
2138#line 521 "perly.y"
2139{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2140 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2141break;
2142case 136:
2143#line 524 "perly.y"
2144{ yyval.opval = dofile(yyvsp[0].opval); }
2145break;
2146case 137:
2147#line 526 "perly.y"
2148{ yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2149break;
2150case 138:
2151#line 528 "perly.y"
2152{ yyval.opval = newUNOP(OP_ENTERSUB,
2153 OPf_SPECIAL|OPf_STACKED,
2154 prepend_elem(OP_LIST,
2155 scalar(newCVREF(
2156 (OPpENTERSUB_AMPER<<8),
2157 scalar(yyvsp[-2].opval)
2158 )),Nullop)); dep();}
2159break;
2160case 139:
2161#line 536 "perly.y"
2162{ yyval.opval = newUNOP(OP_ENTERSUB,
2163 OPf_SPECIAL|OPf_STACKED,
2164 append_elem(OP_LIST,
2165 yyvsp[-1].opval,
2166 scalar(newCVREF(
2167 (OPpENTERSUB_AMPER<<8),
2168 scalar(yyvsp[-3].opval)
2169 )))); dep();}
2170break;
2171case 140:
2172#line 545 "perly.y"
2173{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2174 prepend_elem(OP_LIST,
2175 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2176break;
2177case 141:
2178#line 549 "perly.y"
2179{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2180 prepend_elem(OP_LIST,
2181 yyvsp[-1].opval,
2182 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2183break;
2184case 142:
2185#line 554 "perly.y"
2186{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2187 newCVREF(0, scalar(yyvsp[-3].opval))); }
2188break;
2189case 143:
2190#line 557 "perly.y"
2191{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2192 append_elem(OP_LIST, yyvsp[-1].opval,
2193 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2194break;
2195case 144:
2196#line 561 "perly.y"
2197{ yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2198 PL_hints |= HINT_BLOCK_SCOPE; }
2199break;
2200case 145:
2201#line 564 "perly.y"
2202{ yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2203break;
2204case 146:
2205#line 566 "perly.y"
2206{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2207break;
2208case 147:
2209#line 568 "perly.y"
2210{ yyval.opval = newOP(yyvsp[0].ival, 0); }
2211break;
2212case 148:
2213#line 570 "perly.y"
2214{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2215break;
2216case 149:
2217#line 572 "perly.y"
2218{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2219break;
2220case 150:
2221#line 574 "perly.y"
2222{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2223 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2224break;
2225case 151:
2226#line 577 "perly.y"
2227{ yyval.opval = newOP(yyvsp[0].ival, 0); }
2228break;
2229case 152:
2230#line 579 "perly.y"
2231{ yyval.opval = newOP(yyvsp[-2].ival, 0); }
2232break;
2233case 153:
2234#line 581 "perly.y"
2235{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2236 scalar(yyvsp[0].opval)); }
2237break;
2238case 154:
2239#line 584 "perly.y"
2240{ yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2241break;
2242case 155:
2243#line 586 "perly.y"
2244{ yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2245break;
2246case 156:
2247#line 588 "perly.y"
2248{ yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2249break;
2250case 157:
2251#line 590 "perly.y"
2252{ yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2253break;
2254case 160:
2255#line 596 "perly.y"
2256{ yyval.opval = Nullop; }
2257break;
2258case 161:
2259#line 598 "perly.y"
2260{ yyval.opval = yyvsp[0].opval; }
2261break;
2262case 162:
2263#line 602 "perly.y"
2264{ yyval.opval = Nullop; }
2265break;
2266case 163:
2267#line 604 "perly.y"
2268{ yyval.opval = yyvsp[0].opval; }
2269break;
2270case 164:
2271#line 606 "perly.y"
2272{ yyval.opval = yyvsp[-1].opval; }
2273break;
2274case 165:
2275#line 609 "perly.y"
2276{ yyval.ival = 0; }
2277break;
2278case 166:
2279#line 610 "perly.y"
2280{ yyval.ival = 1; }
2281break;
2282case 167:
2283#line 614 "perly.y"
2284{ PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2285break;
2286case 168:
2287#line 618 "perly.y"
2288{ yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2289break;
2290case 169:
2291#line 622 "perly.y"
2292{ yyval.opval = newSVREF(yyvsp[0].opval); }
2293break;
2294case 170:
2295#line 626 "perly.y"
2296{ yyval.opval = newAVREF(yyvsp[0].opval); }
2297break;
2298case 171:
2299#line 630 "perly.y"
2300{ yyval.opval = newHVREF(yyvsp[0].opval); }
2301break;
2302case 172:
2303#line 634 "perly.y"
2304{ yyval.opval = newAVREF(yyvsp[0].opval); }
2305break;
2306case 173:
2307#line 638 "perly.y"
2308{ yyval.opval = newGVREF(0,yyvsp[0].opval); }
2309break;
2310case 174:
2311#line 642 "perly.y"
2312{ yyval.opval = scalar(yyvsp[0].opval); }
2313break;
2314case 175:
2315#line 644 "perly.y"
2316{ yyval.opval = scalar(yyvsp[0].opval); }
2317break;
2318case 176:
2319#line 646 "perly.y"
2320{ yyval.opval = scope(yyvsp[0].opval); }
2321break;
2322case 177:
2323#line 649 "perly.y"
2324{ yyval.opval = yyvsp[0].opval; }
2325break;
2326#line 2329 "perly.c"
2327 }
2328 yyssp -= yym;
2329 yystate = *yyssp;
2330 yyvsp -= yym;
2331 yym = yylhs[yyn];
2332 if (yystate == 0 && yym == 0)
2333 {
2334#if YYDEBUG
2335 if (yydebug)
2336 PerlIO_printf(Perl_debug_log,
2337 "yydebug: after reduction, shifting from state 0 to state %d\n",
2338 YYFINAL);
2339#endif
2340 yystate = YYFINAL;
2341 *++yyssp = YYFINAL;
2342 *++yyvsp = yyval;
2343 if (yychar < 0)
2344 {
2345 if ((yychar = yylex()) < 0) yychar = 0;
2346#if YYDEBUG
2347 if (yydebug)
2348 {
2349 yys = 0;
2350 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2351 if (!yys) yys = "illegal-symbol";
2352 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2353 YYFINAL, yychar, yys);
2354 }
2355#endif
2356 }
2357 if (yychar == 0) goto yyaccept;
2358 goto yyloop;
2359 }
2360 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2361 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2362 yystate = yytable[yyn];
2363 else
2364 yystate = yydgoto[yym];
2365#if YYDEBUG
2366 if (yydebug)
2367 PerlIO_printf(Perl_debug_log,
2368 "yydebug: after reduction, shifting from state %d to state %d\n",
2369 *yyssp, yystate);
2370#endif
2371 if (yyssp >= yyss + yystacksize - 1)
2372 {
2373 /*
2374 ** reallocate and recover. Note that pointers
2375 ** have to be reset, or bad things will happen
2376 */
2377 int yyps_index = (yyssp - yyss);
2378 int yypv_index = (yyvsp - yyvs);
2379 yystacksize += YYSTACKSIZE;
2380 ysave->yyvs = yyvs =
2381 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2382 ysave->yyss = yyss =
2383 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
2384 if (!yyvs || !yyss)
2385 goto yyoverflow;
2386 yyssp = yyss + yyps_index;
2387 yyvsp = yyvs + yypv_index;
2388 }
2389 *++yyssp = yystate;
2390 *++yyvsp = yyval;
2391 goto yyloop;
2392yyoverflow:
2393 yyerror("Out of memory for yacc stack");
2394yyabort:
2395 retval = 1;
2396yyaccept:
2397 return retval;
2398}