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