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, 36, 50,
42 36, 37, 37, 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, 17, 33,
50 33, 34, 34, 34, 2, 2, 43, 23, 18, 19,
51 20, 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, 3, 5, 2, 4, 0,
62 5, 1, 1, 3, 3, 3, 3, 3, 3, 3,
63 3, 3, 3, 3, 3, 5, 3, 2, 2, 2,
64 2, 2, 2, 2, 2, 2, 2, 3, 2, 3,
65 2, 4, 3, 4, 1, 5, 1, 4, 5, 4,
66 1, 1, 1, 5, 6, 5, 6, 5, 4, 5,
67 1, 1, 3, 4, 3, 2, 2, 4, 5, 4,
68 5, 4, 5, 1, 2, 2, 1, 2, 2, 2,
69 1, 3, 1, 3, 4, 4, 6, 1, 1, 0,
70 1, 0, 1, 2, 1, 1, 1, 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, 158, 0, 0, 131, 0, 153, 0,
77 55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
78 0, 0, 0, 0, 0, 0, 0, 165, 166, 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, 121, 123, 0, 0, 0, 0, 159, 51,
82 0, 57, 0, 62, 0, 7, 174, 177, 176, 175,
83 0, 0, 0, 0, 0, 0, 4, 4, 4, 4,
84 4, 4, 0, 0, 0, 0, 0, 148, 0, 0,
85 0, 0, 78, 0, 172, 0, 137, 0, 0, 0,
86 0, 0, 168, 0, 0, 0, 0, 0, 0, 0,
87 0, 0, 0, 111, 0, 169, 170, 171, 173, 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, 103, 104, 0, 0, 0, 0,
91 0, 0, 0, 0, 13, 0, 50, 59, 0, 0,
92 0, 76, 0, 0, 80, 0, 0, 0, 0, 0,
93 0, 0, 4, 152, 154, 0, 0, 0, 0, 0,
94 0, 0, 113, 0, 135, 0, 0, 110, 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, 82, 0, 0, 83, 0, 0, 0,
98 0, 0, 0, 0, 133, 0, 0, 61, 60, 53,
99 0, 3, 0, 156, 0, 0, 114, 0, 42, 0,
100 43, 0, 0, 0, 0, 167, 0, 0, 36, 41,
101 0, 0, 0, 155, 164, 79, 0, 138, 0, 140,
102 0, 112, 0, 0, 0, 0, 0, 142, 0, 0,
103 0, 120, 0, 118, 0, 129, 0, 134, 0, 77,
104 0, 81, 0, 0, 0, 0, 0, 0, 0, 0,
105 73, 139, 141, 128, 0, 126, 0, 0, 143, 119,
106 0, 124, 130, 116, 65, 157, 6, 0, 0, 0,
107 0, 0, 0, 0, 0, 127, 125, 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, 3925,
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, 3925, 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, 3925, 1233, 3757, 4023, 2308, 266, -82,
143 87, 87, 2099, 0, 1928, 2099, 0, 111, 51, 12,
144 76, 14, 90, 39, 0, -22, 3925, 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, 3963, 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, 2273, 426, 0,
163 0, 2909, 2959, 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, 2776,
166 3024, 3069, 0, 0, 2376, 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, 3183, 0, 0, 319, 0, 3681, 525,
170 586, 2509, 0, 0, 0, 2185, 0, 3731, 3024, 0,
171 0, 2421, 0, 2552, 3195, 3260, 3305, -37, 3112, 2657,
172 0, 3348, 3384, 0, 0, 0, 0, 0, 0, 3777,
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, 2707, 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, 2788,
179 0, 0, 0, 0, 0, 0, 2833, 0, 0, -5,
180 22, 0, 68, 69, 70, 702, 0, 0, 2464, 1296,
181 1560, 3541, 3584, 3868, 0, 3856, 3820, 3810, 1616, 3620,
182 3431, 3479, 0, 0, 0, 0, 0, 2228, 0, 0,
183 0, 0, 0, 0, 0, 0, 3899, 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, 4139, 4198, 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 4425
205 static short yytable[] = { 69,
206 207, 62, 181, 105, 168, 102, 105, 204, 168, 248,
207 20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
208 105, 105, 172, 202, 80, 105, 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, 105, 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, 150, 149, 282, 150, 26,
221 291, 307, 233, 21, 239, 240, 241, 242, 243, 244,
222 246, 300, 150, 150, 303, 304, 305, 150, 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, 150, 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, 105, 105, 105, 105, 88, 346,
230 68, 105, 112, 105, 21, 148, 149, 112, 2, 105,
231 105, 105, 105, 148, 149, 350, 148, 149, 68, 105,
232 105, 101, 105, 105, 105, 105, 105, 105, 105, 348,
233 315, 105, 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, 162,
242 37, 165, 166, 167, 35, 163, 26, 160, 26, 26,
243 40, 44, 148, 149, 44, 37, 150, 150, 150, 150,
244 35, 21, 96, 150, 77, 150, 148, 149, 150, 212,
245 354, 150, 150, 254, 334, 164, 255, 265, 165, 166,
246 167, 150, 150, 186, 150, 150, 150, 150, 150, 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, 151, 0, 0, 151,
253 0, 68, 68, 68, 68, 150, 0, 0, 68, 0,
254 0, 0, 0, 151, 151, 150, 0, 0, 151, 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, 151, 44, 151, 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, 151, 0,
261 0, 0, 152, 153, 154, 155, 44, 174, 44, 44,
262 174, 174, 174, 0, 174, 158, 174, 174, 158, 174,
263 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
264 0, 0, 158, 158, 0, 0, 0, 158, 174, 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, 158, 0, 158, 175, 0,
268 0, 175, 175, 175, 0, 175, 115, 175, 175, 115,
269 175, 148, 149, 151, 0, 0, 0, 0, 0, 152,
270 153, 154, 155, 115, 115, 0, 0, 158, 115, 175,
271 174, 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, 115, 0,
274 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
275 0, 0, 0, 0, 0, 0, 0, 151, 151, 151,
276 151, 0, 0, 58, 151, 0, 151, 0, 63, 0,
277 0, 175, 151, 151, 151, 151, 329, 330, 331, 0,
278 333, 0, 151, 151, 0, 151, 151, 151, 151, 151,
279 151, 151, 0, 0, 151, 61, 0, 151, 151, 151,
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, 174, 174, 174, 174, 174, 0, 174, 174, 174,
285 0, 0, 0, 174, 67, 150, 158, 158, 158, 158,
286 0, 0, 0, 158, 174, 158, 174, 174, 174, 174,
287 174, 158, 158, 158, 158, 174, 174, 174, 174, 174,
288 174, 158, 158, 174, 158, 158, 158, 158, 158, 158,
289 158, 0, 174, 158, 174, 174, 158, 158, 158, 0,
290 0, 0, 175, 175, 175, 175, 175, 0, 175, 175,
291 175, 0, 0, 0, 175, 0, 0, 115, 115, 115,
292 115, 0, 0, 0, 115, 175, 115, 175, 175, 175,
293 175, 175, 115, 115, 115, 115, 175, 175, 175, 175,
294 175, 175, 115, 115, 175, 115, 115, 115, 115, 115,
295 115, 115, 0, 175, 115, 175, 175, 115, 115, 115,
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, 89, 0, 0, 89,
340 116, 25, 26, 27, 28, 0, 29, 30, 31, 0,
341 0, 0, 32, 89, 89, 150, 0, 0, 89, 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, 89, 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, 89, 89, 89,
363 89, 0, 0, 0, 89, 0, 89, 0, 0, 0,
364 0, 0, 63, 89, 0, 53, 0, 0, 0, 0,
365 0, 0, 89, 89, 0, 89, 89, 89, 89, 89,
366 90, 0, 0, 90, 24, 25, 26, 27, 28, 61,
367 29, 30, 31, 0, 0, 0, 32, 90, 90, 0,
368 0, 0, 90, 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, 90, 0, 0, 54, 91, 55, 56, 91,
372 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
373 0, 0, 32, 91, 91, 0, 0, 0, 91, 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, 91, 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, 90, 90, 90, 90, 0, 0, 0, 90, 0,
390 90, 52, 0, 61, 62, 64, 50, 0, 57, 278,
391 65, 60, 0, 59, 0, 0, 90, 90, 0, 90,
392 90, 90, 90, 90, 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, 91, 91, 91,
395 91, 0, 0, 0, 91, 0, 91, 52, 0, 61,
396 62, 64, 50, 0, 57, 280, 65, 60, 0, 59,
397 0, 0, 91, 91, 0, 91, 91, 91, 91, 91,
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, 96, 0, 0, 96, 0, 0, 0, 0,
409 0, 0, 38, 0, 39, 40, 41, 42, 43, 96,
410 96, 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, 96, 0, 0, 32, 0, 0,
414 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
415 39, 40, 41, 42, 43, 0, 0, 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 0, 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 132, 0, 0, 132, 24, 25, 26, 27, 28, 61,
425 29, 30, 31, 0, 0, 0, 32, 132, 132, 0,
426 0, 0, 132, 0, 0, 0, 0, 38, 0, 39,
427 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
428 46, 47, 48, 49, 53, 158, 51, 0, 158, 0,
429 132, 0, 132, 0, 0, 54, 0, 55, 56, 0,
430 0, 0, 158, 158, 0, 0, 0, 158, 0, 0,
431 0, 0, 0, 96, 96, 96, 96, 0, 0, 0,
432 96, 0, 132, 0, 0, 0, 0, 0, 75, 0,
433 0, 75, 0, 0, 0, 158, 0, 158, 96, 96,
434 0, 96, 0, 0, 0, 75, 75, 0, 0, 0,
435 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 158, 0, 0,
437 0, 0, 0, 144, 0, 0, 144, 0, 75, 0,
438 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
439 144, 144, 0, 0, 0, 144, 0, 0, 0, 0,
440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441 75, 0, 0, 0, 0, 24, 25, 26, 27, 28,
442 0, 29, 30, 31, 0, 144, 0, 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, 144, 0, 51, 168, 0,
446 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
447 0, 132, 132, 132, 132, 0, 117, 0, 132, 117,
448 132, 0, 0, 0, 0, 0, 132, 132, 132, 132,
449 150, 0, 0, 117, 117, 0, 132, 132, 117, 132,
450 132, 132, 132, 132, 132, 132, 0, 0, 132, 0,
451 0, 132, 132, 132, 0, 0, 158, 158, 158, 158,
452 0, 160, 0, 158, 160, 158, 117, 0, 117, 0,
453 0, 158, 158, 158, 158, 0, 0, 0, 160, 160,
454 0, 158, 158, 160, 158, 158, 158, 158, 158, 158,
455 158, 0, 0, 158, 0, 0, 158, 158, 158, 75,
456 75, 75, 75, 0, 93, 0, 75, 93, 75, 0,
457 0, 0, 0, 160, 75, 75, 75, 75, 0, 0,
458 0, 93, 93, 0, 75, 75, 93, 75, 75, 75,
459 75, 75, 75, 75, 0, 0, 75, 0, 0, 75,
460 75, 75, 0, 160, 144, 144, 144, 144, 0, 161,
461 0, 144, 0, 144, 0, 0, 93, 0, 0, 144,
462 144, 144, 144, 0, 0, 0, 161, 161, 0, 144,
463 144, 161, 144, 144, 144, 144, 144, 144, 144, 0,
464 0, 144, 0, 0, 144, 144, 144, 0, 0, 0,
465 0, 0, 146, 0, 152, 153, 154, 155, 0, 161,
466 0, 161, 0, 0, 0, 0, 0, 0, 0, 146,
467 146, 161, 162, 163, 146, 0, 164, 0, 0, 165,
468 166, 167, 0, 0, 0, 0, 0, 0, 0, 0,
469 0, 161, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 0, 146, 0, 146, 0, 0, 117, 117, 117,
471 117, 0, 0, 0, 117, 0, 117, 0, 0, 0,
472 0, 0, 117, 117, 117, 117, 0, 0, 0, 0,
473 0, 0, 117, 117, 146, 117, 117, 117, 117, 117,
474 117, 117, 0, 0, 117, 0, 0, 117, 117, 117,
475 0, 0, 160, 160, 160, 160, 0, 109, 0, 160,
476 109, 160, 0, 0, 0, 0, 0, 160, 160, 160,
477 160, 0, 0, 0, 109, 109, 0, 160, 160, 109,
478 160, 160, 160, 160, 160, 160, 160, 0, 0, 160,
479 0, 0, 160, 160, 160, 93, 93, 93, 93, 0,
480 0, 0, 93, 0, 0, 0, 0, 69, 0, 109,
481 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
482 93, 93, 0, 93, 69, 69, 0, 0, 0, 69,
483 0, 0, 0, 0, 0, 0, 0, 0, 0, 109,
484 161, 161, 161, 161, 0, 0, 0, 161, 0, 161,
485 0, 0, 0, 0, 0, 161, 161, 161, 161, 69,
486 0, 0, 0, 0, 0, 161, 161, 0, 161, 161,
487 161, 161, 161, 161, 161, 0, 71, 161, 0, 71,
488 161, 161, 161, 146, 146, 146, 146, 0, 72, 69,
489 146, 0, 146, 71, 71, 0, 0, 0, 146, 146,
490 146, 146, 0, 0, 0, 72, 72, 0, 146, 146,
491 72, 146, 146, 146, 146, 146, 146, 146, 0, 0,
492 146, 0, 0, 146, 146, 146, 0, 0, 71, 0,
493 0, 0, 0, 108, 0, 0, 108, 0, 72, 0,
494 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495 108, 108, 0, 0, 0, 108, 0, 0, 0, 0,
496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
497 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
498 0, 0, 0, 0, 0, 108, 0, 0, 109, 109,
499 109, 109, 0, 0, 0, 109, 0, 109, 0, 0,
500 0, 0, 0, 109, 109, 109, 109, 0, 0, 147,
501 0, 0, 147, 109, 109, 108, 109, 109, 109, 109,
502 109, 109, 109, 0, 0, 109, 147, 147, 109, 109,
503 109, 147, 0, 0, 0, 0, 0, 0, 69, 69,
504 69, 69, 0, 0, 0, 69, 0, 69, 0, 0,
505 0, 0, 0, 69, 69, 69, 69, 0, 0, 160,
506 0, 147, 160, 69, 69, 0, 69, 69, 69, 69,
507 69, 69, 69, 0, 0, 69, 160, 160, 69, 69,
508 69, 160, 0, 0, 0, 0, 0, 0, 0, 0,
509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 0, 0, 71, 71, 71,
511 71, 160, 0, 0, 71, 0, 0, 0, 0, 72,
512 72, 72, 72, 0, 115, 0, 72, 115, 72, 0,
513 0, 0, 71, 71, 72, 72, 72, 72, 0, 0,
514 0, 115, 115, 0, 72, 72, 115, 72, 72, 72,
515 72, 72, 72, 72, 0, 0, 72, 0, 0, 72,
516 72, 72, 0, 0, 108, 108, 108, 108, 0, 122,
517 0, 108, 122, 108, 0, 0, 115, 0, 0, 108,
518 108, 108, 108, 0, 0, 0, 122, 122, 0, 108,
519 108, 122, 108, 108, 108, 108, 108, 108, 108, 0,
520 0, 108, 0, 0, 108, 108, 108, 0, 0, 0,
521 0, 0, 106, 0, 0, 106, 0, 0, 0, 0,
522 0, 122, 0, 0, 0, 0, 0, 0, 0, 106,
523 106, 0, 0, 0, 106, 0, 0, 0, 0, 0,
524 147, 147, 147, 147, 0, 0, 0, 147, 0, 147,
525 0, 0, 0, 0, 0, 147, 147, 147, 147, 0,
526 0, 0, 0, 0, 106, 147, 147, 0, 147, 147,
527 147, 147, 147, 147, 147, 0, 0, 147, 0, 0,
528 147, 147, 147, 145, 0, 0, 145, 0, 0, 0,
529 160, 160, 160, 160, 0, 100, 0, 160, 100, 160,
530 145, 145, 0, 0, 0, 160, 160, 160, 160, 0,
531 0, 0, 100, 100, 0, 160, 160, 100, 160, 160,
532 160, 160, 160, 160, 160, 0, 0, 160, 0, 0,
533 160, 160, 160, 0, 0, 145, 0, 0, 0, 0,
534 0, 0, 0, 0, 0, 0, 0, 100, 0, 0,
535 0, 0, 0, 0, 0, 115, 115, 115, 115, 0,
536 101, 0, 115, 101, 115, 0, 0, 0, 0, 0,
537 115, 115, 115, 115, 0, 0, 0, 101, 101, 0,
538 115, 115, 101, 115, 115, 115, 115, 115, 115, 115,
539 0, 0, 115, 0, 0, 115, 115, 115, 0, 0,
540 122, 122, 122, 122, 0, 102, 0, 122, 102, 122,
541 0, 0, 101, 0, 0, 122, 122, 122, 122, 0,
542 0, 0, 102, 102, 0, 122, 122, 102, 122, 122,
543 122, 122, 122, 122, 122, 0, 0, 122, 0, 0,
544 122, 122, 122, 106, 106, 106, 106, 0, 98, 0,
545 106, 98, 106, 0, 0, 0, 0, 102, 106, 106,
546 106, 106, 0, 0, 0, 98, 98, 0, 106, 106,
547 98, 106, 106, 106, 106, 106, 106, 106, 0, 0,
548 106, 0, 0, 0, 99, 0, 0, 99, 0, 0,
549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
550 98, 99, 99, 0, 0, 0, 99, 0, 0, 0,
551 0, 0, 0, 0, 145, 145, 145, 145, 0, 0,
552 0, 145, 0, 0, 0, 0, 100, 100, 100, 100,
553 0, 97, 0, 100, 97, 100, 99, 0, 0, 145,
554 145, 100, 100, 100, 100, 0, 0, 0, 97, 97,
555 0, 100, 100, 97, 100, 100, 100, 100, 100, 100,
556 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
557 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,
558 0, 0, 85, 97, 0, 0, 0, 0, 0, 0,
559 0, 101, 101, 101, 101, 0, 85, 85, 101, 0,
560 101, 85, 0, 0, 0, 0, 101, 101, 101, 101,
561 0, 0, 0, 0, 0, 0, 101, 101, 0, 101,
562 101, 101, 101, 101, 101, 101, 0, 0, 0, 0,
563 0, 85, 0, 0, 0, 0, 102, 102, 102, 102,
564 0, 86, 0, 102, 86, 102, 0, 0, 0, 0,
565 0, 102, 102, 102, 102, 0, 0, 0, 86, 86,
566 0, 102, 102, 86, 102, 102, 102, 102, 102, 102,
567 102, 0, 0, 0, 0, 0, 0, 0, 0, 98,
568 98, 98, 98, 0, 87, 0, 98, 87, 98, 0,
569 0, 0, 0, 86, 98, 98, 98, 98, 0, 0,
570 0, 87, 87, 0, 98, 98, 87, 98, 98, 98,
571 98, 98, 98, 98, 0, 99, 99, 99, 99, 0,
572 88, 0, 99, 88, 99, 0, 0, 0, 0, 0,
573 99, 99, 99, 99, 0, 0, 87, 88, 88, 0,
574 99, 99, 88, 99, 99, 99, 99, 99, 99, 99,
575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
576 0, 0, 97, 97, 97, 97, 0, 0, 0, 97,
577 0, 97, 88, 0, 0, 0, 0, 97, 97, 97,
578 97, 149, 0, 0, 149, 0, 0, 97, 97, 0,
579 97, 97, 97, 97, 97, 97, 97, 0, 149, 149,
580 0, 0, 0, 149, 0, 0, 0, 0, 0, 0,
581 85, 85, 85, 85, 0, 0, 0, 85, 0, 85,
582 0, 0, 0, 0, 0, 85, 85, 85, 85, 0,
583 0, 136, 0, 149, 136, 85, 85, 0, 85, 85,
584 85, 85, 85, 85, 85, 0, 0, 0, 136, 136,
585 0, 0, 0, 136, 0, 0, 0, 0, 0, 0,
586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
587 0, 0, 86, 86, 86, 86, 0, 107, 0, 86,
588 107, 86, 0, 136, 0, 0, 0, 86, 86, 86,
589 86, 0, 0, 0, 107, 107, 0, 86, 86, 107,
590 86, 86, 86, 86, 86, 86, 0, 168, 0, 0,
591 92, 0, 0, 92, 0, 87, 87, 87, 87, 0,
592 94, 0, 87, 94, 87, 0, 0, 92, 92, 107,
593 87, 87, 92, 87, 0, 0, 0, 94, 94, 150,
594 87, 87, 94, 87, 87, 87, 87, 87, 87, 0,
595 0, 88, 88, 88, 88, 0, 95, 0, 88, 95,
596 88, 0, 92, 0, 0, 0, 88, 88, 84, 0,
597 0, 84, 94, 95, 95, 0, 88, 88, 95, 88,
598 88, 88, 88, 88, 88, 84, 84, 0, 0, 0,
599 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
600 0, 0, 70, 0, 0, 0, 0, 0, 95, 0,
601 0, 0, 149, 149, 149, 149, 70, 70, 0, 149,
602 84, 149, 0, 0, 0, 0, 0, 149, 149, 0,
603 0, 0, 0, 0, 0, 0, 0, 149, 149, 0,
604 149, 149, 149, 149, 149, 0, 0, 157, 0, 0,
605 0, 70, 0, 0, 0, 0, 0, 0, 0, 0,
606 0, 0, 136, 136, 136, 136, 0, 0, 0, 136,
607 0, 136, 0, 0, 0, 168, 0, 136, 136, 0,
608 0, 0, 0, 0, 0, 157, 0, 136, 136, 0,
609 136, 136, 136, 136, 136, 0, 0, 0, 0, 0,
610 0, 0, 0, 152, 153, 154, 155, 150, 107, 107,
611 107, 107, 0, 168, 0, 107, 0, 107, 159, 160,
612 161, 162, 163, 107, 107, 164, 0, 0, 165, 166,
613 167, 0, 0, 107, 107, 0, 107, 107, 107, 107,
614 107, 92, 92, 92, 92, 150, 0, 0, 92, 0,
615 92, 94, 94, 94, 94, 0, 0, 0, 94, 0,
616 94, 0, 0, 0, 0, 0, 92, 92, 0, 92,
617 92, 92, 92, 168, 0, 0, 94, 94, 0, 94,
618 94, 94, 0, 0, 0, 0, 0, 95, 95, 95,
619 95, 0, 0, 0, 95, 0, 95, 0, 0, 84,
620 84, 84, 84, 0, 0, 150, 84, 0, 0, 0,
621 0, 0, 95, 95, 0, 95, 95, 0, 0, 0,
622 0, 0, 0, 0, 84, 84, 0, 0, 94, 0,
623 70, 70, 70, 70, 0, 0, 104, 70, 0, 0,
624 109, 0, 0, 118, 0, 0, 0, 0, 0, 0,
625 125, 126, 127, 128, 129, 70, 70, 132, 133, 0,
626 0, 0, 0, 0, 140, 151, 0, 0, 0, 0,
627 0, 152, 153, 154, 155, 0, 0, 0, 0, 0,
628 0, 0, 90, 90, 156, 158, 159, 160, 161, 162,
629 163, 184, 0, 164, 103, 0, 165, 166, 167, 0,
630 111, 90, 119, 151, 0, 0, 0, 90, 0, 152,
631 153, 154, 155, 0, 0, 0, 0, 0, 0, 90,
632 90, 90, 90, 158, 159, 160, 161, 162, 163, 0,
633 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
634 0, 0, 0, 0, 0, 0, 0, 0, 0, 219,
635 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
636 230, 231, 232, 0, 111, 0, 0, 0, 0, 152,
637 153, 154, 155, 0, 247, 0, 0, 0, 0, 0,
638 0, 0, 0, 0, 0, 160, 161, 162, 163, 0,
639 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
642 0, 0, 0, 0, 237, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0, 266, 0,
645 0, 0, 0, 301, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
650 static short yycheck[] = { 13,
651 41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
652 59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
653 58, 59, 91, 40, 257, 63, 41, 297, 298, 257,
654 41, 59, 46, 40, 43, 41, 123, 276, 277, 257,
655 123, 41, 51, 57, 41, 91, 41, 61, 59, 123,
656 362, 44, 40, 59, 123, 93, 328, 329, 0, 40,
657 192, 333, 41, 40, 40, 36, 40, 40, 40, 40,
658 59, 278, 59, 123, 91, 123, 122, 349, 123, 40,
659 59, 353, 91, 123, 97, 98, 99, 100, 101, 102,
660 59, 33, 106, 107, 36, 37, 38, 59, 40, 123,
661 42, 43, 260, 45, 44, 114, 123, 59, 41, 41,
662 41, 257, 40, 122, 40, 125, 40, 59, 41, 41,
663 91, 291, 64, 91, 41, 41, 59, 59, 59, 143,
664 144, 145, 146, 147, 148, 149, 150, 59, 257, 36,
665 91, 273, 59, 93, 91, 41, 298, 125, 44, 91,
666 40, 40, 123, 0, 168, 169, 170, 171, 172, 173,
667 174, 41, 58, 59, 41, 41, 41, 63, 93, 183,
668 41, 41, 123, 187, 188, 307, 190, 91, 192, 125,
669 193, 123, 93, 125, 126, 199, 33, 201, 202, 36,
670 37, 38, 206, 40, 59, 42, 43, 93, 45, 266,
671 267, 268, 59, 270, 271, 251, 289, 290, 257, 123,
672 256, 41, 59, 125, 123, 297, 298, 64, 125, 233,
673 352, 235, 236, 306, 125, 93, 309, 314, 41, 312,
674 313, 314, 125, 257, 272, 273, 274, 275, 262, 41,
675 41, 279, 251, 281, 91, 297, 298, 256, 0, 287,
676 288, 289, 290, 297, 298, 339, 297, 298, 59, 297,
677 298, 296, 300, 301, 302, 303, 304, 305, 306, 59,
678 284, 309, 297, 298, 297, 298, 123, 291, 125, 126,
679 40, 33, 297, 298, 36, 37, 38, 258, 40, 93,
680 42, 43, 93, 45, 93, 309, 41, 297, 298, 41,
681 297, 298, 297, 298, 297, 298, 123, 59, 297, 298,
682 297, 298, 64, 125, 256, 257, 258, 259, 260, 261,
683 123, 263, 264, 265, 266, 267, 268, 269, 270, 271,
684 272, 273, 274, 275, 348, 297, 298, 279, 280, 91,
685 282, 283, 284, 285, 286, 297, 298, 297, 298, 291,
686 292, 293, 294, 295, 296, 306, 91, 299, 309, 41,
687 41, 312, 313, 314, 59, 41, 308, 59, 310, 311,
688 41, 123, 297, 298, 126, 59, 272, 273, 274, 275,
689 41, 8, 32, 279, 13, 281, 297, 298, 123, 144,
690 348, 287, 288, 41, 309, 309, 44, 190, 312, 313,
691 314, 297, 298, 96, 300, 301, 302, 303, 304, 256,
692 257, 258, 259, 260, 261, 63, 263, 264, 265, 266,
693 267, 268, 269, 270, 271, 272, 273, 274, 275, 297,
694 298, -1, 279, 280, -1, 282, 283, 284, 285, 286,
695 -1, -1, -1, 91, 291, 292, 293, 294, 295, 296,
696 125, -1, 299, 91, 266, 267, 268, -1, 270, 271,
697 -1, 308, -1, 310, 311, -1, 41, -1, -1, 44,
698 -1, 272, 273, 274, 275, 123, -1, -1, 279, -1,
699 -1, -1, -1, 58, 59, 123, -1, -1, 63, -1,
700 -1, -1, -1, 297, 298, -1, 297, 298, 297, 298,
701 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
702 -1, 263, 264, 265, -1, -1, 91, 269, 93, -1,
703 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
704 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
705 292, 293, 294, 295, 296, -1, -1, 299, 123, -1,
706 -1, -1, 287, 288, 289, 290, 308, 33, 310, 311,
707 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
708 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
709 -1, -1, 58, 59, -1, -1, -1, 63, 64, -1,
710 -1, 266, 267, 268, -1, 270, 271, -1, -1, -1,
711 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
712 -1, -1, -1, 279, -1, 91, -1, 93, 33, -1,
713 -1, 36, 37, 38, -1, 40, 41, 42, 43, 44,
714 45, 297, 298, 281, -1, -1, -1, -1, -1, 287,
715 288, 289, 290, 58, 59, -1, -1, 123, 63, 64,
716 126, 289, 300, 301, 302, 303, 304, 305, 306, -1,
717 -1, 309, -1, -1, 312, 313, 314, -1, 306, -1,
718 -1, 309, -1, -1, 312, 313, 314, 33, 93, -1,
719 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
720 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
721 275, -1, -1, 59, 279, -1, 281, -1, 64, -1,
722 -1, 126, 287, 288, 289, 290, 304, 305, 306, -1,
723 308, -1, 297, 298, -1, 300, 301, 302, 303, 304,
724 305, 306, -1, -1, 309, 91, -1, 312, 313, 314,
725 -1, -1, 41, -1, -1, 44, -1, 335, -1, -1,
726 -1, -1, -1, -1, 342, -1, -1, -1, 346, -1,
727 59, -1, -1, 91, -1, -1, -1, 123, -1, -1,
728 126, 359, 360, -1, -1, -1, -1, -1, -1, -1,
729 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
730 -1, -1, -1, 269, 93, 123, 272, 273, 274, 275,
731 -1, -1, -1, 279, 280, 281, 282, 283, 284, 285,
732 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
733 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
734 306, -1, 308, 309, 310, 311, 312, 313, 314, -1,
735 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
736 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
737 275, -1, -1, -1, 279, 280, 281, 282, 283, 284,
738 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
739 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
740 305, 306, -1, 308, 309, 310, 311, 312, 313, 314,
741 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
742 -1, -1, -1, 269, -1, 91, 272, 273, 274, 275,
743 -1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
744 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
745 296, 33, -1, 299, 36, 37, 38, 123, 40, -1,
746 42, 43, 308, 45, 310, 311, -1, -1, 13, 287,
747 -1, 289, 290, -1, -1, -1, -1, 59, -1, -1,
748 -1, -1, 64, 272, 273, 274, 275, 305, 306, -1,
749 279, 309, -1, -1, 312, 313, 314, 42, -1, -1,
750 45, -1, -1, -1, -1, -1, -1, 33, 297, 91,
751 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
752 -1, -1, 26, -1, -1, -1, -1, -1, -1, -1,
753 -1, -1, -1, -1, -1, -1, 81, -1, 64, 43,
754 44, 123, -1, -1, 126, -1, 50, -1, -1, -1,
755 95, -1, -1, -1, -1, -1, -1, -1, 62, 63,
756 64, 65, -1, 33, -1, 91, 36, 37, 38, -1,
757 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
758 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
759 -1, -1, -1, -1, 64, -1, 141, 123, -1, -1,
760 126, -1, -1, 107, -1, -1, -1, -1, -1, -1,
761 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
762 -1, 91, -1, 289, 290, -1, 33, -1, -1, 36,
763 37, 38, -1, 40, 179, 42, 43, -1, 45, 305,
764 306, 186, -1, 309, -1, -1, 312, 313, 314, -1,
765 -1, -1, -1, 123, -1, -1, 126, 64, -1, -1,
766 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
767 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
768 -1, 263, 264, 265, 91, -1, -1, 269, -1, -1,
769 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
770 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
771 292, 293, 294, 295, 296, -1, 123, 299, -1, 126,
772 -1, 91, -1, -1, -1, 41, 308, -1, 310, 311,
773 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
774 -1, -1, -1, 269, -1, -1, -1, 63, -1, -1,
775 -1, -1, -1, 123, 280, -1, 282, 283, 284, 285,
776 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
777 296, -1, -1, 299, -1, 91, -1, -1, -1, -1,
778 -1, -1, 308, -1, 310, 311, -1, 257, 258, 259,
779 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
780 58, -1, -1, -1, -1, 63, -1, 123, -1, -1,
781 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
782 -1, 291, 292, 293, 294, 295, 296, -1, -1, 299,
783 -1, -1, -1, 91, -1, -1, -1, -1, 308, -1,
784 310, 311, -1, -1, -1, -1, 41, -1, -1, 44,
785 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
786 -1, -1, 269, 58, 59, 123, -1, -1, 63, -1,
787 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
788 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
789 33, -1, 299, 36, 37, 38, -1, 40, 93, 42,
790 43, 308, 45, 310, 311, -1, -1, -1, -1, -1,
791 -1, -1, -1, -1, -1, -1, 59, 287, 288, 289,
792 290, 64, -1, -1, -1, -1, -1, -1, -1, -1,
793 -1, 301, 302, 303, 304, 305, 306, -1, -1, 309,
794 -1, -1, 312, 313, 314, -1, 33, -1, 91, 36,
795 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
796 -1, -1, -1, -1, -1, 281, -1, -1, -1, -1,
797 -1, 287, 288, 289, 290, -1, -1, 64, -1, -1,
798 -1, -1, -1, 126, 300, 301, 302, 303, 304, 305,
799 306, -1, -1, 309, -1, -1, 312, 313, 314, -1,
800 -1, -1, 33, -1, 91, 36, 37, 38, -1, 40,
801 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
802 -1, -1, -1, 281, -1, -1, -1, -1, -1, 287,
803 288, 289, 290, 64, -1, -1, -1, -1, -1, 126,
804 -1, -1, 300, 301, 302, 303, 304, 305, 306, -1,
805 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
806 91, 33, 93, -1, 36, 37, 38, -1, 40, 41,
807 42, 43, -1, 45, -1, -1, -1, 272, 273, 274,
808 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
809 -1, -1, 64, 288, -1, 126, -1, -1, -1, -1,
810 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
811 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
812 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
813 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
814 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
815 293, 294, 295, 296, 126, -1, 299, -1, -1, -1,
816 -1, -1, 93, -1, -1, 308, 41, 310, 311, 44,
817 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
818 -1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
819 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
820 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
821 -1, -1, 299, -1, -1, -1, -1, -1, 93, -1,
822 -1, 308, -1, 310, 311, -1, 257, 258, 259, 260,
823 261, -1, 263, 264, 265, -1, 33, -1, 269, 36,
824 37, 38, -1, 40, 41, 42, 43, -1, 45, 280,
825 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
826 291, 292, 293, 294, 295, 296, -1, 64, 299, -1,
827 -1, -1, -1, -1, -1, -1, -1, 308, -1, 310,
828 311, -1, -1, -1, -1, 257, 258, 259, 260, 261,
829 -1, 263, 264, 265, 91, 33, -1, 269, 36, 37,
830 38, -1, 40, -1, 42, 43, -1, 45, 280, -1,
831 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
832 292, 293, 294, 295, 296, -1, 64, 299, -1, 126,
833 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
834 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
835 281, 33, -1, 91, 36, 37, 38, -1, 40, 41,
836 42, 43, -1, 45, -1, -1, 297, 298, -1, 300,
837 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
838 -1, -1, 64, -1, -1, -1, -1, -1, 126, -1,
839 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
840 275, -1, -1, -1, 279, -1, 281, 33, -1, 91,
841 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
842 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
843 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
844 -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
845 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
846 257, 258, 259, 260, 261, 91, 263, 264, 265, -1,
847 33, -1, 269, 36, 37, 38, -1, 40, 41, 42,
848 43, -1, 45, 280, -1, 282, 283, 284, 285, 286,
849 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
850 126, 64, 299, -1, -1, -1, -1, -1, -1, -1,
851 -1, 308, -1, 310, 311, -1, -1, -1, 256, 257,
852 258, 259, 260, 261, -1, 263, 264, 265, 91, -1,
853 -1, 269, 41, -1, -1, 44, -1, -1, -1, -1,
854 -1, -1, 280, -1, 282, 283, 284, 285, 286, 58,
855 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
856 -1, 299, -1, 126, -1, -1, -1, -1, -1, -1,
857 308, -1, 310, 311, -1, 257, 258, 259, 260, 261,
858 -1, 263, 264, 265, 93, -1, -1, 269, -1, -1,
859 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
860 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
861 292, 293, 294, 295, 296, -1, -1, 299, -1, -1,
862 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
863 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
864 -1, 33, -1, 269, 36, 37, 38, -1, 40, -1,
865 42, 43, -1, 45, 280, -1, 282, 283, 284, 285,
866 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
867 296, -1, 64, 299, -1, -1, -1, -1, -1, -1,
868 -1, -1, 308, -1, 310, 311, -1, -1, -1, -1,
869 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
870 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
871 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
872 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
873 293, 294, 295, 296, 126, 41, 299, -1, 44, -1,
874 91, -1, 93, -1, -1, 308, -1, 310, 311, -1,
875 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
876 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
877 279, -1, 123, -1, -1, -1, -1, -1, 41, -1,
878 -1, 44, -1, -1, -1, 91, -1, 93, 297, 298,
879 -1, 300, -1, -1, -1, 58, 59, -1, -1, -1,
880 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
881 -1, -1, -1, -1, -1, -1, -1, 123, -1, -1,
882 -1, -1, -1, 41, -1, -1, 44, -1, 91, -1,
883 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
884 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
885 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
886 123, -1, -1, -1, -1, 257, 258, 259, 260, 261,
887 -1, 263, 264, 265, -1, 93, -1, 269, -1, -1,
888 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
889 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
890 292, 293, 294, 295, 296, 123, -1, 299, 91, -1,
891 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
892 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
893 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
894 123, -1, -1, 58, 59, -1, 297, 298, 63, 300,
895 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
896 -1, 312, 313, 314, -1, -1, 272, 273, 274, 275,
897 -1, 41, -1, 279, 44, 281, 91, -1, 93, -1,
898 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
899 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
900 306, -1, -1, 309, -1, -1, 312, 313, 314, 272,
901 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
902 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
903 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
904 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
905 313, 314, -1, 123, 272, 273, 274, 275, -1, 41,
906 -1, 279, -1, 281, -1, -1, 93, -1, -1, 287,
907 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
908 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
909 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
910 -1, -1, 41, -1, 287, 288, 289, 290, -1, 91,
911 -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
912 59, 304, 305, 306, 63, -1, 309, -1, -1, 312,
913 313, 314, -1, -1, -1, -1, -1, -1, -1, -1,
914 -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
915 -1, -1, 91, -1, 93, -1, -1, 272, 273, 274,
916 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
917 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
918 -1, -1, 297, 298, 123, 300, 301, 302, 303, 304,
919 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
920 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
921 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
922 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
923 300, 301, 302, 303, 304, 305, 306, -1, -1, 309,
924 -1, -1, 312, 313, 314, 272, 273, 274, 275, -1,
925 -1, -1, 279, -1, -1, -1, -1, 41, -1, 93,
926 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
927 297, 298, -1, 300, 58, 59, -1, -1, -1, 63,
928 -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
929 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
930 -1, -1, -1, -1, -1, 287, 288, 289, 290, 93,
931 -1, -1, -1, -1, -1, 297, 298, -1, 300, 301,
932 302, 303, 304, 305, 306, -1, 41, 309, -1, 44,
933 312, 313, 314, 272, 273, 274, 275, -1, 41, 123,
934 279, -1, 281, 58, 59, -1, -1, -1, 287, 288,
935 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
936 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
937 309, -1, -1, 312, 313, 314, -1, -1, 93, -1,
938 -1, -1, -1, 41, -1, -1, 44, -1, 91, -1,
939 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
940 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
941 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
942 123, -1, -1, -1, -1, -1, -1, -1, -1, -1,
943 -1, -1, -1, -1, -1, 93, -1, -1, 272, 273,
944 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
945 -1, -1, -1, 287, 288, 289, 290, -1, -1, 41,
946 -1, -1, 44, 297, 298, 123, 300, 301, 302, 303,
947 304, 305, 306, -1, -1, 309, 58, 59, 312, 313,
948 314, 63, -1, -1, -1, -1, -1, -1, 272, 273,
949 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
950 -1, -1, -1, 287, 288, 289, 290, -1, -1, 41,
951 -1, 93, 44, 297, 298, -1, 300, 301, 302, 303,
952 304, 305, 306, -1, -1, 309, 58, 59, 312, 313,
953 314, 63, -1, -1, -1, -1, -1, -1, -1, -1,
954 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
955 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
956 275, 93, -1, -1, 279, -1, -1, -1, -1, 272,
957 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
958 -1, -1, 297, 298, 287, 288, 289, 290, -1, -1,
959 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
960 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
961 313, 314, -1, -1, 272, 273, 274, 275, -1, 41,
962 -1, 279, 44, 281, -1, -1, 93, -1, -1, 287,
963 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
964 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
965 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
966 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
967 -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
968 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
969 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
970 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
971 -1, -1, -1, -1, 93, 297, 298, -1, 300, 301,
972 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
973 312, 313, 314, 41, -1, -1, 44, -1, -1, -1,
974 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
975 58, 59, -1, -1, -1, 287, 288, 289, 290, -1,
976 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
977 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
978 312, 313, 314, -1, -1, 93, -1, -1, -1, -1,
979 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
980 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
981 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
982 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
983 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
984 -1, -1, 309, -1, -1, 312, 313, 314, -1, -1,
985 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
986 -1, -1, 93, -1, -1, 287, 288, 289, 290, -1,
987 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
988 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
989 312, 313, 314, 272, 273, 274, 275, -1, 41, -1,
990 279, 44, 281, -1, -1, -1, -1, 93, 287, 288,
991 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
992 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
993 309, -1, -1, -1, 41, -1, -1, 44, -1, -1,
994 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
995 93, 58, 59, -1, -1, -1, 63, -1, -1, -1,
996 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
997 -1, 279, -1, -1, -1, -1, 272, 273, 274, 275,
998 -1, 41, -1, 279, 44, 281, 93, -1, -1, 297,
999 298, 287, 288, 289, 290, -1, -1, -1, 58, 59,
1000 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
1001 306, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1002 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1003 -1, -1, 44, 93, -1, -1, -1, -1, -1, -1,
1004 -1, 272, 273, 274, 275, -1, 58, 59, 279, -1,
1005 281, 63, -1, -1, -1, -1, 287, 288, 289, 290,
1006 -1, -1, -1, -1, -1, -1, 297, 298, -1, 300,
1007 301, 302, 303, 304, 305, 306, -1, -1, -1, -1,
1008 -1, 93, -1, -1, -1, -1, 272, 273, 274, 275,
1009 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1010 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
1011 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
1012 306, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1013 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1014 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
1015 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
1016 303, 304, 305, 306, -1, 272, 273, 274, 275, -1,
1017 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
1018 287, 288, 289, 290, -1, -1, 93, 58, 59, -1,
1019 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
1020 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1021 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1022 -1, 281, 93, -1, -1, -1, -1, 287, 288, 289,
1023 290, 41, -1, -1, 44, -1, -1, 297, 298, -1,
1024 300, 301, 302, 303, 304, 305, 306, -1, 58, 59,
1025 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1026 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1027 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1028 -1, 41, -1, 93, 44, 297, 298, -1, 300, 301,
1029 302, 303, 304, 305, 306, -1, -1, -1, 58, 59,
1030 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1031 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1032 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
1033 44, 281, -1, 93, -1, -1, -1, 287, 288, 289,
1034 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
1035 300, 301, 302, 303, 304, 305, -1, 91, -1, -1,
1036 41, -1, -1, 44, -1, 272, 273, 274, 275, -1,
1037 41, -1, 279, 44, 281, -1, -1, 58, 59, 93,
1038 287, 288, 63, 290, -1, -1, -1, 58, 59, 123,
1039 297, 298, 63, 300, 301, 302, 303, 304, 305, -1,
1040 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1041 281, -1, 93, -1, -1, -1, 287, 288, 41, -1,
1042 -1, 44, 93, 58, 59, -1, 297, 298, 63, 300,
1043 301, 302, 303, 304, 305, 58, 59, -1, -1, -1,
1044 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1045 -1, -1, 44, -1, -1, -1, -1, -1, 93, -1,
1046 -1, -1, 272, 273, 274, 275, 58, 59, -1, 279,
1047 93, 281, -1, -1, -1, -1, -1, 287, 288, -1,
1048 -1, -1, -1, -1, -1, -1, -1, 297, 298, -1,
1049 300, 301, 302, 303, 304, -1, -1, 63, -1, -1,
1050 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
1051 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1052 -1, 281, -1, -1, -1, 91, -1, 287, 288, -1,
1053 -1, -1, -1, -1, -1, 63, -1, 297, 298, -1,
1054 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
1055 -1, -1, -1, 287, 288, 289, 290, 123, 272, 273,
1056 274, 275, -1, 91, -1, 279, -1, 281, 302, 303,
1057 304, 305, 306, 287, 288, 309, -1, -1, 312, 313,
1058 314, -1, -1, 297, 298, -1, 300, 301, 302, 303,
1059 304, 272, 273, 274, 275, 123, -1, -1, 279, -1,
1060 281, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1061 281, -1, -1, -1, -1, -1, 297, 298, -1, 300,
1062 301, 302, 303, 91, -1, -1, 297, 298, -1, 300,
1063 301, 302, -1, -1, -1, -1, -1, 272, 273, 274,
1064 275, -1, -1, -1, 279, -1, 281, -1, -1, 272,
1065 273, 274, 275, -1, -1, 123, 279, -1, -1, -1,
1066 -1, -1, 297, 298, -1, 300, 301, -1, -1, -1,
1067 -1, -1, -1, -1, 297, 298, -1, -1, 30, -1,
1068 272, 273, 274, 275, -1, -1, 38, 279, -1, -1,
1069 42, -1, -1, 45, -1, -1, -1, -1, -1, -1,
1070 52, 53, 54, 55, 56, 297, 298, 59, 60, -1,
1071 -1, -1, -1, -1, 66, 281, -1, -1, -1, -1,
1072 -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
1073 -1, -1, 25, 26, 300, 301, 302, 303, 304, 305,
1074 306, 93, -1, 309, 37, -1, 312, 313, 314, -1,
1075 43, 44, 45, 281, -1, -1, -1, 50, -1, 287,
1076 288, 289, 290, -1, -1, -1, -1, -1, -1, 62,
1077 63, 64, 65, 301, 302, 303, 304, 305, 306, -1,
1078 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
1079 -1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
1080 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1081 162, 163, 164, -1, 107, -1, -1, -1, -1, 287,
1082 288, 289, 290, -1, 176, -1, -1, -1, -1, -1,
1083 -1, -1, -1, -1, -1, 303, 304, 305, 306, -1,
1084 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
1085 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1086 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1087 -1, -1, -1, -1, 167, -1, -1, -1, -1, -1,
1088 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1089 -1, -1, -1, -1, -1, -1, -1, -1, 191, -1,
1090 -1, -1, -1, 255, -1, -1, -1, -1, -1, -1,
1091 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1092 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1093 -1, -1, -1, -1, 286,
1099 #define YYMAXTOKEN 314
1101 static char *yyname[] = {
1102 "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,
1103 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1104 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1105 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1106 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1107 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1108 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1109 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",
1110 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1111 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1112 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1113 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1114 "OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP",
1115 "SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
1118 static char *yyrule[] = {
1121 "prog : $$1 lineseq",
1122 "block : '{' remember lineseq '}'",
1124 "mblock : '{' mremember lineseq '}'",
1127 "lineseq : lineseq decl",
1128 "lineseq : lineseq line",
1129 "line : label cond",
1132 "line : label sideff ';'",
1135 "sideff : expr IF expr",
1136 "sideff : expr UNLESS expr",
1137 "sideff : expr WHILE expr",
1138 "sideff : expr UNTIL iexpr",
1139 "sideff : expr FOR expr",
1141 "else : ELSE mblock",
1142 "else : ELSIF '(' mexpr ')' mblock else",
1143 "cond : IF '(' remember mexpr ')' mblock else",
1144 "cond : UNLESS '(' remember miexpr ')' mblock else",
1146 "cont : CONTINUE block",
1147 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1148 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1149 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1150 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1151 "loop : label FOR '(' remember mexpr ')' mblock cont",
1152 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1153 "loop : label block cont",
1169 "format : FORMAT startformsub formname block",
1172 "subrout : SUB startsub subname proto subbody",
1181 "package : PACKAGE WORD ';'",
1182 "package : PACKAGE ';'",
1184 "use : USE startsub $$2 WORD WORD listexpr ';'",
1185 "expr : expr ANDOP expr",
1186 "expr : expr OROP expr",
1188 "argexpr : argexpr ','",
1189 "argexpr : argexpr ',' term",
1191 "listop : LSTOP indirob argexpr",
1192 "listop : FUNC '(' indirob expr ')'",
1193 "listop : term ARROW method '(' listexprcom ')'",
1194 "listop : term ARROW method",
1195 "listop : METHOD indirob listexpr",
1196 "listop : FUNCMETH indirob '(' listexprcom ')'",
1197 "listop : LSTOP listexpr",
1198 "listop : FUNC '(' listexprcom ')'",
1200 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1203 "term : term ASSIGNOP term",
1204 "term : term POWOP term",
1205 "term : term MULOP term",
1206 "term : term ADDOP term",
1207 "term : term SHIFTOP term",
1208 "term : term RELOP term",
1209 "term : term EQOP term",
1210 "term : term BITANDOP term",
1211 "term : term BITOROP term",
1212 "term : term DOTDOT term",
1213 "term : term ANDAND term",
1214 "term : term OROR term",
1215 "term : term '?' term ':' term",
1216 "term : term MATCHOP term",
1221 "term : REFGEN term",
1222 "term : term POSTINC",
1223 "term : term POSTDEC",
1224 "term : PREINC term",
1225 "term : PREDEC term",
1226 "term : local term",
1227 "term : '(' expr ')'",
1229 "term : '[' expr ']'",
1231 "term : HASHBRACK expr ';' '}'",
1232 "term : HASHBRACK ';' '}'",
1233 "term : ANONSUB startanonsub proto block",
1235 "term : star '{' expr ';' '}'",
1237 "term : scalar '[' expr ']'",
1238 "term : term ARROW '[' expr ']'",
1239 "term : term '[' expr ']'",
1243 "term : scalar '{' expr ';' '}'",
1244 "term : term ARROW '{' expr ';' '}'",
1245 "term : term '{' expr ';' '}'",
1246 "term : '(' expr ')' '[' expr ']'",
1247 "term : '(' ')' '[' expr ']'",
1248 "term : ary '[' expr ']'",
1249 "term : ary '{' expr ';' '}'",
1252 "term : amper '(' ')'",
1253 "term : amper '(' expr ')'",
1254 "term : NOAMP WORD listexpr",
1257 "term : DO WORD '(' ')'",
1258 "term : DO WORD '(' expr ')'",
1259 "term : DO scalar '(' ')'",
1260 "term : DO scalar '(' expr ')'",
1261 "term : term ARROW '(' ')'",
1262 "term : term ARROW '(' expr ')'",
1264 "term : LOOPEX term",
1265 "term : NOTOP argexpr",
1267 "term : UNIOP block",
1268 "term : UNIOP term",
1269 "term : UNIOPSUB term",
1271 "term : FUNC0 '(' ')'",
1273 "term : FUNC1 '(' ')'",
1274 "term : FUNC1 '(' expr ')'",
1275 "term : PMFUNC '(' term ')'",
1276 "term : PMFUNC '(' term ',' term ')'",
1280 "listexpr : argexpr",
1282 "listexprcom : expr",
1283 "listexprcom : expr ','",
1286 "my_scalar : scalar",
1287 "amper : '&' indirob",
1288 "scalar : '$' indirob",
1289 "ary : '@' indirob",
1290 "hsh : '%' indirob",
1291 "arylen : DOLSHARP indirob",
1292 "star : '*' indirob",
1296 "indirob : PRIVATEREF",
1299 #define yyclearin (yychar=(-1))
1300 #define yyerrok (yyerrflag=0)
1303 #define YYMAXDEPTH YYSTACKSIZE
1307 #define YYSTACKSIZE YYMAXDEPTH
1309 #define YYSTACKSIZE 500
1310 #define YYMAXDEPTH 500
1315 #line 1318 "perly.c"
1316 #define YYABORT goto yyabort
1317 #define YYACCEPT goto yyaccept
1318 #define YYERROR goto yyerrlab
1332 yydestruct(void *ptr)
1334 struct ysv* ysave = (struct ysv*)ptr;
1335 if (ysave->yyss) Safefree(ysave->yyss);
1336 if (ysave->yyvs) Safefree(ysave->yyvs);
1337 yydebug = ysave->oldyydebug;
1338 yynerrs = ysave->oldyynerrs;
1339 yyerrflag = ysave->oldyyerrflag;
1340 yychar = ysave->oldyychar;
1341 yyval = ysave->oldyyval;
1342 yylval = ysave->oldyylval;
1349 register int yym, yyn, yystate;
1350 register short *yyssp;
1351 register YYSTYPE *yyvsp;
1354 unsigned yystacksize = YYSTACKSIZE;
1359 extern char *getenv();
1364 New(73, ysave, 1, struct ysv);
1365 SAVEDESTRUCTOR(yydestruct, ysave);
1366 ysave->oldyydebug = yydebug;
1367 ysave->oldyynerrs = yynerrs;
1368 ysave->oldyyerrflag = yyerrflag;
1369 ysave->oldyychar = yychar;
1370 ysave->oldyyval = yyval;
1371 ysave->oldyylval = yylval;
1374 if (yys = getenv("YYDEBUG"))
1377 if (yyn >= '0' && yyn <= '9')
1378 yydebug = yyn - '0';
1387 ** Initialize private stacks (yyparse may be called from an action)
1389 New(73, yyss, yystacksize, short);
1390 New(73, yyvs, yystacksize, YYSTYPE);
1398 *yyssp = yystate = 0;
1401 if (yyn = yydefred[yystate]) goto yyreduce;
1404 if ((yychar = yylex()) < 0) yychar = 0;
1409 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1410 if (!yys) yys = "illegal-symbol";
1411 printf("yydebug: state %d, reading %d (%s)\n", yystate,
1416 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1417 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1421 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1422 yystate, yytable[yyn]);
1424 if (yyssp >= yyss + yystacksize - 1)
1427 ** reallocate and recover. Note that pointers
1428 ** have to be reset, or bad things will happen
1430 int yyps_index = (yyssp - yyss);
1431 int yypv_index = (yyvsp - yyvs);
1432 yystacksize += YYSTACKSIZE;
1433 ysave->yyvs = yyvs =
1434 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1435 ysave->yyss = yyss =
1436 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
1439 yyssp = yyss + yyps_index;
1440 yyvsp = yyvs + yypv_index;
1442 *++yyssp = yystate = yytable[yyn];
1445 if (yyerrflag > 0) --yyerrflag;
1448 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1449 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1454 if (yyerrflag) goto yyinrecovery;
1459 yyerror("syntax error");
1471 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1472 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1476 PerlIO_printf(Perl_debug_log,
1477 "yydebug: state %d, error recovery shifting to state %d\n",
1478 *yyssp, yytable[yyn]);
1480 if (yyssp >= yyss + yystacksize - 1)
1483 ** reallocate and recover. Note that pointers
1484 ** have to be reset, or bad things will happen
1486 int yyps_index = (yyssp - yyss);
1487 int yypv_index = (yyvsp - yyvs);
1488 yystacksize += YYSTACKSIZE;
1489 ysave->yyvs = yyvs = (YYSTYPE*)PerlMem_realloc((char*)yyvs,
1490 yystacksize * sizeof(YYSTYPE));
1491 ysave->yyss = yyss = (short*)PerlMem_realloc((char*)yyss,
1492 yystacksize * sizeof(short));
1495 yyssp = yyss + yyps_index;
1496 yyvsp = yyvs + yypv_index;
1498 *++yyssp = yystate = yytable[yyn];
1506 PerlIO_printf(Perl_debug_log,
1507 "yydebug: error recovery discarding state %d\n",
1510 if (yyssp <= yyss) goto yyabort;
1518 if (yychar == 0) goto yyabort;
1523 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1524 if (!yys) yys = "illegal-symbol";
1525 PerlIO_printf(Perl_debug_log,
1526 "yydebug: state %d, error recovery discards token %d (%s)\n",
1527 yystate, yychar, yys);
1536 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1537 yystate, yyn, yyrule[yyn]);
1540 yyval = yyvsp[1-yym];
1546 #if defined(YYDEBUG) && defined(DEBUGGING)
1547 yydebug = (PL_debug & 1);
1554 { newPROG(yyvsp[0].opval); }
1558 { if (PL_copline > (line_t)yyvsp[-3].ival)
1559 PL_copline = yyvsp[-3].ival;
1560 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1564 { yyval.ival = block_start(TRUE); }
1568 { if (PL_copline > (line_t)yyvsp[-3].ival)
1569 PL_copline = yyvsp[-3].ival;
1570 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1574 { yyval.ival = block_start(FALSE); }
1578 { yyval.opval = Nullop; }
1582 { yyval.opval = yyvsp[-1].opval; }
1586 { yyval.opval = append_list(OP_LINESEQ,
1587 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1588 PL_pad_reset_pending = TRUE;
1589 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1593 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1597 { if (yyvsp[-1].pval != Nullch) {
1598 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1601 yyval.opval = Nullop;
1602 PL_copline = NOLINE;
1604 PL_expect = XSTATE; }
1608 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1609 PL_expect = XSTATE; }
1613 { yyval.opval = Nullop; }
1617 { yyval.opval = yyvsp[0].opval; }
1621 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1625 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1629 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1633 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1637 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1638 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1642 { yyval.opval = Nullop; }
1646 { yyval.opval = scope(yyvsp[0].opval); }
1650 { PL_copline = yyvsp[-5].ival;
1651 yyval.opval = newSTATEOP(0, Nullch,
1652 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1653 PL_hints |= HINT_BLOCK_SCOPE; }
1657 { PL_copline = yyvsp[-6].ival;
1658 yyval.opval = block_end(yyvsp[-4].ival,
1659 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1663 { PL_copline = yyvsp[-6].ival;
1664 yyval.opval = block_end(yyvsp[-4].ival,
1665 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1669 { yyval.opval = Nullop; }
1673 { yyval.opval = scope(yyvsp[0].opval); }
1677 { PL_copline = yyvsp[-6].ival;
1678 yyval.opval = block_end(yyvsp[-4].ival,
1679 newSTATEOP(0, yyvsp[-7].pval,
1680 newWHILEOP(0, 1, (LOOP*)Nullop,
1681 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1685 { PL_copline = yyvsp[-6].ival;
1686 yyval.opval = block_end(yyvsp[-4].ival,
1687 newSTATEOP(0, yyvsp[-7].pval,
1688 newWHILEOP(0, 1, (LOOP*)Nullop,
1689 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1693 { yyval.opval = block_end(yyvsp[-6].ival,
1694 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1698 { yyval.opval = block_end(yyvsp[-4].ival,
1699 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1700 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1704 { yyval.opval = block_end(yyvsp[-4].ival,
1705 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1709 { OP *forop = append_elem(OP_LINESEQ,
1710 scalar(yyvsp[-6].opval),
1711 newWHILEOP(0, 1, (LOOP*)Nullop,
1712 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1713 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1714 PL_copline = yyvsp[-9].ival;
1715 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1719 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1720 newWHILEOP(0, 1, (LOOP*)Nullop,
1721 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1725 { yyval.opval = Nullop; }
1729 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1733 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1737 { yyval.opval = yyvsp[0].opval; intro_my(); }
1741 { yyval.opval = yyvsp[0].opval; intro_my(); }
1745 { yyval.opval = yyvsp[0].opval; intro_my(); }
1749 { yyval.opval = yyvsp[0].opval; intro_my(); }
1753 { yyval.pval = Nullch; }
1773 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1777 { yyval.opval = yyvsp[0].opval; }
1781 { yyval.opval = Nullop; }
1785 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1789 { yyval.ival = start_subparse(FALSE, 0); }
1793 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1797 { yyval.ival = start_subparse(TRUE, 0); }
1801 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1802 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1803 || strEQ(name, "INIT"))
1804 CvSPECIAL_on(PL_compcv);
1805 yyval.opval = yyvsp[0].opval; }
1809 { yyval.opval = Nullop; }
1813 { yyval.opval = yyvsp[0].opval; }
1817 { yyval.opval = Nullop; PL_expect = XSTATE; }
1821 { package(yyvsp[-1].opval); }
1825 { package(Nullop); }
1829 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
1833 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1837 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1841 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1845 { yyval.opval = yyvsp[-1].opval; }
1849 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1853 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1854 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1858 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1859 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1863 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1864 append_elem(OP_LIST,
1865 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1866 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1870 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1871 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
1872 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
1876 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1877 append_elem(OP_LIST,
1878 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1879 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1883 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1884 append_elem(OP_LIST,
1885 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1886 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1890 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1894 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1898 { yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1902 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1903 append_elem(OP_LIST,
1904 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1908 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1912 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1916 { if (yyvsp[-1].ival != OP_REPEAT)
1917 scalar(yyvsp[-2].opval);
1918 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1922 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1926 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1930 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1934 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1938 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1942 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1946 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1950 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1954 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1958 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1962 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1966 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1970 { yyval.opval = yyvsp[0].opval; }
1974 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1978 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1982 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1986 { yyval.opval = newUNOP(OP_POSTINC, 0,
1987 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1991 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1992 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1996 { yyval.opval = newUNOP(OP_PREINC, 0,
1997 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2001 { yyval.opval = newUNOP(OP_PREDEC, 0,
2002 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2006 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2010 { yyval.opval = sawparens(yyvsp[-1].opval); }
2014 { yyval.opval = sawparens(newNULLLIST()); }
2018 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2022 { yyval.opval = newANONLIST(Nullop); }
2026 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2030 { yyval.opval = newANONHASH(Nullop); }
2034 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2038 { yyval.opval = yyvsp[0].opval; }
2042 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
2046 { yyval.opval = yyvsp[0].opval; }
2050 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2054 { yyval.opval = newBINOP(OP_AELEM, 0,
2055 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2056 scalar(yyvsp[-1].opval));}
2060 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
2061 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2062 scalar(yyvsp[-1].opval));}
2066 { yyval.opval = yyvsp[0].opval; }
2070 { yyval.opval = yyvsp[0].opval; }
2074 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2078 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2079 PL_expect = XOPERATOR; }
2083 { yyval.opval = newBINOP(OP_HELEM, 0,
2084 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2085 jmaybe(yyvsp[-2].opval));
2086 PL_expect = XOPERATOR; }
2090 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2091 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2092 jmaybe(yyvsp[-2].opval));
2093 PL_expect = XOPERATOR; }
2097 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2101 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2105 { yyval.opval = prepend_elem(OP_ASLICE,
2106 newOP(OP_PUSHMARK, 0),
2107 newLISTOP(OP_ASLICE, 0,
2108 list(yyvsp[-1].opval),
2109 ref(yyvsp[-3].opval, OP_ASLICE))); }
2113 { yyval.opval = prepend_elem(OP_HSLICE,
2114 newOP(OP_PUSHMARK, 0),
2115 newLISTOP(OP_HSLICE, 0,
2116 list(yyvsp[-2].opval),
2117 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2118 PL_expect = XOPERATOR; }
2122 { yyval.opval = yyvsp[0].opval; }
2126 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2130 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2134 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2135 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2139 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2140 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2144 { yyval.opval = dofile(yyvsp[0].opval); }
2148 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2152 { yyval.opval = newUNOP(OP_ENTERSUB,
2153 OPf_SPECIAL|OPf_STACKED,
2154 prepend_elem(OP_LIST,
2156 (OPpENTERSUB_AMPER<<8),
2157 scalar(yyvsp[-2].opval)
2158 )),Nullop)); dep();}
2162 { yyval.opval = newUNOP(OP_ENTERSUB,
2163 OPf_SPECIAL|OPf_STACKED,
2164 append_elem(OP_LIST,
2167 (OPpENTERSUB_AMPER<<8),
2168 scalar(yyvsp[-3].opval)
2173 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2174 prepend_elem(OP_LIST,
2175 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2179 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2180 prepend_elem(OP_LIST,
2182 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2186 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2187 newCVREF(0, scalar(yyvsp[-3].opval))); }
2191 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2192 append_elem(OP_LIST, yyvsp[-1].opval,
2193 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2197 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2198 PL_hints |= HINT_BLOCK_SCOPE; }
2202 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2206 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2210 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2214 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2218 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2222 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2223 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2227 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2231 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2235 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2236 scalar(yyvsp[0].opval)); }
2240 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2244 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2248 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2252 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2256 { yyval.opval = Nullop; }
2260 { yyval.opval = yyvsp[0].opval; }
2264 { yyval.opval = Nullop; }
2268 { yyval.opval = yyvsp[0].opval; }
2272 { yyval.opval = yyvsp[-1].opval; }
2284 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2288 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2292 { yyval.opval = newSVREF(yyvsp[0].opval); }
2296 { yyval.opval = newAVREF(yyvsp[0].opval); }
2300 { yyval.opval = newHVREF(yyvsp[0].opval); }
2304 { yyval.opval = newAVREF(yyvsp[0].opval); }
2308 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2312 { yyval.opval = scalar(yyvsp[0].opval); }
2316 { yyval.opval = scalar(yyvsp[0].opval); }
2320 { yyval.opval = scope(yyvsp[0].opval); }
2324 { yyval.opval = yyvsp[0].opval; }
2326 #line 2329 "perly.c"
2332 if (yystate == 0 && yym == 0)
2336 PerlIO_printf(Perl_debug_log,
2337 "yydebug: after reduction, shifting from state 0 to state %d\n",
2345 if ((yychar = yylex()) < 0) yychar = 0;
2350 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2351 if (!yys) yys = "illegal-symbol";
2352 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2353 YYFINAL, yychar, yys);
2357 if (yychar == 0) goto yyaccept;
2360 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2361 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2362 yystate = yytable[yyn];
2364 yystate = yydgoto[yym];
2367 PerlIO_printf(Perl_debug_log,
2368 "yydebug: after reduction, shifting from state %d to state %d\n",
2371 if (yyssp >= yyss + yystacksize - 1)
2374 ** reallocate and recover. Note that pointers
2375 ** have to be reset, or bad things will happen
2377 int yyps_index = (yyssp - yyss);
2378 int yypv_index = (yyvsp - yyvs);
2379 yystacksize += YYSTACKSIZE;
2380 ysave->yyvs = yyvs =
2381 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2382 ysave->yyss = yyss =
2383 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
2386 yyssp = yyss + yyps_index;
2387 yyvsp = yyvs + yypv_index;
2393 yyerror("Out of memory for yacc stack");