This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Further ANSI changes now builds and passes (most) tests
[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 9static void
f0f333f4 10dep(void)
a0d0e21e
LW
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
PP
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
PP
38 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
39 1, 2, 3, 1, 1, 3, 3, 3, 3, 0,
71be2cbc
PP
40 2, 6, 7, 7, 0, 2, 8, 8, 10, 9,
41 8, 11, 3, 0, 1, 0, 1, 1, 1, 1,
44a8e56a
PP
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
PP
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
PP
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
PP
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
PP
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
PP
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
PP
618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
bbce6d69
PP
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
PP
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
PP
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
PP
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
PP
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
PP
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
PP
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
PP
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
PP
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
PP
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
PP
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
PP
1116"loop : label WHILE '(' remember mtexpr ')' mblock cont",
1117"loop : label UNTIL '(' remember miexpr ')' mblock cont",
bbce6d69
PP
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
PP
1127"iexpr : expr",
1128"mexpr : expr",
bbce6d69 1129"mnexpr : nexpr",
55497cff
PP
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
PP
1138"format : FORMAT startformsub formname block",
1139"formname : WORD",
1140"formname :",
28757baa
PP
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
PP
1148"subbody : block",
1149"subbody : ';'",
93a17b20
LW
1150"package : PACKAGE WORD ';'",
1151"package : PACKAGE ';'",
28757baa
PP
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
PP
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
PP
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;
7d07dbc2 1287#line 632 "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
f0f333f4 1306yydestruct(void *ptr)
a0d0e21e
LW
1307{
1308 struct ysv* ysave = (struct ysv*)ptr;
489bbe73
PP
1309 if (ysave->yyss) Safefree(ysave->yyss);
1310 if (ysave->yyvs) Safefree(ysave->yyvs);
a0d0e21e
LW
1311 yydebug = ysave->oldyydebug;
1312 yynerrs = ysave->oldyynerrs;
1313 yyerrflag = ysave->oldyyerrflag;
1314 yychar = ysave->oldyychar;
1315 yyval = ysave->oldyyval;
1316 yylval = ysave->oldyylval;
489bbe73 1317 Safefree(ysave);
a0d0e21e
LW
1318}
1319
79072805 1320int
f0f333f4 1321yyparse(void)
79072805 1322{
93a17b20
LW
1323 register int yym, yyn, yystate;
1324 register short *yyssp;
1325 register YYSTYPE *yyvsp;
1326 short* yyss;
1327 YYSTYPE* yyvs;
1328 unsigned yystacksize = YYSTACKSIZE;
93a17b20 1329 int retval = 0;
93a17b20
LW
1330#if YYDEBUG
1331 register char *yys;
f0f333f4 1332#ifndef __cplusplus
93a17b20 1333 extern char *getenv();
a0d0e21e 1334#endif
f0f333f4 1335#endif
a0d0e21e
LW
1336
1337 struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
1338 SAVEDESTRUCTOR(yydestruct, ysave);
1339 ysave->oldyydebug = yydebug;
1340 ysave->oldyynerrs = yynerrs;
1341 ysave->oldyyerrflag = yyerrflag;
1342 ysave->oldyychar = yychar;
1343 ysave->oldyyval = yyval;
1344 ysave->oldyylval = yylval;
79072805 1345
a0d0e21e 1346#if YYDEBUG
93a17b20
LW
1347 if (yys = getenv("YYDEBUG"))
1348 {
1349 yyn = *yys;
1350 if (yyn >= '0' && yyn <= '9')
1351 yydebug = yyn - '0';
1352 }
1353#endif
79072805 1354
93a17b20
LW
1355 yynerrs = 0;
1356 yyerrflag = 0;
1357 yychar = (-1);
79072805 1358
93a17b20
LW
1359 /*
1360 ** Initialize private stacks (yyparse may be called from an action)
1361 */
a0d0e21e
LW
1362 ysave->yyss = yyss = (short*)safemalloc(yystacksize*sizeof(short));
1363 ysave->yyvs = yyvs = (YYSTYPE*)safemalloc(yystacksize*sizeof(YYSTYPE));
93a17b20
LW
1364 if (!yyvs || !yyss)
1365 goto yyoverflow;
79072805 1366
93a17b20
LW
1367 yyssp = yyss;
1368 yyvsp = yyvs;
1369 *yyssp = yystate = 0;
79072805 1370
93a17b20
LW
1371yyloop:
1372 if (yyn = yydefred[yystate]) goto yyreduce;
1373 if (yychar < 0)
1374 {
1375 if ((yychar = yylex()) < 0) yychar = 0;
79072805 1376#if YYDEBUG
93a17b20
LW
1377 if (yydebug)
1378 {
1379 yys = 0;
1380 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1381 if (!yys) yys = "illegal-symbol";
760ac839 1382 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
93a17b20
LW
1383 yychar, yys);
1384 }
79072805 1385#endif
93a17b20
LW
1386 }
1387 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1388 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1389 {
79072805 1390#if YYDEBUG
93a17b20 1391 if (yydebug)
760ac839 1392 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
93a17b20 1393 yystate, yytable[yyn]);
79072805 1394#endif
93a17b20
LW
1395 if (yyssp >= yyss + yystacksize - 1)
1396 {
1397 /*
1398 ** reallocate and recover. Note that pointers
1399 ** have to be reset, or bad things will happen
1400 */
1401 int yyps_index = (yyssp - yyss);
1402 int yypv_index = (yyvsp - yyvs);
1403 yystacksize += YYSTACKSIZE;
a0d0e21e
LW
1404 ysave->yyvs = yyvs =
1405 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1406 ysave->yyss = yyss =
1407 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
93a17b20
LW
1408 if (!yyvs || !yyss)
1409 goto yyoverflow;
1410 yyssp = yyss + yyps_index;
1411 yyvsp = yyvs + yypv_index;
1412 }
1413 *++yyssp = yystate = yytable[yyn];
1414 *++yyvsp = yylval;
1415 yychar = (-1);
1416 if (yyerrflag > 0) --yyerrflag;
1417 goto yyloop;
1418 }
1419 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1420 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1421 {
1422 yyn = yytable[yyn];
1423 goto yyreduce;
1424 }
1425 if (yyerrflag) goto yyinrecovery;
1426#ifdef lint
1427 goto yynewerror;
1428#endif
1429yynewerror:
1430 yyerror("syntax error");
1431#ifdef lint
1432 goto yyerrlab;
1433#endif
1434yyerrlab:
1435 ++yynerrs;
1436yyinrecovery:
1437 if (yyerrflag < 3)
1438 {
1439 yyerrflag = 3;
1440 for (;;)
1441 {
1442 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1443 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1444 {
79072805 1445#if YYDEBUG
93a17b20 1446 if (yydebug)
760ac839 1447 PerlIO_printf(Perl_debug_log,
ed6116ce
LW
1448 "yydebug: state %d, error recovery shifting to state %d\n",
1449 *yyssp, yytable[yyn]);
93a17b20
LW
1450#endif
1451 if (yyssp >= yyss + yystacksize - 1)
1452 {
1453 /*
1454 ** reallocate and recover. Note that pointers
1455 ** have to be reset, or bad things will happen
1456 */
1457 int yyps_index = (yyssp - yyss);
1458 int yypv_index = (yyvsp - yyvs);
1459 yystacksize += YYSTACKSIZE;
a0d0e21e 1460 ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
93a17b20 1461 yystacksize * sizeof(YYSTYPE));
a0d0e21e 1462 ysave->yyss = yyss = (short*)realloc((char*)yyss,
93a17b20
LW
1463 yystacksize * sizeof(short));
1464 if (!yyvs || !yyss)
1465 goto yyoverflow;
1466 yyssp = yyss + yyps_index;
1467 yyvsp = yyvs + yypv_index;
1468 }
1469 *++yyssp = yystate = yytable[yyn];
1470 *++yyvsp = yylval;
1471 goto yyloop;
1472 }
1473 else
1474 {
79072805 1475#if YYDEBUG
93a17b20 1476 if (yydebug)
760ac839 1477 PerlIO_printf(Perl_debug_log,
ed6116ce
LW
1478 "yydebug: error recovery discarding state %d\n",
1479 *yyssp);
79072805 1480#endif
93a17b20
LW
1481 if (yyssp <= yyss) goto yyabort;
1482 --yyssp;
1483 --yyvsp;
1484 }
1485 }
1486 }
1487 else
1488 {
1489 if (yychar == 0) goto yyabort;
79072805 1490#if YYDEBUG
93a17b20
LW
1491 if (yydebug)
1492 {
1493 yys = 0;
1494 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1495 if (!yys) yys = "illegal-symbol";
760ac839 1496 PerlIO_printf(Perl_debug_log,
ed6116ce
LW
1497 "yydebug: state %d, error recovery discards token %d (%s)\n",
1498 yystate, yychar, yys);
93a17b20
LW
1499 }
1500#endif
1501 yychar = (-1);
1502 goto yyloop;
1503 }
1504yyreduce:
79072805 1505#if YYDEBUG
93a17b20 1506 if (yydebug)
760ac839 1507 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
93a17b20 1508 yystate, yyn, yyrule[yyn]);
79072805 1509#endif
93a17b20
LW
1510 yym = yylen[yyn];
1511 yyval = yyvsp[1-yym];
1512 switch (yyn)
1513 {
79072805 1514case 1:
28757baa 1515#line 86 "perly.y"
79072805
LW
1516{
1517#if defined(YYDEBUG) && defined(DEBUGGING)
1518 yydebug = (debug & 1);
1519#endif
8990e307 1520 expect = XSTATE;
93a17b20
LW
1521 }
1522break;
79072805 1523case 2:
28757baa 1524#line 93 "perly.y"
a0d0e21e 1525{ newPROG(yyvsp[0].opval); }
93a17b20 1526break;
79072805 1527case 3:
28757baa 1528#line 97 "perly.y"
36477c24
PP
1529{ if (copline > (line_t)yyvsp[-3].ival)
1530 copline = yyvsp[-3].ival;
1531 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
93a17b20 1532break;
79072805 1533case 4:
28757baa 1534#line 103 "perly.y"
55497cff 1535{ yyval.ival = block_start(TRUE); }
93a17b20 1536break;
79072805 1537case 5:
28757baa 1538#line 107 "perly.y"
36477c24
PP
1539{ if (copline > (line_t)yyvsp[-3].ival)
1540 copline = yyvsp[-3].ival;
1541 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
93a17b20 1542break;
79072805 1543case 6:
28757baa 1544#line 113 "perly.y"
55497cff
PP
1545{ yyval.ival = block_start(FALSE); }
1546break;
bbce6d69 1547case 7:
28757baa 1548#line 117 "perly.y"
55497cff
PP
1549{ yyval.opval = Nullop; }
1550break;
bbce6d69 1551case 8:
28757baa 1552#line 119 "perly.y"
55497cff
PP
1553{ yyval.opval = yyvsp[-1].opval; }
1554break;
bbce6d69 1555case 9:
28757baa 1556#line 121 "perly.y"
463ee0b2 1557{ yyval.opval = append_list(OP_LINESEQ,
a0d0e21e
LW
1558 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1559 pad_reset_pending = TRUE;
85e6fe83 1560 if (yyvsp[-1].opval && yyvsp[0].opval) hints |= HINT_BLOCK_SCOPE; }
93a17b20 1561break;
bbce6d69 1562case 10:
28757baa 1563#line 128 "perly.y"
93a17b20
LW
1564{ yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1565break;
bbce6d69 1566case 12:
28757baa 1567#line 131 "perly.y"
93a17b20
LW
1568{ if (yyvsp[-1].pval != Nullch) {
1569 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
79072805
LW
1570 }
1571 else {
1572 yyval.opval = Nullop;
1573 copline = NOLINE;
1574 }
8990e307 1575 expect = XSTATE; }
93a17b20 1576break;
bbce6d69 1577case 13:
28757baa 1578#line 140 "perly.y"
93a17b20 1579{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
8990e307 1580 expect = XSTATE; }
93a17b20 1581break;
bbce6d69 1582case 14:
28757baa 1583#line 145 "perly.y"
93a17b20
LW
1584{ yyval.opval = Nullop; }
1585break;
bbce6d69 1586case 15:
28757baa 1587#line 147 "perly.y"
93a17b20
LW
1588{ yyval.opval = yyvsp[0].opval; }
1589break;
bbce6d69 1590case 16:
28757baa 1591#line 149 "perly.y"
93a17b20
LW
1592{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1593break;
bbce6d69 1594case 17:
28757baa 1595#line 151 "perly.y"
93a17b20
LW
1596{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1597break;
bbce6d69 1598case 18:
28757baa 1599#line 153 "perly.y"
8990e307 1600{ yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
93a17b20 1601break;
bbce6d69 1602case 19:
28757baa 1603#line 155 "perly.y"
55497cff 1604{ yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
93a17b20 1605break;
bbce6d69 1606case 20:
28757baa 1607#line 159 "perly.y"
93a17b20
LW
1608{ yyval.opval = Nullop; }
1609break;
bbce6d69 1610case 21:
28757baa 1611#line 161 "perly.y"
93a17b20
LW
1612{ yyval.opval = scope(yyvsp[0].opval); }
1613break;
bbce6d69 1614case 22:
28757baa 1615#line 163 "perly.y"
93a17b20 1616{ copline = yyvsp[-5].ival;
bbce6d69
PP
1617 yyval.opval = newSTATEOP(0, Nullch,
1618 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
4633a7c4 1619 hints |= HINT_BLOCK_SCOPE; }
93a17b20 1620break;
bbce6d69 1621case 23:
28757baa 1622#line 170 "perly.y"
55497cff 1623{ copline = yyvsp[-6].ival;
36477c24 1624 yyval.opval = block_end(yyvsp[-4].ival,
bbce6d69 1625 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
93a17b20 1626break;
bbce6d69 1627case 24:
28757baa 1628#line 174 "perly.y"
55497cff 1629{ copline = yyvsp[-6].ival;
36477c24 1630 yyval.opval = block_end(yyvsp[-4].ival,
bbce6d69 1631 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
93a17b20 1632break;
bbce6d69 1633case 25:
28757baa 1634#line 180 "perly.y"
71be2cbc 1635{ yyval.opval = Nullop; }
93a17b20 1636break;
bbce6d69 1637case 26:
28757baa 1638#line 182 "perly.y"
93a17b20
LW
1639{ yyval.opval = scope(yyvsp[0].opval); }
1640break;
71be2cbc 1641case 27:
28757baa 1642#line 186 "perly.y"
55497cff 1643{ copline = yyvsp[-6].ival;
36477c24 1644 yyval.opval = block_end(yyvsp[-4].ival,
55497cff 1645 newSTATEOP(0, yyvsp[-7].pval,
bbce6d69 1646 newWHILEOP(0, 1, (LOOP*)Nullop,
fb73857a 1647 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
93a17b20 1648break;
71be2cbc 1649case 28:
28757baa 1650#line 192 "perly.y"
55497cff 1651{ copline = yyvsp[-6].ival;
36477c24 1652 yyval.opval = block_end(yyvsp[-4].ival,
55497cff 1653 newSTATEOP(0, yyvsp[-7].pval,
bbce6d69 1654 newWHILEOP(0, 1, (LOOP*)Nullop,
fb73857a 1655 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
bbce6d69 1656break;
71be2cbc 1657case 29:
28757baa 1658#line 198 "perly.y"
36477c24 1659{ yyval.opval = block_end(yyvsp[-6].ival,
bbce6d69 1660 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
93a17b20 1661break;
71be2cbc 1662case 30:
28757baa 1663#line 201 "perly.y"
36477c24 1664{ yyval.opval = block_end(yyvsp[-4].ival,
bbce6d69
PP
1665 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1666 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
55497cff 1667break;
71be2cbc 1668case 31:
28757baa 1669#line 205 "perly.y"
36477c24 1670{ yyval.opval = block_end(yyvsp[-4].ival,
55497cff 1671 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
93a17b20 1672break;
71be2cbc 1673case 32:
28757baa 1674#line 209 "perly.y"
fb73857a
PP
1675{ OP *forop = append_elem(OP_LINESEQ,
1676 scalar(yyvsp[-6].opval),
1677 newWHILEOP(0, 1, (LOOP*)Nullop,
1678 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1679 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1680 copline = yyvsp[-9].ival;
1681 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
55497cff 1682break;
71be2cbc 1683case 33:
28757baa 1684#line 217 "perly.y"
fb73857a
PP
1685{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1686 newWHILEOP(0, 1, (LOOP*)Nullop,
1687 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
93a17b20 1688break;
71be2cbc 1689case 34:
28757baa 1690#line 223 "perly.y"
93a17b20
LW
1691{ yyval.opval = Nullop; }
1692break;
71be2cbc 1693case 36:
28757baa 1694#line 228 "perly.y"
93a17b20
LW
1695{ (void)scan_num("1"); yyval.opval = yylval.opval; }
1696break;
71be2cbc 1697case 38:
28757baa 1698#line 233 "perly.y"
55497cff
PP
1699{ yyval.opval = invert(scalar(yyvsp[0].opval)); }
1700break;
71be2cbc 1701case 39:
28757baa 1702#line 237 "perly.y"
bbce6d69
PP
1703{ yyval.opval = yyvsp[0].opval; intro_my(); }
1704break;
71be2cbc 1705case 40:
28757baa 1706#line 241 "perly.y"
bbce6d69
PP
1707{ yyval.opval = yyvsp[0].opval; intro_my(); }
1708break;
71be2cbc 1709case 41:
28757baa 1710#line 245 "perly.y"
bbce6d69
PP
1711{ yyval.opval = yyvsp[0].opval; intro_my(); }
1712break;
71be2cbc 1713case 42:
28757baa 1714#line 249 "perly.y"
bbce6d69 1715{ yyval.opval = yyvsp[0].opval; intro_my(); }
55497cff 1716break;
71be2cbc 1717case 43:
28757baa 1718#line 253 "perly.y"
bbce6d69 1719{ yyval.pval = Nullch; }
55497cff 1720break;
71be2cbc 1721case 45:
28757baa 1722#line 258 "perly.y"
bbce6d69
PP
1723{ yyval.ival = 0; }
1724break;
71be2cbc 1725case 46:
28757baa 1726#line 260 "perly.y"
bbce6d69 1727{ yyval.ival = 0; }
93a17b20 1728break;
71be2cbc 1729case 47:
28757baa 1730#line 262 "perly.y"
93a17b20
LW
1731{ yyval.ival = 0; }
1732break;
71be2cbc 1733case 48:
28757baa 1734#line 264 "perly.y"
93a17b20
LW
1735{ yyval.ival = 0; }
1736break;
71be2cbc 1737case 49:
28757baa 1738#line 268 "perly.y"
bbce6d69 1739{ newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
93a17b20 1740break;
71be2cbc 1741case 50:
44a8e56a
PP
1742#line 271 "perly.y"
1743{ yyval.opval = yyvsp[0].opval; }
93a17b20 1744break;
71be2cbc 1745case 51:
44a8e56a
PP
1746#line 272 "perly.y"
1747{ yyval.opval = Nullop; }
93a17b20 1748break;
71be2cbc 1749case 52:
44a8e56a
PP
1750#line 276 "perly.y"
1751{ newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
93a17b20 1752break;
71be2cbc 1753case 53:
44a8e56a 1754#line 280 "perly.y"
774d564b 1755{ yyval.ival = start_subparse(FALSE, 0); }
44a8e56a
PP
1756break;
1757case 54:
1758#line 284 "perly.y"
774d564b 1759{ yyval.ival = start_subparse(FALSE, CVf_ANON); }
4633a7c4 1760break;
44a8e56a 1761case 55:
fa83b5b6 1762#line 288 "perly.y"
774d564b 1763{ yyval.ival = start_subparse(TRUE, 0); }
44a8e56a
PP
1764break;
1765case 56:
fa83b5b6 1766#line 291 "perly.y"
e858de61
MB
1767{ char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv, na);
1768 if (strEQ(name, "BEGIN") || strEQ(name, "END")
7d07dbc2 1769 || strEQ(name, "INIT"))
28757baa
PP
1770 CvUNIQUE_on(compcv);
1771 yyval.opval = yyvsp[0].opval; }
93a17b20 1772break;
44a8e56a 1773case 57:
7d07dbc2 1774#line 299 "perly.y"
28757baa 1775{ yyval.opval = Nullop; }
85e6fe83 1776break;
44a8e56a 1777case 59:
7d07dbc2 1778#line 303 "perly.y"
28757baa 1779{ yyval.opval = yyvsp[0].opval; }
93a17b20 1780break;
44a8e56a 1781case 60:
7d07dbc2 1782#line 304 "perly.y"
28757baa 1783{ yyval.opval = Nullop; expect = XSTATE; }
85e6fe83 1784break;
44a8e56a 1785case 61:
7d07dbc2 1786#line 308 "perly.y"
28757baa 1787{ package(yyvsp[-1].opval); }
85e6fe83 1788break;
44a8e56a 1789case 62:
7d07dbc2 1790#line 310 "perly.y"
28757baa
PP
1791{ package(Nullop); }
1792break;
44a8e56a 1793case 63:
7d07dbc2 1794#line 314 "perly.y"
28757baa 1795{ CvUNIQUE_on(compcv); /* It's a BEGIN {} */ }
93a17b20 1796break;
44a8e56a 1797case 64:
7d07dbc2 1798#line 316 "perly.y"
28757baa 1799{ utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
93a17b20 1800break;
44a8e56a 1801case 65:
7d07dbc2 1802#line 320 "perly.y"
28757baa
PP
1803{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1804break;
44a8e56a 1805case 66:
7d07dbc2 1806#line 322 "perly.y"
28757baa
PP
1807{ yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1808break;
44a8e56a 1809case 68:
7d07dbc2 1810#line 327 "perly.y"
28757baa
PP
1811{ yyval.opval = yyvsp[-1].opval; }
1812break;
44a8e56a 1813case 69:
7d07dbc2 1814#line 329 "perly.y"
a0d0e21e 1815{ yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 1816break;
44a8e56a 1817case 71:
7d07dbc2 1818#line 334 "perly.y"
a0d0e21e
LW
1819{ yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1820 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
93a17b20 1821break;
44a8e56a 1822case 72:
7d07dbc2 1823#line 337 "perly.y"
a0d0e21e
LW
1824{ yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1825 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
93a17b20 1826break;
44a8e56a 1827case 73:
7d07dbc2 1828#line 340 "perly.y"
4633a7c4 1829{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
a0d0e21e 1830 append_elem(OP_LIST,
55497cff 1831 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
a0d0e21e 1832 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
93a17b20 1833break;
44a8e56a 1834case 74:
7d07dbc2 1835#line 345 "perly.y"
4633a7c4 1836{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
a0d0e21e 1837 append_elem(OP_LIST,
4633a7c4 1838 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
a0d0e21e 1839 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
93a17b20 1840break;
44a8e56a 1841case 75:
7d07dbc2 1842#line 350 "perly.y"
4633a7c4 1843{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
a0d0e21e 1844 append_elem(OP_LIST,
4633a7c4 1845 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
a0d0e21e 1846 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
93a17b20 1847break;
44a8e56a 1848case 76:
7d07dbc2 1849#line 355 "perly.y"
c07a80fd
PP
1850{ yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1851break;
44a8e56a 1852case 77:
7d07dbc2 1853#line 357 "perly.y"
c07a80fd 1854{ yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
93a17b20 1855break;
44a8e56a 1856case 78:
7d07dbc2 1857#line 359 "perly.y"
28757baa
PP
1858{ yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1859break;
44a8e56a 1860case 79:
7d07dbc2 1861#line 361 "perly.y"
4633a7c4 1862{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
28757baa
PP
1863 append_elem(OP_LIST,
1864 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
4633a7c4 1865break;
44a8e56a 1866case 82:
7d07dbc2 1867#line 371 "perly.y"
c07a80fd
PP
1868{ yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1869break;
44a8e56a 1870case 83:
7d07dbc2 1871#line 373 "perly.y"
c07a80fd 1872{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
93a17b20 1873break;
44a8e56a 1874case 84:
7d07dbc2 1875#line 375 "perly.y"
a0d0e21e
LW
1876{ if (yyvsp[-1].ival != OP_REPEAT)
1877 scalar(yyvsp[-2].opval);
1878 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
93a17b20 1879break;
28757baa 1880case 85:
7d07dbc2 1881#line 379 "perly.y"
c07a80fd
PP
1882{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1883break;
28757baa 1884case 86:
7d07dbc2 1885#line 381 "perly.y"
93a17b20
LW
1886{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1887break;
28757baa 1888case 87:
7d07dbc2 1889#line 383 "perly.y"
a0d0e21e 1890{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
93a17b20 1891break;
28757baa 1892case 88:
7d07dbc2 1893#line 385 "perly.y"
93a17b20
LW
1894{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1895break;
28757baa 1896case 89:
7d07dbc2 1897#line 387 "perly.y"
44a8e56a 1898{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
93a17b20 1899break;
28757baa 1900case 90:
7d07dbc2 1901#line 389 "perly.y"
44a8e56a 1902{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
93a17b20 1903break;
28757baa 1904case 91:
7d07dbc2 1905#line 391 "perly.y"
44a8e56a 1906{ yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
93a17b20 1907break;
28757baa 1908case 92:
7d07dbc2 1909#line 393 "perly.y"
44a8e56a 1910{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 1911break;
28757baa 1912case 93:
7d07dbc2 1913#line 395 "perly.y"
44a8e56a 1914{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 1915break;
28757baa 1916case 94:
7d07dbc2 1917#line 397 "perly.y"
44a8e56a 1918{ yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 1919break;
28757baa 1920case 95:
7d07dbc2 1921#line 399 "perly.y"
44a8e56a 1922{ yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 1923break;
28757baa 1924case 96:
7d07dbc2 1925#line 402 "perly.y"
44a8e56a 1926{ yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
93a17b20 1927break;
28757baa 1928case 97:
7d07dbc2 1929#line 404 "perly.y"
44a8e56a 1930{ yyval.opval = yyvsp[0].opval; }
93a17b20 1931break;
28757baa 1932case 98:
7d07dbc2 1933#line 406 "perly.y"
44a8e56a 1934{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
93a17b20 1935break;
28757baa 1936case 99:
7d07dbc2 1937#line 408 "perly.y"
44a8e56a
PP
1938{ yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1939break;
1940case 100:
7d07dbc2 1941#line 410 "perly.y"
44a8e56a
PP
1942{ yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1943break;
1944case 101:
7d07dbc2 1945#line 412 "perly.y"
463ee0b2
LW
1946{ yyval.opval = newUNOP(OP_POSTINC, 0,
1947 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
93a17b20 1948break;
44a8e56a 1949case 102:
7d07dbc2 1950#line 415 "perly.y"
463ee0b2
LW
1951{ yyval.opval = newUNOP(OP_POSTDEC, 0,
1952 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
93a17b20 1953break;
44a8e56a 1954case 103:
7d07dbc2 1955#line 418 "perly.y"
463ee0b2
LW
1956{ yyval.opval = newUNOP(OP_PREINC, 0,
1957 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
93a17b20 1958break;
44a8e56a 1959case 104:
7d07dbc2 1960#line 421 "perly.y"
463ee0b2
LW
1961{ yyval.opval = newUNOP(OP_PREDEC, 0,
1962 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
93a17b20 1963break;
44a8e56a 1964case 105:
7d07dbc2 1965#line 424 "perly.y"
c07a80fd
PP
1966{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1967break;
44a8e56a 1968case 106:
7d07dbc2 1969#line 426 "perly.y"
c07a80fd 1970{ yyval.opval = sawparens(yyvsp[-1].opval); }
93a17b20 1971break;
44a8e56a 1972case 107:
7d07dbc2 1973#line 428 "perly.y"
c07a80fd 1974{ yyval.opval = sawparens(newNULLLIST()); }
93a17b20 1975break;
44a8e56a 1976case 108:
7d07dbc2 1977#line 430 "perly.y"
c07a80fd 1978{ yyval.opval = newANONLIST(yyvsp[-1].opval); }
93a17b20 1979break;
44a8e56a 1980case 109:
7d07dbc2 1981#line 432 "perly.y"
c07a80fd 1982{ yyval.opval = newANONLIST(Nullop); }
93a17b20 1983break;
44a8e56a 1984case 110:
7d07dbc2 1985#line 434 "perly.y"
c07a80fd 1986{ yyval.opval = newANONHASH(yyvsp[-2].opval); }
93a17b20 1987break;
44a8e56a 1988case 111:
7d07dbc2 1989#line 436 "perly.y"
c07a80fd 1990{ yyval.opval = newANONHASH(Nullop); }
93a17b20 1991break;
44a8e56a 1992case 112:
7d07dbc2 1993#line 438 "perly.y"
c07a80fd 1994{ yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
93a17b20 1995break;
44a8e56a 1996case 113:
7d07dbc2 1997#line 440 "perly.y"
c07a80fd 1998{ yyval.opval = yyvsp[0].opval; }
a0d0e21e 1999break;
44a8e56a 2000case 114:
7d07dbc2 2001#line 442 "perly.y"
c07a80fd 2002{ yyval.opval = newBINOP(OP_GELEM, 0, newGVREF(0,yyvsp[-4].opval), yyvsp[-2].opval); }
93a17b20 2003break;
44a8e56a 2004case 115:
7d07dbc2 2005#line 444 "perly.y"
463ee0b2
LW
2006{ yyval.opval = yyvsp[0].opval; }
2007break;
44a8e56a 2008case 116:
7d07dbc2 2009#line 446 "perly.y"
463ee0b2
LW
2010{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2011break;
44a8e56a 2012case 117:
7d07dbc2 2013#line 448 "perly.y"
93a17b20 2014{ yyval.opval = newBINOP(OP_AELEM, 0,
8990e307 2015 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
93a17b20
LW
2016 scalar(yyvsp[-1].opval));}
2017break;
44a8e56a 2018case 118:
7d07dbc2 2019#line 452 "perly.y"
a0d0e21e 2020{ assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
8990e307 2021 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
463ee0b2
LW
2022 scalar(yyvsp[-1].opval));}
2023break;
44a8e56a 2024case 119:
7d07dbc2 2025#line 456 "perly.y"
93a17b20
LW
2026{ yyval.opval = yyvsp[0].opval; }
2027break;
44a8e56a 2028case 120:
7d07dbc2 2029#line 458 "perly.y"
93a17b20
LW
2030{ yyval.opval = yyvsp[0].opval; }
2031break;
44a8e56a 2032case 121:
7d07dbc2 2033#line 460 "perly.y"
93a17b20
LW
2034{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2035break;
44a8e56a 2036case 122:
7d07dbc2 2037#line 462 "perly.y"
93a17b20
LW
2038{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2039 expect = XOPERATOR; }
2040break;
44a8e56a 2041case 123:
7d07dbc2 2042#line 465 "perly.y"
93a17b20 2043{ yyval.opval = newBINOP(OP_HELEM, 0,
8990e307 2044 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
93a17b20
LW
2045 jmaybe(yyvsp[-2].opval));
2046 expect = XOPERATOR; }
2047break;
44a8e56a 2048case 124:
7d07dbc2 2049#line 470 "perly.y"
a0d0e21e 2050{ assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
8990e307 2051 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
463ee0b2
LW
2052 jmaybe(yyvsp[-2].opval));
2053 expect = XOPERATOR; }
2054break;
44a8e56a 2055case 125:
7d07dbc2 2056#line 475 "perly.y"
93a17b20
LW
2057{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2058break;
44a8e56a 2059case 126:
7d07dbc2 2060#line 477 "perly.y"
93a17b20
LW
2061{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2062break;
44a8e56a 2063case 127:
7d07dbc2 2064#line 479 "perly.y"
79072805
LW
2065{ yyval.opval = prepend_elem(OP_ASLICE,
2066 newOP(OP_PUSHMARK, 0),
79072805 2067 newLISTOP(OP_ASLICE, 0,
93a17b20 2068 list(yyvsp[-1].opval),
a0d0e21e 2069 ref(yyvsp[-3].opval, OP_ASLICE))); }
93a17b20 2070break;
44a8e56a 2071case 128:
7d07dbc2 2072#line 485 "perly.y"
79072805
LW
2073{ yyval.opval = prepend_elem(OP_HSLICE,
2074 newOP(OP_PUSHMARK, 0),
79072805 2075 newLISTOP(OP_HSLICE, 0,
93a17b20 2076 list(yyvsp[-2].opval),
a0d0e21e 2077 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
93a17b20
LW
2078 expect = XOPERATOR; }
2079break;
44a8e56a 2080case 129:
7d07dbc2 2081#line 492 "perly.y"
a0d0e21e
LW
2082{ yyval.opval = yyvsp[0].opval; }
2083break;
44a8e56a 2084case 130:
7d07dbc2 2085#line 494 "perly.y"
c07a80fd 2086{ yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
a0d0e21e 2087break;
44a8e56a 2088case 131:
7d07dbc2 2089#line 496 "perly.y"
a0d0e21e
LW
2090{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2091break;
44a8e56a 2092case 132:
7d07dbc2 2093#line 498 "perly.y"
a0d0e21e 2094{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
4633a7c4 2095 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
a0d0e21e 2096break;
44a8e56a 2097case 133:
7d07dbc2 2098#line 501 "perly.y"
a0d0e21e 2099{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
a5f75d66 2100 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
93a17b20 2101break;
44a8e56a 2102case 134:
7d07dbc2 2103#line 504 "perly.y"
a0d0e21e 2104{ yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
93a17b20 2105break;
44a8e56a 2106case 135:
7d07dbc2 2107#line 506 "perly.y"
a0d0e21e 2108{ yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
93a17b20 2109break;
44a8e56a 2110case 136:
7d07dbc2 2111#line 508 "perly.y"
c07a80fd
PP
2112{ yyval.opval = newUNOP(OP_ENTERSUB,
2113 OPf_SPECIAL|OPf_STACKED,
4633a7c4 2114 prepend_elem(OP_LIST,
c07a80fd
PP
2115 scalar(newCVREF(
2116 (OPpENTERSUB_AMPER<<8),
2117 scalar(yyvsp[-2].opval)
2118 )),Nullop)); dep();}
93a17b20 2119break;
44a8e56a 2120case 137:
7d07dbc2 2121#line 516 "perly.y"
c07a80fd
PP
2122{ yyval.opval = newUNOP(OP_ENTERSUB,
2123 OPf_SPECIAL|OPf_STACKED,
4633a7c4 2124 append_elem(OP_LIST,
a0d0e21e 2125 yyvsp[-1].opval,
c07a80fd
PP
2126 scalar(newCVREF(
2127 (OPpENTERSUB_AMPER<<8),
2128 scalar(yyvsp[-3].opval)
2129 )))); dep();}
93a17b20 2130break;
44a8e56a 2131case 138:
7d07dbc2 2132#line 525 "perly.y"
a0d0e21e 2133{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
4633a7c4 2134 prepend_elem(OP_LIST,
c07a80fd 2135 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
93a17b20 2136break;
44a8e56a 2137case 139:
7d07dbc2 2138#line 529 "perly.y"
a0d0e21e 2139{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
4633a7c4 2140 prepend_elem(OP_LIST,
a0d0e21e 2141 yyvsp[-1].opval,
c07a80fd 2142 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
93a17b20 2143break;
44a8e56a 2144case 140:
7d07dbc2 2145#line 534 "perly.y"
6da72b64
CS
2146{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2147 newCVREF(0, scalar(yyvsp[-3].opval))); }
93a17b20 2148break;
44a8e56a 2149case 141:
7d07dbc2 2150#line 537 "perly.y"
6da72b64
CS
2151{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2152 append_elem(OP_LIST, yyvsp[-1].opval,
2153 newCVREF(0, scalar(yyvsp[-4].opval)))); }
463ee0b2 2154break;
44a8e56a 2155case 142:
7d07dbc2 2156#line 541 "perly.y"
6da72b64
CS
2157{ yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2158 hints |= HINT_BLOCK_SCOPE; }
93a17b20 2159break;
44a8e56a 2160case 143:
7d07dbc2 2161#line 544 "perly.y"
6da72b64 2162{ yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
93a17b20 2163break;
44a8e56a 2164case 144:
7d07dbc2 2165#line 546 "perly.y"
6da72b64 2166{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
93a17b20 2167break;
44a8e56a 2168case 145:
7d07dbc2 2169#line 548 "perly.y"
6da72b64 2170{ yyval.opval = newOP(yyvsp[0].ival, 0); }
c07a80fd 2171break;
44a8e56a 2172case 146:
7d07dbc2 2173#line 550 "perly.y"
6da72b64
CS
2174{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2175break;
2176case 147:
7d07dbc2 2177#line 552 "perly.y"
6da72b64
CS
2178{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2179break;
2180case 148:
7d07dbc2 2181#line 554 "perly.y"
4633a7c4
LW
2182{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2183 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2184break;
6da72b64 2185case 149:
7d07dbc2 2186#line 557 "perly.y"
a0d0e21e 2187{ yyval.opval = newOP(yyvsp[0].ival, 0); }
93a17b20 2188break;
6da72b64 2189case 150:
7d07dbc2 2190#line 559 "perly.y"
a0d0e21e 2191{ yyval.opval = newOP(yyvsp[-2].ival, 0); }
93a17b20 2192break;
6da72b64 2193case 151:
7d07dbc2 2194#line 561 "perly.y"
28757baa 2195{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
4633a7c4
LW
2196 scalar(yyvsp[0].opval)); }
2197break;
6da72b64 2198case 152:
7d07dbc2 2199#line 564 "perly.y"
a0d0e21e 2200{ yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
93a17b20 2201break;
6da72b64 2202case 153:
7d07dbc2 2203#line 566 "perly.y"
a0d0e21e 2204{ yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
93a17b20 2205break;
6da72b64 2206case 154:
7d07dbc2 2207#line 568 "perly.y"
a0d0e21e 2208{ yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
93a17b20 2209break;
6da72b64 2210case 155:
7d07dbc2 2211#line 570 "perly.y"
a0d0e21e 2212{ yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
93a17b20 2213break;
28757baa 2214case 158:
7d07dbc2 2215#line 576 "perly.y"
44a8e56a 2216{ yyval.opval = Nullop; }
93a17b20 2217break;
28757baa 2218case 159:
7d07dbc2 2219#line 578 "perly.y"
44a8e56a 2220{ yyval.opval = yyvsp[0].opval; }
55497cff 2221break;
28757baa 2222case 160:
7d07dbc2 2223#line 582 "perly.y"
6da72b64 2224{ yyval.opval = Nullop; }
55497cff 2225break;
28757baa 2226case 161:
7d07dbc2 2227#line 584 "perly.y"
6da72b64 2228{ yyval.opval = yyvsp[0].opval; }
55497cff 2229break;
28757baa 2230case 162:
7d07dbc2 2231#line 586 "perly.y"
6da72b64 2232{ yyval.opval = yyvsp[-1].opval; }
93a17b20 2233break;
28757baa 2234case 163:
7d07dbc2 2235#line 589 "perly.y"
6da72b64 2236{ yyval.ival = 0; }
93a17b20 2237break;
28757baa 2238case 164:
7d07dbc2 2239#line 590 "perly.y"
6da72b64 2240{ yyval.ival = 1; }
93a17b20 2241break;
28757baa 2242case 165:
7d07dbc2 2243#line 594 "perly.y"
6da72b64 2244{ in_my = 0; yyval.opval = my(yyvsp[0].opval); }
93a17b20 2245break;
28757baa 2246case 166:
7d07dbc2 2247#line 598 "perly.y"
6da72b64 2248{ yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
93a17b20 2249break;
28757baa 2250case 167:
7d07dbc2 2251#line 602 "perly.y"
6da72b64 2252{ yyval.opval = newSVREF(yyvsp[0].opval); }
93a17b20 2253break;
28757baa 2254case 168:
7d07dbc2 2255#line 606 "perly.y"
44a8e56a 2256{ yyval.opval = newAVREF(yyvsp[0].opval); }
93a17b20 2257break;
28757baa 2258case 169:
7d07dbc2 2259#line 610 "perly.y"
6da72b64 2260{ yyval.opval = newHVREF(yyvsp[0].opval); }
93a17b20 2261break;
28757baa 2262case 170:
7d07dbc2 2263#line 614 "perly.y"
6da72b64 2264{ yyval.opval = newAVREF(yyvsp[0].opval); }
c07a80fd 2265break;
28757baa 2266case 171:
7d07dbc2 2267#line 618 "perly.y"
6da72b64 2268{ yyval.opval = newGVREF(0,yyvsp[0].opval); }
44a8e56a
PP
2269break;
2270case 172:
7d07dbc2 2271#line 622 "perly.y"
6da72b64 2272{ yyval.opval = scalar(yyvsp[0].opval); }
44a8e56a
PP
2273break;
2274case 173:
7d07dbc2 2275#line 624 "perly.y"
6da72b64
CS
2276{ yyval.opval = scalar(yyvsp[0].opval); }
2277break;
2278case 174:
7d07dbc2 2279#line 626 "perly.y"
6da72b64
CS
2280{ yyval.opval = scope(yyvsp[0].opval); }
2281break;
2282case 175:
7d07dbc2 2283#line 629 "perly.y"
85e6fe83 2284{ yyval.opval = yyvsp[0].opval; }
93a17b20 2285break;
7d07dbc2 2286#line 2272 "perly.c"
93a17b20
LW
2287 }
2288 yyssp -= yym;
2289 yystate = *yyssp;
2290 yyvsp -= yym;
2291 yym = yylhs[yyn];
2292 if (yystate == 0 && yym == 0)
2293 {
2294#if YYDEBUG
2295 if (yydebug)
760ac839 2296 PerlIO_printf(Perl_debug_log,
ed6116ce
LW
2297 "yydebug: after reduction, shifting from state 0 to state %d\n",
2298 YYFINAL);
93a17b20
LW
2299#endif
2300 yystate = YYFINAL;
2301 *++yyssp = YYFINAL;
2302 *++yyvsp = yyval;
2303 if (yychar < 0)
2304 {
2305 if ((yychar = yylex()) < 0) yychar = 0;
2306#if YYDEBUG
2307 if (yydebug)
2308 {
2309 yys = 0;
2310 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2311 if (!yys) yys = "illegal-symbol";
760ac839 2312 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
93a17b20
LW
2313 YYFINAL, yychar, yys);
2314 }
2315#endif
2316 }
2317 if (yychar == 0) goto yyaccept;
2318 goto yyloop;
2319 }
2320 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2321 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2322 yystate = yytable[yyn];
2323 else
2324 yystate = yydgoto[yym];
2325#if YYDEBUG
2326 if (yydebug)
760ac839 2327 PerlIO_printf(Perl_debug_log,
ed6116ce
LW
2328 "yydebug: after reduction, shifting from state %d to state %d\n",
2329 *yyssp, yystate);
93a17b20
LW
2330#endif
2331 if (yyssp >= yyss + yystacksize - 1)
2332 {
2333 /*
2334 ** reallocate and recover. Note that pointers
2335 ** have to be reset, or bad things will happen
2336 */
2337 int yyps_index = (yyssp - yyss);
2338 int yypv_index = (yyvsp - yyvs);
2339 yystacksize += YYSTACKSIZE;
a0d0e21e
LW
2340 ysave->yyvs = yyvs =
2341 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2342 ysave->yyss = yyss =
2343 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
93a17b20
LW
2344 if (!yyvs || !yyss)
2345 goto yyoverflow;
2346 yyssp = yyss + yyps_index;
2347 yyvsp = yyvs + yypv_index;
2348 }
2349 *++yyssp = yystate;
2350 *++yyvsp = yyval;
2351 goto yyloop;
2352yyoverflow:
2353 yyerror("Out of memory for yacc stack");
2354yyabort:
2355 retval = 1;
2356yyaccept:
93a17b20 2357 return retval;
79072805 2358}