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