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