2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
7 #define PERL_IN_PERLY_C
10 #define yydebug PL_yydebug
11 #define yynerrs PL_yynerrs
12 #define yyerrflag PL_yyerrflag
13 #define yychar PL_yychar
14 #define yyval PL_yyval
15 #define yylval PL_yylval
17 #define dep() deprecate("\"do\" to call subroutines")
19 static void yydestruct(pTHXo_ void *ptr);
23 static short yylhs[] = { -1,
24 45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
25 12, 12, 12, 24, 24, 24, 24, 24, 24, 24,
26 15, 15, 15, 14, 14, 42, 42, 13, 13, 13,
27 13, 13, 13, 13, 26, 26, 27, 27, 28, 29,
28 30, 31, 32, 44, 44, 1, 1, 1, 1, 3,
29 38, 38, 46, 4, 5, 6, 39, 40, 40, 41,
30 41, 47, 47, 49, 48, 16, 16, 16, 25, 25,
31 25, 36, 36, 36, 36, 36, 36, 36, 36, 50,
32 36, 37, 37, 17, 17, 17, 17, 17, 17, 17,
33 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
34 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
35 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
36 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
37 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
38 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
39 17, 17, 17, 17, 17, 17, 17, 17, 17, 33,
40 33, 34, 34, 34, 2, 2, 43, 23, 18, 19,
41 20, 21, 22, 35, 35, 35, 35,
43 static short yylen[] = { 2,
44 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
45 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
46 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
47 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
48 1, 1, 1, 0, 1, 1, 1, 1, 1, 4,
49 1, 0, 5, 0, 0, 0, 1, 0, 1, 1,
50 1, 3, 2, 0, 7, 3, 3, 1, 2, 3,
51 1, 3, 5, 6, 3, 3, 5, 2, 4, 0,
52 5, 1, 1, 3, 3, 3, 3, 3, 3, 3,
53 3, 3, 3, 3, 3, 5, 3, 2, 2, 2,
54 2, 2, 2, 2, 2, 2, 2, 3, 2, 3,
55 2, 4, 3, 4, 1, 5, 1, 4, 5, 4,
56 1, 1, 1, 5, 6, 5, 6, 5, 4, 5,
57 1, 1, 3, 4, 3, 2, 2, 4, 5, 4,
58 5, 4, 5, 1, 2, 2, 1, 2, 2, 2,
59 1, 3, 1, 3, 4, 4, 6, 1, 1, 0,
60 1, 0, 1, 2, 1, 1, 1, 2, 2, 2,
63 static short yydefred[] = { 1,
64 0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
65 9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
66 64, 14, 4, 158, 0, 0, 131, 0, 153, 0,
67 55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
68 0, 0, 0, 0, 0, 0, 0, 165, 166, 0,
69 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
70 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
71 0, 0, 121, 123, 0, 0, 0, 0, 159, 51,
72 0, 57, 0, 62, 0, 7, 174, 177, 176, 175,
73 0, 0, 0, 0, 0, 0, 4, 4, 4, 4,
74 4, 4, 0, 0, 0, 0, 0, 148, 0, 0,
75 0, 0, 78, 0, 172, 0, 137, 0, 0, 0,
76 0, 0, 168, 0, 0, 0, 0, 0, 0, 0,
77 0, 0, 0, 111, 0, 169, 170, 171, 173, 0,
78 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
79 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
80 0, 0, 0, 0, 103, 104, 0, 0, 0, 0,
81 0, 0, 0, 0, 13, 0, 50, 59, 0, 0,
82 0, 76, 0, 0, 80, 0, 0, 0, 0, 0,
83 0, 0, 4, 152, 154, 0, 0, 0, 0, 0,
84 0, 0, 113, 0, 135, 0, 0, 110, 27, 0,
85 0, 19, 0, 0, 0, 0, 66, 0, 0, 0,
86 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
87 0, 0, 0, 82, 0, 0, 83, 0, 0, 0,
88 0, 0, 0, 0, 133, 0, 0, 61, 60, 53,
89 0, 3, 0, 156, 0, 0, 114, 0, 42, 0,
90 43, 0, 0, 0, 0, 167, 0, 0, 36, 41,
91 0, 0, 0, 155, 164, 79, 0, 138, 0, 140,
92 0, 112, 0, 0, 0, 0, 0, 142, 0, 0,
93 0, 120, 0, 118, 0, 129, 0, 134, 0, 77,
94 0, 81, 0, 0, 0, 0, 0, 0, 0, 0,
95 73, 139, 141, 128, 0, 126, 0, 0, 143, 119,
96 0, 124, 130, 116, 65, 157, 6, 0, 0, 0,
97 0, 0, 0, 0, 0, 127, 125, 74, 7, 28,
98 29, 0, 0, 24, 25, 0, 32, 0, 0, 0,
99 22, 0, 0, 0, 31, 5, 0, 30, 0, 0,
102 static short yydgoto[] = { 1,
103 9, 66, 10, 18, 95, 17, 86, 339, 89, 328,
104 3, 11, 12, 68, 344, 263, 70, 71, 72, 73,
105 74, 75, 76, 269, 78, 270, 259, 261, 264, 272,
106 260, 262, 113, 198, 91, 79, 238, 81, 83, 179,
107 250, 142, 267, 13, 2, 14, 15, 16, 85, 256,
109 static short yysindex[] = { 0,
110 0, 0, -66, 0, 0, 0, -48, 0, 0, 0,
111 0, 0, 645, 0, 0, 0, -232, -227, -27, 0,
112 0, 0, 0, 0, -23, -23, 0, -6, 0, 2099,
113 0, 0, 13, 20, 24, 25, -34, 2099, 27, 28,
114 29, 1021, 965, -23, 1084, 1348, -217, 0, 0, -23,
115 2099, 2099, 2099, 2099, 2099, 2099, 1404, 0, 2099, 2099,
116 1460, -23, -23, -23, -23, 2099, -206, 0, 335, 3925,
117 -73, -68, 0, 0, -47, 40, 32, 61, 0, 0,
118 -39, 0, -157, 0, -145, 0, 0, 0, 0, 0,
119 2099, 73, 2099, 825, -39, -157, 0, 0, 0, 0,
120 0, 0, 75, 3925, 78, 1519, 965, 0, 825, 0,
121 -73, 61, 0, 2099, 0, 77, 0, 825, -16, -9,
122 -51, 2099, 0, 61, 87, 87, 87, -86, -86, 33,
123 -40, 87, 87, 0, -81, 0, 0, 0, 0, 825,
124 -39, 0, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
125 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
126 2099, 2099, 2099, 2099, 0, 0, 30, 2099, 2099, 2099,
127 2099, 2099, 2099, 1694, 0, 2099, 0, 0, -49, -118,
128 189, 0, 2099, 353, 0, -39, 2099, 2099, 2099, 2099,
129 104, 1753, 0, 0, 0, -24, 8, 85, 2099, 61,
130 1809, 1865, 0, 23, 0, 2099, 54, 0, 0, -269,
131 -269, 0, -269, -269, -269, -151, 0, -43, 1121, 825,
132 673, 50, 363, 3925, 1233, 3757, 4023, 2308, 266, -82,
133 87, 87, 2099, 0, 1928, 2099, 0, 111, 51, 12,
134 76, 14, 90, 39, 0, -22, 3925, 0, 0, 0,
135 2099, 0, 121, 0, 2099, 2099, 0, -269, 0, 124,
136 0, 125, -269, 126, 130, 0, 112, 335, 0, 0,
137 131, 136, 2099, 0, 0, 0, -14, 0, 1, 0,
138 4, 0, 133, 2099, 55, 2099, 49, 0, 6, 197,
139 2099, 0, 89, 0, 94, 0, 100, 0, 144, 0,
140 1175, 0, 92, 92, 92, 92, 2099, 92, 2099, 171,
141 0, 0, 0, 0, 202, 0, 3963, 108, 0, 0,
142 188, 0, 0, 0, 0, 0, 0, -206, -206, -238,
143 -238, 199, -206, 211, 92, 0, 0, 0, 0, 0,
144 0, 92, 241, 0, 0, 92, 0, 1753, -206, 326,
145 0, 2099, -206, 256, 0, 0, 259, 0, 92, 92,
148 static short yyrindex[] = { 0,
149 0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
150 0, 0, 0, 0, 0, 0, 184, 0, 0, 0,
151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
152 0, 0, 0, 0, 0, 0, 0, 2273, 426, 0,
153 0, 2909, 2959, 0, 0, 0, 0, 0, 0, 0,
154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
155 0, 0, 0, 0, 0, 0, 59, 0, -10, 2776,
156 3024, 3069, 0, 0, 2376, 2140, 0, 200, 0, 0,
157 0, 0, -44, 0, 0, 0, 0, 0, 0, 0,
158 2421, 0, 0, 105, 0, 198, 0, 0, 0, 0,
159 0, 0, 0, 3183, 0, 0, 319, 0, 3681, 525,
160 586, 2509, 0, 0, 0, 2185, 0, 3731, 3024, 0,
161 0, 2421, 0, 2552, 3195, 3260, 3305, -37, 3112, 2657,
162 0, 3348, 3384, 0, 0, 0, 0, 0, 0, 3777,
163 0, 0, 0, 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, 0, 0, 0, 0,
166 0, 0, 0, 0, 0, 2707, 0, 0, 0, 0,
167 909, 0, 319, 0, 0, 0, 320, 0, 0, 0,
168 0, 306, 0, 0, 0, 0, 325, 0, 0, 2788,
169 0, 0, 0, 0, 0, 0, 2833, 0, 0, -5,
170 22, 0, 68, 69, 70, 702, 0, 0, 2464, 1296,
171 1560, 3541, 3584, 3868, 0, 3856, 3820, 3810, 1616, 3620,
172 3431, 3479, 0, 0, 0, 0, 0, 2228, 0, 0,
173 0, 0, 0, 0, 0, 0, 3899, 0, 0, 0,
174 309, 0, 0, 0, 0, 2421, 0, 79, 0, 0,
175 0, 0, 330, 0, 0, 0, 0, 84, 0, 0,
176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
178 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
179 0, 0, 0, 0, 0, 0, 0, 0, 317, 0,
180 0, 0, 0, 0, 0, 0, 1982, 0, 0, 0,
181 0, 0, 0, 0, 0, 0, 0, 59, 59, 154,
182 154, 0, 59, 0, 0, 0, 0, 0, 0, 0,
183 0, 0, 0, 0, 0, 0, 0, 340, 59, 909,
184 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
187 static short yygindex[] = { 0,
188 0, 0, 0, 374, 351, 0, -12, 0, 946, 413,
189 -83, 0, 0, 0, -311, -13, 4139, 4198, 0, 0,
190 0, 0, 0, 372, -8, 0, 0, 246, -131, 43,
191 86, 208, -45, -169, 987, 0, 0, 0, 0, 308,
192 0, -271, 0, 0, 0, 0, 0, 0, 0, 0,
194 #define YYTABLESIZE 4425
195 static short yytable[] = { 69,
196 207, 62, 181, 105, 168, 102, 105, 204, 168, 248,
197 20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
198 105, 105, 172, 202, 80, 105, 311, 148, 149, 82,
199 15, 84, 121, 93, 112, 18, 150, 342, 343, 122,
200 150, 312, 124, 131, 313, 182, 319, 135, 15, 169,
201 363, 275, 97, 18, 171, 105, 340, 341, 26, 98,
202 271, 347, 39, 99, 100, 62, 105, 106, 107, 235,
203 293, 141, 295, 23, 170, 173, 205, 355, 58, 174,
204 39, 358, 112, 23, 187, 188, 189, 190, 191, 192,
205 175, 26, 196, 197, 26, 26, 26, 297, 26, 23,
206 26, 26, 178, 26, 176, 200, 169, 318, 16, 17,
207 20, 180, 183, 112, 193, 203, 201, 26, 194, 38,
208 236, 321, 26, 206, 40, 276, 16, 17, 20, 210,
209 211, 213, 214, 215, 216, 217, 218, 38, 251, 62,
210 168, 310, 15, 292, 284, 150, 149, 282, 150, 26,
211 291, 307, 233, 21, 239, 240, 241, 242, 243, 244,
212 246, 300, 150, 150, 303, 304, 305, 150, 294, 197,
213 306, 308, 150, 258, 211, 332, 211, 168, 268, 316,
214 273, 26, 296, 26, 26, 277, 21, 279, 281, 21,
215 21, 21, 283, 21, 309, 21, 21, 150, 21, 4,
216 5, 6, 325, 7, 8, 299, 154, 155, 19, 150,
217 302, 335, 21, 322, 327, 148, 149, 21, 323, 287,
218 357, 289, 290, 163, 324, 314, 164, 167, 338, 165,
219 166, 167, 337, 87, 105, 105, 105, 105, 88, 346,
220 68, 105, 112, 105, 21, 148, 149, 112, 2, 105,
221 105, 105, 105, 148, 149, 350, 148, 149, 68, 105,
222 105, 101, 105, 105, 105, 105, 105, 105, 105, 348,
223 315, 105, 148, 149, 148, 149, 21, 197, 21, 21,
224 352, 44, 148, 149, 44, 44, 44, 234, 44, 320,
225 44, 44, 68, 44, 336, 258, 359, 148, 149, 360,
226 148, 149, 148, 149, 148, 149, 52, 44, 148, 149,
227 148, 149, 44, 252, 26, 26, 26, 26, 26, 26,
228 58, 26, 26, 26, 26, 26, 26, 26, 26, 26,
229 26, 26, 26, 26, 69, 148, 149, 26, 26, 44,
230 26, 26, 26, 26, 26, 148, 149, 148, 149, 26,
231 26, 26, 26, 26, 26, 163, 168, 26, 164, 162,
232 37, 165, 166, 167, 35, 163, 26, 160, 26, 26,
233 40, 44, 148, 149, 44, 37, 150, 150, 150, 150,
234 35, 21, 96, 150, 77, 150, 148, 149, 150, 212,
235 354, 150, 150, 254, 334, 164, 255, 265, 165, 166,
236 167, 150, 150, 186, 150, 150, 150, 150, 150, 21,
237 21, 21, 21, 21, 21, 157, 21, 21, 21, 21,
238 21, 21, 21, 21, 21, 21, 21, 21, 21, 148,
239 149, 0, 21, 21, 0, 21, 21, 21, 21, 21,
240 0, 0, 0, 168, 21, 21, 21, 21, 21, 21,
241 356, 0, 21, 168, 4, 5, 6, 0, 7, 8,
242 0, 21, 0, 21, 21, 0, 151, 0, 0, 151,
243 0, 68, 68, 68, 68, 150, 0, 0, 68, 0,
244 0, 0, 0, 151, 151, 150, 0, 0, 151, 0,
245 0, 0, 0, 148, 149, 0, 68, 68, 148, 149,
246 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
247 0, 44, 44, 44, 0, 0, 151, 44, 151, 0,
248 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
249 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
250 44, 44, 44, 44, 44, 0, 0, 44, 151, 0,
251 0, 0, 152, 153, 154, 155, 44, 174, 44, 44,
252 174, 174, 174, 0, 174, 158, 174, 174, 158, 174,
253 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
254 0, 0, 158, 158, 0, 0, 0, 158, 174, 0,
255 0, 4, 5, 6, 0, 7, 8, 0, 0, 0,
256 0, 0, 0, 0, 0, 0, 143, 144, 145, 146,
257 0, 0, 0, 147, 0, 158, 0, 158, 175, 0,
258 0, 175, 175, 175, 0, 175, 115, 175, 175, 115,
259 175, 148, 149, 151, 0, 0, 0, 0, 0, 152,
260 153, 154, 155, 115, 115, 0, 0, 158, 115, 175,
261 174, 154, 156, 158, 159, 160, 161, 162, 163, 0,
262 0, 164, 0, 0, 165, 166, 167, 0, 163, 0,
263 0, 164, 0, 0, 165, 166, 167, 52, 115, 0,
264 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
265 0, 0, 0, 0, 0, 0, 0, 151, 151, 151,
266 151, 0, 0, 58, 151, 0, 151, 0, 63, 0,
267 0, 175, 151, 151, 151, 151, 329, 330, 331, 0,
268 333, 0, 151, 151, 0, 151, 151, 151, 151, 151,
269 151, 151, 0, 0, 151, 61, 0, 151, 151, 151,
270 0, 0, 67, 0, 0, 67, 0, 349, 0, 0,
271 0, 0, 0, 0, 351, 0, 0, 0, 353, 0,
272 67, 0, 0, 168, 0, 0, 0, 23, 0, 0,
273 53, 361, 362, 0, 0, 0, 0, 0, 0, 0,
274 0, 174, 174, 174, 174, 174, 0, 174, 174, 174,
275 0, 0, 0, 174, 67, 150, 158, 158, 158, 158,
276 0, 0, 0, 158, 174, 158, 174, 174, 174, 174,
277 174, 158, 158, 158, 158, 174, 174, 174, 174, 174,
278 174, 158, 158, 174, 158, 158, 158, 158, 158, 158,
279 158, 0, 174, 158, 174, 174, 158, 158, 158, 0,
280 0, 0, 175, 175, 175, 175, 175, 0, 175, 175,
281 175, 0, 0, 0, 175, 0, 0, 115, 115, 115,
282 115, 0, 0, 0, 115, 175, 115, 175, 175, 175,
283 175, 175, 115, 115, 115, 115, 175, 175, 175, 175,
284 175, 175, 115, 115, 175, 115, 115, 115, 115, 115,
285 115, 115, 0, 175, 115, 175, 175, 115, 115, 115,
286 22, 24, 25, 26, 27, 28, 0, 29, 30, 31,
287 0, 0, 0, 32, 0, 168, 33, 34, 35, 36,
288 0, 0, 0, 37, 38, 0, 39, 40, 41, 42,
289 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
290 49, 44, 0, 51, 44, 44, 44, 150, 44, 0,
291 44, 44, 54, 44, 55, 56, 0, 0, 67, 152,
292 0, 154, 155, 0, 0, 0, 0, 44, 0, 0,
293 0, 0, 44, 67, 67, 67, 67, 162, 163, 0,
294 67, 164, 0, 0, 165, 166, 167, 108, 0, 0,
295 117, 0, 0, 0, 0, 0, 0, 52, 67, 44,
296 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
297 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
298 0, 0, 0, 0, 0, 0, 177, 0, 63, 114,
299 115, 44, 0, 0, 44, 0, 123, 0, 0, 0,
300 185, 0, 0, 0, 0, 0, 0, 0, 136, 137,
301 138, 139, 0, 52, 0, 61, 62, 64, 50, 0,
302 57, 0, 65, 60, 0, 59, 0, 0, 0, 0,
303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
304 0, 0, 0, 0, 63, 0, 209, 23, 0, 0,
305 53, 0, 0, 199, 0, 0, 0, 0, 0, 0,
306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
307 0, 61, 0, 154, 155, 0, 52, 0, 0, 62,
308 64, 50, 0, 57, 249, 65, 60, 0, 59, 162,
309 163, 257, 0, 164, 0, 0, 165, 166, 167, 0,
310 0, 0, 0, 23, 0, 0, 53, 63, 0, 0,
311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
312 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
313 0, 44, 44, 44, 61, 0, 0, 44, 0, 0,
314 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
315 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
316 44, 44, 44, 44, 44, 0, 23, 44, 0, 53,
317 0, 168, 0, 0, 0, 326, 44, 0, 44, 44,
318 0, 110, 25, 26, 27, 28, 88, 29, 30, 31,
319 0, 0, 0, 32, 0, 0, 0, 157, 0, 0,
320 0, 0, 0, 150, 38, 0, 39, 40, 41, 42,
321 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
322 49, 0, 0, 51, 0, 168, 0, 0, 0, 0,
323 0, 0, 54, 0, 55, 56, 0, 24, 25, 26,
324 27, 28, 0, 29, 30, 31, 0, 0, 0, 32,
325 286, 0, 0, 0, 0, 157, 0, 150, 0, 0,
326 38, 0, 39, 40, 41, 42, 43, 0, 0, 0,
327 0, 44, 45, 46, 47, 48, 49, 0, 0, 51,
328 0, 0, 0, 168, 0, 0, 0, 0, 54, 0,
329 55, 56, 0, 0, 0, 0, 89, 0, 0, 89,
330 116, 25, 26, 27, 28, 0, 29, 30, 31, 0,
331 0, 0, 32, 89, 89, 150, 0, 0, 89, 0,
332 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
333 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
334 52, 0, 51, 62, 64, 50, 0, 57, 89, 65,
335 60, 54, 59, 55, 56, 0, 0, 0, 0, 0,
336 0, 0, 0, 0, 0, 0, 120, 152, 153, 154,
337 155, 63, 0, 0, 0, 0, 0, 0, 0, 0,
338 0, 158, 159, 160, 161, 162, 163, 0, 0, 164,
339 0, 0, 165, 166, 167, 0, 52, 0, 61, 62,
340 64, 50, 0, 57, 130, 65, 60, 0, 59, 0,
341 0, 0, 0, 0, 0, 151, 0, 0, 0, 0,
342 0, 152, 153, 154, 155, 0, 0, 63, 0, 0,
343 0, 0, 0, 53, 156, 158, 159, 160, 161, 162,
344 163, 0, 0, 164, 0, 0, 165, 166, 167, 0,
345 0, 0, 52, 0, 61, 62, 64, 50, 0, 57,
346 0, 65, 60, 0, 59, 0, 0, 0, 0, 0,
347 0, 0, 0, 151, 0, 0, 0, 0, 0, 152,
348 153, 154, 155, 63, 0, 0, 0, 0, 0, 53,
349 0, 0, 156, 158, 159, 160, 161, 162, 163, 0,
350 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
351 61, 52, 134, 0, 62, 64, 50, 0, 57, 195,
352 65, 60, 0, 59, 0, 0, 0, 89, 89, 89,
353 89, 0, 0, 0, 89, 0, 89, 0, 0, 0,
354 0, 0, 63, 89, 0, 53, 0, 0, 0, 0,
355 0, 0, 89, 89, 0, 89, 89, 89, 89, 89,
356 90, 0, 0, 90, 24, 25, 26, 27, 28, 61,
357 29, 30, 31, 0, 0, 0, 32, 90, 90, 0,
358 0, 0, 90, 0, 0, 0, 0, 38, 0, 39,
359 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
360 46, 47, 48, 49, 53, 0, 51, 0, 0, 0,
361 0, 0, 90, 0, 0, 54, 91, 55, 56, 91,
362 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
363 0, 0, 32, 91, 91, 0, 0, 0, 91, 0,
364 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
365 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
366 0, 0, 51, 0, 0, 0, 0, 0, 91, 0,
367 0, 54, 0, 55, 56, 0, 24, 25, 26, 27,
368 28, 0, 29, 30, 31, 0, 52, 0, 32, 62,
369 64, 50, 0, 57, 245, 65, 60, 0, 59, 38,
370 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
371 44, 45, 46, 47, 48, 49, 0, 63, 51, 0,
372 0, 0, 0, 0, 0, 0, 0, 54, 0, 55,
373 56, 0, 0, 0, 0, 24, 25, 26, 27, 28,
374 0, 29, 30, 31, 61, 52, 0, 32, 62, 64,
375 50, 0, 57, 0, 65, 60, 0, 59, 38, 0,
376 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
377 45, 46, 47, 48, 49, 0, 63, 51, 0, 53,
378 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
379 0, 90, 90, 90, 90, 0, 0, 0, 90, 0,
380 90, 52, 0, 61, 62, 64, 50, 0, 57, 278,
381 65, 60, 0, 59, 0, 0, 90, 90, 0, 90,
382 90, 90, 90, 90, 0, 0, 0, 0, 0, 0,
383 0, 0, 63, 0, 0, 0, 0, 0, 53, 0,
384 0, 0, 0, 0, 0, 0, 0, 91, 91, 91,
385 91, 0, 0, 0, 91, 0, 91, 52, 0, 61,
386 62, 64, 50, 0, 57, 280, 65, 60, 0, 59,
387 0, 0, 91, 91, 0, 91, 91, 91, 91, 91,
388 0, 0, 0, 0, 0, 0, 0, 0, 63, 0,
389 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
391 24, 25, 26, 27, 28, 61, 29, 30, 31, 0,
392 52, 0, 32, 62, 64, 50, 0, 57, 288, 65,
393 60, 0, 59, 38, 0, 39, 40, 41, 42, 43,
394 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
395 53, 63, 51, 0, 0, 0, 0, 0, 0, 0,
396 0, 54, 0, 55, 56, 0, 0, 0, 22, 24,
397 25, 26, 27, 28, 0, 29, 30, 31, 61, 0,
398 0, 32, 96, 0, 0, 96, 0, 0, 0, 0,
399 0, 0, 38, 0, 39, 40, 41, 42, 43, 96,
400 96, 0, 0, 44, 45, 46, 47, 48, 49, 0,
401 0, 51, 0, 53, 0, 0, 0, 0, 0, 0,
402 54, 0, 55, 56, 0, 24, 25, 26, 27, 28,
403 0, 29, 30, 31, 96, 0, 0, 32, 0, 0,
404 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
405 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
406 45, 46, 47, 48, 49, 0, 0, 51, 0, 0,
407 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
408 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
409 0, 52, 0, 32, 62, 64, 50, 0, 57, 0,
410 65, 60, 0, 59, 38, 0, 39, 40, 41, 42,
411 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
412 49, 0, 63, 51, 0, 0, 0, 0, 0, 0,
413 0, 0, 54, 0, 55, 56, 0, 0, 0, 0,
414 132, 0, 0, 132, 24, 25, 26, 27, 28, 61,
415 29, 30, 31, 0, 0, 0, 32, 132, 132, 0,
416 0, 0, 132, 0, 0, 0, 0, 38, 0, 39,
417 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
418 46, 47, 48, 49, 53, 158, 51, 0, 158, 0,
419 132, 0, 132, 0, 0, 54, 0, 55, 56, 0,
420 0, 0, 158, 158, 0, 0, 0, 158, 0, 0,
421 0, 0, 0, 96, 96, 96, 96, 0, 0, 0,
422 96, 0, 132, 0, 0, 0, 0, 0, 75, 0,
423 0, 75, 0, 0, 0, 158, 0, 158, 96, 96,
424 0, 96, 0, 0, 0, 75, 75, 0, 0, 0,
425 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 158, 0, 0,
427 0, 0, 0, 144, 0, 0, 144, 0, 75, 0,
428 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 144, 144, 0, 0, 0, 144, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 75, 0, 0, 0, 0, 24, 25, 26, 27, 28,
432 0, 29, 30, 31, 0, 144, 0, 32, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
434 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
435 45, 46, 47, 48, 49, 144, 0, 51, 168, 0,
436 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
437 0, 132, 132, 132, 132, 0, 117, 0, 132, 117,
438 132, 0, 0, 0, 0, 0, 132, 132, 132, 132,
439 150, 0, 0, 117, 117, 0, 132, 132, 117, 132,
440 132, 132, 132, 132, 132, 132, 0, 0, 132, 0,
441 0, 132, 132, 132, 0, 0, 158, 158, 158, 158,
442 0, 160, 0, 158, 160, 158, 117, 0, 117, 0,
443 0, 158, 158, 158, 158, 0, 0, 0, 160, 160,
444 0, 158, 158, 160, 158, 158, 158, 158, 158, 158,
445 158, 0, 0, 158, 0, 0, 158, 158, 158, 75,
446 75, 75, 75, 0, 93, 0, 75, 93, 75, 0,
447 0, 0, 0, 160, 75, 75, 75, 75, 0, 0,
448 0, 93, 93, 0, 75, 75, 93, 75, 75, 75,
449 75, 75, 75, 75, 0, 0, 75, 0, 0, 75,
450 75, 75, 0, 160, 144, 144, 144, 144, 0, 161,
451 0, 144, 0, 144, 0, 0, 93, 0, 0, 144,
452 144, 144, 144, 0, 0, 0, 161, 161, 0, 144,
453 144, 161, 144, 144, 144, 144, 144, 144, 144, 0,
454 0, 144, 0, 0, 144, 144, 144, 0, 0, 0,
455 0, 0, 146, 0, 152, 153, 154, 155, 0, 161,
456 0, 161, 0, 0, 0, 0, 0, 0, 0, 146,
457 146, 161, 162, 163, 146, 0, 164, 0, 0, 165,
458 166, 167, 0, 0, 0, 0, 0, 0, 0, 0,
459 0, 161, 0, 0, 0, 0, 0, 0, 0, 0,
460 0, 0, 146, 0, 146, 0, 0, 117, 117, 117,
461 117, 0, 0, 0, 117, 0, 117, 0, 0, 0,
462 0, 0, 117, 117, 117, 117, 0, 0, 0, 0,
463 0, 0, 117, 117, 146, 117, 117, 117, 117, 117,
464 117, 117, 0, 0, 117, 0, 0, 117, 117, 117,
465 0, 0, 160, 160, 160, 160, 0, 109, 0, 160,
466 109, 160, 0, 0, 0, 0, 0, 160, 160, 160,
467 160, 0, 0, 0, 109, 109, 0, 160, 160, 109,
468 160, 160, 160, 160, 160, 160, 160, 0, 0, 160,
469 0, 0, 160, 160, 160, 93, 93, 93, 93, 0,
470 0, 0, 93, 0, 0, 0, 0, 69, 0, 109,
471 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
472 93, 93, 0, 93, 69, 69, 0, 0, 0, 69,
473 0, 0, 0, 0, 0, 0, 0, 0, 0, 109,
474 161, 161, 161, 161, 0, 0, 0, 161, 0, 161,
475 0, 0, 0, 0, 0, 161, 161, 161, 161, 69,
476 0, 0, 0, 0, 0, 161, 161, 0, 161, 161,
477 161, 161, 161, 161, 161, 0, 71, 161, 0, 71,
478 161, 161, 161, 146, 146, 146, 146, 0, 72, 69,
479 146, 0, 146, 71, 71, 0, 0, 0, 146, 146,
480 146, 146, 0, 0, 0, 72, 72, 0, 146, 146,
481 72, 146, 146, 146, 146, 146, 146, 146, 0, 0,
482 146, 0, 0, 146, 146, 146, 0, 0, 71, 0,
483 0, 0, 0, 108, 0, 0, 108, 0, 72, 0,
484 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
485 108, 108, 0, 0, 0, 108, 0, 0, 0, 0,
486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
487 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
488 0, 0, 0, 0, 0, 108, 0, 0, 109, 109,
489 109, 109, 0, 0, 0, 109, 0, 109, 0, 0,
490 0, 0, 0, 109, 109, 109, 109, 0, 0, 147,
491 0, 0, 147, 109, 109, 108, 109, 109, 109, 109,
492 109, 109, 109, 0, 0, 109, 147, 147, 109, 109,
493 109, 147, 0, 0, 0, 0, 0, 0, 69, 69,
494 69, 69, 0, 0, 0, 69, 0, 69, 0, 0,
495 0, 0, 0, 69, 69, 69, 69, 0, 0, 160,
496 0, 147, 160, 69, 69, 0, 69, 69, 69, 69,
497 69, 69, 69, 0, 0, 69, 160, 160, 69, 69,
498 69, 160, 0, 0, 0, 0, 0, 0, 0, 0,
499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 0, 0, 0, 0, 0, 71, 71, 71,
501 71, 160, 0, 0, 71, 0, 0, 0, 0, 72,
502 72, 72, 72, 0, 115, 0, 72, 115, 72, 0,
503 0, 0, 71, 71, 72, 72, 72, 72, 0, 0,
504 0, 115, 115, 0, 72, 72, 115, 72, 72, 72,
505 72, 72, 72, 72, 0, 0, 72, 0, 0, 72,
506 72, 72, 0, 0, 108, 108, 108, 108, 0, 122,
507 0, 108, 122, 108, 0, 0, 115, 0, 0, 108,
508 108, 108, 108, 0, 0, 0, 122, 122, 0, 108,
509 108, 122, 108, 108, 108, 108, 108, 108, 108, 0,
510 0, 108, 0, 0, 108, 108, 108, 0, 0, 0,
511 0, 0, 106, 0, 0, 106, 0, 0, 0, 0,
512 0, 122, 0, 0, 0, 0, 0, 0, 0, 106,
513 106, 0, 0, 0, 106, 0, 0, 0, 0, 0,
514 147, 147, 147, 147, 0, 0, 0, 147, 0, 147,
515 0, 0, 0, 0, 0, 147, 147, 147, 147, 0,
516 0, 0, 0, 0, 106, 147, 147, 0, 147, 147,
517 147, 147, 147, 147, 147, 0, 0, 147, 0, 0,
518 147, 147, 147, 145, 0, 0, 145, 0, 0, 0,
519 160, 160, 160, 160, 0, 100, 0, 160, 100, 160,
520 145, 145, 0, 0, 0, 160, 160, 160, 160, 0,
521 0, 0, 100, 100, 0, 160, 160, 100, 160, 160,
522 160, 160, 160, 160, 160, 0, 0, 160, 0, 0,
523 160, 160, 160, 0, 0, 145, 0, 0, 0, 0,
524 0, 0, 0, 0, 0, 0, 0, 100, 0, 0,
525 0, 0, 0, 0, 0, 115, 115, 115, 115, 0,
526 101, 0, 115, 101, 115, 0, 0, 0, 0, 0,
527 115, 115, 115, 115, 0, 0, 0, 101, 101, 0,
528 115, 115, 101, 115, 115, 115, 115, 115, 115, 115,
529 0, 0, 115, 0, 0, 115, 115, 115, 0, 0,
530 122, 122, 122, 122, 0, 102, 0, 122, 102, 122,
531 0, 0, 101, 0, 0, 122, 122, 122, 122, 0,
532 0, 0, 102, 102, 0, 122, 122, 102, 122, 122,
533 122, 122, 122, 122, 122, 0, 0, 122, 0, 0,
534 122, 122, 122, 106, 106, 106, 106, 0, 98, 0,
535 106, 98, 106, 0, 0, 0, 0, 102, 106, 106,
536 106, 106, 0, 0, 0, 98, 98, 0, 106, 106,
537 98, 106, 106, 106, 106, 106, 106, 106, 0, 0,
538 106, 0, 0, 0, 99, 0, 0, 99, 0, 0,
539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
540 98, 99, 99, 0, 0, 0, 99, 0, 0, 0,
541 0, 0, 0, 0, 145, 145, 145, 145, 0, 0,
542 0, 145, 0, 0, 0, 0, 100, 100, 100, 100,
543 0, 97, 0, 100, 97, 100, 99, 0, 0, 145,
544 145, 100, 100, 100, 100, 0, 0, 0, 97, 97,
545 0, 100, 100, 97, 100, 100, 100, 100, 100, 100,
546 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
547 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,
548 0, 0, 85, 97, 0, 0, 0, 0, 0, 0,
549 0, 101, 101, 101, 101, 0, 85, 85, 101, 0,
550 101, 85, 0, 0, 0, 0, 101, 101, 101, 101,
551 0, 0, 0, 0, 0, 0, 101, 101, 0, 101,
552 101, 101, 101, 101, 101, 101, 0, 0, 0, 0,
553 0, 85, 0, 0, 0, 0, 102, 102, 102, 102,
554 0, 86, 0, 102, 86, 102, 0, 0, 0, 0,
555 0, 102, 102, 102, 102, 0, 0, 0, 86, 86,
556 0, 102, 102, 86, 102, 102, 102, 102, 102, 102,
557 102, 0, 0, 0, 0, 0, 0, 0, 0, 98,
558 98, 98, 98, 0, 87, 0, 98, 87, 98, 0,
559 0, 0, 0, 86, 98, 98, 98, 98, 0, 0,
560 0, 87, 87, 0, 98, 98, 87, 98, 98, 98,
561 98, 98, 98, 98, 0, 99, 99, 99, 99, 0,
562 88, 0, 99, 88, 99, 0, 0, 0, 0, 0,
563 99, 99, 99, 99, 0, 0, 87, 88, 88, 0,
564 99, 99, 88, 99, 99, 99, 99, 99, 99, 99,
565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
566 0, 0, 97, 97, 97, 97, 0, 0, 0, 97,
567 0, 97, 88, 0, 0, 0, 0, 97, 97, 97,
568 97, 149, 0, 0, 149, 0, 0, 97, 97, 0,
569 97, 97, 97, 97, 97, 97, 97, 0, 149, 149,
570 0, 0, 0, 149, 0, 0, 0, 0, 0, 0,
571 85, 85, 85, 85, 0, 0, 0, 85, 0, 85,
572 0, 0, 0, 0, 0, 85, 85, 85, 85, 0,
573 0, 136, 0, 149, 136, 85, 85, 0, 85, 85,
574 85, 85, 85, 85, 85, 0, 0, 0, 136, 136,
575 0, 0, 0, 136, 0, 0, 0, 0, 0, 0,
576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
577 0, 0, 86, 86, 86, 86, 0, 107, 0, 86,
578 107, 86, 0, 136, 0, 0, 0, 86, 86, 86,
579 86, 0, 0, 0, 107, 107, 0, 86, 86, 107,
580 86, 86, 86, 86, 86, 86, 0, 168, 0, 0,
581 92, 0, 0, 92, 0, 87, 87, 87, 87, 0,
582 94, 0, 87, 94, 87, 0, 0, 92, 92, 107,
583 87, 87, 92, 87, 0, 0, 0, 94, 94, 150,
584 87, 87, 94, 87, 87, 87, 87, 87, 87, 0,
585 0, 88, 88, 88, 88, 0, 95, 0, 88, 95,
586 88, 0, 92, 0, 0, 0, 88, 88, 84, 0,
587 0, 84, 94, 95, 95, 0, 88, 88, 95, 88,
588 88, 88, 88, 88, 88, 84, 84, 0, 0, 0,
589 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
590 0, 0, 70, 0, 0, 0, 0, 0, 95, 0,
591 0, 0, 149, 149, 149, 149, 70, 70, 0, 149,
592 84, 149, 0, 0, 0, 0, 0, 149, 149, 0,
593 0, 0, 0, 0, 0, 0, 0, 149, 149, 0,
594 149, 149, 149, 149, 149, 0, 0, 157, 0, 0,
595 0, 70, 0, 0, 0, 0, 0, 0, 0, 0,
596 0, 0, 136, 136, 136, 136, 0, 0, 0, 136,
597 0, 136, 0, 0, 0, 168, 0, 136, 136, 0,
598 0, 0, 0, 0, 0, 157, 0, 136, 136, 0,
599 136, 136, 136, 136, 136, 0, 0, 0, 0, 0,
600 0, 0, 0, 152, 153, 154, 155, 150, 107, 107,
601 107, 107, 0, 168, 0, 107, 0, 107, 159, 160,
602 161, 162, 163, 107, 107, 164, 0, 0, 165, 166,
603 167, 0, 0, 107, 107, 0, 107, 107, 107, 107,
604 107, 92, 92, 92, 92, 150, 0, 0, 92, 0,
605 92, 94, 94, 94, 94, 0, 0, 0, 94, 0,
606 94, 0, 0, 0, 0, 0, 92, 92, 0, 92,
607 92, 92, 92, 168, 0, 0, 94, 94, 0, 94,
608 94, 94, 0, 0, 0, 0, 0, 95, 95, 95,
609 95, 0, 0, 0, 95, 0, 95, 0, 0, 84,
610 84, 84, 84, 0, 0, 150, 84, 0, 0, 0,
611 0, 0, 95, 95, 0, 95, 95, 0, 0, 0,
612 0, 0, 0, 0, 84, 84, 0, 0, 94, 0,
613 70, 70, 70, 70, 0, 0, 104, 70, 0, 0,
614 109, 0, 0, 118, 0, 0, 0, 0, 0, 0,
615 125, 126, 127, 128, 129, 70, 70, 132, 133, 0,
616 0, 0, 0, 0, 140, 151, 0, 0, 0, 0,
617 0, 152, 153, 154, 155, 0, 0, 0, 0, 0,
618 0, 0, 90, 90, 156, 158, 159, 160, 161, 162,
619 163, 184, 0, 164, 103, 0, 165, 166, 167, 0,
620 111, 90, 119, 151, 0, 0, 0, 90, 0, 152,
621 153, 154, 155, 0, 0, 0, 0, 0, 0, 90,
622 90, 90, 90, 158, 159, 160, 161, 162, 163, 0,
623 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
624 0, 0, 0, 0, 0, 0, 0, 0, 0, 219,
625 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
626 230, 231, 232, 0, 111, 0, 0, 0, 0, 152,
627 153, 154, 155, 0, 247, 0, 0, 0, 0, 0,
628 0, 0, 0, 0, 0, 160, 161, 162, 163, 0,
629 0, 164, 0, 0, 165, 166, 167, 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, 0, 0, 0, 237, 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, 266, 0,
635 0, 0, 0, 301, 0, 0, 0, 0, 0, 0,
636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
640 static short yycheck[] = { 13,
641 41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
642 59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
643 58, 59, 91, 40, 257, 63, 41, 297, 298, 257,
644 41, 59, 46, 40, 43, 41, 123, 276, 277, 257,
645 123, 41, 51, 57, 41, 91, 41, 61, 59, 123,
646 362, 44, 40, 59, 123, 93, 328, 329, 0, 40,
647 192, 333, 41, 40, 40, 36, 40, 40, 40, 40,
648 59, 278, 59, 123, 91, 123, 122, 349, 123, 40,
649 59, 353, 91, 123, 97, 98, 99, 100, 101, 102,
650 59, 33, 106, 107, 36, 37, 38, 59, 40, 123,
651 42, 43, 260, 45, 44, 114, 123, 59, 41, 41,
652 41, 257, 40, 122, 40, 125, 40, 59, 41, 41,
653 91, 291, 64, 91, 41, 41, 59, 59, 59, 143,
654 144, 145, 146, 147, 148, 149, 150, 59, 257, 36,
655 91, 273, 59, 93, 91, 41, 298, 125, 44, 91,
656 40, 40, 123, 0, 168, 169, 170, 171, 172, 173,
657 174, 41, 58, 59, 41, 41, 41, 63, 93, 183,
658 41, 41, 123, 187, 188, 307, 190, 91, 192, 125,
659 193, 123, 93, 125, 126, 199, 33, 201, 202, 36,
660 37, 38, 206, 40, 59, 42, 43, 93, 45, 266,
661 267, 268, 59, 270, 271, 251, 289, 290, 257, 123,
662 256, 41, 59, 125, 123, 297, 298, 64, 125, 233,
663 352, 235, 236, 306, 125, 93, 309, 314, 41, 312,
664 313, 314, 125, 257, 272, 273, 274, 275, 262, 41,
665 41, 279, 251, 281, 91, 297, 298, 256, 0, 287,
666 288, 289, 290, 297, 298, 339, 297, 298, 59, 297,
667 298, 296, 300, 301, 302, 303, 304, 305, 306, 59,
668 284, 309, 297, 298, 297, 298, 123, 291, 125, 126,
669 40, 33, 297, 298, 36, 37, 38, 258, 40, 93,
670 42, 43, 93, 45, 93, 309, 41, 297, 298, 41,
671 297, 298, 297, 298, 297, 298, 123, 59, 297, 298,
672 297, 298, 64, 125, 256, 257, 258, 259, 260, 261,
673 123, 263, 264, 265, 266, 267, 268, 269, 270, 271,
674 272, 273, 274, 275, 348, 297, 298, 279, 280, 91,
675 282, 283, 284, 285, 286, 297, 298, 297, 298, 291,
676 292, 293, 294, 295, 296, 306, 91, 299, 309, 41,
677 41, 312, 313, 314, 59, 41, 308, 59, 310, 311,
678 41, 123, 297, 298, 126, 59, 272, 273, 274, 275,
679 41, 8, 32, 279, 13, 281, 297, 298, 123, 144,
680 348, 287, 288, 41, 309, 309, 44, 190, 312, 313,
681 314, 297, 298, 96, 300, 301, 302, 303, 304, 256,
682 257, 258, 259, 260, 261, 63, 263, 264, 265, 266,
683 267, 268, 269, 270, 271, 272, 273, 274, 275, 297,
684 298, -1, 279, 280, -1, 282, 283, 284, 285, 286,
685 -1, -1, -1, 91, 291, 292, 293, 294, 295, 296,
686 125, -1, 299, 91, 266, 267, 268, -1, 270, 271,
687 -1, 308, -1, 310, 311, -1, 41, -1, -1, 44,
688 -1, 272, 273, 274, 275, 123, -1, -1, 279, -1,
689 -1, -1, -1, 58, 59, 123, -1, -1, 63, -1,
690 -1, -1, -1, 297, 298, -1, 297, 298, 297, 298,
691 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
692 -1, 263, 264, 265, -1, -1, 91, 269, 93, -1,
693 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
694 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
695 292, 293, 294, 295, 296, -1, -1, 299, 123, -1,
696 -1, -1, 287, 288, 289, 290, 308, 33, 310, 311,
697 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
698 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
699 -1, -1, 58, 59, -1, -1, -1, 63, 64, -1,
700 -1, 266, 267, 268, -1, 270, 271, -1, -1, -1,
701 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
702 -1, -1, -1, 279, -1, 91, -1, 93, 33, -1,
703 -1, 36, 37, 38, -1, 40, 41, 42, 43, 44,
704 45, 297, 298, 281, -1, -1, -1, -1, -1, 287,
705 288, 289, 290, 58, 59, -1, -1, 123, 63, 64,
706 126, 289, 300, 301, 302, 303, 304, 305, 306, -1,
707 -1, 309, -1, -1, 312, 313, 314, -1, 306, -1,
708 -1, 309, -1, -1, 312, 313, 314, 33, 93, -1,
709 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
710 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
711 275, -1, -1, 59, 279, -1, 281, -1, 64, -1,
712 -1, 126, 287, 288, 289, 290, 304, 305, 306, -1,
713 308, -1, 297, 298, -1, 300, 301, 302, 303, 304,
714 305, 306, -1, -1, 309, 91, -1, 312, 313, 314,
715 -1, -1, 41, -1, -1, 44, -1, 335, -1, -1,
716 -1, -1, -1, -1, 342, -1, -1, -1, 346, -1,
717 59, -1, -1, 91, -1, -1, -1, 123, -1, -1,
718 126, 359, 360, -1, -1, -1, -1, -1, -1, -1,
719 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
720 -1, -1, -1, 269, 93, 123, 272, 273, 274, 275,
721 -1, -1, -1, 279, 280, 281, 282, 283, 284, 285,
722 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
723 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
724 306, -1, 308, 309, 310, 311, 312, 313, 314, -1,
725 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
726 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
727 275, -1, -1, -1, 279, 280, 281, 282, 283, 284,
728 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
729 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
730 305, 306, -1, 308, 309, 310, 311, 312, 313, 314,
731 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
732 -1, -1, -1, 269, -1, 91, 272, 273, 274, 275,
733 -1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
734 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
735 296, 33, -1, 299, 36, 37, 38, 123, 40, -1,
736 42, 43, 308, 45, 310, 311, -1, -1, 13, 287,
737 -1, 289, 290, -1, -1, -1, -1, 59, -1, -1,
738 -1, -1, 64, 272, 273, 274, 275, 305, 306, -1,
739 279, 309, -1, -1, 312, 313, 314, 42, -1, -1,
740 45, -1, -1, -1, -1, -1, -1, 33, 297, 91,
741 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
742 -1, -1, 26, -1, -1, -1, -1, -1, -1, -1,
743 -1, -1, -1, -1, -1, -1, 81, -1, 64, 43,
744 44, 123, -1, -1, 126, -1, 50, -1, -1, -1,
745 95, -1, -1, -1, -1, -1, -1, -1, 62, 63,
746 64, 65, -1, 33, -1, 91, 36, 37, 38, -1,
747 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
748 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
749 -1, -1, -1, -1, 64, -1, 141, 123, -1, -1,
750 126, -1, -1, 107, -1, -1, -1, -1, -1, -1,
751 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
752 -1, 91, -1, 289, 290, -1, 33, -1, -1, 36,
753 37, 38, -1, 40, 179, 42, 43, -1, 45, 305,
754 306, 186, -1, 309, -1, -1, 312, 313, 314, -1,
755 -1, -1, -1, 123, -1, -1, 126, 64, -1, -1,
756 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
757 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
758 -1, 263, 264, 265, 91, -1, -1, 269, -1, -1,
759 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
760 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
761 292, 293, 294, 295, 296, -1, 123, 299, -1, 126,
762 -1, 91, -1, -1, -1, 41, 308, -1, 310, 311,
763 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
764 -1, -1, -1, 269, -1, -1, -1, 63, -1, -1,
765 -1, -1, -1, 123, 280, -1, 282, 283, 284, 285,
766 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
767 296, -1, -1, 299, -1, 91, -1, -1, -1, -1,
768 -1, -1, 308, -1, 310, 311, -1, 257, 258, 259,
769 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
770 58, -1, -1, -1, -1, 63, -1, 123, -1, -1,
771 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
772 -1, 291, 292, 293, 294, 295, 296, -1, -1, 299,
773 -1, -1, -1, 91, -1, -1, -1, -1, 308, -1,
774 310, 311, -1, -1, -1, -1, 41, -1, -1, 44,
775 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
776 -1, -1, 269, 58, 59, 123, -1, -1, 63, -1,
777 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
778 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
779 33, -1, 299, 36, 37, 38, -1, 40, 93, 42,
780 43, 308, 45, 310, 311, -1, -1, -1, -1, -1,
781 -1, -1, -1, -1, -1, -1, 59, 287, 288, 289,
782 290, 64, -1, -1, -1, -1, -1, -1, -1, -1,
783 -1, 301, 302, 303, 304, 305, 306, -1, -1, 309,
784 -1, -1, 312, 313, 314, -1, 33, -1, 91, 36,
785 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
786 -1, -1, -1, -1, -1, 281, -1, -1, -1, -1,
787 -1, 287, 288, 289, 290, -1, -1, 64, -1, -1,
788 -1, -1, -1, 126, 300, 301, 302, 303, 304, 305,
789 306, -1, -1, 309, -1, -1, 312, 313, 314, -1,
790 -1, -1, 33, -1, 91, 36, 37, 38, -1, 40,
791 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
792 -1, -1, -1, 281, -1, -1, -1, -1, -1, 287,
793 288, 289, 290, 64, -1, -1, -1, -1, -1, 126,
794 -1, -1, 300, 301, 302, 303, 304, 305, 306, -1,
795 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
796 91, 33, 93, -1, 36, 37, 38, -1, 40, 41,
797 42, 43, -1, 45, -1, -1, -1, 272, 273, 274,
798 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
799 -1, -1, 64, 288, -1, 126, -1, -1, -1, -1,
800 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
801 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
802 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
803 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
804 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
805 293, 294, 295, 296, 126, -1, 299, -1, -1, -1,
806 -1, -1, 93, -1, -1, 308, 41, 310, 311, 44,
807 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
808 -1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
809 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
810 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
811 -1, -1, 299, -1, -1, -1, -1, -1, 93, -1,
812 -1, 308, -1, 310, 311, -1, 257, 258, 259, 260,
813 261, -1, 263, 264, 265, -1, 33, -1, 269, 36,
814 37, 38, -1, 40, 41, 42, 43, -1, 45, 280,
815 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
816 291, 292, 293, 294, 295, 296, -1, 64, 299, -1,
817 -1, -1, -1, -1, -1, -1, -1, 308, -1, 310,
818 311, -1, -1, -1, -1, 257, 258, 259, 260, 261,
819 -1, 263, 264, 265, 91, 33, -1, 269, 36, 37,
820 38, -1, 40, -1, 42, 43, -1, 45, 280, -1,
821 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
822 292, 293, 294, 295, 296, -1, 64, 299, -1, 126,
823 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
824 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
825 281, 33, -1, 91, 36, 37, 38, -1, 40, 41,
826 42, 43, -1, 45, -1, -1, 297, 298, -1, 300,
827 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
828 -1, -1, 64, -1, -1, -1, -1, -1, 126, -1,
829 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
830 275, -1, -1, -1, 279, -1, 281, 33, -1, 91,
831 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
832 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
833 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
834 -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
835 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
836 257, 258, 259, 260, 261, 91, 263, 264, 265, -1,
837 33, -1, 269, 36, 37, 38, -1, 40, 41, 42,
838 43, -1, 45, 280, -1, 282, 283, 284, 285, 286,
839 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
840 126, 64, 299, -1, -1, -1, -1, -1, -1, -1,
841 -1, 308, -1, 310, 311, -1, -1, -1, 256, 257,
842 258, 259, 260, 261, -1, 263, 264, 265, 91, -1,
843 -1, 269, 41, -1, -1, 44, -1, -1, -1, -1,
844 -1, -1, 280, -1, 282, 283, 284, 285, 286, 58,
845 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
846 -1, 299, -1, 126, -1, -1, -1, -1, -1, -1,
847 308, -1, 310, 311, -1, 257, 258, 259, 260, 261,
848 -1, 263, 264, 265, 93, -1, -1, 269, -1, -1,
849 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
850 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
851 292, 293, 294, 295, 296, -1, -1, 299, -1, -1,
852 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
853 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
854 -1, 33, -1, 269, 36, 37, 38, -1, 40, -1,
855 42, 43, -1, 45, 280, -1, 282, 283, 284, 285,
856 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
857 296, -1, 64, 299, -1, -1, -1, -1, -1, -1,
858 -1, -1, 308, -1, 310, 311, -1, -1, -1, -1,
859 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
860 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
861 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
862 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
863 293, 294, 295, 296, 126, 41, 299, -1, 44, -1,
864 91, -1, 93, -1, -1, 308, -1, 310, 311, -1,
865 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
866 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
867 279, -1, 123, -1, -1, -1, -1, -1, 41, -1,
868 -1, 44, -1, -1, -1, 91, -1, 93, 297, 298,
869 -1, 300, -1, -1, -1, 58, 59, -1, -1, -1,
870 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
871 -1, -1, -1, -1, -1, -1, -1, 123, -1, -1,
872 -1, -1, -1, 41, -1, -1, 44, -1, 91, -1,
873 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
874 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
875 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
876 123, -1, -1, -1, -1, 257, 258, 259, 260, 261,
877 -1, 263, 264, 265, -1, 93, -1, 269, -1, -1,
878 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
879 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
880 292, 293, 294, 295, 296, 123, -1, 299, 91, -1,
881 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
882 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
883 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
884 123, -1, -1, 58, 59, -1, 297, 298, 63, 300,
885 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
886 -1, 312, 313, 314, -1, -1, 272, 273, 274, 275,
887 -1, 41, -1, 279, 44, 281, 91, -1, 93, -1,
888 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
889 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
890 306, -1, -1, 309, -1, -1, 312, 313, 314, 272,
891 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
892 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
893 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
894 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
895 313, 314, -1, 123, 272, 273, 274, 275, -1, 41,
896 -1, 279, -1, 281, -1, -1, 93, -1, -1, 287,
897 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
898 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
899 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
900 -1, -1, 41, -1, 287, 288, 289, 290, -1, 91,
901 -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
902 59, 304, 305, 306, 63, -1, 309, -1, -1, 312,
903 313, 314, -1, -1, -1, -1, -1, -1, -1, -1,
904 -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
905 -1, -1, 91, -1, 93, -1, -1, 272, 273, 274,
906 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
907 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
908 -1, -1, 297, 298, 123, 300, 301, 302, 303, 304,
909 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
910 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
911 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
912 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
913 300, 301, 302, 303, 304, 305, 306, -1, -1, 309,
914 -1, -1, 312, 313, 314, 272, 273, 274, 275, -1,
915 -1, -1, 279, -1, -1, -1, -1, 41, -1, 93,
916 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
917 297, 298, -1, 300, 58, 59, -1, -1, -1, 63,
918 -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
919 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
920 -1, -1, -1, -1, -1, 287, 288, 289, 290, 93,
921 -1, -1, -1, -1, -1, 297, 298, -1, 300, 301,
922 302, 303, 304, 305, 306, -1, 41, 309, -1, 44,
923 312, 313, 314, 272, 273, 274, 275, -1, 41, 123,
924 279, -1, 281, 58, 59, -1, -1, -1, 287, 288,
925 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
926 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
927 309, -1, -1, 312, 313, 314, -1, -1, 93, -1,
928 -1, -1, -1, 41, -1, -1, 44, -1, 91, -1,
929 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
930 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
931 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
932 123, -1, -1, -1, -1, -1, -1, -1, -1, -1,
933 -1, -1, -1, -1, -1, 93, -1, -1, 272, 273,
934 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
935 -1, -1, -1, 287, 288, 289, 290, -1, -1, 41,
936 -1, -1, 44, 297, 298, 123, 300, 301, 302, 303,
937 304, 305, 306, -1, -1, 309, 58, 59, 312, 313,
938 314, 63, -1, -1, -1, -1, -1, -1, 272, 273,
939 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
940 -1, -1, -1, 287, 288, 289, 290, -1, -1, 41,
941 -1, 93, 44, 297, 298, -1, 300, 301, 302, 303,
942 304, 305, 306, -1, -1, 309, 58, 59, 312, 313,
943 314, 63, -1, -1, -1, -1, -1, -1, -1, -1,
944 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
945 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
946 275, 93, -1, -1, 279, -1, -1, -1, -1, 272,
947 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
948 -1, -1, 297, 298, 287, 288, 289, 290, -1, -1,
949 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
950 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
951 313, 314, -1, -1, 272, 273, 274, 275, -1, 41,
952 -1, 279, 44, 281, -1, -1, 93, -1, -1, 287,
953 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
954 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
955 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
956 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
957 -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
958 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
959 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
960 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
961 -1, -1, -1, -1, 93, 297, 298, -1, 300, 301,
962 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
963 312, 313, 314, 41, -1, -1, 44, -1, -1, -1,
964 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
965 58, 59, -1, -1, -1, 287, 288, 289, 290, -1,
966 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
967 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
968 312, 313, 314, -1, -1, 93, -1, -1, -1, -1,
969 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
970 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
971 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
972 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
973 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
974 -1, -1, 309, -1, -1, 312, 313, 314, -1, -1,
975 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
976 -1, -1, 93, -1, -1, 287, 288, 289, 290, -1,
977 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
978 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
979 312, 313, 314, 272, 273, 274, 275, -1, 41, -1,
980 279, 44, 281, -1, -1, -1, -1, 93, 287, 288,
981 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
982 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
983 309, -1, -1, -1, 41, -1, -1, 44, -1, -1,
984 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
985 93, 58, 59, -1, -1, -1, 63, -1, -1, -1,
986 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
987 -1, 279, -1, -1, -1, -1, 272, 273, 274, 275,
988 -1, 41, -1, 279, 44, 281, 93, -1, -1, 297,
989 298, 287, 288, 289, 290, -1, -1, -1, 58, 59,
990 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
991 306, -1, -1, -1, -1, -1, -1, -1, -1, -1,
992 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
993 -1, -1, 44, 93, -1, -1, -1, -1, -1, -1,
994 -1, 272, 273, 274, 275, -1, 58, 59, 279, -1,
995 281, 63, -1, -1, -1, -1, 287, 288, 289, 290,
996 -1, -1, -1, -1, -1, -1, 297, 298, -1, 300,
997 301, 302, 303, 304, 305, 306, -1, -1, -1, -1,
998 -1, 93, -1, -1, -1, -1, 272, 273, 274, 275,
999 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1000 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
1001 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
1002 306, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1003 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1004 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
1005 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
1006 303, 304, 305, 306, -1, 272, 273, 274, 275, -1,
1007 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
1008 287, 288, 289, 290, -1, -1, 93, 58, 59, -1,
1009 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
1010 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1011 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1012 -1, 281, 93, -1, -1, -1, -1, 287, 288, 289,
1013 290, 41, -1, -1, 44, -1, -1, 297, 298, -1,
1014 300, 301, 302, 303, 304, 305, 306, -1, 58, 59,
1015 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1016 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1017 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1018 -1, 41, -1, 93, 44, 297, 298, -1, 300, 301,
1019 302, 303, 304, 305, 306, -1, -1, -1, 58, 59,
1020 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1021 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1022 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
1023 44, 281, -1, 93, -1, -1, -1, 287, 288, 289,
1024 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
1025 300, 301, 302, 303, 304, 305, -1, 91, -1, -1,
1026 41, -1, -1, 44, -1, 272, 273, 274, 275, -1,
1027 41, -1, 279, 44, 281, -1, -1, 58, 59, 93,
1028 287, 288, 63, 290, -1, -1, -1, 58, 59, 123,
1029 297, 298, 63, 300, 301, 302, 303, 304, 305, -1,
1030 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1031 281, -1, 93, -1, -1, -1, 287, 288, 41, -1,
1032 -1, 44, 93, 58, 59, -1, 297, 298, 63, 300,
1033 301, 302, 303, 304, 305, 58, 59, -1, -1, -1,
1034 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1035 -1, -1, 44, -1, -1, -1, -1, -1, 93, -1,
1036 -1, -1, 272, 273, 274, 275, 58, 59, -1, 279,
1037 93, 281, -1, -1, -1, -1, -1, 287, 288, -1,
1038 -1, -1, -1, -1, -1, -1, -1, 297, 298, -1,
1039 300, 301, 302, 303, 304, -1, -1, 63, -1, -1,
1040 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
1041 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1042 -1, 281, -1, -1, -1, 91, -1, 287, 288, -1,
1043 -1, -1, -1, -1, -1, 63, -1, 297, 298, -1,
1044 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
1045 -1, -1, -1, 287, 288, 289, 290, 123, 272, 273,
1046 274, 275, -1, 91, -1, 279, -1, 281, 302, 303,
1047 304, 305, 306, 287, 288, 309, -1, -1, 312, 313,
1048 314, -1, -1, 297, 298, -1, 300, 301, 302, 303,
1049 304, 272, 273, 274, 275, 123, -1, -1, 279, -1,
1050 281, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1051 281, -1, -1, -1, -1, -1, 297, 298, -1, 300,
1052 301, 302, 303, 91, -1, -1, 297, 298, -1, 300,
1053 301, 302, -1, -1, -1, -1, -1, 272, 273, 274,
1054 275, -1, -1, -1, 279, -1, 281, -1, -1, 272,
1055 273, 274, 275, -1, -1, 123, 279, -1, -1, -1,
1056 -1, -1, 297, 298, -1, 300, 301, -1, -1, -1,
1057 -1, -1, -1, -1, 297, 298, -1, -1, 30, -1,
1058 272, 273, 274, 275, -1, -1, 38, 279, -1, -1,
1059 42, -1, -1, 45, -1, -1, -1, -1, -1, -1,
1060 52, 53, 54, 55, 56, 297, 298, 59, 60, -1,
1061 -1, -1, -1, -1, 66, 281, -1, -1, -1, -1,
1062 -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
1063 -1, -1, 25, 26, 300, 301, 302, 303, 304, 305,
1064 306, 93, -1, 309, 37, -1, 312, 313, 314, -1,
1065 43, 44, 45, 281, -1, -1, -1, 50, -1, 287,
1066 288, 289, 290, -1, -1, -1, -1, -1, -1, 62,
1067 63, 64, 65, 301, 302, 303, 304, 305, 306, -1,
1068 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
1069 -1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
1070 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1071 162, 163, 164, -1, 107, -1, -1, -1, -1, 287,
1072 288, 289, 290, -1, 176, -1, -1, -1, -1, -1,
1073 -1, -1, -1, -1, -1, 303, 304, 305, 306, -1,
1074 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
1075 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1076 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1077 -1, -1, -1, -1, 167, -1, -1, -1, -1, -1,
1078 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1079 -1, -1, -1, -1, -1, -1, -1, -1, 191, -1,
1080 -1, -1, -1, 255, -1, -1, -1, -1, -1, -1,
1081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1082 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1083 -1, -1, -1, -1, 286,
1089 #define YYMAXTOKEN 314
1091 static char *yyname[] = {
1092 "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,
1093 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1094 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1095 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1096 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1097 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1098 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1099 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",
1100 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1101 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1102 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1103 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1104 "OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP",
1105 "SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
1108 static char *yyrule[] = {
1111 "prog : $$1 lineseq",
1112 "block : '{' remember lineseq '}'",
1114 "mblock : '{' mremember lineseq '}'",
1117 "lineseq : lineseq decl",
1118 "lineseq : lineseq line",
1119 "line : label cond",
1122 "line : label sideff ';'",
1125 "sideff : expr IF expr",
1126 "sideff : expr UNLESS expr",
1127 "sideff : expr WHILE expr",
1128 "sideff : expr UNTIL iexpr",
1129 "sideff : expr FOR expr",
1131 "else : ELSE mblock",
1132 "else : ELSIF '(' mexpr ')' mblock else",
1133 "cond : IF '(' remember mexpr ')' mblock else",
1134 "cond : UNLESS '(' remember miexpr ')' mblock else",
1136 "cont : CONTINUE block",
1137 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1138 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1139 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1140 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1141 "loop : label FOR '(' remember mexpr ')' mblock cont",
1142 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1143 "loop : label block cont",
1159 "format : FORMAT startformsub formname block",
1162 "subrout : SUB startsub subname proto subbody",
1171 "package : PACKAGE WORD ';'",
1172 "package : PACKAGE ';'",
1174 "use : USE startsub $$2 WORD WORD listexpr ';'",
1175 "expr : expr ANDOP expr",
1176 "expr : expr OROP expr",
1178 "argexpr : argexpr ','",
1179 "argexpr : argexpr ',' term",
1181 "listop : LSTOP indirob argexpr",
1182 "listop : FUNC '(' indirob expr ')'",
1183 "listop : term ARROW method '(' listexprcom ')'",
1184 "listop : term ARROW method",
1185 "listop : METHOD indirob listexpr",
1186 "listop : FUNCMETH indirob '(' listexprcom ')'",
1187 "listop : LSTOP listexpr",
1188 "listop : FUNC '(' listexprcom ')'",
1190 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1193 "term : term ASSIGNOP term",
1194 "term : term POWOP term",
1195 "term : term MULOP term",
1196 "term : term ADDOP term",
1197 "term : term SHIFTOP term",
1198 "term : term RELOP term",
1199 "term : term EQOP term",
1200 "term : term BITANDOP term",
1201 "term : term BITOROP term",
1202 "term : term DOTDOT term",
1203 "term : term ANDAND term",
1204 "term : term OROR term",
1205 "term : term '?' term ':' term",
1206 "term : term MATCHOP term",
1211 "term : REFGEN term",
1212 "term : term POSTINC",
1213 "term : term POSTDEC",
1214 "term : PREINC term",
1215 "term : PREDEC term",
1216 "term : local term",
1217 "term : '(' expr ')'",
1219 "term : '[' expr ']'",
1221 "term : HASHBRACK expr ';' '}'",
1222 "term : HASHBRACK ';' '}'",
1223 "term : ANONSUB startanonsub proto block",
1225 "term : star '{' expr ';' '}'",
1227 "term : scalar '[' expr ']'",
1228 "term : term ARROW '[' expr ']'",
1229 "term : term '[' expr ']'",
1233 "term : scalar '{' expr ';' '}'",
1234 "term : term ARROW '{' expr ';' '}'",
1235 "term : term '{' expr ';' '}'",
1236 "term : '(' expr ')' '[' expr ']'",
1237 "term : '(' ')' '[' expr ']'",
1238 "term : ary '[' expr ']'",
1239 "term : ary '{' expr ';' '}'",
1242 "term : amper '(' ')'",
1243 "term : amper '(' expr ')'",
1244 "term : NOAMP WORD listexpr",
1247 "term : DO WORD '(' ')'",
1248 "term : DO WORD '(' expr ')'",
1249 "term : DO scalar '(' ')'",
1250 "term : DO scalar '(' expr ')'",
1251 "term : term ARROW '(' ')'",
1252 "term : term ARROW '(' expr ')'",
1254 "term : LOOPEX term",
1255 "term : NOTOP argexpr",
1257 "term : UNIOP block",
1258 "term : UNIOP term",
1259 "term : UNIOPSUB term",
1261 "term : FUNC0 '(' ')'",
1263 "term : FUNC1 '(' ')'",
1264 "term : FUNC1 '(' expr ')'",
1265 "term : PMFUNC '(' term ')'",
1266 "term : PMFUNC '(' term ',' term ')'",
1270 "listexpr : argexpr",
1272 "listexprcom : expr",
1273 "listexprcom : expr ','",
1276 "my_scalar : scalar",
1277 "amper : '&' indirob",
1278 "scalar : '$' indirob",
1279 "ary : '@' indirob",
1280 "hsh : '%' indirob",
1281 "arylen : DOLSHARP indirob",
1282 "star : '*' indirob",
1286 "indirob : PRIVATEREF",
1289 #define yyclearin (yychar=(-1))
1290 #define yyerrok (yyerrflag=0)
1293 #define YYMAXDEPTH YYSTACKSIZE
1297 #define YYSTACKSIZE YYMAXDEPTH
1299 #define YYSTACKSIZE 500
1300 #define YYMAXDEPTH 500
1305 #line 1318 "perly.c"
1306 #define YYABORT goto yyabort
1307 #define YYACCEPT goto yyaccept
1308 #define YYERROR goto yyerrlab
1324 register int yym, yyn, yystate;
1325 register short *yyssp;
1326 register YYSTYPE *yyvsp;
1329 unsigned yystacksize = YYSTACKSIZE;
1334 extern char *getenv();
1339 New(73, ysave, 1, struct ysv);
1340 SAVEDESTRUCTOR(yydestruct, ysave);
1341 ysave->oldyydebug = yydebug;
1342 ysave->oldyynerrs = yynerrs;
1343 ysave->oldyyerrflag = yyerrflag;
1344 ysave->oldyychar = yychar;
1345 ysave->oldyyval = yyval;
1346 ysave->oldyylval = yylval;
1349 if (yys = getenv("YYDEBUG"))
1352 if (yyn >= '0' && yyn <= '9')
1353 yydebug = yyn - '0';
1362 ** Initialize private stacks (yyparse may be called from an action)
1364 New(73, yyss, yystacksize, short);
1365 New(73, yyvs, yystacksize, YYSTYPE);
1373 *yyssp = yystate = 0;
1376 if (yyn = yydefred[yystate]) goto yyreduce;
1379 if ((yychar = yylex()) < 0) yychar = 0;
1384 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1385 if (!yys) yys = "illegal-symbol";
1386 printf("yydebug: state %d, reading %d (%s)\n", yystate,
1391 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1392 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1396 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1397 yystate, yytable[yyn]);
1399 if (yyssp >= yyss + yystacksize - 1)
1402 ** reallocate and recover. Note that pointers
1403 ** have to be reset, or bad things will happen
1405 int yyps_index = (yyssp - yyss);
1406 int yypv_index = (yyvsp - yyvs);
1407 yystacksize += YYSTACKSIZE;
1408 ysave->yyvs = yyvs =
1409 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1410 ysave->yyss = yyss =
1411 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
1414 yyssp = yyss + yyps_index;
1415 yyvsp = yyvs + yypv_index;
1417 *++yyssp = yystate = yytable[yyn];
1420 if (yyerrflag > 0) --yyerrflag;
1423 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1424 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1429 if (yyerrflag) goto yyinrecovery;
1434 yyerror("syntax error");
1446 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1447 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1451 PerlIO_printf(Perl_debug_log,
1452 "yydebug: state %d, error recovery shifting to state %d\n",
1453 *yyssp, yytable[yyn]);
1455 if (yyssp >= yyss + yystacksize - 1)
1458 ** reallocate and recover. Note that pointers
1459 ** have to be reset, or bad things will happen
1461 int yyps_index = (yyssp - yyss);
1462 int yypv_index = (yyvsp - yyvs);
1463 yystacksize += YYSTACKSIZE;
1464 ysave->yyvs = yyvs = (YYSTYPE*)PerlMem_realloc((char*)yyvs,
1465 yystacksize * sizeof(YYSTYPE));
1466 ysave->yyss = yyss = (short*)PerlMem_realloc((char*)yyss,
1467 yystacksize * sizeof(short));
1470 yyssp = yyss + yyps_index;
1471 yyvsp = yyvs + yypv_index;
1473 *++yyssp = yystate = yytable[yyn];
1481 PerlIO_printf(Perl_debug_log,
1482 "yydebug: error recovery discarding state %d\n",
1485 if (yyssp <= yyss) goto yyabort;
1493 if (yychar == 0) goto yyabort;
1498 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1499 if (!yys) yys = "illegal-symbol";
1500 PerlIO_printf(Perl_debug_log,
1501 "yydebug: state %d, error recovery discards token %d (%s)\n",
1502 yystate, yychar, yys);
1511 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1512 yystate, yyn, yyrule[yyn]);
1515 yyval = yyvsp[1-yym];
1521 #if defined(YYDEBUG) && defined(DEBUGGING)
1522 yydebug = (PL_debug & 1);
1529 { newPROG(yyvsp[0].opval); }
1533 { if (PL_copline > (line_t)yyvsp[-3].ival)
1534 PL_copline = yyvsp[-3].ival;
1535 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1539 { yyval.ival = block_start(TRUE); }
1543 { if (PL_copline > (line_t)yyvsp[-3].ival)
1544 PL_copline = yyvsp[-3].ival;
1545 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1549 { yyval.ival = block_start(FALSE); }
1553 { yyval.opval = Nullop; }
1557 { yyval.opval = yyvsp[-1].opval; }
1561 { yyval.opval = append_list(OP_LINESEQ,
1562 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1563 PL_pad_reset_pending = TRUE;
1564 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1568 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1572 { if (yyvsp[-1].pval != Nullch) {
1573 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1576 yyval.opval = Nullop;
1577 PL_copline = NOLINE;
1579 PL_expect = XSTATE; }
1583 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1584 PL_expect = XSTATE; }
1588 { yyval.opval = Nullop; }
1592 { yyval.opval = yyvsp[0].opval; }
1596 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1600 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1604 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1608 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1612 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1613 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1617 { yyval.opval = Nullop; }
1621 { yyval.opval = scope(yyvsp[0].opval); }
1625 { PL_copline = yyvsp[-5].ival;
1626 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
1627 PL_hints |= HINT_BLOCK_SCOPE; }
1631 { PL_copline = yyvsp[-6].ival;
1632 yyval.opval = block_end(yyvsp[-4].ival,
1633 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1637 { PL_copline = yyvsp[-6].ival;
1638 yyval.opval = block_end(yyvsp[-4].ival,
1639 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1643 { yyval.opval = Nullop; }
1647 { yyval.opval = scope(yyvsp[0].opval); }
1651 { PL_copline = yyvsp[-6].ival;
1652 yyval.opval = block_end(yyvsp[-4].ival,
1653 newSTATEOP(0, yyvsp[-7].pval,
1654 newWHILEOP(0, 1, (LOOP*)Nullop,
1655 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1659 { PL_copline = yyvsp[-6].ival;
1660 yyval.opval = block_end(yyvsp[-4].ival,
1661 newSTATEOP(0, yyvsp[-7].pval,
1662 newWHILEOP(0, 1, (LOOP*)Nullop,
1663 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1667 { yyval.opval = block_end(yyvsp[-6].ival,
1668 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1672 { yyval.opval = block_end(yyvsp[-4].ival,
1673 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1674 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1678 { yyval.opval = block_end(yyvsp[-4].ival,
1679 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1683 { OP *forop = append_elem(OP_LINESEQ,
1684 scalar(yyvsp[-6].opval),
1685 newWHILEOP(0, 1, (LOOP*)Nullop,
1686 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1687 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1688 PL_copline = yyvsp[-9].ival;
1689 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1693 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1694 newWHILEOP(0, 1, (LOOP*)Nullop,
1695 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1699 { yyval.opval = Nullop; }
1703 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1707 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1711 { yyval.opval = yyvsp[0].opval; intro_my(); }
1715 { yyval.opval = yyvsp[0].opval; intro_my(); }
1719 { yyval.opval = yyvsp[0].opval; intro_my(); }
1723 { yyval.opval = yyvsp[0].opval; intro_my(); }
1727 { yyval.pval = Nullch; }
1747 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1751 { yyval.opval = yyvsp[0].opval; }
1755 { yyval.opval = Nullop; }
1759 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1763 { yyval.ival = start_subparse(FALSE, 0); }
1767 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1771 { yyval.ival = start_subparse(TRUE, 0); }
1775 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1776 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1777 || strEQ(name, "INIT"))
1778 CvSPECIAL_on(PL_compcv);
1779 yyval.opval = yyvsp[0].opval; }
1783 { yyval.opval = Nullop; }
1787 { yyval.opval = yyvsp[0].opval; }
1791 { yyval.opval = Nullop; PL_expect = XSTATE; }
1795 { package(yyvsp[-1].opval); }
1799 { package(Nullop); }
1803 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
1807 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1811 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1815 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1819 { yyval.opval = yyvsp[-1].opval; }
1823 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1827 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1828 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1832 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1833 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1837 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1838 append_elem(OP_LIST,
1839 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1840 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1844 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1845 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
1846 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
1850 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1851 append_elem(OP_LIST,
1852 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1853 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1857 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1858 append_elem(OP_LIST,
1859 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1860 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1864 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1868 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1872 { yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1876 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1877 append_elem(OP_LIST,
1878 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1882 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1886 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1890 { if (yyvsp[-1].ival != OP_REPEAT)
1891 scalar(yyvsp[-2].opval);
1892 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1896 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1900 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1904 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1908 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1912 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1916 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1920 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1924 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1928 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1932 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1936 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1940 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1944 { yyval.opval = yyvsp[0].opval; }
1948 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1952 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1956 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1960 { yyval.opval = newUNOP(OP_POSTINC, 0,
1961 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1965 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1966 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1970 { yyval.opval = newUNOP(OP_PREINC, 0,
1971 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1975 { yyval.opval = newUNOP(OP_PREDEC, 0,
1976 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1980 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1984 { yyval.opval = sawparens(yyvsp[-1].opval); }
1988 { yyval.opval = sawparens(newNULLLIST()); }
1992 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
1996 { yyval.opval = newANONLIST(Nullop); }
2000 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2004 { yyval.opval = newANONHASH(Nullop); }
2008 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2012 { yyval.opval = yyvsp[0].opval; }
2016 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
2020 { yyval.opval = yyvsp[0].opval; }
2024 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2028 { yyval.opval = newBINOP(OP_AELEM, 0,
2029 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2030 scalar(yyvsp[-1].opval));}
2034 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
2035 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2036 scalar(yyvsp[-1].opval));}
2040 { yyval.opval = yyvsp[0].opval; }
2044 { yyval.opval = yyvsp[0].opval; }
2048 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2052 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2053 PL_expect = XOPERATOR; }
2057 { yyval.opval = newBINOP(OP_HELEM, 0,
2058 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2059 jmaybe(yyvsp[-2].opval));
2060 PL_expect = XOPERATOR; }
2064 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2065 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2066 jmaybe(yyvsp[-2].opval));
2067 PL_expect = XOPERATOR; }
2071 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2075 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2079 { yyval.opval = prepend_elem(OP_ASLICE,
2080 newOP(OP_PUSHMARK, 0),
2081 newLISTOP(OP_ASLICE, 0,
2082 list(yyvsp[-1].opval),
2083 ref(yyvsp[-3].opval, OP_ASLICE))); }
2087 { yyval.opval = prepend_elem(OP_HSLICE,
2088 newOP(OP_PUSHMARK, 0),
2089 newLISTOP(OP_HSLICE, 0,
2090 list(yyvsp[-2].opval),
2091 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2092 PL_expect = XOPERATOR; }
2096 { yyval.opval = yyvsp[0].opval; }
2100 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2104 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2108 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2109 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2113 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2114 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2118 { yyval.opval = dofile(yyvsp[0].opval); }
2122 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2126 { yyval.opval = newUNOP(OP_ENTERSUB,
2127 OPf_SPECIAL|OPf_STACKED,
2128 prepend_elem(OP_LIST,
2130 (OPpENTERSUB_AMPER<<8),
2131 scalar(yyvsp[-2].opval)
2132 )),Nullop)); dep();}
2136 { yyval.opval = newUNOP(OP_ENTERSUB,
2137 OPf_SPECIAL|OPf_STACKED,
2138 append_elem(OP_LIST,
2141 (OPpENTERSUB_AMPER<<8),
2142 scalar(yyvsp[-3].opval)
2147 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2148 prepend_elem(OP_LIST,
2149 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2153 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2154 prepend_elem(OP_LIST,
2156 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2160 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2161 newCVREF(0, scalar(yyvsp[-3].opval))); }
2165 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2166 append_elem(OP_LIST, yyvsp[-1].opval,
2167 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2171 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2172 PL_hints |= HINT_BLOCK_SCOPE; }
2176 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2180 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2184 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2188 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2192 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2196 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2197 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2201 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2205 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2209 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2210 scalar(yyvsp[0].opval)); }
2214 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2218 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2222 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2226 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2230 { yyval.opval = Nullop; }
2234 { yyval.opval = yyvsp[0].opval; }
2238 { yyval.opval = Nullop; }
2242 { yyval.opval = yyvsp[0].opval; }
2246 { yyval.opval = yyvsp[-1].opval; }
2258 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2262 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2266 { yyval.opval = newSVREF(yyvsp[0].opval); }
2270 { yyval.opval = newAVREF(yyvsp[0].opval); }
2274 { yyval.opval = newHVREF(yyvsp[0].opval); }
2278 { yyval.opval = newAVREF(yyvsp[0].opval); }
2282 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2286 { yyval.opval = scalar(yyvsp[0].opval); }
2290 { yyval.opval = scalar(yyvsp[0].opval); }
2294 { yyval.opval = scope(yyvsp[0].opval); }
2298 { yyval.opval = yyvsp[0].opval; }
2300 #line 2329 "perly.c"
2306 if (yystate == 0 && yym == 0)
2310 PerlIO_printf(Perl_debug_log,
2311 "yydebug: after reduction, shifting from state 0 to state %d\n",
2319 if ((yychar = yylex()) < 0) yychar = 0;
2324 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2325 if (!yys) yys = "illegal-symbol";
2326 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2327 YYFINAL, yychar, yys);
2331 if (yychar == 0) goto yyaccept;
2334 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2335 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2336 yystate = yytable[yyn];
2338 yystate = yydgoto[yym];
2341 PerlIO_printf(Perl_debug_log,
2342 "yydebug: after reduction, shifting from state %d to state %d\n",
2345 if (yyssp >= yyss + yystacksize - 1)
2348 ** reallocate and recover. Note that pointers
2349 ** have to be reset, or bad things will happen
2351 int yyps_index = (yyssp - yyss);
2352 int yypv_index = (yyvsp - yyvs);
2353 yystacksize += YYSTACKSIZE;
2354 ysave->yyvs = yyvs =
2355 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2356 ysave->yyss = yyss =
2357 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
2360 yyssp = yyss + yyps_index;
2361 yyvsp = yyvs + yypv_index;
2367 yyerror("Out of memory for yacc stack");
2381 yydestruct(pTHXo_ void *ptr)
2383 struct ysv* ysave = (struct ysv*)ptr;
2384 if (ysave->yyss) Safefree(ysave->yyss);
2385 if (ysave->yyvs) Safefree(ysave->yyvs);
2386 yydebug = ysave->oldyydebug;
2387 yynerrs = ysave->oldyynerrs;
2388 yyerrflag = ysave->oldyyerrflag;
2389 yychar = ysave->oldyychar;
2390 yyval = ysave->oldyyval;
2391 yylval = ysave->oldyylval;