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