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