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