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