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