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