2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
7 #define PERL_IN_PERLY_C
10 #define yydebug PL_yydebug
11 #define yynerrs PL_yynerrs
12 #define yyerrflag PL_yyerrflag
13 #define yychar PL_yychar
14 #define yyval PL_yyval
15 #define yylval PL_yylval
17 #define dep() deprecate("\"do\" to call subroutines")
19 static void yydestruct(pTHXo_ void *ptr);
23 static short yylhs[] = { -1,
24 46, 0, 9, 7, 10, 8, 11, 11, 11, 12,
25 12, 12, 12, 25, 25, 25, 25, 25, 25, 25,
26 15, 15, 15, 14, 14, 43, 43, 13, 13, 13,
27 13, 13, 13, 13, 27, 27, 28, 28, 29, 30,
28 31, 32, 33, 45, 45, 1, 1, 1, 1, 3,
29 39, 39, 47, 4, 5, 6, 40, 41, 41, 42,
30 42, 48, 48, 50, 49, 16, 16, 16, 26, 26,
31 26, 37, 37, 37, 37, 37, 37, 37, 37, 51,
32 37, 38, 38, 18, 18, 18, 18, 18, 18, 18,
33 18, 18, 18, 18, 17, 17, 17, 17, 17, 17,
34 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
35 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
36 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
37 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
38 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
39 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
40 17, 17, 34, 34, 35, 35, 35, 2, 2, 44,
41 24, 19, 20, 21, 22, 23, 36, 36, 36, 36,
43 static short yylen[] = { 2,
44 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
45 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
46 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
47 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
48 1, 1, 1, 0, 1, 1, 1, 1, 1, 4,
49 1, 0, 5, 0, 0, 0, 1, 0, 1, 1,
50 1, 3, 2, 0, 7, 3, 3, 1, 2, 3,
51 1, 3, 5, 6, 3, 3, 5, 2, 4, 0,
52 5, 1, 1, 5, 4, 5, 4, 5, 6, 5,
53 4, 5, 4, 3, 3, 3, 3, 3, 3, 3,
54 3, 3, 3, 3, 3, 3, 5, 3, 2, 2,
55 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
56 3, 2, 4, 3, 4, 1, 1, 1, 1, 1,
57 1, 6, 5, 4, 5, 1, 1, 3, 4, 3,
58 2, 2, 4, 5, 4, 5, 1, 2, 2, 1,
59 2, 2, 2, 1, 3, 1, 3, 4, 4, 6,
60 1, 1, 0, 1, 0, 1, 2, 1, 1, 1,
61 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
63 static short yydefred[] = { 1,
64 0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
65 9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
66 64, 14, 4, 161, 0, 0, 136, 0, 156, 0,
67 55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
68 0, 0, 0, 0, 0, 0, 0, 168, 169, 0,
69 0, 0, 0, 0, 0, 0, 0, 0, 12, 0,
70 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
71 0, 0, 0, 128, 130, 0, 0, 0, 0, 162,
72 51, 0, 57, 0, 62, 0, 7, 177, 180, 179,
73 178, 0, 0, 0, 0, 0, 0, 4, 4, 4,
74 4, 4, 4, 0, 0, 0, 0, 0, 151, 0,
75 0, 0, 0, 78, 0, 175, 0, 142, 0, 0,
76 0, 0, 0, 171, 0, 0, 0, 0, 0, 0,
77 0, 0, 122, 0, 0, 0, 172, 173, 174, 176,
78 0, 0, 34, 0, 0, 0, 0, 0, 0, 0,
79 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
80 0, 0, 0, 0, 114, 115, 0, 0, 0, 0,
81 0, 0, 0, 0, 0, 0, 13, 0, 50, 59,
82 0, 0, 0, 76, 0, 0, 80, 0, 0, 0,
83 0, 0, 0, 0, 4, 155, 157, 0, 0, 0,
84 0, 0, 0, 0, 124, 0, 140, 0, 0, 121,
85 27, 0, 0, 19, 0, 0, 0, 0, 66, 0,
86 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
87 0, 0, 0, 0, 82, 0, 0, 83, 0, 0,
88 94, 0, 0, 0, 0, 0, 0, 0, 138, 0,
89 0, 61, 60, 53, 0, 3, 0, 0, 159, 0,
90 125, 0, 42, 0, 43, 0, 0, 0, 0, 170,
91 0, 0, 36, 41, 0, 0, 0, 158, 167, 79,
92 0, 143, 0, 145, 0, 123, 0, 0, 0, 0,
93 91, 0, 0, 0, 0, 93, 87, 0, 85, 0,
94 134, 0, 139, 0, 77, 0, 81, 0, 0, 0,
95 0, 0, 0, 0, 0, 73, 144, 146, 133, 0,
96 0, 0, 92, 86, 0, 90, 88, 135, 84, 65,
97 160, 6, 0, 0, 0, 0, 0, 0, 0, 0,
98 132, 89, 74, 7, 28, 29, 0, 0, 24, 25,
99 0, 32, 0, 0, 0, 22, 0, 0, 0, 31,
100 5, 0, 30, 0, 0, 33, 0, 23,
102 static short yydgoto[] = { 1,
103 9, 66, 10, 18, 96, 17, 87, 344, 90, 333,
104 3, 11, 12, 68, 349, 267, 70, 71, 72, 73,
105 74, 75, 76, 77, 273, 79, 274, 263, 265, 268,
106 276, 264, 266, 114, 200, 92, 80, 239, 82, 84,
107 181, 254, 143, 271, 13, 2, 14, 15, 16, 86,
110 static short yysindex[] = { 0,
111 0, 0, 142, 0, 0, 0, -57, 0, 0, 0,
112 0, 0, 622, 0, 0, 0, -239, -229, -10, 0,
113 0, 0, 0, 0, -24, -24, 0, -5, 0, 2126,
114 0, 0, 6, 28, 44, 57, -32, 2126, 68, 69,
115 72, 999, 943, -24, 1062, 1327, -198, 0, 0, -24,
116 2126, 2126, 2126, 2126, 2126, 2126, 1233, 1383, 0, 2126,
117 2126, -24, -24, -24, -24, 2126, -217, 0, 342, 827,
118 -20, -80, -70, 0, 0, -60, 73, 61, 75, 0,
119 0, -1, 0, -137, 0, -130, 0, 0, 0, 0,
120 0, 2126, 88, 2126, -189, -1, -137, 0, 0, 0,
121 0, 0, 0, 89, 827, 99, 1444, 943, 0, -189,
122 0, -80, 75, 0, 2126, 0, 90, 0, -189, -16,
123 27, -58, 2126, 0, 75, 218, 218, 218, -169, -169,
124 63, -22, 0, -63, 218, 218, 0, 0, 0, 0,
125 -189, -1, 0, 2126, 2126, 2126, 2126, 2126, 2126, 2126,
126 2126, 2126, 2126, 2126, 2126, 2126, 2126, 2126, 2126, 2126,
127 2126, 2126, 2126, 2126, 0, 0, 74, 2126, 1535, 2126,
128 2126, 2126, 2126, 2126, 2126, 1725, 0, 2126, 0, 0,
129 -44, -91, 256, 0, 2126, 428, 0, -1, 2126, 2126,
130 2126, 2126, 131, 1800, 0, 0, 0, -12, 36, 130,
131 2126, 75, 1861, 1936, 0, 48, 0, 2126, 87, 0,
132 0, -272, -272, 0, -272, -272, -272, -119, 0, 1565,
133 -189, 1088, 375, 160, 827, 715, 389, 771, 684, 1026,
134 1242, 218, 218, 2126, 0, 2006, 2126, 0, 143, -56,
135 0, 1, 51, -49, 56, 43, 58, 45, 0, 7,
136 827, 0, 0, 0, 2126, 0, 141, 2126, 0, 2126,
137 0, -272, 0, 144, 0, 145, -272, 151, 158, 0,
138 162, 342, 0, 0, 166, 150, 2126, 0, 0, 0,
139 9, 0, 16, 0, 19, 0, 60, 2126, 2126, 47,
140 0, 21, 94, 2126, 78, 0, 0, 91, 0, 95,
141 0, 101, 0, 153, 0, 268, 0, 92, 92, 92,
142 92, 2126, 92, 2126, 188, 0, 0, 0, 0, 96,
143 1152, 109, 0, 0, 196, 0, 0, 0, 0, 0,
144 0, 0, -217, -217, -204, -204, 198, -217, 185, 92,
145 0, 0, 0, 0, 0, 0, 92, 211, 0, 0,
146 92, 0, 1800, -217, 319, 0, 2126, -217, 216, 0,
147 0, 228, 0, 92, 92, 0, -204, 0,
149 static short yyrindex[] = { 0,
150 0, 0, 225, 0, 0, 0, 0, 0, 0, 0,
151 0, 0, 0, 0, 0, 0, 155, 0, 0, 0,
152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
153 0, 0, 0, 0, 0, 0, 0, 23, 2214, 0,
154 0, 2264, 2308, 0, 0, 0, 0, 0, 0, 0,
155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
156 0, 0, 0, 0, 0, 0, 105, 0, -18, 1030,
157 2383, 2433, 2561, 0, 0, 2636, 2686, 0, 918, 0,
158 0, 0, 0, -25, 0, 0, 0, 0, 0, 0,
159 0, 2308, 0, 0, 3879, 0, 165, 0, 0, 0,
160 0, 0, 0, 0, 1356, 0, 0, 232, 0, 3936,
161 502, 561, 3047, 0, 0, 0, 2730, 0, 3987, 2433,
162 0, 0, 2308, 0, 3096, 3236, 3300, 3436, 1656, 3186,
163 2780, 0, 0, 0, 3487, 3550, 0, 0, 0, 0,
164 4025, 0, 0, 0, 0, 0, 0, 0, 0, 0,
165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
167 0, 0, 0, 0, 0, 0, 0, 2828, 0, 0,
168 0, 0, 887, 0, 232, 0, 0, 0, 242, 0,
169 0, 0, 0, 226, 0, 0, 0, 0, 249, 0,
170 0, 3142, 0, 0, 0, 0, 0, 0, 2889, 0,
171 0, -4, 10, 0, 11, 17, 24, 363, 0, -27,
172 664, 3890, 3686, 3737, 1507, 0, 4291, 4188, 4155, 4035,
173 3842, 3586, 3623, 0, 0, 0, 0, 0, 2983, 0,
174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
175 1640, 0, 0, 0, 233, 0, 0, 0, 0, 2308,
176 0, 37, 0, 0, 0, 0, 262, 0, 0, 0,
177 0, 52, 0, 0, 0, 0, 0, 0, 0, 0,
178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
179 0, 0, 0, 232, 0, 0, 0, 0, 0, 0,
180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
181 0, 0, 0, 264, 0, 0, 0, 0, 0, 0,
182 -19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
183 0, 0, 105, 105, 168, 168, 0, 105, 0, 0,
184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
185 0, 0, 298, 105, 887, 0, 0, 105, 0, 0,
186 0, 0, 0, 0, 0, 0, 168, 0,
188 static short yygindex[] = { 0,
189 0, 0, 0, 339, 320, 0, -11, 0, 913, 360,
190 -78, 0, 0, 0, -320, -13, 4321, 0, 1367, 0,
191 0, 0, 0, 0, 340, -38, 0, 0, 215, -138,
192 14, 97, 190, -85, -179, 583, 0, 0, 0, 0,
193 286, 0, -140, 0, 0, 0, 0, 0, 0, 0,
196 #define YYTABLESIZE 4610
197 static short yytable[] = { 69,
198 206, 20, 295, 62, 113, 257, 184, 103, 183, 298,
199 172, 62, 125, 104, 252, 350, 104, 81, 209, 169,
200 174, 107, 15, 204, 107, 149, 150, 83, 278, 210,
201 104, 104, 122, 58, 94, 104, 18, 207, 107, 107,
202 15, 296, 171, 132, 134, 98, 368, 303, 85, 316,
203 39, 16, 173, 113, 18, 275, 317, 17, 123, 318,
204 142, 323, 175, 147, 20, 104, 147, 99, 39, 16,
205 170, 347, 348, 107, 172, 17, 202, 38, 23, 279,
206 147, 147, 20, 100, 113, 147, 189, 190, 191, 192,
207 193, 194, 40, 198, 199, 38, 101, 58, 23, 154,
208 155, 300, 168, 302, 26, 322, 171, 106, 107, 62,
209 15, 108, 176, 236, 325, 147, 162, 163, 178, 177,
210 164, 23, 180, 165, 166, 167, 182, 185, 195, 203,
211 212, 213, 215, 216, 217, 218, 219, 26, 315, 196,
212 26, 26, 26, 297, 26, 167, 26, 26, 299, 26,
213 301, 205, 319, 208, 240, 242, 243, 244, 245, 246,
214 247, 248, 250, 26, 237, 255, 62, 21, 26, 304,
215 280, 199, 286, 337, 307, 262, 213, 288, 213, 150,
216 272, 305, 294, 277, 308, 309, 324, 281, 341, 283,
217 285, 310, 345, 346, 287, 26, 234, 352, 311, 19,
218 21, 312, 326, 21, 21, 21, 313, 21, 314, 21,
219 21, 330, 21, 360, 332, 327, 113, 363, 362, 328,
220 290, 113, 292, 293, 2, 329, 21, 26, 340, 26,
221 26, 21, 88, 342, 149, 150, 343, 89, 351, 149,
222 150, 149, 150, 353, 104, 104, 104, 104, 149, 150,
223 357, 104, 107, 107, 107, 107, 364, 44, 21, 107,
224 44, 44, 44, 102, 44, 355, 44, 44, 365, 44,
225 104, 104, 165, 104, 320, 149, 150, 52, 107, 107,
226 199, 107, 37, 44, 35, 149, 150, 58, 44, 166,
227 21, 163, 21, 21, 147, 147, 147, 147, 149, 150,
228 262, 147, 40, 147, 149, 150, 149, 150, 331, 147,
229 147, 147, 147, 149, 150, 44, 149, 150, 149, 150,
230 147, 147, 37, 147, 147, 147, 147, 147, 147, 147,
231 157, 235, 147, 149, 150, 147, 147, 147, 35, 69,
232 149, 150, 149, 150, 149, 150, 21, 44, 149, 150,
233 44, 97, 78, 149, 150, 149, 150, 149, 150, 214,
234 26, 26, 26, 26, 26, 26, 359, 26, 26, 26,
235 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
236 256, 269, 188, 26, 26, 0, 26, 26, 26, 26,
237 26, 149, 150, 149, 150, 26, 26, 26, 26, 26,
238 26, 0, 0, 67, 26, 0, 67, 4, 5, 6,
239 339, 7, 8, 26, 0, 26, 26, 0, 0, 0,
240 0, 67, 0, 21, 21, 21, 21, 21, 21, 0,
241 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
242 21, 21, 21, 361, 0, 0, 21, 21, 154, 21,
243 21, 21, 21, 21, 0, 67, 0, 0, 21, 21,
244 21, 21, 21, 21, 0, 0, 163, 21, 259, 164,
245 0, 258, 165, 166, 167, 0, 21, 0, 21, 21,
246 44, 44, 44, 44, 44, 44, 0, 44, 44, 44,
247 157, 0, 0, 44, 0, 0, 44, 44, 44, 44,
248 0, 0, 0, 44, 44, 0, 44, 44, 44, 44,
249 44, 0, 0, 0, 0, 44, 44, 44, 44, 44,
250 44, 4, 5, 6, 44, 7, 8, 164, 0, 0,
251 165, 166, 167, 44, 177, 44, 44, 177, 177, 177,
252 0, 177, 161, 177, 177, 161, 177, 0, 151, 0,
253 0, 0, 0, 0, 152, 153, 154, 155, 0, 161,
254 161, 0, 0, 0, 161, 177, 0, 0, 156, 158,
255 159, 160, 161, 162, 163, 0, 0, 164, 0, 0,
256 165, 166, 167, 0, 4, 5, 6, 0, 7, 8,
257 0, 0, 177, 178, 161, 0, 178, 178, 178, 0,
258 178, 126, 178, 178, 126, 178, 0, 0, 93, 0,
259 0, 0, 0, 144, 145, 146, 147, 0, 126, 126,
260 148, 0, 0, 126, 178, 115, 116, 177, 0, 0,
261 0, 0, 124, 0, 67, 67, 67, 67, 0, 149,
262 150, 67, 0, 0, 137, 138, 139, 140, 0, 0,
263 0, 0, 0, 126, 52, 0, 0, 62, 64, 50,
264 67, 57, 0, 65, 61, 0, 60, 0, 334, 335,
265 336, 0, 338, 0, 0, 152, 153, 154, 155, 0,
266 59, 163, 0, 0, 164, 63, 178, 165, 166, 167,
267 201, 159, 160, 161, 162, 163, 0, 0, 164, 354,
268 0, 165, 166, 167, 100, 0, 356, 100, 151, 0,
269 358, 0, 58, 0, 152, 153, 154, 155, 0, 0,
270 0, 100, 100, 366, 367, 0, 100, 0, 156, 158,
271 159, 160, 161, 162, 163, 0, 0, 164, 0, 0,
272 165, 166, 167, 0, 23, 0, 0, 53, 0, 0,
273 0, 0, 0, 0, 0, 0, 100, 0, 177, 177,
274 177, 177, 177, 0, 177, 177, 177, 0, 0, 0,
275 177, 0, 289, 161, 161, 161, 161, 157, 0, 0,
276 161, 177, 161, 177, 177, 177, 177, 177, 161, 161,
277 161, 161, 177, 177, 177, 177, 177, 177, 0, 161,
278 161, 177, 161, 161, 161, 161, 161, 161, 161, 0,
279 177, 161, 177, 177, 161, 161, 161, 178, 178, 178,
280 178, 178, 0, 178, 178, 178, 0, 0, 0, 178,
281 0, 0, 126, 126, 126, 126, 0, 0, 0, 126,
282 178, 126, 178, 178, 178, 178, 178, 126, 126, 126,
283 126, 178, 178, 178, 178, 178, 178, 0, 126, 126,
284 178, 126, 126, 126, 126, 126, 126, 126, 0, 178,
285 126, 178, 178, 126, 126, 126, 0, 22, 24, 25,
286 26, 27, 28, 0, 29, 30, 31, 0, 0, 157,
287 32, 0, 0, 33, 34, 35, 36, 0, 0, 0,
288 37, 38, 0, 39, 40, 41, 42, 43, 0, 0,
289 0, 0, 44, 45, 46, 47, 48, 49, 0, 44,
290 0, 51, 44, 44, 44, 67, 44, 0, 44, 44,
291 54, 44, 55, 56, 0, 100, 100, 100, 100, 0,
292 0, 0, 100, 0, 100, 44, 0, 0, 0, 0,
293 44, 100, 0, 0, 109, 0, 0, 118, 68, 0,
294 0, 100, 100, 0, 100, 100, 100, 100, 100, 0,
295 152, 153, 154, 155, 0, 52, 68, 44, 62, 64,
296 50, 0, 57, 0, 65, 61, 0, 60, 161, 162,
297 163, 0, 0, 164, 179, 151, 165, 166, 167, 0,
298 0, 152, 153, 154, 155, 0, 63, 0, 187, 44,
299 68, 0, 44, 0, 0, 156, 158, 159, 160, 161,
300 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
301 0, 52, 0, 58, 62, 64, 50, 0, 57, 0,
302 65, 61, 0, 60, 0, 0, 0, 0, 0, 0,
303 0, 0, 0, 0, 211, 0, 0, 152, 153, 154,
304 155, 0, 63, 0, 0, 23, 0, 0, 53, 0,
305 71, 0, 0, 71, 160, 161, 162, 163, 0, 0,
306 164, 0, 0, 165, 166, 167, 0, 71, 71, 58,
307 0, 0, 0, 253, 52, 0, 0, 62, 64, 50,
308 261, 57, 0, 65, 61, 0, 60, 151, 0, 0,
309 0, 0, 0, 152, 153, 154, 155, 0, 0, 0,
310 0, 23, 71, 0, 53, 63, 0, 156, 158, 159,
311 160, 161, 162, 163, 0, 0, 164, 0, 0, 165,
312 166, 167, 44, 44, 44, 44, 44, 44, 0, 44,
313 44, 44, 58, 0, 0, 44, 0, 0, 44, 44,
314 44, 44, 0, 0, 0, 44, 44, 0, 44, 44,
315 44, 44, 44, 0, 0, 0, 0, 44, 44, 44,
316 44, 44, 44, 0, 23, 0, 44, 53, 0, 68,
317 68, 68, 68, 0, 0, 44, 68, 44, 44, 111,
318 25, 26, 27, 28, 89, 29, 30, 31, 0, 0,
319 0, 32, 0, 0, 157, 68, 68, 0, 0, 0,
320 0, 0, 38, 0, 39, 40, 41, 42, 43, 0,
321 0, 0, 0, 44, 45, 46, 47, 48, 49, 0,
322 0, 0, 51, 0, 0, 0, 0, 0, 0, 0,
323 0, 54, 0, 55, 56, 24, 25, 26, 27, 28,
324 0, 29, 30, 31, 0, 52, 0, 32, 62, 64,
325 50, 0, 57, 131, 65, 61, 0, 60, 38, 0,
326 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
327 45, 46, 47, 48, 49, 0, 63, 0, 51, 0,
328 0, 71, 71, 71, 71, 0, 0, 54, 71, 55,
329 56, 0, 152, 153, 154, 155, 0, 0, 117, 25,
330 26, 27, 28, 58, 29, 30, 31, 71, 71, 0,
331 32, 162, 163, 0, 0, 164, 0, 0, 165, 166,
332 167, 38, 0, 39, 40, 41, 42, 43, 0, 0,
333 0, 0, 44, 45, 46, 47, 48, 49, 53, 52,
334 0, 51, 62, 64, 50, 0, 57, 0, 65, 61,
335 54, 60, 55, 56, 152, 0, 154, 155, 0, 0,
336 0, 0, 0, 0, 0, 121, 0, 0, 0, 0,
337 63, 91, 91, 162, 163, 0, 148, 164, 0, 148,
338 165, 166, 167, 104, 0, 0, 0, 0, 0, 112,
339 91, 120, 0, 148, 148, 52, 91, 58, 62, 64,
340 50, 0, 57, 0, 65, 61, 0, 60, 91, 91,
341 91, 91, 151, 0, 0, 0, 0, 0, 152, 153,
342 154, 155, 0, 0, 0, 0, 63, 0, 148, 0,
343 0, 0, 53, 158, 159, 160, 161, 162, 163, 0,
344 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
345 0, 0, 0, 58, 112, 133, 52, 0, 0, 62,
346 64, 50, 0, 57, 197, 65, 61, 0, 60, 24,
347 25, 26, 27, 28, 0, 29, 30, 31, 0, 0,
348 0, 32, 0, 0, 0, 0, 0, 63, 53, 0,
349 0, 0, 38, 0, 39, 40, 41, 42, 43, 0,
350 0, 0, 0, 44, 45, 46, 47, 48, 49, 0,
351 154, 155, 51, 238, 58, 0, 0, 0, 0, 0,
352 0, 54, 0, 55, 56, 0, 0, 95, 163, 0,
353 95, 164, 0, 0, 165, 166, 167, 0, 0, 270,
354 0, 0, 0, 0, 95, 95, 0, 52, 0, 53,
355 62, 64, 50, 0, 57, 241, 65, 61, 0, 60,
356 0, 0, 0, 24, 25, 26, 27, 28, 0, 29,
357 30, 31, 0, 0, 0, 32, 0, 0, 63, 95,
358 0, 0, 0, 0, 0, 0, 38, 0, 39, 40,
359 41, 42, 43, 0, 0, 0, 0, 44, 45, 46,
360 47, 48, 49, 0, 0, 58, 51, 148, 148, 148,
361 148, 0, 0, 0, 148, 54, 0, 55, 56, 24,
362 25, 26, 27, 28, 0, 29, 30, 31, 0, 0,
363 0, 32, 0, 148, 148, 0, 0, 0, 0, 0,
364 53, 0, 38, 0, 39, 40, 41, 42, 43, 0,
365 0, 0, 0, 44, 45, 46, 47, 48, 49, 0,
366 70, 0, 51, 70, 0, 0, 0, 0, 0, 0,
367 0, 54, 0, 55, 56, 0, 116, 70, 70, 116,
368 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
369 0, 0, 32, 116, 116, 0, 0, 0, 116, 0,
370 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
371 0, 0, 70, 0, 44, 45, 46, 47, 48, 49,
372 0, 0, 0, 51, 0, 0, 0, 0, 116, 0,
373 0, 0, 54, 0, 55, 56, 0, 52, 0, 0,
374 62, 64, 50, 0, 57, 249, 65, 61, 0, 60,
375 0, 0, 0, 0, 0, 0, 0, 0, 95, 95,
376 95, 95, 0, 0, 0, 95, 0, 0, 63, 0,
377 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
378 0, 0, 0, 32, 95, 95, 0, 0, 0, 0,
379 0, 0, 0, 0, 38, 58, 39, 40, 41, 42,
380 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
381 49, 0, 52, 0, 51, 62, 64, 50, 0, 57,
382 0, 65, 61, 54, 60, 55, 56, 0, 0, 0,
383 53, 152, 153, 154, 155, 0, 0, 0, 0, 0,
384 0, 0, 0, 63, 0, 0, 158, 159, 160, 161,
385 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
387 58, 0, 0, 52, 0, 0, 62, 64, 50, 0,
388 57, 282, 65, 61, 0, 60, 0, 0, 0, 0,
389 0, 70, 70, 70, 70, 0, 0, 0, 70, 0,
390 0, 0, 0, 0, 63, 53, 0, 116, 116, 116,
391 116, 0, 0, 0, 116, 0, 116, 70, 70, 0,
392 0, 0, 116, 116, 116, 116, 0, 0, 0, 0,
393 0, 58, 0, 116, 116, 0, 116, 116, 116, 116,
394 116, 116, 116, 0, 0, 116, 0, 0, 52, 0,
395 0, 62, 64, 50, 0, 57, 284, 65, 61, 0,
396 60, 24, 25, 26, 27, 28, 53, 29, 30, 31,
397 0, 0, 0, 32, 0, 0, 0, 0, 0, 63,
398 0, 0, 0, 0, 38, 0, 39, 40, 41, 42,
399 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
400 49, 0, 0, 0, 51, 0, 58, 0, 0, 0,
401 0, 0, 0, 54, 0, 55, 56, 0, 52, 0,
402 0, 62, 64, 50, 0, 57, 291, 65, 61, 0,
403 60, 0, 0, 0, 0, 22, 24, 25, 26, 27,
404 28, 53, 29, 30, 31, 0, 0, 0, 32, 63,
405 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
406 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
407 44, 45, 46, 47, 48, 49, 58, 0, 0, 51,
408 0, 0, 0, 0, 0, 0, 0, 0, 54, 0,
409 55, 56, 0, 0, 0, 0, 0, 24, 25, 26,
410 27, 28, 0, 29, 30, 31, 0, 0, 0, 32,
411 0, 53, 0, 0, 0, 0, 0, 0, 0, 0,
412 38, 0, 39, 40, 41, 42, 43, 0, 0, 0,
413 0, 44, 45, 46, 47, 48, 49, 0, 52, 0,
414 51, 62, 64, 50, 0, 57, 0, 65, 61, 54,
415 60, 55, 56, 0, 0, 0, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
417 0, 0, 24, 25, 26, 27, 28, 0, 29, 30,
418 31, 0, 0, 0, 32, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 38, 58, 39, 40, 41,
420 42, 43, 0, 0, 0, 0, 44, 45, 46, 47,
421 48, 49, 0, 0, 0, 51, 0, 0, 0, 0,
422 0, 0, 0, 0, 54, 0, 55, 56, 0, 0,
423 0, 53, 0, 0, 154, 0, 0, 154, 0, 0,
424 0, 0, 24, 25, 26, 27, 28, 0, 29, 30,
425 31, 154, 154, 0, 32, 0, 154, 0, 0, 0,
426 0, 0, 0, 0, 0, 38, 0, 39, 40, 41,
427 42, 43, 0, 0, 0, 0, 44, 45, 46, 47,
428 48, 49, 0, 0, 150, 51, 154, 150, 0, 0,
429 0, 0, 0, 0, 54, 0, 55, 56, 0, 0,
430 0, 150, 150, 0, 0, 0, 150, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 163, 0,
433 0, 163, 0, 0, 0, 0, 150, 0, 0, 0,
434 0, 0, 0, 0, 0, 163, 163, 0, 0, 0,
435 163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 24, 25, 26, 27, 28, 0, 29, 30,
437 31, 0, 0, 0, 32, 0, 0, 0, 0, 0,
438 163, 0, 0, 0, 0, 38, 0, 39, 40, 41,
439 42, 43, 0, 0, 0, 0, 44, 45, 46, 47,
440 48, 49, 0, 131, 0, 51, 131, 0, 0, 0,
441 0, 0, 0, 0, 54, 0, 55, 56, 0, 0,
442 131, 131, 0, 0, 0, 131, 0, 0, 0, 0,
443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
445 0, 0, 0, 126, 0, 131, 126, 0, 0, 0,
446 0, 0, 0, 0, 0, 154, 154, 154, 154, 0,
447 126, 126, 154, 0, 154, 126, 0, 0, 0, 0,
448 154, 154, 154, 154, 0, 0, 0, 0, 0, 0,
449 0, 154, 154, 0, 154, 154, 154, 154, 154, 154,
450 154, 0, 0, 154, 0, 126, 154, 154, 154, 0,
451 0, 0, 0, 0, 0, 150, 150, 150, 150, 0,
452 0, 0, 150, 0, 150, 0, 0, 0, 0, 0,
453 150, 150, 150, 150, 0, 0, 0, 0, 0, 0,
454 0, 150, 150, 0, 150, 150, 150, 150, 150, 150,
455 150, 0, 0, 150, 0, 0, 150, 150, 150, 163,
456 163, 163, 163, 0, 0, 0, 163, 0, 163, 0,
457 0, 0, 0, 0, 163, 163, 163, 163, 0, 0,
458 0, 129, 0, 0, 129, 163, 163, 0, 163, 163,
459 163, 163, 163, 163, 163, 0, 0, 163, 129, 129,
460 163, 163, 163, 129, 0, 0, 0, 0, 0, 0,
461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463 0, 0, 0, 129, 131, 131, 131, 131, 0, 0,
464 0, 131, 0, 131, 0, 0, 0, 0, 0, 131,
465 131, 131, 131, 0, 0, 0, 127, 0, 0, 127,
466 131, 131, 0, 131, 131, 131, 131, 131, 131, 131,
467 0, 0, 131, 127, 127, 131, 131, 131, 127, 0,
468 0, 0, 0, 0, 126, 126, 126, 126, 0, 0,
469 0, 126, 0, 126, 0, 0, 0, 0, 0, 126,
470 126, 126, 126, 0, 0, 0, 137, 0, 127, 137,
471 126, 126, 0, 126, 126, 126, 126, 126, 126, 126,
472 0, 0, 126, 137, 137, 126, 126, 126, 137, 0,
473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
475 161, 0, 0, 161, 0, 0, 0, 0, 137, 0,
476 0, 0, 0, 0, 0, 0, 0, 161, 161, 0,
477 0, 0, 161, 0, 0, 0, 0, 0, 0, 0,
478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
480 120, 0, 161, 120, 0, 0, 0, 0, 0, 0,
481 0, 0, 129, 129, 129, 129, 0, 120, 120, 129,
482 0, 129, 120, 0, 0, 0, 0, 129, 129, 129,
483 129, 0, 0, 0, 0, 0, 0, 0, 129, 129,
484 0, 129, 129, 129, 129, 129, 129, 129, 69, 0,
485 129, 69, 120, 129, 129, 129, 0, 0, 0, 0,
486 0, 0, 0, 0, 0, 69, 69, 0, 0, 0,
487 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
488 0, 0, 0, 0, 0, 0, 0, 127, 127, 127,
489 127, 0, 0, 0, 127, 0, 127, 0, 0, 0,
490 69, 0, 127, 127, 127, 127, 0, 0, 0, 119,
491 0, 0, 119, 127, 127, 0, 127, 127, 127, 127,
492 127, 127, 127, 0, 0, 127, 119, 119, 127, 127,
493 127, 119, 0, 0, 0, 0, 0, 137, 137, 137,
494 137, 0, 0, 0, 137, 0, 137, 0, 0, 0,
495 0, 0, 137, 137, 137, 137, 0, 0, 0, 0,
496 0, 119, 0, 137, 137, 0, 137, 137, 137, 137,
497 137, 137, 137, 0, 0, 137, 0, 0, 137, 137,
498 137, 161, 161, 161, 161, 0, 0, 0, 161, 0,
499 161, 0, 0, 0, 0, 0, 161, 161, 161, 161,
500 0, 0, 0, 75, 0, 0, 75, 161, 161, 0,
501 161, 161, 161, 161, 161, 161, 161, 0, 0, 161,
502 75, 75, 161, 161, 161, 75, 0, 0, 0, 0,
503 0, 120, 120, 120, 120, 0, 0, 0, 120, 0,
504 120, 0, 0, 0, 0, 0, 120, 120, 120, 120,
505 0, 0, 0, 0, 0, 75, 0, 120, 120, 0,
506 120, 120, 120, 120, 120, 120, 120, 164, 0, 120,
507 0, 0, 120, 120, 120, 0, 0, 0, 0, 69,
508 69, 69, 69, 0, 164, 164, 69, 0, 69, 164,
509 0, 0, 0, 0, 69, 69, 69, 69, 0, 0,
510 0, 0, 0, 0, 0, 69, 69, 0, 69, 69,
511 69, 69, 69, 69, 69, 0, 149, 69, 0, 164,
512 69, 69, 69, 0, 0, 0, 0, 0, 0, 0,
513 0, 0, 0, 149, 149, 0, 0, 0, 149, 0,
514 119, 119, 119, 119, 0, 0, 0, 119, 0, 119,
515 0, 0, 0, 0, 0, 119, 119, 119, 119, 0,
516 0, 0, 72, 0, 0, 0, 119, 119, 149, 119,
517 119, 119, 119, 119, 119, 119, 0, 0, 119, 72,
518 72, 119, 119, 119, 72, 0, 0, 0, 0, 0,
519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
520 0, 0, 0, 0, 0, 0, 117, 0, 0, 117,
521 0, 0, 0, 0, 72, 0, 0, 0, 0, 0,
522 0, 0, 0, 117, 117, 0, 0, 0, 117, 0,
523 0, 0, 0, 0, 75, 75, 75, 75, 0, 0,
524 0, 75, 0, 75, 0, 0, 0, 0, 0, 75,
525 75, 75, 75, 0, 0, 0, 111, 0, 117, 111,
526 75, 75, 0, 75, 75, 75, 75, 75, 75, 75,
527 0, 0, 75, 111, 111, 75, 75, 75, 111, 0,
528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
529 0, 0, 0, 0, 0, 0, 0, 0, 164, 164,
530 164, 164, 0, 0, 0, 164, 0, 164, 111, 0,
531 0, 0, 0, 164, 164, 164, 164, 0, 0, 0,
532 112, 0, 0, 112, 164, 164, 0, 164, 164, 164,
533 164, 164, 164, 164, 0, 0, 164, 112, 112, 164,
534 164, 164, 112, 0, 0, 0, 0, 149, 149, 149,
535 149, 0, 0, 0, 149, 0, 149, 0, 0, 0,
536 0, 0, 149, 149, 149, 149, 0, 0, 0, 0,
537 0, 0, 112, 149, 149, 0, 149, 149, 149, 149,
538 149, 149, 149, 0, 0, 149, 0, 0, 149, 149,
539 149, 0, 0, 72, 72, 72, 72, 0, 0, 0,
540 72, 0, 72, 0, 0, 0, 0, 0, 72, 72,
541 72, 72, 0, 0, 0, 0, 0, 0, 0, 72,
542 72, 0, 72, 72, 72, 72, 72, 72, 72, 0,
543 0, 72, 0, 0, 72, 72, 72, 117, 117, 117,
544 117, 0, 0, 0, 117, 0, 117, 0, 0, 0,
545 0, 0, 117, 117, 117, 117, 113, 0, 0, 113,
546 0, 0, 0, 117, 117, 0, 117, 117, 117, 117,
547 117, 117, 117, 113, 113, 117, 0, 0, 113, 0,
548 0, 0, 0, 0, 0, 0, 0, 111, 111, 111,
549 111, 0, 0, 0, 111, 0, 111, 0, 0, 0,
550 0, 0, 111, 111, 111, 111, 0, 109, 113, 0,
551 109, 0, 0, 111, 111, 0, 111, 111, 111, 111,
552 111, 111, 111, 0, 109, 109, 0, 0, 0, 109,
553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
555 0, 112, 112, 112, 112, 0, 0, 0, 112, 109,
556 112, 0, 0, 0, 0, 0, 112, 112, 112, 112,
557 110, 0, 0, 110, 0, 0, 0, 112, 112, 0,
558 112, 112, 112, 112, 112, 112, 112, 110, 110, 0,
559 0, 0, 110, 0, 0, 0, 0, 0, 0, 0,
560 0, 0, 0, 0, 0, 0, 108, 0, 0, 108,
561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
562 0, 0, 110, 108, 108, 0, 0, 0, 108, 0,
563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
564 0, 0, 0, 96, 0, 0, 96, 0, 0, 0,
565 0, 0, 0, 0, 0, 0, 0, 0, 108, 0,
566 96, 96, 0, 0, 0, 96, 0, 0, 0, 0,
567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
568 0, 0, 0, 0, 0, 0, 0, 113, 113, 113,
569 113, 0, 0, 0, 113, 96, 113, 0, 0, 0,
570 0, 0, 113, 113, 113, 113, 97, 0, 0, 97,
571 0, 0, 0, 113, 113, 0, 113, 113, 113, 113,
572 113, 113, 113, 97, 97, 0, 0, 0, 97, 0,
573 0, 0, 0, 0, 0, 0, 0, 0, 109, 109,
574 109, 109, 0, 0, 0, 109, 0, 109, 0, 0,
575 0, 0, 0, 109, 109, 109, 109, 98, 97, 0,
576 98, 0, 0, 0, 109, 109, 0, 109, 109, 109,
577 109, 109, 109, 109, 98, 98, 0, 0, 0, 98,
578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
580 0, 110, 110, 110, 110, 0, 0, 0, 110, 98,
581 110, 0, 0, 0, 0, 0, 110, 110, 110, 110,
582 0, 0, 0, 0, 0, 0, 0, 110, 110, 0,
583 110, 110, 110, 110, 110, 110, 110, 108, 108, 108,
584 108, 0, 0, 0, 108, 0, 108, 0, 0, 0,
585 0, 0, 108, 108, 108, 108, 0, 0, 0, 0,
586 0, 0, 99, 108, 108, 99, 108, 108, 108, 108,
587 108, 108, 108, 0, 96, 96, 96, 96, 0, 99,
588 99, 96, 0, 96, 99, 0, 0, 0, 0, 96,
589 96, 96, 96, 0, 0, 0, 0, 0, 0, 153,
590 96, 96, 153, 96, 96, 96, 96, 96, 96, 96,
591 101, 0, 0, 101, 99, 0, 153, 153, 0, 0,
592 0, 153, 0, 0, 0, 0, 0, 101, 101, 0,
593 0, 0, 101, 0, 0, 0, 0, 97, 97, 97,
594 97, 0, 0, 0, 97, 0, 97, 0, 0, 0,
595 0, 153, 97, 97, 97, 97, 152, 0, 0, 152,
596 0, 0, 101, 97, 97, 0, 97, 97, 97, 97,
597 97, 97, 0, 152, 152, 0, 0, 0, 152, 0,
598 0, 0, 0, 0, 0, 0, 0, 0, 98, 98,
599 98, 98, 0, 0, 0, 98, 0, 98, 0, 0,
600 0, 0, 0, 98, 98, 0, 98, 141, 152, 0,
601 141, 0, 0, 0, 98, 98, 0, 98, 98, 98,
602 98, 98, 98, 0, 141, 141, 0, 0, 0, 141,
603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
604 0, 0, 0, 0, 0, 118, 0, 0, 118, 0,
605 0, 0, 0, 0, 0, 102, 0, 0, 102, 141,
606 0, 0, 118, 118, 0, 0, 0, 118, 0, 0,
607 0, 0, 102, 102, 0, 0, 0, 102, 0, 0,
608 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
609 0, 0, 0, 99, 99, 99, 99, 118, 0, 0,
610 99, 0, 99, 0, 0, 0, 0, 102, 99, 99,
611 0, 0, 0, 0, 0, 0, 0, 0, 0, 99,
612 99, 0, 99, 99, 99, 99, 99, 99, 0, 0,
613 153, 153, 153, 153, 0, 0, 0, 153, 0, 153,
614 0, 101, 101, 101, 101, 153, 153, 0, 101, 0,
615 101, 0, 0, 0, 0, 0, 153, 153, 0, 153,
616 153, 153, 153, 153, 0, 0, 0, 101, 101, 0,
617 101, 101, 101, 101, 101, 103, 0, 0, 103, 0,
618 0, 0, 0, 0, 0, 0, 0, 152, 152, 152,
619 152, 0, 103, 103, 152, 0, 152, 103, 0, 0,
620 0, 0, 152, 152, 0, 0, 0, 0, 105, 0,
621 0, 105, 0, 152, 152, 0, 152, 152, 152, 152,
622 152, 0, 0, 0, 0, 105, 105, 103, 0, 0,
623 105, 0, 0, 0, 0, 0, 0, 0, 141, 141,
624 141, 141, 0, 0, 0, 141, 0, 141, 0, 0,
625 0, 0, 0, 141, 141, 0, 0, 0, 0, 0,
626 105, 0, 0, 0, 141, 141, 0, 141, 141, 141,
627 141, 141, 0, 0, 0, 0, 118, 118, 118, 118,
628 0, 0, 0, 118, 0, 118, 102, 102, 102, 102,
629 0, 118, 118, 102, 0, 102, 0, 0, 0, 0,
630 0, 0, 118, 118, 0, 118, 118, 118, 118, 118,
631 0, 106, 102, 102, 106, 102, 102, 102, 102, 102,
632 0, 0, 0, 0, 0, 0, 0, 0, 106, 106,
633 95, 0, 0, 106, 0, 0, 0, 0, 105, 0,
634 0, 0, 110, 0, 0, 119, 0, 0, 0, 0,
635 0, 0, 126, 127, 128, 129, 130, 0, 0, 0,
636 135, 136, 0, 106, 0, 0, 141, 0, 0, 0,
637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
639 0, 0, 0, 0, 186, 0, 0, 0, 0, 0,
640 0, 0, 0, 0, 0, 0, 103, 103, 103, 103,
641 0, 0, 0, 103, 0, 103, 0, 0, 0, 0,
642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
643 0, 0, 103, 103, 0, 103, 103, 103, 103, 105,
644 105, 105, 105, 0, 0, 0, 105, 0, 105, 0,
645 0, 220, 221, 222, 223, 224, 225, 226, 227, 228,
646 229, 230, 231, 232, 233, 105, 105, 0, 105, 105,
647 105, 0, 0, 0, 0, 0, 0, 0, 251, 0,
648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 106, 106, 106, 106, 0, 0, 0, 106,
655 0, 106, 0, 0, 0, 0, 0, 0, 306, 0,
656 0, 0, 0, 0, 0, 0, 0, 0, 106, 106,
657 0, 106, 106, 0, 0, 0, 0, 0, 0, 0,
658 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
660 static short yycheck[] = { 13,
661 59, 59, 59, 36, 43, 185, 92, 40, 87, 59,
662 91, 36, 51, 41, 59, 336, 44, 257, 41, 40,
663 91, 41, 41, 40, 44, 298, 299, 257, 41, 93,
664 58, 59, 46, 59, 40, 63, 41, 123, 58, 59,
665 59, 41, 123, 57, 58, 40, 367, 41, 59, 41,
666 41, 41, 123, 92, 59, 194, 41, 41, 257, 41,
667 278, 41, 123, 41, 41, 93, 44, 40, 59, 59,
668 91, 276, 277, 93, 91, 59, 115, 41, 123, 44,
669 58, 59, 59, 40, 123, 63, 98, 99, 100, 101,
670 102, 103, 41, 107, 108, 59, 40, 123, 123, 289,
671 290, 59, 123, 59, 0, 59, 123, 40, 40, 36,
672 59, 40, 40, 40, 294, 93, 306, 307, 44, 59,
673 310, 123, 260, 313, 314, 315, 257, 40, 40, 40,
674 144, 145, 146, 147, 148, 149, 150, 33, 277, 41,
675 36, 37, 38, 93, 40, 315, 42, 43, 93, 45,
676 93, 125, 93, 91, 168, 169, 170, 171, 172, 173,
677 174, 175, 176, 59, 91, 257, 36, 0, 64, 255,
678 41, 185, 125, 312, 260, 189, 190, 91, 192, 299,
679 194, 41, 40, 195, 41, 41, 93, 201, 93, 203,
680 204, 41, 333, 334, 208, 91, 123, 338, 41, 257,
681 33, 40, 125, 36, 37, 38, 41, 40, 59, 42,
682 43, 59, 45, 354, 123, 125, 255, 358, 357, 125,
683 234, 260, 236, 237, 0, 125, 59, 123, 41, 125,
684 126, 64, 257, 125, 298, 299, 41, 262, 41, 298,
685 299, 298, 299, 59, 272, 273, 274, 275, 298, 299,
686 40, 279, 272, 273, 274, 275, 41, 33, 91, 279,
687 36, 37, 38, 296, 40, 344, 42, 43, 41, 45,
688 298, 299, 41, 301, 288, 298, 299, 123, 298, 299,
689 294, 301, 41, 59, 59, 298, 299, 123, 64, 41,
690 123, 59, 125, 126, 272, 273, 274, 275, 298, 299,
691 314, 279, 41, 281, 298, 299, 298, 299, 41, 287,
692 288, 289, 290, 298, 299, 91, 298, 299, 298, 299,
693 298, 299, 59, 301, 302, 303, 304, 305, 306, 307,
694 63, 258, 310, 298, 299, 313, 314, 315, 41, 353,
695 298, 299, 298, 299, 298, 299, 8, 123, 298, 299,
696 126, 32, 13, 298, 299, 298, 299, 298, 299, 145,
697 256, 257, 258, 259, 260, 261, 353, 263, 264, 265,
698 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
699 125, 192, 97, 279, 280, -1, 282, 283, 284, 285,
700 286, 298, 299, 298, 299, 291, 292, 293, 294, 295,
701 296, -1, -1, 41, 300, -1, 44, 266, 267, 268,
702 314, 270, 271, 309, -1, 311, 312, -1, -1, -1,
703 -1, 59, -1, 256, 257, 258, 259, 260, 261, -1,
704 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
705 273, 274, 275, 125, -1, -1, 279, 280, 289, 282,
706 283, 284, 285, 286, -1, 93, -1, -1, 291, 292,
707 293, 294, 295, 296, -1, -1, 307, 300, 41, 310,
708 -1, 44, 313, 314, 315, -1, 309, -1, 311, 312,
709 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
710 63, -1, -1, 269, -1, -1, 272, 273, 274, 275,
711 -1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
712 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
713 296, 266, 267, 268, 300, 270, 271, 310, -1, -1,
714 313, 314, 315, 309, 33, 311, 312, 36, 37, 38,
715 -1, 40, 41, 42, 43, 44, 45, -1, 281, -1,
716 -1, -1, -1, -1, 287, 288, 289, 290, -1, 58,
717 59, -1, -1, -1, 63, 64, -1, -1, 301, 302,
718 303, 304, 305, 306, 307, -1, -1, 310, -1, -1,
719 313, 314, 315, -1, 266, 267, 268, -1, 270, 271,
720 -1, -1, 91, 33, 93, -1, 36, 37, 38, -1,
721 40, 41, 42, 43, 44, 45, -1, -1, 26, -1,
722 -1, -1, -1, 272, 273, 274, 275, -1, 58, 59,
723 279, -1, -1, 63, 64, 43, 44, 126, -1, -1,
724 -1, -1, 50, -1, 272, 273, 274, 275, -1, 298,
725 299, 279, -1, -1, 62, 63, 64, 65, -1, -1,
726 -1, -1, -1, 93, 33, -1, -1, 36, 37, 38,
727 298, 40, -1, 42, 43, -1, 45, -1, 309, 310,
728 311, -1, 313, -1, -1, 287, 288, 289, 290, -1,
729 59, 307, -1, -1, 310, 64, 126, 313, 314, 315,
730 108, 303, 304, 305, 306, 307, -1, -1, 310, 340,
731 -1, 313, 314, 315, 41, -1, 347, 44, 281, -1,
732 351, -1, 91, -1, 287, 288, 289, 290, -1, -1,
733 -1, 58, 59, 364, 365, -1, 63, -1, 301, 302,
734 303, 304, 305, 306, 307, -1, -1, 310, -1, -1,
735 313, 314, 315, -1, 123, -1, -1, 126, -1, -1,
736 -1, -1, -1, -1, -1, -1, 93, -1, 257, 258,
737 259, 260, 261, -1, 263, 264, 265, -1, -1, -1,
738 269, -1, 58, 272, 273, 274, 275, 63, -1, -1,
739 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
740 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
741 299, 300, 301, 302, 303, 304, 305, 306, 307, -1,
742 309, 310, 311, 312, 313, 314, 315, 257, 258, 259,
743 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
744 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
745 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
746 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
747 300, 301, 302, 303, 304, 305, 306, 307, -1, 309,
748 310, 311, 312, 313, 314, 315, -1, 256, 257, 258,
749 259, 260, 261, -1, 263, 264, 265, -1, -1, 63,
750 269, -1, -1, 272, 273, 274, 275, -1, -1, -1,
751 279, 280, -1, 282, 283, 284, 285, 286, -1, -1,
752 -1, -1, 291, 292, 293, 294, 295, 296, -1, 33,
753 -1, 300, 36, 37, 38, 13, 40, -1, 42, 43,
754 309, 45, 311, 312, -1, 272, 273, 274, 275, -1,
755 -1, -1, 279, -1, 281, 59, -1, -1, -1, -1,
756 64, 288, -1, -1, 42, -1, -1, 45, 41, -1,
757 -1, 298, 299, -1, 301, 302, 303, 304, 305, -1,
758 287, 288, 289, 290, -1, 33, 59, 91, 36, 37,
759 38, -1, 40, -1, 42, 43, -1, 45, 305, 306,
760 307, -1, -1, 310, 82, 281, 313, 314, 315, -1,
761 -1, 287, 288, 289, 290, -1, 64, -1, 96, 123,
762 93, -1, 126, -1, -1, 301, 302, 303, 304, 305,
763 306, 307, -1, -1, 310, -1, -1, 313, 314, 315,
764 -1, 33, -1, 91, 36, 37, 38, -1, 40, -1,
765 42, 43, -1, 45, -1, -1, -1, -1, -1, -1,
766 -1, -1, -1, -1, 142, -1, -1, 287, 288, 289,
767 290, -1, 64, -1, -1, 123, -1, -1, 126, -1,
768 41, -1, -1, 44, 304, 305, 306, 307, -1, -1,
769 310, -1, -1, 313, 314, 315, -1, 58, 59, 91,
770 -1, -1, -1, 181, 33, -1, -1, 36, 37, 38,
771 188, 40, -1, 42, 43, -1, 45, 281, -1, -1,
772 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
773 -1, 123, 93, -1, 126, 64, -1, 301, 302, 303,
774 304, 305, 306, 307, -1, -1, 310, -1, -1, 313,
775 314, 315, 256, 257, 258, 259, 260, 261, -1, 263,
776 264, 265, 91, -1, -1, 269, -1, -1, 272, 273,
777 274, 275, -1, -1, -1, 279, 280, -1, 282, 283,
778 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
779 294, 295, 296, -1, 123, -1, 300, 126, -1, 272,
780 273, 274, 275, -1, -1, 309, 279, 311, 312, 257,
781 258, 259, 260, 261, 262, 263, 264, 265, -1, -1,
782 -1, 269, -1, -1, 63, 298, 299, -1, -1, -1,
783 -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
784 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
785 -1, -1, 300, -1, -1, -1, -1, -1, -1, -1,
786 -1, 309, -1, 311, 312, 257, 258, 259, 260, 261,
787 -1, 263, 264, 265, -1, 33, -1, 269, 36, 37,
788 38, -1, 40, 41, 42, 43, -1, 45, 280, -1,
789 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
790 292, 293, 294, 295, 296, -1, 64, -1, 300, -1,
791 -1, 272, 273, 274, 275, -1, -1, 309, 279, 311,
792 312, -1, 287, 288, 289, 290, -1, -1, 257, 258,
793 259, 260, 261, 91, 263, 264, 265, 298, 299, -1,
794 269, 306, 307, -1, -1, 310, -1, -1, 313, 314,
795 315, 280, -1, 282, 283, 284, 285, 286, -1, -1,
796 -1, -1, 291, 292, 293, 294, 295, 296, 126, 33,
797 -1, 300, 36, 37, 38, -1, 40, -1, 42, 43,
798 309, 45, 311, 312, 287, -1, 289, 290, -1, -1,
799 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
800 64, 25, 26, 306, 307, -1, 41, 310, -1, 44,
801 313, 314, 315, 37, -1, -1, -1, -1, -1, 43,
802 44, 45, -1, 58, 59, 33, 50, 91, 36, 37,
803 38, -1, 40, -1, 42, 43, -1, 45, 62, 63,
804 64, 65, 281, -1, -1, -1, -1, -1, 287, 288,
805 289, 290, -1, -1, -1, -1, 64, -1, 93, -1,
806 -1, -1, 126, 302, 303, 304, 305, 306, 307, -1,
807 -1, 310, -1, -1, 313, 314, 315, -1, -1, -1,
808 -1, -1, -1, 91, 108, 93, 33, -1, -1, 36,
809 37, 38, -1, 40, 41, 42, 43, -1, 45, 257,
810 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
811 -1, 269, -1, -1, -1, -1, -1, 64, 126, -1,
812 -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
813 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
814 289, 290, 300, 167, 91, -1, -1, -1, -1, -1,
815 -1, 309, -1, 311, 312, -1, -1, 41, 307, -1,
816 44, 310, -1, -1, 313, 314, 315, -1, -1, 193,
817 -1, -1, -1, -1, 58, 59, -1, 33, -1, 126,
818 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
819 -1, -1, -1, 257, 258, 259, 260, 261, -1, 263,
820 264, 265, -1, -1, -1, 269, -1, -1, 64, 93,
821 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
822 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
823 294, 295, 296, -1, -1, 91, 300, 272, 273, 274,
824 275, -1, -1, -1, 279, 309, -1, 311, 312, 257,
825 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
826 -1, 269, -1, 298, 299, -1, -1, -1, -1, -1,
827 126, -1, 280, -1, 282, 283, 284, 285, 286, -1,
828 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
829 41, -1, 300, 44, -1, -1, -1, -1, -1, -1,
830 -1, 309, -1, 311, 312, -1, 41, 58, 59, 44,
831 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
832 -1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
833 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
834 -1, -1, 93, -1, 291, 292, 293, 294, 295, 296,
835 -1, -1, -1, 300, -1, -1, -1, -1, 93, -1,
836 -1, -1, 309, -1, 311, 312, -1, 33, -1, -1,
837 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
838 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
839 274, 275, -1, -1, -1, 279, -1, -1, 64, -1,
840 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
841 -1, -1, -1, 269, 298, 299, -1, -1, -1, -1,
842 -1, -1, -1, -1, 280, 91, 282, 283, 284, 285,
843 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
844 296, -1, 33, -1, 300, 36, 37, 38, -1, 40,
845 -1, 42, 43, 309, 45, 311, 312, -1, -1, -1,
846 126, 287, 288, 289, 290, -1, -1, -1, -1, -1,
847 -1, -1, -1, 64, -1, -1, 302, 303, 304, 305,
848 306, 307, -1, -1, 310, -1, -1, 313, 314, 315,
849 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
850 91, -1, -1, 33, -1, -1, 36, 37, 38, -1,
851 40, 41, 42, 43, -1, 45, -1, -1, -1, -1,
852 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
853 -1, -1, -1, -1, 64, 126, -1, 272, 273, 274,
854 275, -1, -1, -1, 279, -1, 281, 298, 299, -1,
855 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
856 -1, 91, -1, 298, 299, -1, 301, 302, 303, 304,
857 305, 306, 307, -1, -1, 310, -1, -1, 33, -1,
858 -1, 36, 37, 38, -1, 40, 41, 42, 43, -1,
859 45, 257, 258, 259, 260, 261, 126, 263, 264, 265,
860 -1, -1, -1, 269, -1, -1, -1, -1, -1, 64,
861 -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
862 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
863 296, -1, -1, -1, 300, -1, 91, -1, -1, -1,
864 -1, -1, -1, 309, -1, 311, 312, -1, 33, -1,
865 -1, 36, 37, 38, -1, 40, 41, 42, 43, -1,
866 45, -1, -1, -1, -1, 256, 257, 258, 259, 260,
867 261, 126, 263, 264, 265, -1, -1, -1, 269, 64,
868 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
869 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
870 291, 292, 293, 294, 295, 296, 91, -1, -1, 300,
871 -1, -1, -1, -1, -1, -1, -1, -1, 309, -1,
872 311, 312, -1, -1, -1, -1, -1, 257, 258, 259,
873 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
874 -1, 126, -1, -1, -1, -1, -1, -1, -1, -1,
875 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
876 -1, 291, 292, 293, 294, 295, 296, -1, 33, -1,
877 300, 36, 37, 38, -1, 40, -1, 42, 43, 309,
878 45, 311, 312, -1, -1, -1, -1, -1, -1, -1,
879 -1, -1, -1, -1, -1, -1, -1, -1, -1, 64,
880 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
881 265, -1, -1, -1, 269, -1, -1, -1, -1, -1,
882 -1, -1, -1, -1, -1, 280, 91, 282, 283, 284,
883 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
884 295, 296, -1, -1, -1, 300, -1, -1, -1, -1,
885 -1, -1, -1, -1, 309, -1, 311, 312, -1, -1,
886 -1, 126, -1, -1, 41, -1, -1, 44, -1, -1,
887 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
888 265, 58, 59, -1, 269, -1, 63, -1, -1, -1,
889 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
890 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
891 295, 296, -1, -1, 41, 300, 93, 44, -1, -1,
892 -1, -1, -1, -1, 309, -1, 311, 312, -1, -1,
893 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
895 -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
896 -1, 44, -1, -1, -1, -1, 93, -1, -1, -1,
897 -1, -1, -1, -1, -1, 58, 59, -1, -1, -1,
898 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
899 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
900 265, -1, -1, -1, 269, -1, -1, -1, -1, -1,
901 93, -1, -1, -1, -1, 280, -1, 282, 283, 284,
902 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
903 295, 296, -1, 41, -1, 300, 44, -1, -1, -1,
904 -1, -1, -1, -1, 309, -1, 311, 312, -1, -1,
905 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
906 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
907 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
908 -1, -1, -1, 41, -1, 93, 44, -1, -1, -1,
909 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
910 58, 59, 279, -1, 281, 63, -1, -1, -1, -1,
911 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
912 -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
913 307, -1, -1, 310, -1, 93, 313, 314, 315, -1,
914 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
915 -1, -1, 279, -1, 281, -1, -1, -1, -1, -1,
916 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
917 -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
918 307, -1, -1, 310, -1, -1, 313, 314, 315, 272,
919 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
920 -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
921 -1, 41, -1, -1, 44, 298, 299, -1, 301, 302,
922 303, 304, 305, 306, 307, -1, -1, 310, 58, 59,
923 313, 314, 315, 63, -1, -1, -1, -1, -1, -1,
924 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
925 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
926 -1, -1, -1, 93, 272, 273, 274, 275, -1, -1,
927 -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
928 288, 289, 290, -1, -1, -1, 41, -1, -1, 44,
929 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
930 -1, -1, 310, 58, 59, 313, 314, 315, 63, -1,
931 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
932 -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
933 288, 289, 290, -1, -1, -1, 41, -1, 93, 44,
934 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
935 -1, -1, 310, 58, 59, 313, 314, 315, 63, -1,
936 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
938 41, -1, -1, 44, -1, -1, -1, -1, 93, -1,
939 -1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
940 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
941 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
942 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
943 41, -1, 93, 44, -1, -1, -1, -1, -1, -1,
944 -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
945 -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
946 290, -1, -1, -1, -1, -1, -1, -1, 298, 299,
947 -1, 301, 302, 303, 304, 305, 306, 307, 41, -1,
948 310, 44, 93, 313, 314, 315, -1, -1, -1, -1,
949 -1, -1, -1, -1, -1, 58, 59, -1, -1, -1,
950 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
951 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
952 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
953 93, -1, 287, 288, 289, 290, -1, -1, -1, 41,
954 -1, -1, 44, 298, 299, -1, 301, 302, 303, 304,
955 305, 306, 307, -1, -1, 310, 58, 59, 313, 314,
956 315, 63, -1, -1, -1, -1, -1, 272, 273, 274,
957 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
958 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
959 -1, 93, -1, 298, 299, -1, 301, 302, 303, 304,
960 305, 306, 307, -1, -1, 310, -1, -1, 313, 314,
961 315, 272, 273, 274, 275, -1, -1, -1, 279, -1,
962 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
963 -1, -1, -1, 41, -1, -1, 44, 298, 299, -1,
964 301, 302, 303, 304, 305, 306, 307, -1, -1, 310,
965 58, 59, 313, 314, 315, 63, -1, -1, -1, -1,
966 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
967 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
968 -1, -1, -1, -1, -1, 93, -1, 298, 299, -1,
969 301, 302, 303, 304, 305, 306, 307, 41, -1, 310,
970 -1, -1, 313, 314, 315, -1, -1, -1, -1, 272,
971 273, 274, 275, -1, 58, 59, 279, -1, 281, 63,
972 -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
973 -1, -1, -1, -1, -1, 298, 299, -1, 301, 302,
974 303, 304, 305, 306, 307, -1, 41, 310, -1, 93,
975 313, 314, 315, -1, -1, -1, -1, -1, -1, -1,
976 -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
977 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
978 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
979 -1, -1, 41, -1, -1, -1, 298, 299, 93, 301,
980 302, 303, 304, 305, 306, 307, -1, -1, 310, 58,
981 59, 313, 314, 315, 63, -1, -1, -1, -1, -1,
982 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
983 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
984 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
985 -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
986 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
987 -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
988 288, 289, 290, -1, -1, -1, 41, -1, 93, 44,
989 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
990 -1, -1, 310, 58, 59, 313, 314, 315, 63, -1,
991 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
992 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
993 274, 275, -1, -1, -1, 279, -1, 281, 93, -1,
994 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
995 41, -1, -1, 44, 298, 299, -1, 301, 302, 303,
996 304, 305, 306, 307, -1, -1, 310, 58, 59, 313,
997 314, 315, 63, -1, -1, -1, -1, 272, 273, 274,
998 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
999 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1000 -1, -1, 93, 298, 299, -1, 301, 302, 303, 304,
1001 305, 306, 307, -1, -1, 310, -1, -1, 313, 314,
1002 315, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1003 279, -1, 281, -1, -1, -1, -1, -1, 287, 288,
1004 289, 290, -1, -1, -1, -1, -1, -1, -1, 298,
1005 299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
1006 -1, 310, -1, -1, 313, 314, 315, 272, 273, 274,
1007 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
1008 -1, -1, 287, 288, 289, 290, 41, -1, -1, 44,
1009 -1, -1, -1, 298, 299, -1, 301, 302, 303, 304,
1010 305, 306, 307, 58, 59, 310, -1, -1, 63, -1,
1011 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1012 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
1013 -1, -1, 287, 288, 289, 290, -1, 41, 93, -1,
1014 44, -1, -1, 298, 299, -1, 301, 302, 303, 304,
1015 305, 306, 307, -1, 58, 59, -1, -1, -1, 63,
1016 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1017 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1018 -1, 272, 273, 274, 275, -1, -1, -1, 279, 93,
1019 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1020 41, -1, -1, 44, -1, -1, -1, 298, 299, -1,
1021 301, 302, 303, 304, 305, 306, 307, 58, 59, -1,
1022 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
1023 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1025 -1, -1, 93, 58, 59, -1, -1, -1, 63, -1,
1026 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1027 -1, -1, -1, 41, -1, -1, 44, -1, -1, -1,
1028 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
1029 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1030 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1031 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1032 275, -1, -1, -1, 279, 93, 281, -1, -1, -1,
1033 -1, -1, 287, 288, 289, 290, 41, -1, -1, 44,
1034 -1, -1, -1, 298, 299, -1, 301, 302, 303, 304,
1035 305, 306, 307, 58, 59, -1, -1, -1, 63, -1,
1036 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1037 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1038 -1, -1, -1, 287, 288, 289, 290, 41, 93, -1,
1039 44, -1, -1, -1, 298, 299, -1, 301, 302, 303,
1040 304, 305, 306, 307, 58, 59, -1, -1, -1, 63,
1041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1042 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1043 -1, 272, 273, 274, 275, -1, -1, -1, 279, 93,
1044 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1045 -1, -1, -1, -1, -1, -1, -1, 298, 299, -1,
1046 301, 302, 303, 304, 305, 306, 307, 272, 273, 274,
1047 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
1048 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1049 -1, -1, 41, 298, 299, 44, 301, 302, 303, 304,
1050 305, 306, 307, -1, 272, 273, 274, 275, -1, 58,
1051 59, 279, -1, 281, 63, -1, -1, -1, -1, 287,
1052 288, 289, 290, -1, -1, -1, -1, -1, -1, 41,
1053 298, 299, 44, 301, 302, 303, 304, 305, 306, 307,
1054 41, -1, -1, 44, 93, -1, 58, 59, -1, -1,
1055 -1, 63, -1, -1, -1, -1, -1, 58, 59, -1,
1056 -1, -1, 63, -1, -1, -1, -1, 272, 273, 274,
1057 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
1058 -1, 93, 287, 288, 289, 290, 41, -1, -1, 44,
1059 -1, -1, 93, 298, 299, -1, 301, 302, 303, 304,
1060 305, 306, -1, 58, 59, -1, -1, -1, 63, -1,
1061 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1062 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1063 -1, -1, -1, 287, 288, -1, 290, 41, 93, -1,
1064 44, -1, -1, -1, 298, 299, -1, 301, 302, 303,
1065 304, 305, 306, -1, 58, 59, -1, -1, -1, 63,
1066 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1067 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
1068 -1, -1, -1, -1, -1, 41, -1, -1, 44, 93,
1069 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
1070 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
1071 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1072 -1, -1, -1, 272, 273, 274, 275, 93, -1, -1,
1073 279, -1, 281, -1, -1, -1, -1, 93, 287, 288,
1074 -1, -1, -1, -1, -1, -1, -1, -1, -1, 298,
1075 299, -1, 301, 302, 303, 304, 305, 306, -1, -1,
1076 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1077 -1, 272, 273, 274, 275, 287, 288, -1, 279, -1,
1078 281, -1, -1, -1, -1, -1, 298, 299, -1, 301,
1079 302, 303, 304, 305, -1, -1, -1, 298, 299, -1,
1080 301, 302, 303, 304, 305, 41, -1, -1, 44, -1,
1081 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1082 275, -1, 58, 59, 279, -1, 281, 63, -1, -1,
1083 -1, -1, 287, 288, -1, -1, -1, -1, 41, -1,
1084 -1, 44, -1, 298, 299, -1, 301, 302, 303, 304,
1085 305, -1, -1, -1, -1, 58, 59, 93, -1, -1,
1086 63, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1087 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1088 -1, -1, -1, 287, 288, -1, -1, -1, -1, -1,
1089 93, -1, -1, -1, 298, 299, -1, 301, 302, 303,
1090 304, 305, -1, -1, -1, -1, 272, 273, 274, 275,
1091 -1, -1, -1, 279, -1, 281, 272, 273, 274, 275,
1092 -1, 287, 288, 279, -1, 281, -1, -1, -1, -1,
1093 -1, -1, 298, 299, -1, 301, 302, 303, 304, 305,
1094 -1, 41, 298, 299, 44, 301, 302, 303, 304, 305,
1095 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
1096 30, -1, -1, 63, -1, -1, -1, -1, 38, -1,
1097 -1, -1, 42, -1, -1, 45, -1, -1, -1, -1,
1098 -1, -1, 52, 53, 54, 55, 56, -1, -1, -1,
1099 60, 61, -1, 93, -1, -1, 66, -1, -1, -1,
1100 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1101 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1102 -1, -1, -1, -1, 94, -1, -1, -1, -1, -1,
1103 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1104 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
1105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1106 -1, -1, 298, 299, -1, 301, 302, 303, 304, 272,
1107 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
1108 -1, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1109 160, 161, 162, 163, 164, 298, 299, -1, 301, 302,
1110 303, -1, -1, -1, -1, -1, -1, -1, 178, -1,
1111 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1112 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1113 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1114 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1115 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1116 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1117 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1118 -1, 281, -1, -1, -1, -1, -1, -1, 258, -1,
1119 -1, -1, -1, -1, -1, -1, -1, -1, 298, 299,
1120 -1, 301, 302, -1, -1, -1, -1, -1, -1, -1,
1121 -1, -1, -1, -1, -1, -1, -1, -1, -1, 289,
1127 #define YYMAXTOKEN 315
1129 static char *yyname[] = {
1130 "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,
1131 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1132 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1133 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1134 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1135 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1136 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1137 0,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",
1138 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1139 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1140 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1141 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1142 "PREC_LOW","OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP",
1143 "BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC",
1144 "POSTINC","POSTDEC","ARROW",
1146 static char *yyrule[] = {
1149 "prog : $$1 lineseq",
1150 "block : '{' remember lineseq '}'",
1152 "mblock : '{' mremember lineseq '}'",
1155 "lineseq : lineseq decl",
1156 "lineseq : lineseq line",
1157 "line : label cond",
1160 "line : label sideff ';'",
1163 "sideff : expr IF expr",
1164 "sideff : expr UNLESS expr",
1165 "sideff : expr WHILE expr",
1166 "sideff : expr UNTIL iexpr",
1167 "sideff : expr FOR expr",
1169 "else : ELSE mblock",
1170 "else : ELSIF '(' mexpr ')' mblock else",
1171 "cond : IF '(' remember mexpr ')' mblock else",
1172 "cond : UNLESS '(' remember miexpr ')' mblock else",
1174 "cont : CONTINUE block",
1175 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1176 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1177 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1178 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1179 "loop : label FOR '(' remember mexpr ')' mblock cont",
1180 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1181 "loop : label block cont",
1197 "format : FORMAT startformsub formname block",
1200 "subrout : SUB startsub subname proto subbody",
1209 "package : PACKAGE WORD ';'",
1210 "package : PACKAGE ';'",
1212 "use : USE startsub $$2 WORD WORD listexpr ';'",
1213 "expr : expr ANDOP expr",
1214 "expr : expr OROP expr",
1216 "argexpr : argexpr ','",
1217 "argexpr : argexpr ',' term",
1219 "listop : LSTOP indirob argexpr",
1220 "listop : FUNC '(' indirob expr ')'",
1221 "listop : term ARROW method '(' listexprcom ')'",
1222 "listop : term ARROW method",
1223 "listop : METHOD indirob listexpr",
1224 "listop : FUNCMETH indirob '(' listexprcom ')'",
1225 "listop : LSTOP listexpr",
1226 "listop : FUNC '(' listexprcom ')'",
1228 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1231 "subscripted : star '{' expr ';' '}'",
1232 "subscripted : scalar '[' expr ']'",
1233 "subscripted : term ARROW '[' expr ']'",
1234 "subscripted : subscripted '[' expr ']'",
1235 "subscripted : scalar '{' expr ';' '}'",
1236 "subscripted : term ARROW '{' expr ';' '}'",
1237 "subscripted : subscripted '{' expr ';' '}'",
1238 "subscripted : term ARROW '(' ')'",
1239 "subscripted : term ARROW '(' expr ')'",
1240 "subscripted : subscripted '(' expr ')'",
1241 "subscripted : subscripted '(' ')'",
1242 "term : term ASSIGNOP term",
1243 "term : term POWOP term",
1244 "term : term MULOP term",
1245 "term : term ADDOP term",
1246 "term : term SHIFTOP term",
1247 "term : term RELOP term",
1248 "term : term EQOP term",
1249 "term : term BITANDOP term",
1250 "term : term BITOROP term",
1251 "term : term DOTDOT term",
1252 "term : term ANDAND term",
1253 "term : term OROR term",
1254 "term : term '?' term ':' term",
1255 "term : term MATCHOP term",
1260 "term : REFGEN term",
1261 "term : term POSTINC",
1262 "term : term POSTDEC",
1263 "term : PREINC term",
1264 "term : PREDEC term",
1265 "term : local term",
1266 "term : '(' expr ')'",
1268 "term : '[' expr ']'",
1270 "term : HASHBRACK expr ';' '}'",
1271 "term : HASHBRACK ';' '}'",
1272 "term : ANONSUB startanonsub proto block",
1278 "term : subscripted",
1279 "term : '(' expr ')' '[' expr ']'",
1280 "term : '(' ')' '[' expr ']'",
1281 "term : ary '[' expr ']'",
1282 "term : ary '{' expr ';' '}'",
1285 "term : amper '(' ')'",
1286 "term : amper '(' expr ')'",
1287 "term : NOAMP WORD listexpr",
1290 "term : DO WORD '(' ')'",
1291 "term : DO WORD '(' expr ')'",
1292 "term : DO scalar '(' ')'",
1293 "term : DO scalar '(' expr ')'",
1295 "term : LOOPEX term",
1296 "term : NOTOP argexpr",
1298 "term : UNIOP block",
1299 "term : UNIOP term",
1300 "term : UNIOPSUB term",
1302 "term : FUNC0 '(' ')'",
1304 "term : FUNC1 '(' ')'",
1305 "term : FUNC1 '(' expr ')'",
1306 "term : PMFUNC '(' term ')'",
1307 "term : PMFUNC '(' term ',' term ')'",
1311 "listexpr : argexpr",
1313 "listexprcom : expr",
1314 "listexprcom : expr ','",
1317 "my_scalar : scalar",
1318 "amper : '&' indirob",
1319 "scalar : '$' indirob",
1320 "ary : '@' indirob",
1321 "hsh : '%' indirob",
1322 "arylen : DOLSHARP indirob",
1323 "star : '*' indirob",
1327 "indirob : PRIVATEREF",
1330 #define yyclearin (yychar=(-1))
1331 #define yyerrok (yyerrflag=0)
1334 #define YYMAXDEPTH YYSTACKSIZE
1338 #define YYSTACKSIZE YYMAXDEPTH
1340 #define YYSTACKSIZE 500
1341 #define YYMAXDEPTH 500
1346 #line 1427 "perly.c"
1347 #define YYABORT goto yyabort
1348 #define YYACCEPT goto yyaccept
1349 #define YYERROR goto yyerrlab
1365 register int yym, yyn, yystate;
1366 register short *yyssp;
1367 register YYSTYPE *yyvsp;
1370 unsigned yystacksize = YYSTACKSIZE;
1375 extern char *getenv();
1380 New(73, ysave, 1, struct ysv);
1381 SAVEDESTRUCTOR(yydestruct, ysave);
1382 ysave->oldyydebug = yydebug;
1383 ysave->oldyynerrs = yynerrs;
1384 ysave->oldyyerrflag = yyerrflag;
1385 ysave->oldyychar = yychar;
1386 ysave->oldyyval = yyval;
1387 ysave->oldyylval = yylval;
1390 if (yys = getenv("YYDEBUG"))
1393 if (yyn >= '0' && yyn <= '9')
1394 yydebug = yyn - '0';
1403 ** Initialize private stacks (yyparse may be called from an action)
1405 New(73, yyss, yystacksize, short);
1406 New(73, yyvs, yystacksize, YYSTYPE);
1414 *yyssp = yystate = 0;
1417 if (yyn = yydefred[yystate]) goto yyreduce;
1420 if ((yychar = yylex()) < 0) yychar = 0;
1425 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1426 if (!yys) yys = "illegal-symbol";
1427 printf("yydebug: state %d, reading %d (%s)\n", yystate,
1432 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1433 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1437 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1438 yystate, yytable[yyn]);
1440 if (yyssp >= yyss + yystacksize - 1)
1443 ** reallocate and recover. Note that pointers
1444 ** have to be reset, or bad things will happen
1446 int yyps_index = (yyssp - yyss);
1447 int yypv_index = (yyvsp - yyvs);
1448 yystacksize += YYSTACKSIZE;
1449 ysave->yyvs = yyvs =
1450 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1451 ysave->yyss = yyss =
1452 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
1455 yyssp = yyss + yyps_index;
1456 yyvsp = yyvs + yypv_index;
1458 *++yyssp = yystate = yytable[yyn];
1461 if (yyerrflag > 0) --yyerrflag;
1464 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1465 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1470 if (yyerrflag) goto yyinrecovery;
1475 yyerror("syntax error");
1487 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1488 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1492 PerlIO_printf(Perl_debug_log,
1493 "yydebug: state %d, error recovery shifting to state %d\n",
1494 *yyssp, yytable[yyn]);
1496 if (yyssp >= yyss + yystacksize - 1)
1499 ** reallocate and recover. Note that pointers
1500 ** have to be reset, or bad things will happen
1502 int yyps_index = (yyssp - yyss);
1503 int yypv_index = (yyvsp - yyvs);
1504 yystacksize += YYSTACKSIZE;
1505 ysave->yyvs = yyvs = (YYSTYPE*)PerlMem_realloc((char*)yyvs,
1506 yystacksize * sizeof(YYSTYPE));
1507 ysave->yyss = yyss = (short*)PerlMem_realloc((char*)yyss,
1508 yystacksize * sizeof(short));
1511 yyssp = yyss + yyps_index;
1512 yyvsp = yyvs + yypv_index;
1514 *++yyssp = yystate = yytable[yyn];
1522 PerlIO_printf(Perl_debug_log,
1523 "yydebug: error recovery discarding state %d\n",
1526 if (yyssp <= yyss) goto yyabort;
1534 if (yychar == 0) goto yyabort;
1539 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1540 if (!yys) yys = "illegal-symbol";
1541 PerlIO_printf(Perl_debug_log,
1542 "yydebug: state %d, error recovery discards token %d (%s)\n",
1543 yystate, yychar, yys);
1552 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1553 yystate, yyn, yyrule[yyn]);
1556 yyval = yyvsp[1-yym];
1562 #if defined(YYDEBUG) && defined(DEBUGGING)
1563 yydebug = (PL_debug & 1);
1570 { newPROG(yyvsp[0].opval); }
1574 { if (PL_copline > (line_t)yyvsp[-3].ival)
1575 PL_copline = yyvsp[-3].ival;
1576 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1580 { yyval.ival = block_start(TRUE); }
1584 { if (PL_copline > (line_t)yyvsp[-3].ival)
1585 PL_copline = yyvsp[-3].ival;
1586 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1590 { yyval.ival = block_start(FALSE); }
1594 { yyval.opval = Nullop; }
1598 { yyval.opval = yyvsp[-1].opval; }
1602 { yyval.opval = append_list(OP_LINESEQ,
1603 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1604 PL_pad_reset_pending = TRUE;
1605 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1609 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1613 { if (yyvsp[-1].pval != Nullch) {
1614 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1617 yyval.opval = Nullop;
1618 PL_copline = NOLINE;
1620 PL_expect = XSTATE; }
1624 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1625 PL_expect = XSTATE; }
1629 { yyval.opval = Nullop; }
1633 { yyval.opval = yyvsp[0].opval; }
1637 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1641 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1645 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1649 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1653 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1654 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1658 { yyval.opval = Nullop; }
1662 { yyval.opval = scope(yyvsp[0].opval); }
1666 { PL_copline = yyvsp[-5].ival;
1667 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
1668 PL_hints |= HINT_BLOCK_SCOPE; }
1672 { PL_copline = yyvsp[-6].ival;
1673 yyval.opval = block_end(yyvsp[-4].ival,
1674 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1678 { PL_copline = yyvsp[-6].ival;
1679 yyval.opval = block_end(yyvsp[-4].ival,
1680 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1684 { yyval.opval = Nullop; }
1688 { yyval.opval = scope(yyvsp[0].opval); }
1692 { PL_copline = yyvsp[-6].ival;
1693 yyval.opval = block_end(yyvsp[-4].ival,
1694 newSTATEOP(0, yyvsp[-7].pval,
1695 newWHILEOP(0, 1, (LOOP*)Nullop,
1696 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1700 { PL_copline = yyvsp[-6].ival;
1701 yyval.opval = block_end(yyvsp[-4].ival,
1702 newSTATEOP(0, yyvsp[-7].pval,
1703 newWHILEOP(0, 1, (LOOP*)Nullop,
1704 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1708 { yyval.opval = block_end(yyvsp[-6].ival,
1709 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1713 { yyval.opval = block_end(yyvsp[-4].ival,
1714 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1715 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1719 { yyval.opval = block_end(yyvsp[-4].ival,
1720 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1724 { OP *forop = append_elem(OP_LINESEQ,
1725 scalar(yyvsp[-6].opval),
1726 newWHILEOP(0, 1, (LOOP*)Nullop,
1727 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1728 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1729 PL_copline = yyvsp[-9].ival;
1730 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1734 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1735 newWHILEOP(0, 1, (LOOP*)Nullop,
1736 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1740 { yyval.opval = Nullop; }
1744 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1748 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1752 { yyval.opval = yyvsp[0].opval; intro_my(); }
1756 { yyval.opval = yyvsp[0].opval; intro_my(); }
1760 { yyval.opval = yyvsp[0].opval; intro_my(); }
1764 { yyval.opval = yyvsp[0].opval; intro_my(); }
1768 { yyval.pval = Nullch; }
1788 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1792 { yyval.opval = yyvsp[0].opval; }
1796 { yyval.opval = Nullop; }
1800 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1804 { yyval.ival = start_subparse(FALSE, 0); }
1808 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1812 { yyval.ival = start_subparse(TRUE, 0); }
1816 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1817 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1818 || strEQ(name, "INIT"))
1819 CvSPECIAL_on(PL_compcv);
1820 yyval.opval = yyvsp[0].opval; }
1824 { yyval.opval = Nullop; }
1828 { yyval.opval = yyvsp[0].opval; }
1832 { yyval.opval = Nullop; PL_expect = XSTATE; }
1836 { package(yyvsp[-1].opval); }
1840 { package(Nullop); }
1844 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
1848 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1852 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1856 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1860 { yyval.opval = yyvsp[-1].opval; }
1864 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1868 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1869 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1873 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1874 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1878 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1879 append_elem(OP_LIST,
1880 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1881 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1885 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1886 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
1887 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
1891 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1892 append_elem(OP_LIST,
1893 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1894 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1898 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1899 append_elem(OP_LIST,
1900 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1901 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1905 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1909 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1913 { yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1917 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1918 append_elem(OP_LIST,
1919 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1923 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
1927 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
1931 { yyval.opval = newBINOP(OP_AELEM, 0,
1932 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
1933 scalar(yyvsp[-1].opval));}
1937 { yyval.opval = newBINOP(OP_AELEM, 0,
1938 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
1939 scalar(yyvsp[-1].opval));}
1943 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
1944 PL_expect = XOPERATOR; }
1948 { yyval.opval = newBINOP(OP_HELEM, 0,
1949 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
1950 jmaybe(yyvsp[-2].opval));
1951 PL_expect = XOPERATOR; }
1955 { yyval.opval = newBINOP(OP_HELEM, 0,
1956 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
1957 jmaybe(yyvsp[-2].opval));
1958 PL_expect = XOPERATOR; }
1962 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1963 newCVREF(0, scalar(yyvsp[-3].opval))); }
1967 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1968 append_elem(OP_LIST, yyvsp[-1].opval,
1969 newCVREF(0, scalar(yyvsp[-4].opval)))); }
1973 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1974 append_elem(OP_LIST, yyvsp[-1].opval,
1975 newCVREF(0, scalar(yyvsp[-3].opval)))); }
1979 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1980 newCVREF(0, scalar(yyvsp[-2].opval))); }
1984 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1988 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1992 { if (yyvsp[-1].ival != OP_REPEAT)
1993 scalar(yyvsp[-2].opval);
1994 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1998 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2002 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2006 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2010 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2014 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2018 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2022 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2026 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2030 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2034 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2038 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2042 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2046 { yyval.opval = yyvsp[0].opval; }
2050 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2054 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2058 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2062 { yyval.opval = newUNOP(OP_POSTINC, 0,
2063 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2067 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2068 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2072 { yyval.opval = newUNOP(OP_PREINC, 0,
2073 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2077 { yyval.opval = newUNOP(OP_PREDEC, 0,
2078 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2082 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2086 { yyval.opval = sawparens(yyvsp[-1].opval); }
2090 { yyval.opval = sawparens(newNULLLIST()); }
2094 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2098 { yyval.opval = newANONLIST(Nullop); }
2102 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2106 { yyval.opval = newANONHASH(Nullop); }
2110 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2114 { yyval.opval = yyvsp[0].opval; }
2118 { yyval.opval = yyvsp[0].opval; }
2122 { yyval.opval = yyvsp[0].opval; }
2126 { yyval.opval = yyvsp[0].opval; }
2130 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2134 { yyval.opval = yyvsp[0].opval; }
2138 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2142 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2146 { yyval.opval = prepend_elem(OP_ASLICE,
2147 newOP(OP_PUSHMARK, 0),
2148 newLISTOP(OP_ASLICE, 0,
2149 list(yyvsp[-1].opval),
2150 ref(yyvsp[-3].opval, OP_ASLICE))); }
2154 { yyval.opval = prepend_elem(OP_HSLICE,
2155 newOP(OP_PUSHMARK, 0),
2156 newLISTOP(OP_HSLICE, 0,
2157 list(yyvsp[-2].opval),
2158 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2159 PL_expect = XOPERATOR; }
2163 { yyval.opval = yyvsp[0].opval; }
2167 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2171 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2175 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2176 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2180 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2181 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2185 { yyval.opval = dofile(yyvsp[0].opval); }
2189 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2193 { yyval.opval = newUNOP(OP_ENTERSUB,
2194 OPf_SPECIAL|OPf_STACKED,
2195 prepend_elem(OP_LIST,
2197 (OPpENTERSUB_AMPER<<8),
2198 scalar(yyvsp[-2].opval)
2199 )),Nullop)); dep();}
2203 { yyval.opval = newUNOP(OP_ENTERSUB,
2204 OPf_SPECIAL|OPf_STACKED,
2205 append_elem(OP_LIST,
2208 (OPpENTERSUB_AMPER<<8),
2209 scalar(yyvsp[-3].opval)
2214 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2215 prepend_elem(OP_LIST,
2216 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2220 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2221 prepend_elem(OP_LIST,
2223 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2227 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2228 PL_hints |= HINT_BLOCK_SCOPE; }
2232 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2236 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2240 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2244 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2248 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2252 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2253 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2257 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2261 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2265 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2266 scalar(yyvsp[0].opval)); }
2270 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2274 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2278 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2282 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2286 { yyval.opval = Nullop; }
2290 { yyval.opval = yyvsp[0].opval; }
2294 { yyval.opval = Nullop; }
2298 { yyval.opval = yyvsp[0].opval; }
2302 { yyval.opval = yyvsp[-1].opval; }
2314 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2318 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2322 { yyval.opval = newSVREF(yyvsp[0].opval); }
2326 { yyval.opval = newAVREF(yyvsp[0].opval); }
2330 { yyval.opval = newHVREF(yyvsp[0].opval); }
2334 { yyval.opval = newAVREF(yyvsp[0].opval); }
2338 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2342 { yyval.opval = scalar(yyvsp[0].opval); }
2346 { yyval.opval = scalar(yyvsp[0].opval); }
2350 { yyval.opval = scope(yyvsp[0].opval); }
2354 { yyval.opval = yyvsp[0].opval; }
2356 #line 2365 "perly.c"
2362 if (yystate == 0 && yym == 0)
2366 PerlIO_printf(Perl_debug_log,
2367 "yydebug: after reduction, shifting from state 0 to state %d\n",
2375 if ((yychar = yylex()) < 0) yychar = 0;
2380 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2381 if (!yys) yys = "illegal-symbol";
2382 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2383 YYFINAL, yychar, yys);
2387 if (yychar == 0) goto yyaccept;
2390 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2391 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2392 yystate = yytable[yyn];
2394 yystate = yydgoto[yym];
2397 PerlIO_printf(Perl_debug_log,
2398 "yydebug: after reduction, shifting from state %d to state %d\n",
2401 if (yyssp >= yyss + yystacksize - 1)
2404 ** reallocate and recover. Note that pointers
2405 ** have to be reset, or bad things will happen
2407 int yyps_index = (yyssp - yyss);
2408 int yypv_index = (yyvsp - yyvs);
2409 yystacksize += YYSTACKSIZE;
2410 ysave->yyvs = yyvs =
2411 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2412 ysave->yyss = yyss =
2413 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
2416 yyssp = yyss + yyps_index;
2417 yyvsp = yyvs + yypv_index;
2423 yyerror("Out of memory for yacc stack");
2436 yydestruct(pTHXo_ void *ptr)
2438 struct ysv* ysave = (struct ysv*)ptr;
2439 if (ysave->yyss) Safefree(ysave->yyss);
2440 if (ysave->yyvs) Safefree(ysave->yyvs);
2441 yydebug = ysave->oldyydebug;
2442 yynerrs = ysave->oldyynerrs;
2443 yyerrflag = ysave->oldyyerrflag;
2444 yychar = ysave->oldyychar;
2445 yyval = ysave->oldyyval;
2446 yylval = ysave->oldyylval;