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