2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
9 #define yydebug PL_yydebug
10 #define yynerrs PL_yynerrs
11 #define yyerrflag PL_yyerrflag
12 #define yychar PL_yychar
13 #define yyval PL_yyval
14 #define yylval PL_yylval
20 pPerl->deprecate("\"do\" to call subroutines");
22 #define dep() Dep(this)
27 deprecate("\"do\" to call subroutines");
33 static short yylhs[] = { -1,
34 45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
35 12, 12, 12, 24, 24, 24, 24, 24, 24, 24,
36 15, 15, 15, 14, 14, 42, 42, 13, 13, 13,
37 13, 13, 13, 13, 26, 26, 27, 27, 28, 29,
38 30, 31, 32, 44, 44, 1, 1, 1, 1, 3,
39 38, 38, 46, 4, 5, 6, 39, 40, 40, 41,
40 41, 47, 47, 49, 48, 16, 16, 16, 25, 25,
41 25, 36, 36, 36, 36, 36, 36, 36, 50, 36,
42 37, 37, 17, 17, 17, 17, 17, 17, 17, 17,
43 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
44 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
45 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
46 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
47 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
48 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
49 17, 17, 17, 17, 17, 17, 17, 17, 33, 33,
50 34, 34, 34, 2, 2, 43, 23, 18, 19, 20,
51 21, 22, 35, 35, 35, 35,
53 static short yylen[] = { 2,
54 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
55 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
56 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
57 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
58 1, 1, 1, 0, 1, 1, 1, 1, 1, 4,
59 1, 0, 5, 0, 0, 0, 1, 0, 1, 1,
60 1, 3, 2, 0, 7, 3, 3, 1, 2, 3,
61 1, 3, 5, 6, 3, 5, 2, 4, 0, 5,
62 1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
63 3, 3, 3, 3, 5, 3, 2, 2, 2, 2,
64 2, 2, 2, 2, 2, 2, 3, 2, 3, 2,
65 4, 3, 4, 1, 5, 1, 4, 5, 4, 1,
66 1, 1, 5, 6, 5, 6, 5, 4, 5, 1,
67 1, 3, 4, 3, 2, 2, 4, 5, 4, 5,
68 4, 5, 1, 2, 2, 1, 2, 2, 2, 1,
69 3, 1, 3, 4, 4, 6, 1, 1, 0, 1,
70 0, 1, 2, 1, 1, 1, 2, 2, 2, 2,
73 static short yydefred[] = { 1,
74 0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
75 9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
76 64, 14, 4, 157, 0, 0, 130, 0, 152, 0,
77 55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
78 0, 0, 0, 0, 0, 0, 0, 164, 165, 0,
79 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
80 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
81 0, 0, 120, 122, 0, 0, 0, 0, 158, 51,
82 0, 57, 0, 62, 0, 7, 173, 176, 175, 174,
83 0, 0, 0, 0, 0, 0, 4, 4, 4, 4,
84 4, 4, 0, 0, 0, 0, 0, 147, 0, 0,
85 0, 0, 77, 0, 171, 0, 136, 0, 0, 0,
86 0, 0, 167, 0, 0, 0, 0, 0, 0, 0,
87 0, 0, 0, 110, 0, 168, 169, 170, 172, 0,
88 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
89 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
90 0, 0, 0, 0, 102, 103, 0, 0, 0, 0,
91 0, 0, 0, 0, 13, 0, 50, 59, 0, 0,
92 0, 75, 0, 0, 79, 0, 0, 0, 0, 0,
93 0, 0, 4, 151, 153, 0, 0, 0, 0, 0,
94 0, 0, 112, 0, 134, 0, 0, 109, 27, 0,
95 0, 19, 0, 0, 0, 0, 66, 0, 0, 0,
96 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
97 0, 0, 0, 81, 0, 0, 82, 0, 0, 0,
98 0, 0, 0, 0, 132, 0, 0, 61, 60, 53,
99 0, 3, 0, 155, 0, 0, 113, 0, 42, 0,
100 43, 0, 0, 0, 0, 166, 0, 0, 36, 41,
101 0, 0, 0, 154, 163, 78, 0, 137, 0, 139,
102 0, 111, 0, 0, 0, 0, 0, 141, 0, 0,
103 0, 119, 0, 117, 0, 128, 0, 133, 0, 76,
104 0, 80, 0, 0, 0, 0, 0, 0, 0, 0,
105 73, 138, 140, 127, 0, 125, 0, 0, 142, 118,
106 0, 123, 129, 115, 65, 156, 6, 0, 0, 0,
107 0, 0, 0, 0, 0, 126, 124, 74, 7, 28,
108 29, 0, 0, 24, 25, 0, 32, 0, 0, 0,
109 22, 0, 0, 0, 31, 5, 0, 30, 0, 0,
112 static short yydgoto[] = { 1,
113 9, 66, 10, 18, 95, 17, 86, 339, 89, 328,
114 3, 11, 12, 68, 344, 263, 70, 71, 72, 73,
115 74, 75, 76, 269, 78, 270, 259, 261, 264, 272,
116 260, 262, 113, 198, 91, 79, 238, 81, 83, 179,
117 250, 142, 267, 13, 2, 14, 15, 16, 85, 256,
119 static short yysindex[] = { 0,
120 0, 0, -66, 0, 0, 0, -48, 0, 0, 0,
121 0, 0, 645, 0, 0, 0, -232, -227, -27, 0,
122 0, 0, 0, 0, -23, -23, 0, -6, 0, 2099,
123 0, 0, 13, 20, 24, 25, -34, 2099, 27, 28,
124 29, 1021, 965, -23, 1084, 1348, -217, 0, 0, -23,
125 2099, 2099, 2099, 2099, 2099, 2099, 1404, 0, 2099, 2099,
126 1460, -23, -23, -23, -23, 2099, -206, 0, 335, 3814,
127 -73, -68, 0, 0, -47, 40, 32, 61, 0, 0,
128 -39, 0, -157, 0, -145, 0, 0, 0, 0, 0,
129 2099, 73, 2099, 825, -39, -157, 0, 0, 0, 0,
130 0, 0, 75, 3814, 78, 1519, 965, 0, 825, 0,
131 -73, 61, 0, 2099, 0, 77, 0, 825, -16, -9,
132 -51, 2099, 0, 61, 87, 87, 87, -86, -86, 33,
133 -40, 87, 87, 0, -81, 0, 0, 0, 0, 825,
134 -39, 0, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
135 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
136 2099, 2099, 2099, 2099, 0, 0, 30, 2099, 2099, 2099,
137 2099, 2099, 2099, 1694, 0, 2099, 0, 0, -49, -118,
138 189, 0, 2099, 353, 0, -39, 2099, 2099, 2099, 2099,
139 104, 1753, 0, 0, 0, -24, 8, 85, 2099, 61,
140 1809, 1865, 0, 23, 0, 2099, 54, 0, 0, -269,
141 -269, 0, -269, -269, -269, -151, 0, -43, 1121, 825,
142 673, 50, 363, 3814, 1233, 2459, 3640, 2309, 266, -82,
143 87, 87, 2099, 0, 1928, 2099, 0, 111, 51, 12,
144 76, 14, 90, 39, 0, -22, 3814, 0, 0, 0,
145 2099, 0, 121, 0, 2099, 2099, 0, -269, 0, 124,
146 0, 125, -269, 126, 130, 0, 112, 335, 0, 0,
147 131, 136, 2099, 0, 0, 0, -14, 0, 1, 0,
148 4, 0, 133, 2099, 55, 2099, 49, 0, 6, 197,
149 2099, 0, 89, 0, 94, 0, 100, 0, 144, 0,
150 1175, 0, 92, 92, 92, 92, 2099, 92, 2099, 171,
151 0, 0, 0, 0, 202, 0, 3900, 108, 0, 0,
152 188, 0, 0, 0, 0, 0, 0, -206, -206, -238,
153 -238, 199, -206, 211, 92, 0, 0, 0, 0, 0,
154 0, 92, 241, 0, 0, 92, 0, 1753, -206, 326,
155 0, 2099, -206, 256, 0, 0, 259, 0, 92, 92,
158 static short yyrindex[] = { 0,
159 0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
160 0, 0, 0, 0, 0, 0, 184, 0, 0, 0,
161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
162 0, 0, 0, 0, 0, 0, 0, 2228, 426, 0,
163 0, 2833, 2876, 0, 0, 0, 0, 0, 0, 0,
164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
165 0, 0, 0, 0, 0, 0, 59, 0, -10, 2038,
166 2952, 2995, 0, 0, 2274, 2140, 0, 200, 0, 0,
167 0, 0, -44, 0, 0, 0, 0, 0, 0, 0,
168 2421, 0, 0, 105, 0, 198, 0, 0, 0, 0,
169 0, 0, 0, 3753, 0, 0, 319, 0, 3505, 525,
170 586, 2510, 0, 0, 0, 2185, 0, 3541, 2952, 0,
171 0, 2421, 0, 2553, 3112, 3150, 3188, -37, 3069, 2597,
172 0, 3231, 3269, 0, 0, 0, 0, 0, 0, 3584,
173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
176 0, 0, 0, 0, 0, 2673, 0, 0, 0, 0,
177 909, 0, 319, 0, 0, 0, 320, 0, 0, 0,
178 0, 306, 0, 0, 0, 0, 325, 0, 0, 2789,
179 0, 0, 0, 0, 0, 0, 2716, 0, 0, -5,
180 22, 0, 68, 69, 70, 702, 0, 0, 3741, 1296,
181 1560, 3386, 3424, 3796, 0, 3703, 3660, 3622, 1616, 3467,
182 3305, 3348, 0, 0, 0, 0, 0, 0, 0, 0,
183 0, 0, 0, 0, 0, 0, 3809, 0, 0, 0,
184 309, 0, 0, 0, 0, 2421, 0, 79, 0, 0,
185 0, 0, 330, 0, 0, 0, 0, 84, 0, 0,
186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
188 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
189 0, 0, 0, 0, 0, 0, 0, 0, 317, 0,
190 0, 0, 0, 0, 0, 0, 1982, 0, 0, 0,
191 0, 0, 0, 0, 0, 0, 0, 59, 59, 154,
192 154, 0, 59, 0, 0, 0, 0, 0, 0, 0,
193 0, 0, 0, 0, 0, 0, 0, 340, 59, 909,
194 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
197 static short yygindex[] = { 0,
198 0, 0, 0, 374, 351, 0, -12, 0, 946, 413,
199 -83, 0, 0, 0, -311, -13, 4007, 2893, 0, 0,
200 0, 0, 0, 372, -8, 0, 0, 246, -131, 43,
201 86, 208, -45, -169, 987, 0, 0, 0, 0, 308,
202 0, -271, 0, 0, 0, 0, 0, 0, 0, 0,
204 #define YYTABLESIZE 4293
205 static short yytable[] = { 69,
206 207, 62, 181, 104, 168, 102, 104, 204, 168, 248,
207 20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
208 104, 104, 172, 202, 80, 104, 311, 148, 149, 82,
209 15, 84, 121, 93, 112, 18, 150, 342, 343, 122,
210 150, 312, 124, 131, 313, 182, 319, 135, 15, 169,
211 363, 275, 97, 18, 171, 104, 340, 341, 26, 98,
212 271, 347, 39, 99, 100, 62, 105, 106, 107, 235,
213 293, 141, 295, 23, 170, 173, 205, 355, 58, 174,
214 39, 358, 112, 23, 187, 188, 189, 190, 191, 192,
215 175, 26, 196, 197, 26, 26, 26, 297, 26, 23,
216 26, 26, 178, 26, 176, 200, 169, 318, 16, 17,
217 20, 180, 183, 112, 193, 203, 201, 26, 194, 38,
218 236, 321, 26, 206, 40, 276, 16, 17, 20, 210,
219 211, 213, 214, 215, 216, 217, 218, 38, 251, 62,
220 168, 310, 15, 292, 284, 149, 149, 282, 149, 26,
221 291, 307, 233, 21, 239, 240, 241, 242, 243, 244,
222 246, 300, 149, 149, 303, 304, 305, 149, 294, 197,
223 306, 308, 150, 258, 211, 332, 211, 168, 268, 316,
224 273, 26, 296, 26, 26, 277, 21, 279, 281, 21,
225 21, 21, 283, 21, 309, 21, 21, 149, 21, 4,
226 5, 6, 325, 7, 8, 299, 154, 155, 19, 150,
227 302, 335, 21, 322, 327, 148, 149, 21, 323, 287,
228 357, 289, 290, 163, 324, 314, 164, 167, 338, 165,
229 166, 167, 337, 87, 104, 104, 104, 104, 88, 346,
230 68, 104, 112, 104, 21, 148, 149, 112, 2, 104,
231 104, 104, 104, 148, 149, 350, 148, 149, 68, 104,
232 104, 101, 104, 104, 104, 104, 104, 104, 104, 348,
233 315, 104, 148, 149, 148, 149, 21, 197, 21, 21,
234 352, 44, 148, 149, 44, 44, 44, 234, 44, 320,
235 44, 44, 68, 44, 336, 258, 359, 148, 149, 360,
236 148, 149, 148, 149, 148, 149, 52, 44, 148, 149,
237 148, 149, 44, 252, 26, 26, 26, 26, 26, 26,
238 58, 26, 26, 26, 26, 26, 26, 26, 26, 26,
239 26, 26, 26, 26, 69, 148, 149, 26, 26, 44,
240 26, 26, 26, 26, 26, 148, 149, 148, 149, 26,
241 26, 26, 26, 26, 26, 163, 168, 26, 164, 161,
242 37, 165, 166, 167, 35, 162, 26, 159, 26, 26,
243 40, 44, 148, 149, 44, 37, 149, 149, 149, 149,
244 35, 21, 96, 149, 77, 149, 148, 149, 150, 212,
245 354, 149, 149, 254, 334, 164, 255, 265, 165, 166,
246 167, 149, 149, 186, 149, 149, 149, 149, 149, 21,
247 21, 21, 21, 21, 21, 157, 21, 21, 21, 21,
248 21, 21, 21, 21, 21, 21, 21, 21, 21, 148,
249 149, 0, 21, 21, 0, 21, 21, 21, 21, 21,
250 0, 0, 0, 168, 21, 21, 21, 21, 21, 21,
251 356, 0, 21, 168, 4, 5, 6, 0, 7, 8,
252 0, 21, 0, 21, 21, 0, 150, 0, 0, 150,
253 0, 68, 68, 68, 68, 150, 0, 0, 68, 0,
254 0, 0, 0, 150, 150, 150, 0, 0, 150, 0,
255 0, 0, 0, 148, 149, 0, 68, 68, 148, 149,
256 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
257 0, 44, 44, 44, 0, 0, 150, 44, 150, 0,
258 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
259 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
260 44, 44, 44, 44, 44, 0, 0, 44, 150, 0,
261 0, 0, 152, 153, 154, 155, 44, 173, 44, 44,
262 173, 173, 173, 0, 173, 157, 173, 173, 157, 173,
263 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
264 0, 0, 157, 157, 0, 0, 0, 157, 173, 0,
265 0, 4, 5, 6, 0, 7, 8, 0, 0, 0,
266 0, 0, 0, 0, 0, 0, 143, 144, 145, 146,
267 0, 0, 0, 147, 0, 157, 0, 157, 174, 0,
268 0, 174, 174, 174, 0, 174, 114, 174, 174, 114,
269 174, 148, 149, 151, 0, 0, 0, 0, 0, 152,
270 153, 154, 155, 114, 114, 0, 0, 157, 114, 174,
271 173, 154, 156, 158, 159, 160, 161, 162, 163, 0,
272 0, 164, 0, 0, 165, 166, 167, 0, 163, 0,
273 0, 164, 0, 0, 165, 166, 167, 52, 114, 0,
274 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
275 0, 0, 0, 0, 0, 0, 0, 150, 150, 150,
276 150, 0, 0, 58, 150, 0, 150, 0, 63, 0,
277 0, 174, 150, 150, 150, 150, 329, 330, 331, 0,
278 333, 0, 150, 150, 0, 150, 150, 150, 150, 150,
279 150, 150, 0, 0, 150, 61, 0, 150, 150, 150,
280 0, 0, 67, 0, 0, 67, 0, 349, 0, 0,
281 0, 0, 0, 0, 351, 0, 0, 0, 353, 0,
282 67, 0, 0, 168, 0, 0, 0, 23, 0, 0,
283 53, 361, 362, 0, 0, 0, 0, 0, 0, 0,
284 0, 173, 173, 173, 173, 173, 0, 173, 173, 173,
285 0, 0, 0, 173, 67, 150, 157, 157, 157, 157,
286 0, 0, 0, 157, 173, 157, 173, 173, 173, 173,
287 173, 157, 157, 157, 157, 173, 173, 173, 173, 173,
288 173, 157, 157, 173, 157, 157, 157, 157, 157, 157,
289 157, 0, 173, 157, 173, 173, 157, 157, 157, 0,
290 0, 0, 174, 174, 174, 174, 174, 0, 174, 174,
291 174, 0, 0, 0, 174, 0, 0, 114, 114, 114,
292 114, 0, 0, 0, 114, 174, 114, 174, 174, 174,
293 174, 174, 114, 114, 114, 114, 174, 174, 174, 174,
294 174, 174, 114, 114, 174, 114, 114, 114, 114, 114,
295 114, 114, 0, 174, 114, 174, 174, 114, 114, 114,
296 22, 24, 25, 26, 27, 28, 0, 29, 30, 31,
297 0, 0, 0, 32, 0, 168, 33, 34, 35, 36,
298 0, 0, 0, 37, 38, 0, 39, 40, 41, 42,
299 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
300 49, 44, 0, 51, 44, 44, 44, 150, 44, 0,
301 44, 44, 54, 44, 55, 56, 0, 0, 67, 152,
302 0, 154, 155, 0, 0, 0, 0, 44, 0, 0,
303 0, 0, 44, 67, 67, 67, 67, 162, 163, 0,
304 67, 164, 0, 0, 165, 166, 167, 108, 0, 0,
305 117, 0, 0, 0, 0, 0, 0, 52, 67, 44,
306 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
307 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
308 0, 0, 0, 0, 0, 0, 177, 0, 63, 114,
309 115, 44, 0, 0, 44, 0, 123, 0, 0, 0,
310 185, 0, 0, 0, 0, 0, 0, 0, 136, 137,
311 138, 139, 0, 52, 0, 61, 62, 64, 50, 0,
312 57, 0, 65, 60, 0, 59, 0, 0, 0, 0,
313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
314 0, 0, 0, 0, 63, 0, 209, 23, 0, 0,
315 53, 0, 0, 199, 0, 0, 0, 0, 0, 0,
316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
317 0, 61, 0, 154, 155, 0, 52, 0, 0, 62,
318 64, 50, 0, 57, 249, 65, 60, 0, 59, 162,
319 163, 257, 0, 164, 0, 0, 165, 166, 167, 0,
320 0, 0, 0, 23, 0, 0, 53, 63, 0, 0,
321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
322 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
323 0, 44, 44, 44, 61, 0, 0, 44, 0, 0,
324 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
325 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
326 44, 44, 44, 44, 44, 0, 23, 44, 0, 53,
327 0, 168, 0, 0, 0, 326, 44, 0, 44, 44,
328 0, 110, 25, 26, 27, 28, 88, 29, 30, 31,
329 0, 0, 0, 32, 0, 0, 0, 157, 0, 0,
330 0, 0, 0, 150, 38, 0, 39, 40, 41, 42,
331 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
332 49, 0, 0, 51, 0, 168, 0, 0, 0, 0,
333 0, 0, 54, 0, 55, 56, 0, 24, 25, 26,
334 27, 28, 0, 29, 30, 31, 0, 0, 0, 32,
335 286, 0, 0, 0, 0, 157, 0, 150, 0, 0,
336 38, 0, 39, 40, 41, 42, 43, 0, 0, 0,
337 0, 44, 45, 46, 47, 48, 49, 0, 0, 51,
338 0, 0, 0, 168, 0, 0, 0, 0, 54, 0,
339 55, 56, 0, 0, 0, 0, 88, 0, 0, 88,
340 116, 25, 26, 27, 28, 0, 29, 30, 31, 0,
341 0, 0, 32, 88, 88, 150, 0, 0, 88, 0,
342 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
343 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
344 52, 0, 51, 62, 64, 50, 0, 57, 88, 65,
345 60, 54, 59, 55, 56, 0, 0, 0, 0, 0,
346 0, 0, 0, 0, 0, 0, 120, 152, 153, 154,
347 155, 63, 0, 0, 0, 0, 0, 0, 0, 0,
348 0, 158, 159, 160, 161, 162, 163, 0, 0, 164,
349 0, 0, 165, 166, 167, 0, 52, 0, 61, 62,
350 64, 50, 0, 57, 130, 65, 60, 0, 59, 0,
351 0, 0, 0, 0, 0, 151, 0, 0, 0, 0,
352 0, 152, 153, 154, 155, 0, 0, 63, 0, 0,
353 0, 0, 0, 53, 156, 158, 159, 160, 161, 162,
354 163, 0, 0, 164, 0, 0, 165, 166, 167, 0,
355 0, 0, 52, 0, 61, 62, 64, 50, 0, 57,
356 0, 65, 60, 0, 59, 0, 0, 0, 0, 0,
357 0, 0, 0, 151, 0, 0, 0, 0, 0, 152,
358 153, 154, 155, 63, 0, 0, 0, 0, 0, 53,
359 0, 0, 156, 158, 159, 160, 161, 162, 163, 0,
360 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
361 61, 52, 134, 0, 62, 64, 50, 0, 57, 195,
362 65, 60, 0, 59, 0, 0, 0, 88, 88, 88,
363 88, 0, 0, 0, 88, 0, 88, 0, 0, 0,
364 0, 0, 63, 88, 0, 53, 0, 0, 0, 0,
365 0, 0, 88, 88, 0, 88, 88, 88, 88, 88,
366 89, 0, 0, 89, 24, 25, 26, 27, 28, 61,
367 29, 30, 31, 0, 0, 0, 32, 89, 89, 0,
368 0, 0, 89, 0, 0, 0, 0, 38, 0, 39,
369 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
370 46, 47, 48, 49, 53, 0, 51, 0, 0, 0,
371 0, 0, 89, 0, 0, 54, 90, 55, 56, 90,
372 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
373 0, 0, 32, 90, 90, 0, 0, 0, 90, 0,
374 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
375 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
376 0, 0, 51, 0, 0, 0, 0, 0, 90, 0,
377 0, 54, 0, 55, 56, 0, 24, 25, 26, 27,
378 28, 0, 29, 30, 31, 0, 52, 0, 32, 62,
379 64, 50, 0, 57, 245, 65, 60, 0, 59, 38,
380 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
381 44, 45, 46, 47, 48, 49, 0, 63, 51, 0,
382 0, 0, 0, 0, 0, 0, 0, 54, 0, 55,
383 56, 0, 0, 0, 0, 24, 25, 26, 27, 28,
384 0, 29, 30, 31, 61, 52, 0, 32, 62, 64,
385 50, 0, 57, 0, 65, 60, 0, 59, 38, 0,
386 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
387 45, 46, 47, 48, 49, 0, 63, 51, 0, 53,
388 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
389 0, 89, 89, 89, 89, 0, 0, 0, 89, 0,
390 89, 52, 0, 61, 62, 64, 50, 0, 57, 278,
391 65, 60, 0, 59, 0, 0, 89, 89, 0, 89,
392 89, 89, 89, 89, 0, 0, 0, 0, 0, 0,
393 0, 0, 63, 0, 0, 0, 0, 0, 53, 0,
394 0, 0, 0, 0, 0, 0, 0, 90, 90, 90,
395 90, 0, 0, 0, 90, 0, 90, 52, 0, 61,
396 62, 64, 50, 0, 57, 280, 65, 60, 0, 59,
397 0, 0, 90, 90, 0, 90, 90, 90, 90, 90,
398 0, 0, 0, 0, 0, 0, 0, 0, 63, 0,
399 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
401 24, 25, 26, 27, 28, 61, 29, 30, 31, 0,
402 52, 0, 32, 62, 64, 50, 0, 57, 288, 65,
403 60, 0, 59, 38, 0, 39, 40, 41, 42, 43,
404 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
405 53, 63, 51, 0, 0, 0, 0, 0, 0, 0,
406 0, 54, 0, 55, 56, 0, 0, 0, 22, 24,
407 25, 26, 27, 28, 0, 29, 30, 31, 61, 0,
408 0, 32, 95, 0, 0, 95, 0, 0, 0, 0,
409 0, 0, 38, 0, 39, 40, 41, 42, 43, 95,
410 95, 0, 0, 44, 45, 46, 47, 48, 49, 0,
411 0, 51, 0, 53, 0, 0, 0, 0, 0, 0,
412 54, 0, 55, 56, 0, 24, 25, 26, 27, 28,
413 0, 29, 30, 31, 95, 0, 0, 32, 71, 0,
414 0, 71, 0, 0, 0, 0, 0, 0, 38, 0,
415 39, 40, 41, 42, 43, 71, 71, 0, 0, 44,
416 45, 46, 47, 48, 49, 0, 0, 51, 0, 0,
417 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
418 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
419 71, 52, 0, 32, 62, 64, 50, 0, 57, 0,
420 65, 60, 0, 59, 38, 0, 39, 40, 41, 42,
421 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
422 49, 0, 63, 51, 0, 0, 0, 0, 0, 0,
423 0, 0, 54, 0, 55, 56, 0, 0, 0, 0,
424 131, 0, 0, 131, 24, 25, 26, 27, 28, 61,
425 29, 30, 31, 0, 0, 0, 32, 131, 131, 0,
426 0, 0, 131, 0, 0, 0, 0, 38, 0, 39,
427 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
428 46, 47, 48, 49, 53, 157, 51, 0, 157, 0,
429 131, 0, 131, 0, 0, 54, 0, 55, 56, 0,
430 0, 0, 157, 157, 0, 0, 0, 157, 0, 0,
431 0, 0, 0, 95, 95, 95, 95, 0, 0, 0,
432 95, 0, 131, 0, 0, 0, 0, 0, 143, 0,
433 0, 143, 0, 0, 0, 157, 0, 157, 95, 95,
434 0, 95, 0, 0, 0, 143, 143, 0, 0, 0,
435 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 157, 0, 71,
437 71, 71, 71, 0, 116, 0, 71, 116, 0, 0,
438 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
439 0, 116, 116, 0, 71, 71, 116, 0, 0, 0,
440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441 143, 0, 0, 0, 0, 24, 25, 26, 27, 28,
442 0, 29, 30, 31, 116, 0, 116, 32, 0, 0,
443 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
444 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
445 45, 46, 47, 48, 49, 0, 0, 51, 0, 168,
446 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
447 0, 131, 131, 131, 131, 0, 0, 0, 131, 0,
448 131, 0, 0, 0, 0, 0, 131, 131, 131, 131,
449 0, 150, 0, 0, 0, 0, 131, 131, 0, 131,
450 131, 131, 131, 131, 131, 131, 0, 0, 131, 0,
451 0, 131, 131, 131, 0, 0, 157, 157, 157, 157,
452 0, 159, 0, 157, 159, 157, 0, 0, 0, 0,
453 0, 157, 157, 157, 157, 0, 0, 0, 159, 159,
454 0, 157, 157, 159, 157, 157, 157, 157, 157, 157,
455 157, 0, 0, 157, 0, 0, 157, 157, 157, 143,
456 143, 143, 143, 0, 0, 0, 143, 0, 143, 0,
457 0, 0, 0, 159, 143, 143, 143, 143, 0, 0,
458 0, 0, 0, 0, 143, 143, 0, 143, 143, 143,
459 143, 143, 143, 143, 0, 0, 143, 0, 0, 143,
460 143, 143, 0, 159, 0, 116, 116, 116, 116, 168,
461 160, 0, 116, 0, 116, 0, 0, 0, 0, 0,
462 116, 116, 116, 116, 0, 0, 0, 160, 160, 0,
463 116, 116, 160, 116, 116, 116, 116, 116, 116, 116,
464 0, 150, 116, 0, 0, 116, 116, 116, 0, 0,
465 0, 0, 0, 145, 0, 152, 153, 154, 155, 0,
466 160, 0, 160, 0, 0, 0, 0, 0, 0, 0,
467 145, 145, 161, 162, 163, 145, 0, 164, 0, 0,
468 165, 166, 167, 0, 0, 0, 0, 0, 0, 0,
469 0, 0, 160, 0, 0, 0, 0, 108, 0, 0,
470 108, 0, 0, 145, 0, 145, 0, 0, 0, 0,
471 0, 0, 0, 0, 108, 108, 0, 0, 0, 108,
472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
473 0, 0, 0, 0, 0, 145, 0, 0, 0, 0,
474 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
475 0, 0, 159, 159, 159, 159, 0, 0, 0, 159,
476 0, 159, 0, 0, 0, 0, 0, 159, 159, 159,
477 159, 0, 0, 69, 0, 0, 69, 159, 159, 108,
478 159, 159, 159, 159, 159, 159, 159, 0, 0, 159,
479 69, 69, 159, 159, 159, 69, 0, 0, 0, 0,
480 0, 0, 0, 0, 0, 152, 153, 154, 155, 0,
481 0, 0, 0, 0, 0, 0, 107, 0, 0, 107,
482 159, 160, 161, 162, 163, 69, 0, 164, 0, 0,
483 165, 166, 167, 107, 107, 0, 0, 0, 107, 0,
484 0, 160, 160, 160, 160, 0, 0, 0, 160, 0,
485 160, 0, 0, 0, 0, 69, 160, 160, 160, 160,
486 0, 0, 0, 0, 0, 0, 160, 160, 107, 160,
487 160, 160, 160, 160, 160, 160, 0, 0, 160, 0,
488 0, 160, 160, 160, 145, 145, 145, 145, 0, 72,
489 0, 145, 0, 145, 0, 0, 0, 0, 107, 145,
490 145, 145, 145, 0, 0, 0, 72, 72, 0, 145,
491 145, 72, 145, 145, 145, 145, 145, 145, 145, 0,
492 0, 145, 0, 0, 145, 145, 145, 0, 108, 108,
493 108, 108, 0, 146, 0, 108, 146, 108, 0, 72,
494 0, 72, 0, 108, 108, 108, 108, 0, 0, 0,
495 146, 146, 0, 108, 108, 146, 108, 108, 108, 108,
496 108, 108, 108, 0, 0, 108, 0, 0, 108, 108,
497 108, 72, 0, 0, 0, 0, 159, 90, 90, 159,
498 0, 0, 0, 0, 0, 146, 0, 0, 0, 103,
499 0, 0, 0, 159, 159, 111, 90, 119, 159, 0,
500 0, 0, 90, 0, 69, 69, 69, 69, 0, 0,
501 0, 69, 0, 69, 90, 90, 90, 90, 0, 69,
502 69, 69, 69, 0, 0, 0, 0, 0, 159, 69,
503 69, 0, 69, 69, 69, 69, 69, 69, 69, 0,
504 0, 69, 0, 0, 69, 69, 69, 107, 107, 107,
505 107, 0, 114, 0, 107, 114, 107, 0, 0, 111,
506 0, 0, 107, 107, 107, 107, 0, 0, 0, 114,
507 114, 0, 107, 107, 114, 107, 107, 107, 107, 107,
508 107, 107, 0, 0, 107, 0, 0, 107, 107, 107,
509 0, 0, 0, 0, 0, 121, 0, 0, 121, 0,
510 0, 0, 0, 0, 114, 0, 0, 0, 0, 0,
511 0, 0, 121, 121, 0, 0, 0, 121, 0, 237,
512 72, 72, 72, 72, 0, 0, 0, 72, 0, 72,
513 0, 0, 0, 0, 0, 72, 72, 72, 72, 0,
514 0, 0, 0, 266, 0, 72, 72, 121, 72, 72,
515 72, 72, 72, 72, 72, 0, 0, 72, 0, 0,
516 72, 72, 72, 0, 146, 146, 146, 146, 0, 105,
517 0, 146, 105, 146, 0, 0, 0, 0, 0, 146,
518 146, 146, 146, 0, 0, 0, 105, 105, 0, 146,
519 146, 105, 146, 146, 146, 146, 146, 146, 146, 0,
520 0, 146, 0, 0, 146, 146, 146, 159, 159, 159,
521 159, 0, 99, 0, 159, 99, 159, 0, 0, 0,
522 0, 105, 159, 159, 159, 159, 0, 0, 0, 99,
523 99, 0, 159, 159, 99, 159, 159, 159, 159, 159,
524 159, 159, 0, 0, 159, 0, 0, 159, 159, 159,
525 100, 0, 0, 100, 0, 0, 0, 0, 0, 0,
526 0, 0, 0, 0, 99, 0, 0, 100, 100, 0,
527 0, 0, 100, 0, 0, 0, 0, 0, 0, 0,
528 0, 0, 0, 114, 114, 114, 114, 0, 101, 0,
529 114, 101, 114, 0, 0, 0, 0, 0, 114, 114,
530 114, 114, 100, 0, 0, 101, 101, 0, 114, 114,
531 101, 114, 114, 114, 114, 114, 114, 114, 0, 0,
532 114, 0, 0, 114, 114, 114, 121, 121, 121, 121,
533 0, 97, 0, 121, 97, 121, 0, 0, 0, 0,
534 101, 121, 121, 121, 121, 0, 0, 0, 97, 97,
535 0, 121, 121, 97, 121, 121, 121, 121, 121, 121,
536 121, 0, 0, 121, 0, 0, 121, 121, 121, 98,
537 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
538 0, 0, 0, 97, 0, 0, 98, 98, 0, 0,
539 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
540 105, 105, 105, 105, 0, 96, 0, 105, 96, 105,
541 0, 0, 0, 0, 0, 105, 105, 105, 105, 0,
542 0, 98, 96, 96, 0, 105, 105, 96, 105, 105,
543 105, 105, 105, 105, 105, 0, 0, 105, 0, 0,
544 0, 0, 0, 99, 99, 99, 99, 0, 84, 0,
545 99, 84, 99, 0, 0, 0, 0, 96, 99, 99,
546 99, 99, 0, 0, 0, 84, 84, 0, 99, 99,
547 84, 99, 99, 99, 99, 99, 99, 99, 0, 0,
548 0, 100, 100, 100, 100, 0, 85, 0, 100, 85,
549 100, 0, 0, 0, 0, 0, 100, 100, 100, 100,
550 84, 0, 0, 85, 85, 0, 100, 100, 85, 100,
551 100, 100, 100, 100, 100, 100, 0, 0, 0, 101,
552 101, 101, 101, 0, 86, 0, 101, 86, 101, 0,
553 0, 0, 0, 0, 101, 101, 101, 101, 85, 0,
554 0, 86, 86, 0, 101, 101, 86, 101, 101, 101,
555 101, 101, 101, 101, 0, 0, 0, 0, 0, 0,
556 0, 0, 97, 97, 97, 97, 0, 87, 0, 97,
557 87, 97, 0, 0, 0, 0, 86, 97, 97, 97,
558 97, 0, 0, 0, 87, 87, 0, 97, 97, 87,
559 97, 97, 97, 97, 97, 97, 97, 0, 0, 0,
560 98, 98, 98, 98, 0, 148, 0, 98, 148, 98,
561 0, 0, 0, 0, 0, 98, 98, 98, 98, 87,
562 0, 0, 148, 148, 0, 98, 98, 148, 98, 98,
563 98, 98, 98, 98, 98, 0, 96, 96, 96, 96,
564 0, 135, 0, 96, 135, 96, 0, 0, 0, 0,
565 0, 96, 96, 96, 96, 0, 0, 148, 135, 135,
566 0, 96, 96, 135, 96, 96, 96, 96, 96, 96,
567 96, 0, 0, 0, 0, 0, 0, 0, 0, 84,
568 84, 84, 84, 0, 106, 0, 84, 106, 84, 0,
569 0, 0, 0, 135, 84, 84, 84, 84, 0, 0,
570 0, 106, 106, 0, 84, 84, 106, 84, 84, 84,
571 84, 84, 84, 84, 0, 0, 0, 85, 85, 85,
572 85, 0, 91, 0, 85, 91, 85, 0, 0, 0,
573 0, 0, 85, 85, 85, 85, 106, 0, 0, 91,
574 91, 0, 85, 85, 91, 85, 85, 85, 85, 85,
575 85, 0, 0, 0, 0, 86, 86, 86, 86, 0,
576 93, 0, 86, 93, 86, 0, 0, 0, 0, 0,
577 86, 86, 0, 86, 91, 0, 0, 93, 93, 0,
578 86, 86, 93, 86, 86, 86, 86, 86, 86, 0,
579 168, 0, 0, 0, 0, 0, 0, 0, 87, 87,
580 87, 87, 0, 94, 0, 87, 94, 87, 0, 0,
581 0, 0, 93, 87, 87, 0, 0, 0, 0, 0,
582 94, 94, 150, 87, 87, 94, 87, 87, 87, 87,
583 87, 87, 0, 0, 0, 0, 148, 148, 148, 148,
584 0, 92, 0, 148, 92, 148, 0, 0, 0, 0,
585 0, 148, 148, 144, 0, 94, 144, 0, 92, 92,
586 0, 148, 148, 92, 148, 148, 148, 148, 148, 0,
587 144, 144, 135, 135, 135, 135, 0, 0, 0, 135,
588 0, 135, 0, 0, 0, 0, 0, 135, 135, 0,
589 0, 0, 0, 92, 0, 0, 83, 135, 135, 83,
590 135, 135, 135, 135, 135, 144, 0, 0, 0, 70,
591 0, 0, 70, 83, 83, 106, 106, 106, 106, 0,
592 0, 0, 106, 0, 106, 0, 70, 70, 0, 0,
593 106, 106, 0, 0, 0, 0, 157, 0, 0, 0,
594 106, 106, 0, 106, 106, 106, 106, 106, 83, 0,
595 0, 0, 0, 91, 91, 91, 91, 0, 0, 0,
596 91, 70, 91, 0, 168, 0, 0, 0, 0, 0,
597 0, 0, 0, 0, 0, 0, 0, 0, 91, 91,
598 0, 91, 91, 91, 91, 0, 152, 153, 154, 155,
599 0, 93, 93, 93, 93, 0, 150, 0, 93, 0,
600 93, 0, 160, 161, 162, 163, 0, 0, 164, 0,
601 0, 165, 166, 167, 0, 0, 93, 93, 0, 93,
602 93, 93, 157, 0, 0, 0, 0, 0, 0, 0,
603 0, 0, 0, 0, 94, 94, 94, 94, 0, 0,
604 0, 94, 0, 94, 0, 0, 0, 0, 0, 0,
605 168, 0, 0, 0, 0, 0, 0, 0, 0, 94,
606 94, 0, 94, 94, 0, 0, 0, 0, 0, 0,
607 0, 0, 92, 92, 92, 92, 0, 0, 0, 92,
608 0, 0, 150, 0, 144, 144, 144, 144, 0, 0,
609 0, 144, 0, 0, 0, 0, 94, 92, 92, 0,
610 92, 0, 0, 0, 104, 0, 0, 0, 109, 144,
611 144, 118, 0, 0, 0, 0, 0, 0, 125, 126,
612 127, 128, 129, 0, 0, 132, 133, 83, 83, 83,
613 83, 0, 140, 0, 83, 0, 0, 0, 0, 0,
614 70, 70, 70, 70, 0, 0, 0, 70, 0, 0,
615 0, 0, 83, 83, 151, 0, 0, 0, 0, 184,
616 152, 153, 154, 155, 0, 70, 70, 0, 0, 0,
617 0, 0, 0, 156, 158, 159, 160, 161, 162, 163,
618 0, 0, 164, 0, 0, 165, 166, 167, 0, 0,
619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
621 0, 0, 0, 0, 0, 0, 0, 219, 220, 221,
622 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
623 232, 0, 0, 0, 0, 0, 0, 0, 0, 0,
624 151, 0, 247, 0, 0, 0, 152, 153, 154, 155,
625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
626 158, 159, 160, 161, 162, 163, 0, 0, 164, 0,
627 0, 165, 166, 167, 0, 0, 0, 0, 0, 0,
628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
632 0, 301, 0, 0, 0, 0, 0, 0, 0, 0,
633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
637 static short yycheck[] = { 13,
638 41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
639 59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
640 58, 59, 91, 40, 257, 63, 41, 297, 298, 257,
641 41, 59, 46, 40, 43, 41, 123, 276, 277, 257,
642 123, 41, 51, 57, 41, 91, 41, 61, 59, 123,
643 362, 44, 40, 59, 123, 93, 328, 329, 0, 40,
644 192, 333, 41, 40, 40, 36, 40, 40, 40, 40,
645 59, 278, 59, 123, 91, 123, 122, 349, 123, 40,
646 59, 353, 91, 123, 97, 98, 99, 100, 101, 102,
647 59, 33, 106, 107, 36, 37, 38, 59, 40, 123,
648 42, 43, 260, 45, 44, 114, 123, 59, 41, 41,
649 41, 257, 40, 122, 40, 125, 40, 59, 41, 41,
650 91, 291, 64, 91, 41, 41, 59, 59, 59, 143,
651 144, 145, 146, 147, 148, 149, 150, 59, 257, 36,
652 91, 273, 59, 93, 91, 41, 298, 125, 44, 91,
653 40, 40, 123, 0, 168, 169, 170, 171, 172, 173,
654 174, 41, 58, 59, 41, 41, 41, 63, 93, 183,
655 41, 41, 123, 187, 188, 307, 190, 91, 192, 125,
656 193, 123, 93, 125, 126, 199, 33, 201, 202, 36,
657 37, 38, 206, 40, 59, 42, 43, 93, 45, 266,
658 267, 268, 59, 270, 271, 251, 289, 290, 257, 123,
659 256, 41, 59, 125, 123, 297, 298, 64, 125, 233,
660 352, 235, 236, 306, 125, 93, 309, 314, 41, 312,
661 313, 314, 125, 257, 272, 273, 274, 275, 262, 41,
662 41, 279, 251, 281, 91, 297, 298, 256, 0, 287,
663 288, 289, 290, 297, 298, 339, 297, 298, 59, 297,
664 298, 296, 300, 301, 302, 303, 304, 305, 306, 59,
665 284, 309, 297, 298, 297, 298, 123, 291, 125, 126,
666 40, 33, 297, 298, 36, 37, 38, 258, 40, 93,
667 42, 43, 93, 45, 93, 309, 41, 297, 298, 41,
668 297, 298, 297, 298, 297, 298, 123, 59, 297, 298,
669 297, 298, 64, 125, 256, 257, 258, 259, 260, 261,
670 123, 263, 264, 265, 266, 267, 268, 269, 270, 271,
671 272, 273, 274, 275, 348, 297, 298, 279, 280, 91,
672 282, 283, 284, 285, 286, 297, 298, 297, 298, 291,
673 292, 293, 294, 295, 296, 306, 91, 299, 309, 41,
674 41, 312, 313, 314, 59, 41, 308, 59, 310, 311,
675 41, 123, 297, 298, 126, 59, 272, 273, 274, 275,
676 41, 8, 32, 279, 13, 281, 297, 298, 123, 144,
677 348, 287, 288, 41, 309, 309, 44, 190, 312, 313,
678 314, 297, 298, 96, 300, 301, 302, 303, 304, 256,
679 257, 258, 259, 260, 261, 63, 263, 264, 265, 266,
680 267, 268, 269, 270, 271, 272, 273, 274, 275, 297,
681 298, -1, 279, 280, -1, 282, 283, 284, 285, 286,
682 -1, -1, -1, 91, 291, 292, 293, 294, 295, 296,
683 125, -1, 299, 91, 266, 267, 268, -1, 270, 271,
684 -1, 308, -1, 310, 311, -1, 41, -1, -1, 44,
685 -1, 272, 273, 274, 275, 123, -1, -1, 279, -1,
686 -1, -1, -1, 58, 59, 123, -1, -1, 63, -1,
687 -1, -1, -1, 297, 298, -1, 297, 298, 297, 298,
688 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
689 -1, 263, 264, 265, -1, -1, 91, 269, 93, -1,
690 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
691 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
692 292, 293, 294, 295, 296, -1, -1, 299, 123, -1,
693 -1, -1, 287, 288, 289, 290, 308, 33, 310, 311,
694 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
695 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
696 -1, -1, 58, 59, -1, -1, -1, 63, 64, -1,
697 -1, 266, 267, 268, -1, 270, 271, -1, -1, -1,
698 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
699 -1, -1, -1, 279, -1, 91, -1, 93, 33, -1,
700 -1, 36, 37, 38, -1, 40, 41, 42, 43, 44,
701 45, 297, 298, 281, -1, -1, -1, -1, -1, 287,
702 288, 289, 290, 58, 59, -1, -1, 123, 63, 64,
703 126, 289, 300, 301, 302, 303, 304, 305, 306, -1,
704 -1, 309, -1, -1, 312, 313, 314, -1, 306, -1,
705 -1, 309, -1, -1, 312, 313, 314, 33, 93, -1,
706 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
707 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
708 275, -1, -1, 59, 279, -1, 281, -1, 64, -1,
709 -1, 126, 287, 288, 289, 290, 304, 305, 306, -1,
710 308, -1, 297, 298, -1, 300, 301, 302, 303, 304,
711 305, 306, -1, -1, 309, 91, -1, 312, 313, 314,
712 -1, -1, 41, -1, -1, 44, -1, 335, -1, -1,
713 -1, -1, -1, -1, 342, -1, -1, -1, 346, -1,
714 59, -1, -1, 91, -1, -1, -1, 123, -1, -1,
715 126, 359, 360, -1, -1, -1, -1, -1, -1, -1,
716 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
717 -1, -1, -1, 269, 93, 123, 272, 273, 274, 275,
718 -1, -1, -1, 279, 280, 281, 282, 283, 284, 285,
719 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
720 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
721 306, -1, 308, 309, 310, 311, 312, 313, 314, -1,
722 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
723 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
724 275, -1, -1, -1, 279, 280, 281, 282, 283, 284,
725 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
726 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
727 305, 306, -1, 308, 309, 310, 311, 312, 313, 314,
728 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
729 -1, -1, -1, 269, -1, 91, 272, 273, 274, 275,
730 -1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
731 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
732 296, 33, -1, 299, 36, 37, 38, 123, 40, -1,
733 42, 43, 308, 45, 310, 311, -1, -1, 13, 287,
734 -1, 289, 290, -1, -1, -1, -1, 59, -1, -1,
735 -1, -1, 64, 272, 273, 274, 275, 305, 306, -1,
736 279, 309, -1, -1, 312, 313, 314, 42, -1, -1,
737 45, -1, -1, -1, -1, -1, -1, 33, 297, 91,
738 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
739 -1, -1, 26, -1, -1, -1, -1, -1, -1, -1,
740 -1, -1, -1, -1, -1, -1, 81, -1, 64, 43,
741 44, 123, -1, -1, 126, -1, 50, -1, -1, -1,
742 95, -1, -1, -1, -1, -1, -1, -1, 62, 63,
743 64, 65, -1, 33, -1, 91, 36, 37, 38, -1,
744 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
745 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
746 -1, -1, -1, -1, 64, -1, 141, 123, -1, -1,
747 126, -1, -1, 107, -1, -1, -1, -1, -1, -1,
748 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
749 -1, 91, -1, 289, 290, -1, 33, -1, -1, 36,
750 37, 38, -1, 40, 179, 42, 43, -1, 45, 305,
751 306, 186, -1, 309, -1, -1, 312, 313, 314, -1,
752 -1, -1, -1, 123, -1, -1, 126, 64, -1, -1,
753 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
754 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
755 -1, 263, 264, 265, 91, -1, -1, 269, -1, -1,
756 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
757 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
758 292, 293, 294, 295, 296, -1, 123, 299, -1, 126,
759 -1, 91, -1, -1, -1, 41, 308, -1, 310, 311,
760 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
761 -1, -1, -1, 269, -1, -1, -1, 63, -1, -1,
762 -1, -1, -1, 123, 280, -1, 282, 283, 284, 285,
763 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
764 296, -1, -1, 299, -1, 91, -1, -1, -1, -1,
765 -1, -1, 308, -1, 310, 311, -1, 257, 258, 259,
766 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
767 58, -1, -1, -1, -1, 63, -1, 123, -1, -1,
768 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
769 -1, 291, 292, 293, 294, 295, 296, -1, -1, 299,
770 -1, -1, -1, 91, -1, -1, -1, -1, 308, -1,
771 310, 311, -1, -1, -1, -1, 41, -1, -1, 44,
772 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
773 -1, -1, 269, 58, 59, 123, -1, -1, 63, -1,
774 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
775 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
776 33, -1, 299, 36, 37, 38, -1, 40, 93, 42,
777 43, 308, 45, 310, 311, -1, -1, -1, -1, -1,
778 -1, -1, -1, -1, -1, -1, 59, 287, 288, 289,
779 290, 64, -1, -1, -1, -1, -1, -1, -1, -1,
780 -1, 301, 302, 303, 304, 305, 306, -1, -1, 309,
781 -1, -1, 312, 313, 314, -1, 33, -1, 91, 36,
782 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
783 -1, -1, -1, -1, -1, 281, -1, -1, -1, -1,
784 -1, 287, 288, 289, 290, -1, -1, 64, -1, -1,
785 -1, -1, -1, 126, 300, 301, 302, 303, 304, 305,
786 306, -1, -1, 309, -1, -1, 312, 313, 314, -1,
787 -1, -1, 33, -1, 91, 36, 37, 38, -1, 40,
788 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
789 -1, -1, -1, 281, -1, -1, -1, -1, -1, 287,
790 288, 289, 290, 64, -1, -1, -1, -1, -1, 126,
791 -1, -1, 300, 301, 302, 303, 304, 305, 306, -1,
792 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
793 91, 33, 93, -1, 36, 37, 38, -1, 40, 41,
794 42, 43, -1, 45, -1, -1, -1, 272, 273, 274,
795 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
796 -1, -1, 64, 288, -1, 126, -1, -1, -1, -1,
797 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
798 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
799 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
800 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
801 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
802 293, 294, 295, 296, 126, -1, 299, -1, -1, -1,
803 -1, -1, 93, -1, -1, 308, 41, 310, 311, 44,
804 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
805 -1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
806 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
807 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
808 -1, -1, 299, -1, -1, -1, -1, -1, 93, -1,
809 -1, 308, -1, 310, 311, -1, 257, 258, 259, 260,
810 261, -1, 263, 264, 265, -1, 33, -1, 269, 36,
811 37, 38, -1, 40, 41, 42, 43, -1, 45, 280,
812 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
813 291, 292, 293, 294, 295, 296, -1, 64, 299, -1,
814 -1, -1, -1, -1, -1, -1, -1, 308, -1, 310,
815 311, -1, -1, -1, -1, 257, 258, 259, 260, 261,
816 -1, 263, 264, 265, 91, 33, -1, 269, 36, 37,
817 38, -1, 40, -1, 42, 43, -1, 45, 280, -1,
818 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
819 292, 293, 294, 295, 296, -1, 64, 299, -1, 126,
820 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
821 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
822 281, 33, -1, 91, 36, 37, 38, -1, 40, 41,
823 42, 43, -1, 45, -1, -1, 297, 298, -1, 300,
824 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
825 -1, -1, 64, -1, -1, -1, -1, -1, 126, -1,
826 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
827 275, -1, -1, -1, 279, -1, 281, 33, -1, 91,
828 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
829 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
830 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
831 -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
832 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
833 257, 258, 259, 260, 261, 91, 263, 264, 265, -1,
834 33, -1, 269, 36, 37, 38, -1, 40, 41, 42,
835 43, -1, 45, 280, -1, 282, 283, 284, 285, 286,
836 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
837 126, 64, 299, -1, -1, -1, -1, -1, -1, -1,
838 -1, 308, -1, 310, 311, -1, -1, -1, 256, 257,
839 258, 259, 260, 261, -1, 263, 264, 265, 91, -1,
840 -1, 269, 41, -1, -1, 44, -1, -1, -1, -1,
841 -1, -1, 280, -1, 282, 283, 284, 285, 286, 58,
842 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
843 -1, 299, -1, 126, -1, -1, -1, -1, -1, -1,
844 308, -1, 310, 311, -1, 257, 258, 259, 260, 261,
845 -1, 263, 264, 265, 93, -1, -1, 269, 41, -1,
846 -1, 44, -1, -1, -1, -1, -1, -1, 280, -1,
847 282, 283, 284, 285, 286, 58, 59, -1, -1, 291,
848 292, 293, 294, 295, 296, -1, -1, 299, -1, -1,
849 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
850 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
851 93, 33, -1, 269, 36, 37, 38, -1, 40, -1,
852 42, 43, -1, 45, 280, -1, 282, 283, 284, 285,
853 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
854 296, -1, 64, 299, -1, -1, -1, -1, -1, -1,
855 -1, -1, 308, -1, 310, 311, -1, -1, -1, -1,
856 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
857 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
858 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
859 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
860 293, 294, 295, 296, 126, 41, 299, -1, 44, -1,
861 91, -1, 93, -1, -1, 308, -1, 310, 311, -1,
862 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
863 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
864 279, -1, 123, -1, -1, -1, -1, -1, 41, -1,
865 -1, 44, -1, -1, -1, 91, -1, 93, 297, 298,
866 -1, 300, -1, -1, -1, 58, 59, -1, -1, -1,
867 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
868 -1, -1, -1, -1, -1, -1, -1, 123, -1, 272,
869 273, 274, 275, -1, 41, -1, 279, 44, -1, -1,
870 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
871 -1, 58, 59, -1, 297, 298, 63, -1, -1, -1,
872 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
873 123, -1, -1, -1, -1, 257, 258, 259, 260, 261,
874 -1, 263, 264, 265, 91, -1, 93, 269, -1, -1,
875 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
876 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
877 292, 293, 294, 295, 296, -1, -1, 299, -1, 91,
878 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
879 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
880 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
881 -1, 123, -1, -1, -1, -1, 297, 298, -1, 300,
882 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
883 -1, 312, 313, 314, -1, -1, 272, 273, 274, 275,
884 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
885 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
886 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
887 306, -1, -1, 309, -1, -1, 312, 313, 314, 272,
888 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
889 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
890 -1, -1, -1, -1, 297, 298, -1, 300, 301, 302,
891 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
892 313, 314, -1, 123, -1, 272, 273, 274, 275, 91,
893 41, -1, 279, -1, 281, -1, -1, -1, -1, -1,
894 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
895 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
896 -1, 123, 309, -1, -1, 312, 313, 314, -1, -1,
897 -1, -1, -1, 41, -1, 287, 288, 289, 290, -1,
898 91, -1, 93, -1, -1, -1, -1, -1, -1, -1,
899 58, 59, 304, 305, 306, 63, -1, 309, -1, -1,
900 312, 313, 314, -1, -1, -1, -1, -1, -1, -1,
901 -1, -1, 123, -1, -1, -1, -1, 41, -1, -1,
902 44, -1, -1, 91, -1, 93, -1, -1, -1, -1,
903 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
904 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
905 -1, -1, -1, -1, -1, 123, -1, -1, -1, -1,
906 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
907 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
908 -1, 281, -1, -1, -1, -1, -1, 287, 288, 289,
909 290, -1, -1, 41, -1, -1, 44, 297, 298, 123,
910 300, 301, 302, 303, 304, 305, 306, -1, -1, 309,
911 58, 59, 312, 313, 314, 63, -1, -1, -1, -1,
912 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
913 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
914 302, 303, 304, 305, 306, 93, -1, 309, -1, -1,
915 312, 313, 314, 58, 59, -1, -1, -1, 63, -1,
916 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
917 281, -1, -1, -1, -1, 123, 287, 288, 289, 290,
918 -1, -1, -1, -1, -1, -1, 297, 298, 93, 300,
919 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
920 -1, 312, 313, 314, 272, 273, 274, 275, -1, 41,
921 -1, 279, -1, 281, -1, -1, -1, -1, 123, 287,
922 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
923 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
924 -1, 309, -1, -1, 312, 313, 314, -1, 272, 273,
925 274, 275, -1, 41, -1, 279, 44, 281, -1, 91,
926 -1, 93, -1, 287, 288, 289, 290, -1, -1, -1,
927 58, 59, -1, 297, 298, 63, 300, 301, 302, 303,
928 304, 305, 306, -1, -1, 309, -1, -1, 312, 313,
929 314, 123, -1, -1, -1, -1, 41, 25, 26, 44,
930 -1, -1, -1, -1, -1, 93, -1, -1, -1, 37,
931 -1, -1, -1, 58, 59, 43, 44, 45, 63, -1,
932 -1, -1, 50, -1, 272, 273, 274, 275, -1, -1,
933 -1, 279, -1, 281, 62, 63, 64, 65, -1, 287,
934 288, 289, 290, -1, -1, -1, -1, -1, 93, 297,
935 298, -1, 300, 301, 302, 303, 304, 305, 306, -1,
936 -1, 309, -1, -1, 312, 313, 314, 272, 273, 274,
937 275, -1, 41, -1, 279, 44, 281, -1, -1, 107,
938 -1, -1, 287, 288, 289, 290, -1, -1, -1, 58,
939 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
940 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
941 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
942 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
943 -1, -1, 58, 59, -1, -1, -1, 63, -1, 167,
944 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
945 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
946 -1, -1, -1, 191, -1, 297, 298, 93, 300, 301,
947 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
948 312, 313, 314, -1, 272, 273, 274, 275, -1, 41,
949 -1, 279, 44, 281, -1, -1, -1, -1, -1, 287,
950 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
951 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
952 -1, 309, -1, -1, 312, 313, 314, 272, 273, 274,
953 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
954 -1, 93, 287, 288, 289, 290, -1, -1, -1, 58,
955 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
956 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
957 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
958 -1, -1, -1, -1, 93, -1, -1, 58, 59, -1,
959 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
960 -1, -1, -1, 272, 273, 274, 275, -1, 41, -1,
961 279, 44, 281, -1, -1, -1, -1, -1, 287, 288,
962 289, 290, 93, -1, -1, 58, 59, -1, 297, 298,
963 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
964 309, -1, -1, 312, 313, 314, 272, 273, 274, 275,
965 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
966 93, 287, 288, 289, 290, -1, -1, -1, 58, 59,
967 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
968 306, -1, -1, 309, -1, -1, 312, 313, 314, 41,
969 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
970 -1, -1, -1, 93, -1, -1, 58, 59, -1, -1,
971 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
972 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
973 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
974 -1, 93, 58, 59, -1, 297, 298, 63, 300, 301,
975 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
976 -1, -1, -1, 272, 273, 274, 275, -1, 41, -1,
977 279, 44, 281, -1, -1, -1, -1, 93, 287, 288,
978 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
979 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
980 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
981 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
982 93, -1, -1, 58, 59, -1, 297, 298, 63, 300,
983 301, 302, 303, 304, 305, 306, -1, -1, -1, 272,
984 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
985 -1, -1, -1, -1, 287, 288, 289, 290, 93, -1,
986 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
987 303, 304, 305, 306, -1, -1, -1, -1, -1, -1,
988 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
989 44, 281, -1, -1, -1, -1, 93, 287, 288, 289,
990 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
991 300, 301, 302, 303, 304, 305, 306, -1, -1, -1,
992 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
993 -1, -1, -1, -1, -1, 287, 288, 289, 290, 93,
994 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
995 302, 303, 304, 305, 306, -1, 272, 273, 274, 275,
996 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
997 -1, 287, 288, 289, 290, -1, -1, 93, 58, 59,
998 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
999 306, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1000 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1001 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
1002 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
1003 303, 304, 305, 306, -1, -1, -1, 272, 273, 274,
1004 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1005 -1, -1, 287, 288, 289, 290, 93, -1, -1, 58,
1006 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
1007 305, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1008 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
1009 287, 288, -1, 290, 93, -1, -1, 58, 59, -1,
1010 297, 298, 63, 300, 301, 302, 303, 304, 305, -1,
1011 91, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1012 274, 275, -1, 41, -1, 279, 44, 281, -1, -1,
1013 -1, -1, 93, 287, 288, -1, -1, -1, -1, -1,
1014 58, 59, 123, 297, 298, 63, 300, 301, 302, 303,
1015 304, 305, -1, -1, -1, -1, 272, 273, 274, 275,
1016 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1017 -1, 287, 288, 41, -1, 93, 44, -1, 58, 59,
1018 -1, 297, 298, 63, 300, 301, 302, 303, 304, -1,
1019 58, 59, 272, 273, 274, 275, -1, -1, -1, 279,
1020 -1, 281, -1, -1, -1, -1, -1, 287, 288, -1,
1021 -1, -1, -1, 93, -1, -1, 41, 297, 298, 44,
1022 300, 301, 302, 303, 304, 93, -1, -1, -1, 41,
1023 -1, -1, 44, 58, 59, 272, 273, 274, 275, -1,
1024 -1, -1, 279, -1, 281, -1, 58, 59, -1, -1,
1025 287, 288, -1, -1, -1, -1, 63, -1, -1, -1,
1026 297, 298, -1, 300, 301, 302, 303, 304, 93, -1,
1027 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1028 279, 93, 281, -1, 91, -1, -1, -1, -1, -1,
1029 -1, -1, -1, -1, -1, -1, -1, -1, 297, 298,
1030 -1, 300, 301, 302, 303, -1, 287, 288, 289, 290,
1031 -1, 272, 273, 274, 275, -1, 123, -1, 279, -1,
1032 281, -1, 303, 304, 305, 306, -1, -1, 309, -1,
1033 -1, 312, 313, 314, -1, -1, 297, 298, -1, 300,
1034 301, 302, 63, -1, -1, -1, -1, -1, -1, -1,
1035 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1036 -1, 279, -1, 281, -1, -1, -1, -1, -1, -1,
1037 91, -1, -1, -1, -1, -1, -1, -1, -1, 297,
1038 298, -1, 300, 301, -1, -1, -1, -1, -1, -1,
1039 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1040 -1, -1, 123, -1, 272, 273, 274, 275, -1, -1,
1041 -1, 279, -1, -1, -1, -1, 30, 297, 298, -1,
1042 300, -1, -1, -1, 38, -1, -1, -1, 42, 297,
1043 298, 45, -1, -1, -1, -1, -1, -1, 52, 53,
1044 54, 55, 56, -1, -1, 59, 60, 272, 273, 274,
1045 275, -1, 66, -1, 279, -1, -1, -1, -1, -1,
1046 272, 273, 274, 275, -1, -1, -1, 279, -1, -1,
1047 -1, -1, 297, 298, 281, -1, -1, -1, -1, 93,
1048 287, 288, 289, 290, -1, 297, 298, -1, -1, -1,
1049 -1, -1, -1, 300, 301, 302, 303, 304, 305, 306,
1050 -1, -1, 309, -1, -1, 312, 313, 314, -1, -1,
1051 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1052 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1053 -1, -1, -1, -1, -1, -1, -1, 151, 152, 153,
1054 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1055 164, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1056 281, -1, 176, -1, -1, -1, 287, 288, 289, 290,
1057 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1058 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
1059 -1, 312, 313, 314, -1, -1, -1, -1, -1, -1,
1060 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1061 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1062 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1063 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1064 -1, 255, -1, -1, -1, -1, -1, -1, -1, -1,
1065 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1066 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1073 #define YYMAXTOKEN 314
1075 static char *yyname[] = {
1076 "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,
1077 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1078 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1079 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1080 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1081 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1082 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1083 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",
1084 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1085 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1086 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1087 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1088 "OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP",
1089 "SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
1092 static char *yyrule[] = {
1095 "prog : $$1 lineseq",
1096 "block : '{' remember lineseq '}'",
1098 "mblock : '{' mremember lineseq '}'",
1101 "lineseq : lineseq decl",
1102 "lineseq : lineseq line",
1103 "line : label cond",
1106 "line : label sideff ';'",
1109 "sideff : expr IF expr",
1110 "sideff : expr UNLESS expr",
1111 "sideff : expr WHILE expr",
1112 "sideff : expr UNTIL iexpr",
1113 "sideff : expr FOR expr",
1115 "else : ELSE mblock",
1116 "else : ELSIF '(' mexpr ')' mblock else",
1117 "cond : IF '(' remember mexpr ')' mblock else",
1118 "cond : UNLESS '(' remember miexpr ')' mblock else",
1120 "cont : CONTINUE block",
1121 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1122 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1123 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1124 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1125 "loop : label FOR '(' remember mexpr ')' mblock cont",
1126 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1127 "loop : label block cont",
1143 "format : FORMAT startformsub formname block",
1146 "subrout : SUB startsub subname proto subbody",
1155 "package : PACKAGE WORD ';'",
1156 "package : PACKAGE ';'",
1158 "use : USE startsub $$2 WORD WORD listexpr ';'",
1159 "expr : expr ANDOP expr",
1160 "expr : expr OROP expr",
1162 "argexpr : argexpr ','",
1163 "argexpr : argexpr ',' term",
1165 "listop : LSTOP indirob argexpr",
1166 "listop : FUNC '(' indirob expr ')'",
1167 "listop : term ARROW method '(' listexprcom ')'",
1168 "listop : METHOD indirob listexpr",
1169 "listop : FUNCMETH indirob '(' listexprcom ')'",
1170 "listop : LSTOP listexpr",
1171 "listop : FUNC '(' listexprcom ')'",
1173 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1176 "term : term ASSIGNOP term",
1177 "term : term POWOP term",
1178 "term : term MULOP term",
1179 "term : term ADDOP term",
1180 "term : term SHIFTOP term",
1181 "term : term RELOP term",
1182 "term : term EQOP term",
1183 "term : term BITANDOP term",
1184 "term : term BITOROP term",
1185 "term : term DOTDOT term",
1186 "term : term ANDAND term",
1187 "term : term OROR term",
1188 "term : term '?' term ':' term",
1189 "term : term MATCHOP term",
1194 "term : REFGEN term",
1195 "term : term POSTINC",
1196 "term : term POSTDEC",
1197 "term : PREINC term",
1198 "term : PREDEC term",
1199 "term : local term",
1200 "term : '(' expr ')'",
1202 "term : '[' expr ']'",
1204 "term : HASHBRACK expr ';' '}'",
1205 "term : HASHBRACK ';' '}'",
1206 "term : ANONSUB startanonsub proto block",
1208 "term : star '{' expr ';' '}'",
1210 "term : scalar '[' expr ']'",
1211 "term : term ARROW '[' expr ']'",
1212 "term : term '[' expr ']'",
1216 "term : scalar '{' expr ';' '}'",
1217 "term : term ARROW '{' expr ';' '}'",
1218 "term : term '{' expr ';' '}'",
1219 "term : '(' expr ')' '[' expr ']'",
1220 "term : '(' ')' '[' expr ']'",
1221 "term : ary '[' expr ']'",
1222 "term : ary '{' expr ';' '}'",
1225 "term : amper '(' ')'",
1226 "term : amper '(' expr ')'",
1227 "term : NOAMP WORD listexpr",
1230 "term : DO WORD '(' ')'",
1231 "term : DO WORD '(' expr ')'",
1232 "term : DO scalar '(' ')'",
1233 "term : DO scalar '(' expr ')'",
1234 "term : term ARROW '(' ')'",
1235 "term : term ARROW '(' expr ')'",
1237 "term : LOOPEX term",
1238 "term : NOTOP argexpr",
1240 "term : UNIOP block",
1241 "term : UNIOP term",
1242 "term : UNIOPSUB term",
1244 "term : FUNC0 '(' ')'",
1246 "term : FUNC1 '(' ')'",
1247 "term : FUNC1 '(' expr ')'",
1248 "term : PMFUNC '(' term ')'",
1249 "term : PMFUNC '(' term ',' term ')'",
1253 "listexpr : argexpr",
1255 "listexprcom : expr",
1256 "listexprcom : expr ','",
1259 "my_scalar : scalar",
1260 "amper : '&' indirob",
1261 "scalar : '$' indirob",
1262 "ary : '@' indirob",
1263 "hsh : '%' indirob",
1264 "arylen : DOLSHARP indirob",
1265 "star : '*' indirob",
1269 "indirob : PRIVATEREF",
1272 #define yyclearin (yychar=(-1))
1273 #define yyerrok (yyerrflag=0)
1276 #define YYMAXDEPTH YYSTACKSIZE
1280 #define YYSTACKSIZE YYMAXDEPTH
1282 #define YYSTACKSIZE 500
1283 #define YYMAXDEPTH 500
1288 #line 1353 "perly.c"
1289 #define YYABORT goto yyabort
1290 #define YYACCEPT goto yyaccept
1291 #define YYERROR goto yyerrlab
1305 yydestruct(void *ptr)
1307 struct ysv* ysave = (struct ysv*)ptr;
1308 if (ysave->yyss) Safefree(ysave->yyss);
1309 if (ysave->yyvs) Safefree(ysave->yyvs);
1310 yydebug = ysave->oldyydebug;
1311 yynerrs = ysave->oldyynerrs;
1312 yyerrflag = ysave->oldyyerrflag;
1313 yychar = ysave->oldyychar;
1314 yyval = ysave->oldyyval;
1315 yylval = ysave->oldyylval;
1322 register int yym, yyn, yystate;
1323 register short *yyssp;
1324 register YYSTYPE *yyvsp;
1327 unsigned yystacksize = YYSTACKSIZE;
1332 extern char *getenv();
1337 New(73, ysave, 1, struct ysv);
1338 SAVEDESTRUCTOR(yydestruct, ysave);
1339 ysave->oldyydebug = yydebug;
1340 ysave->oldyynerrs = yynerrs;
1341 ysave->oldyyerrflag = yyerrflag;
1342 ysave->oldyychar = yychar;
1343 ysave->oldyyval = yyval;
1344 ysave->oldyylval = yylval;
1347 if (yys = getenv("YYDEBUG"))
1350 if (yyn >= '0' && yyn <= '9')
1351 yydebug = yyn - '0';
1360 ** Initialize private stacks (yyparse may be called from an action)
1362 New(73, yyss, yystacksize, short);
1363 New(73, yyvs, yystacksize, YYSTYPE);
1371 *yyssp = yystate = 0;
1374 if (yyn = yydefred[yystate]) goto yyreduce;
1377 if ((yychar = yylex()) < 0) yychar = 0;
1382 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1383 if (!yys) yys = "illegal-symbol";
1384 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1389 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1390 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1394 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1395 yystate, yytable[yyn]);
1397 if (yyssp >= yyss + yystacksize - 1)
1400 ** reallocate and recover. Note that pointers
1401 ** have to be reset, or bad things will happen
1403 int yyps_index = (yyssp - yyss);
1404 int yypv_index = (yyvsp - yyvs);
1405 yystacksize += YYSTACKSIZE;
1406 ysave->yyvs = yyvs =
1407 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1408 ysave->yyss = yyss =
1409 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
1412 yyssp = yyss + yyps_index;
1413 yyvsp = yyvs + yypv_index;
1415 *++yyssp = yystate = yytable[yyn];
1418 if (yyerrflag > 0) --yyerrflag;
1421 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1422 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1427 if (yyerrflag) goto yyinrecovery;
1432 yyerror("syntax error");
1444 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1445 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1449 PerlIO_printf(Perl_debug_log,
1450 "yydebug: state %d, error recovery shifting to state %d\n",
1451 *yyssp, yytable[yyn]);
1453 if (yyssp >= yyss + yystacksize - 1)
1456 ** reallocate and recover. Note that pointers
1457 ** have to be reset, or bad things will happen
1459 int yyps_index = (yyssp - yyss);
1460 int yypv_index = (yyvsp - yyvs);
1461 yystacksize += YYSTACKSIZE;
1462 ysave->yyvs = yyvs = (YYSTYPE*)PerlMem_realloc((char*)yyvs,
1463 yystacksize * sizeof(YYSTYPE));
1464 ysave->yyss = yyss = (short*)PerlMem_realloc((char*)yyss,
1465 yystacksize * sizeof(short));
1468 yyssp = yyss + yyps_index;
1469 yyvsp = yyvs + yypv_index;
1471 *++yyssp = yystate = yytable[yyn];
1479 PerlIO_printf(Perl_debug_log,
1480 "yydebug: error recovery discarding state %d\n",
1483 if (yyssp <= yyss) goto yyabort;
1491 if (yychar == 0) goto yyabort;
1496 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1497 if (!yys) yys = "illegal-symbol";
1498 PerlIO_printf(Perl_debug_log,
1499 "yydebug: state %d, error recovery discards token %d (%s)\n",
1500 yystate, yychar, yys);
1509 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1510 yystate, yyn, yyrule[yyn]);
1513 yyval = yyvsp[1-yym];
1519 #if defined(YYDEBUG) && defined(DEBUGGING)
1520 yydebug = (PL_debug & 1);
1527 { newPROG(yyvsp[0].opval); }
1531 { if (PL_copline > (line_t)yyvsp[-3].ival)
1532 PL_copline = yyvsp[-3].ival;
1533 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1537 { yyval.ival = block_start(TRUE); }
1541 { if (PL_copline > (line_t)yyvsp[-3].ival)
1542 PL_copline = yyvsp[-3].ival;
1543 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1547 { yyval.ival = block_start(FALSE); }
1551 { yyval.opval = Nullop; }
1555 { yyval.opval = yyvsp[-1].opval; }
1559 { yyval.opval = append_list(OP_LINESEQ,
1560 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1561 PL_pad_reset_pending = TRUE;
1562 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1566 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1570 { if (yyvsp[-1].pval != Nullch) {
1571 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1574 yyval.opval = Nullop;
1575 PL_copline = NOLINE;
1577 PL_expect = XSTATE; }
1581 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1582 PL_expect = XSTATE; }
1586 { yyval.opval = Nullop; }
1590 { yyval.opval = yyvsp[0].opval; }
1594 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1598 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1602 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1606 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1610 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1611 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1615 { yyval.opval = Nullop; }
1619 { yyval.opval = scope(yyvsp[0].opval); }
1623 { PL_copline = yyvsp[-5].ival;
1624 yyval.opval = newSTATEOP(0, Nullch,
1625 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1626 PL_hints |= HINT_BLOCK_SCOPE; }
1630 { PL_copline = yyvsp[-6].ival;
1631 yyval.opval = block_end(yyvsp[-4].ival,
1632 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1636 { PL_copline = yyvsp[-6].ival;
1637 yyval.opval = block_end(yyvsp[-4].ival,
1638 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1642 { yyval.opval = Nullop; }
1646 { yyval.opval = scope(yyvsp[0].opval); }
1650 { PL_copline = yyvsp[-6].ival;
1651 yyval.opval = block_end(yyvsp[-4].ival,
1652 newSTATEOP(0, yyvsp[-7].pval,
1653 newWHILEOP(0, 1, (LOOP*)Nullop,
1654 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1658 { PL_copline = yyvsp[-6].ival;
1659 yyval.opval = block_end(yyvsp[-4].ival,
1660 newSTATEOP(0, yyvsp[-7].pval,
1661 newWHILEOP(0, 1, (LOOP*)Nullop,
1662 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1666 { yyval.opval = block_end(yyvsp[-6].ival,
1667 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1671 { yyval.opval = block_end(yyvsp[-4].ival,
1672 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1673 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1677 { yyval.opval = block_end(yyvsp[-4].ival,
1678 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1682 { OP *forop = append_elem(OP_LINESEQ,
1683 scalar(yyvsp[-6].opval),
1684 newWHILEOP(0, 1, (LOOP*)Nullop,
1685 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1686 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1687 PL_copline = yyvsp[-9].ival;
1688 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1692 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1693 newWHILEOP(0, 1, (LOOP*)Nullop,
1694 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1698 { yyval.opval = Nullop; }
1702 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1706 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1710 { yyval.opval = yyvsp[0].opval; intro_my(); }
1714 { yyval.opval = yyvsp[0].opval; intro_my(); }
1718 { yyval.opval = yyvsp[0].opval; intro_my(); }
1722 { yyval.opval = yyvsp[0].opval; intro_my(); }
1726 { yyval.pval = Nullch; }
1746 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1750 { yyval.opval = yyvsp[0].opval; }
1754 { yyval.opval = Nullop; }
1758 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1762 { yyval.ival = start_subparse(FALSE, 0); }
1766 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1770 { yyval.ival = start_subparse(TRUE, 0); }
1774 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv, n_a);
1775 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1776 || strEQ(name, "INIT"))
1777 CvUNIQUE_on(PL_compcv);
1778 yyval.opval = yyvsp[0].opval; }
1782 { yyval.opval = Nullop; }
1786 { yyval.opval = yyvsp[0].opval; }
1790 { yyval.opval = Nullop; PL_expect = XSTATE; }
1794 { package(yyvsp[-1].opval); }
1798 { package(Nullop); }
1802 { CvUNIQUE_on(PL_compcv); /* It's a BEGIN {} */ }
1806 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1810 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1814 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1818 { yyval.opval = yyvsp[-1].opval; }
1822 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1826 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1827 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1831 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1832 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1836 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1837 append_elem(OP_LIST,
1838 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1839 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1843 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1844 append_elem(OP_LIST,
1845 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1846 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1850 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1851 append_elem(OP_LIST,
1852 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1853 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1857 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1861 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1865 { yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1869 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1870 append_elem(OP_LIST,
1871 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1875 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1879 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1883 { if (yyvsp[-1].ival != OP_REPEAT)
1884 scalar(yyvsp[-2].opval);
1885 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1889 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1893 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1897 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1901 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1905 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1909 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1913 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1917 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1921 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1925 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1929 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1933 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1937 { yyval.opval = yyvsp[0].opval; }
1941 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1945 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1949 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1953 { yyval.opval = newUNOP(OP_POSTINC, 0,
1954 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1958 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1959 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1963 { yyval.opval = newUNOP(OP_PREINC, 0,
1964 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1968 { yyval.opval = newUNOP(OP_PREDEC, 0,
1969 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1973 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1977 { yyval.opval = sawparens(yyvsp[-1].opval); }
1981 { yyval.opval = sawparens(newNULLLIST()); }
1985 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
1989 { yyval.opval = newANONLIST(Nullop); }
1993 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
1997 { yyval.opval = newANONHASH(Nullop); }
2001 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2005 { yyval.opval = yyvsp[0].opval; }
2009 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
2013 { yyval.opval = yyvsp[0].opval; }
2017 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2021 { yyval.opval = newBINOP(OP_AELEM, 0,
2022 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2023 scalar(yyvsp[-1].opval));}
2027 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
2028 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2029 scalar(yyvsp[-1].opval));}
2033 { yyval.opval = yyvsp[0].opval; }
2037 { yyval.opval = yyvsp[0].opval; }
2041 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2045 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2046 PL_expect = XOPERATOR; }
2050 { yyval.opval = newBINOP(OP_HELEM, 0,
2051 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2052 jmaybe(yyvsp[-2].opval));
2053 PL_expect = XOPERATOR; }
2057 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2058 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2059 jmaybe(yyvsp[-2].opval));
2060 PL_expect = XOPERATOR; }
2064 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2068 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2072 { yyval.opval = prepend_elem(OP_ASLICE,
2073 newOP(OP_PUSHMARK, 0),
2074 newLISTOP(OP_ASLICE, 0,
2075 list(yyvsp[-1].opval),
2076 ref(yyvsp[-3].opval, OP_ASLICE))); }
2080 { yyval.opval = prepend_elem(OP_HSLICE,
2081 newOP(OP_PUSHMARK, 0),
2082 newLISTOP(OP_HSLICE, 0,
2083 list(yyvsp[-2].opval),
2084 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2085 PL_expect = XOPERATOR; }
2089 { yyval.opval = yyvsp[0].opval; }
2093 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2097 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2101 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2102 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2106 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2107 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2111 { yyval.opval = dofile(yyvsp[0].opval); }
2115 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2119 { yyval.opval = newUNOP(OP_ENTERSUB,
2120 OPf_SPECIAL|OPf_STACKED,
2121 prepend_elem(OP_LIST,
2123 (OPpENTERSUB_AMPER<<8),
2124 scalar(yyvsp[-2].opval)
2125 )),Nullop)); dep();}
2129 { yyval.opval = newUNOP(OP_ENTERSUB,
2130 OPf_SPECIAL|OPf_STACKED,
2131 append_elem(OP_LIST,
2134 (OPpENTERSUB_AMPER<<8),
2135 scalar(yyvsp[-3].opval)
2140 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2141 prepend_elem(OP_LIST,
2142 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2146 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2147 prepend_elem(OP_LIST,
2149 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2153 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2154 newCVREF(0, scalar(yyvsp[-3].opval))); }
2158 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2159 append_elem(OP_LIST, yyvsp[-1].opval,
2160 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2164 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2165 PL_hints |= HINT_BLOCK_SCOPE; }
2169 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2173 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2177 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2181 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2185 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2189 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2190 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2194 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2198 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2202 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2203 scalar(yyvsp[0].opval)); }
2207 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2211 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2215 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2219 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2223 { yyval.opval = Nullop; }
2227 { yyval.opval = yyvsp[0].opval; }
2231 { yyval.opval = Nullop; }
2235 { yyval.opval = yyvsp[0].opval; }
2239 { yyval.opval = yyvsp[-1].opval; }
2251 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2255 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2259 { yyval.opval = newSVREF(yyvsp[0].opval); }
2263 { yyval.opval = newAVREF(yyvsp[0].opval); }
2267 { yyval.opval = newHVREF(yyvsp[0].opval); }
2271 { yyval.opval = newAVREF(yyvsp[0].opval); }
2275 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2279 { yyval.opval = scalar(yyvsp[0].opval); }
2283 { yyval.opval = scalar(yyvsp[0].opval); }
2287 { yyval.opval = scope(yyvsp[0].opval); }
2291 { yyval.opval = yyvsp[0].opval; }
2293 #line 2270 "perly.c"
2299 if (yystate == 0 && yym == 0)
2303 PerlIO_printf(Perl_debug_log,
2304 "yydebug: after reduction, shifting from state 0 to state %d\n",
2312 if ((yychar = yylex()) < 0) yychar = 0;
2317 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2318 if (!yys) yys = "illegal-symbol";
2319 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2320 YYFINAL, yychar, yys);
2324 if (yychar == 0) goto yyaccept;
2327 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2328 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2329 yystate = yytable[yyn];
2331 yystate = yydgoto[yym];
2334 PerlIO_printf(Perl_debug_log,
2335 "yydebug: after reduction, shifting from state %d to state %d\n",
2338 if (yyssp >= yyss + yystacksize - 1)
2341 ** reallocate and recover. Note that pointers
2342 ** have to be reset, or bad things will happen
2344 int yyps_index = (yyssp - yyss);
2345 int yypv_index = (yyvsp - yyvs);
2346 yystacksize += YYSTACKSIZE;
2347 ysave->yyvs = yyvs =
2348 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2349 ysave->yyss = yyss =
2350 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
2353 yyssp = yyss + yyps_index;
2354 yyvsp = yyvs + yypv_index;
2360 yyerror("Out of memory for yacc stack");