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