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")
21 static short yylhs[] = { -1,
22 45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
23 12, 12, 12, 24, 24, 24, 24, 24, 24, 24,
24 15, 15, 15, 14, 14, 42, 42, 13, 13, 13,
25 13, 13, 13, 13, 26, 26, 27, 27, 28, 29,
26 30, 31, 32, 44, 44, 1, 1, 1, 1, 3,
27 38, 38, 46, 4, 5, 6, 39, 40, 40, 41,
28 41, 47, 47, 49, 48, 16, 16, 16, 25, 25,
29 25, 36, 36, 36, 36, 36, 36, 36, 36, 50,
30 36, 37, 37, 17, 17, 17, 17, 17, 17, 17,
31 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
32 17, 17, 17, 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, 33,
38 33, 34, 34, 34, 2, 2, 43, 23, 18, 19,
39 20, 21, 22, 35, 35, 35, 35,
41 static short yylen[] = { 2,
42 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
43 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
44 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
45 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
46 1, 1, 1, 0, 1, 1, 1, 1, 1, 4,
47 1, 0, 5, 0, 0, 0, 1, 0, 1, 1,
48 1, 3, 2, 0, 7, 3, 3, 1, 2, 3,
49 1, 3, 5, 6, 3, 3, 5, 2, 4, 0,
50 5, 1, 1, 3, 3, 3, 3, 3, 3, 3,
51 3, 3, 3, 3, 3, 5, 3, 2, 2, 2,
52 2, 2, 2, 2, 2, 2, 2, 3, 2, 3,
53 2, 4, 3, 4, 1, 5, 1, 4, 5, 4,
54 1, 1, 1, 5, 6, 5, 6, 5, 4, 5,
55 1, 1, 3, 4, 3, 2, 2, 4, 5, 4,
56 5, 4, 5, 1, 2, 2, 1, 2, 2, 2,
57 1, 3, 1, 3, 4, 4, 6, 1, 1, 0,
58 1, 0, 1, 2, 1, 1, 1, 2, 2, 2,
61 static short yydefred[] = { 1,
62 0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
63 9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
64 64, 14, 4, 158, 0, 0, 131, 0, 153, 0,
65 55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
66 0, 0, 0, 0, 0, 0, 0, 165, 166, 0,
67 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
68 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
69 0, 0, 121, 123, 0, 0, 0, 0, 159, 51,
70 0, 57, 0, 62, 0, 7, 174, 177, 176, 175,
71 0, 0, 0, 0, 0, 0, 4, 4, 4, 4,
72 4, 4, 0, 0, 0, 0, 0, 148, 0, 0,
73 0, 0, 78, 0, 172, 0, 137, 0, 0, 0,
74 0, 0, 168, 0, 0, 0, 0, 0, 0, 0,
75 0, 0, 0, 111, 0, 169, 170, 171, 173, 0,
76 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
77 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
78 0, 0, 0, 0, 103, 104, 0, 0, 0, 0,
79 0, 0, 0, 0, 13, 0, 50, 59, 0, 0,
80 0, 76, 0, 0, 80, 0, 0, 0, 0, 0,
81 0, 0, 4, 152, 154, 0, 0, 0, 0, 0,
82 0, 0, 113, 0, 135, 0, 0, 110, 27, 0,
83 0, 19, 0, 0, 0, 0, 66, 0, 0, 0,
84 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85 0, 0, 0, 82, 0, 0, 83, 0, 0, 0,
86 0, 0, 0, 0, 133, 0, 0, 61, 60, 53,
87 0, 3, 0, 156, 0, 0, 114, 0, 42, 0,
88 43, 0, 0, 0, 0, 167, 0, 0, 36, 41,
89 0, 0, 0, 155, 164, 79, 0, 138, 0, 140,
90 0, 112, 0, 0, 0, 0, 0, 142, 0, 0,
91 0, 120, 0, 118, 0, 129, 0, 134, 0, 77,
92 0, 81, 0, 0, 0, 0, 0, 0, 0, 0,
93 73, 139, 141, 128, 0, 126, 0, 0, 143, 119,
94 0, 124, 130, 116, 65, 157, 6, 0, 0, 0,
95 0, 0, 0, 0, 0, 127, 125, 74, 7, 28,
96 29, 0, 0, 24, 25, 0, 32, 0, 0, 0,
97 22, 0, 0, 0, 31, 5, 0, 30, 0, 0,
100 static short yydgoto[] = { 1,
101 9, 66, 10, 18, 95, 17, 86, 339, 89, 328,
102 3, 11, 12, 68, 344, 263, 70, 71, 72, 73,
103 74, 75, 76, 269, 78, 270, 259, 261, 264, 272,
104 260, 262, 113, 198, 91, 79, 238, 81, 83, 179,
105 250, 142, 267, 13, 2, 14, 15, 16, 85, 256,
107 static short yysindex[] = { 0,
108 0, 0, -66, 0, 0, 0, -48, 0, 0, 0,
109 0, 0, 645, 0, 0, 0, -232, -227, -27, 0,
110 0, 0, 0, 0, -23, -23, 0, -6, 0, 2099,
111 0, 0, 13, 20, 24, 25, -34, 2099, 27, 28,
112 29, 1021, 965, -23, 1084, 1348, -217, 0, 0, -23,
113 2099, 2099, 2099, 2099, 2099, 2099, 1404, 0, 2099, 2099,
114 1460, -23, -23, -23, -23, 2099, -206, 0, 335, 3925,
115 -73, -68, 0, 0, -47, 40, 32, 61, 0, 0,
116 -39, 0, -157, 0, -145, 0, 0, 0, 0, 0,
117 2099, 73, 2099, 825, -39, -157, 0, 0, 0, 0,
118 0, 0, 75, 3925, 78, 1519, 965, 0, 825, 0,
119 -73, 61, 0, 2099, 0, 77, 0, 825, -16, -9,
120 -51, 2099, 0, 61, 87, 87, 87, -86, -86, 33,
121 -40, 87, 87, 0, -81, 0, 0, 0, 0, 825,
122 -39, 0, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
123 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
124 2099, 2099, 2099, 2099, 0, 0, 30, 2099, 2099, 2099,
125 2099, 2099, 2099, 1694, 0, 2099, 0, 0, -49, -118,
126 189, 0, 2099, 353, 0, -39, 2099, 2099, 2099, 2099,
127 104, 1753, 0, 0, 0, -24, 8, 85, 2099, 61,
128 1809, 1865, 0, 23, 0, 2099, 54, 0, 0, -269,
129 -269, 0, -269, -269, -269, -151, 0, -43, 1121, 825,
130 673, 50, 363, 3925, 1233, 3757, 4023, 2308, 266, -82,
131 87, 87, 2099, 0, 1928, 2099, 0, 111, 51, 12,
132 76, 14, 90, 39, 0, -22, 3925, 0, 0, 0,
133 2099, 0, 121, 0, 2099, 2099, 0, -269, 0, 124,
134 0, 125, -269, 126, 130, 0, 112, 335, 0, 0,
135 131, 136, 2099, 0, 0, 0, -14, 0, 1, 0,
136 4, 0, 133, 2099, 55, 2099, 49, 0, 6, 197,
137 2099, 0, 89, 0, 94, 0, 100, 0, 144, 0,
138 1175, 0, 92, 92, 92, 92, 2099, 92, 2099, 171,
139 0, 0, 0, 0, 202, 0, 3963, 108, 0, 0,
140 188, 0, 0, 0, 0, 0, 0, -206, -206, -238,
141 -238, 199, -206, 211, 92, 0, 0, 0, 0, 0,
142 0, 92, 241, 0, 0, 92, 0, 1753, -206, 326,
143 0, 2099, -206, 256, 0, 0, 259, 0, 92, 92,
146 static short yyrindex[] = { 0,
147 0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
148 0, 0, 0, 0, 0, 0, 184, 0, 0, 0,
149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
150 0, 0, 0, 0, 0, 0, 0, 2273, 426, 0,
151 0, 2909, 2959, 0, 0, 0, 0, 0, 0, 0,
152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
153 0, 0, 0, 0, 0, 0, 59, 0, -10, 2776,
154 3024, 3069, 0, 0, 2376, 2140, 0, 200, 0, 0,
155 0, 0, -44, 0, 0, 0, 0, 0, 0, 0,
156 2421, 0, 0, 105, 0, 198, 0, 0, 0, 0,
157 0, 0, 0, 3183, 0, 0, 319, 0, 3681, 525,
158 586, 2509, 0, 0, 0, 2185, 0, 3731, 3024, 0,
159 0, 2421, 0, 2552, 3195, 3260, 3305, -37, 3112, 2657,
160 0, 3348, 3384, 0, 0, 0, 0, 0, 0, 3777,
161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
164 0, 0, 0, 0, 0, 2707, 0, 0, 0, 0,
165 909, 0, 319, 0, 0, 0, 320, 0, 0, 0,
166 0, 306, 0, 0, 0, 0, 325, 0, 0, 2788,
167 0, 0, 0, 0, 0, 0, 2833, 0, 0, -5,
168 22, 0, 68, 69, 70, 702, 0, 0, 2464, 1296,
169 1560, 3541, 3584, 3868, 0, 3856, 3820, 3810, 1616, 3620,
170 3431, 3479, 0, 0, 0, 0, 0, 2228, 0, 0,
171 0, 0, 0, 0, 0, 0, 3899, 0, 0, 0,
172 309, 0, 0, 0, 0, 2421, 0, 79, 0, 0,
173 0, 0, 330, 0, 0, 0, 0, 84, 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 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
177 0, 0, 0, 0, 0, 0, 0, 0, 317, 0,
178 0, 0, 0, 0, 0, 0, 1982, 0, 0, 0,
179 0, 0, 0, 0, 0, 0, 0, 59, 59, 154,
180 154, 0, 59, 0, 0, 0, 0, 0, 0, 0,
181 0, 0, 0, 0, 0, 0, 0, 340, 59, 909,
182 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
185 static short yygindex[] = { 0,
186 0, 0, 0, 374, 351, 0, -12, 0, 946, 413,
187 -83, 0, 0, 0, -311, -13, 4139, 4198, 0, 0,
188 0, 0, 0, 372, -8, 0, 0, 246, -131, 43,
189 86, 208, -45, -169, 987, 0, 0, 0, 0, 308,
190 0, -271, 0, 0, 0, 0, 0, 0, 0, 0,
192 #define YYTABLESIZE 4425
193 static short yytable[] = { 69,
194 207, 62, 181, 105, 168, 102, 105, 204, 168, 248,
195 20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
196 105, 105, 172, 202, 80, 105, 311, 148, 149, 82,
197 15, 84, 121, 93, 112, 18, 150, 342, 343, 122,
198 150, 312, 124, 131, 313, 182, 319, 135, 15, 169,
199 363, 275, 97, 18, 171, 105, 340, 341, 26, 98,
200 271, 347, 39, 99, 100, 62, 105, 106, 107, 235,
201 293, 141, 295, 23, 170, 173, 205, 355, 58, 174,
202 39, 358, 112, 23, 187, 188, 189, 190, 191, 192,
203 175, 26, 196, 197, 26, 26, 26, 297, 26, 23,
204 26, 26, 178, 26, 176, 200, 169, 318, 16, 17,
205 20, 180, 183, 112, 193, 203, 201, 26, 194, 38,
206 236, 321, 26, 206, 40, 276, 16, 17, 20, 210,
207 211, 213, 214, 215, 216, 217, 218, 38, 251, 62,
208 168, 310, 15, 292, 284, 150, 149, 282, 150, 26,
209 291, 307, 233, 21, 239, 240, 241, 242, 243, 244,
210 246, 300, 150, 150, 303, 304, 305, 150, 294, 197,
211 306, 308, 150, 258, 211, 332, 211, 168, 268, 316,
212 273, 26, 296, 26, 26, 277, 21, 279, 281, 21,
213 21, 21, 283, 21, 309, 21, 21, 150, 21, 4,
214 5, 6, 325, 7, 8, 299, 154, 155, 19, 150,
215 302, 335, 21, 322, 327, 148, 149, 21, 323, 287,
216 357, 289, 290, 163, 324, 314, 164, 167, 338, 165,
217 166, 167, 337, 87, 105, 105, 105, 105, 88, 346,
218 68, 105, 112, 105, 21, 148, 149, 112, 2, 105,
219 105, 105, 105, 148, 149, 350, 148, 149, 68, 105,
220 105, 101, 105, 105, 105, 105, 105, 105, 105, 348,
221 315, 105, 148, 149, 148, 149, 21, 197, 21, 21,
222 352, 44, 148, 149, 44, 44, 44, 234, 44, 320,
223 44, 44, 68, 44, 336, 258, 359, 148, 149, 360,
224 148, 149, 148, 149, 148, 149, 52, 44, 148, 149,
225 148, 149, 44, 252, 26, 26, 26, 26, 26, 26,
226 58, 26, 26, 26, 26, 26, 26, 26, 26, 26,
227 26, 26, 26, 26, 69, 148, 149, 26, 26, 44,
228 26, 26, 26, 26, 26, 148, 149, 148, 149, 26,
229 26, 26, 26, 26, 26, 163, 168, 26, 164, 162,
230 37, 165, 166, 167, 35, 163, 26, 160, 26, 26,
231 40, 44, 148, 149, 44, 37, 150, 150, 150, 150,
232 35, 21, 96, 150, 77, 150, 148, 149, 150, 212,
233 354, 150, 150, 254, 334, 164, 255, 265, 165, 166,
234 167, 150, 150, 186, 150, 150, 150, 150, 150, 21,
235 21, 21, 21, 21, 21, 157, 21, 21, 21, 21,
236 21, 21, 21, 21, 21, 21, 21, 21, 21, 148,
237 149, 0, 21, 21, 0, 21, 21, 21, 21, 21,
238 0, 0, 0, 168, 21, 21, 21, 21, 21, 21,
239 356, 0, 21, 168, 4, 5, 6, 0, 7, 8,
240 0, 21, 0, 21, 21, 0, 151, 0, 0, 151,
241 0, 68, 68, 68, 68, 150, 0, 0, 68, 0,
242 0, 0, 0, 151, 151, 150, 0, 0, 151, 0,
243 0, 0, 0, 148, 149, 0, 68, 68, 148, 149,
244 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
245 0, 44, 44, 44, 0, 0, 151, 44, 151, 0,
246 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
247 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
248 44, 44, 44, 44, 44, 0, 0, 44, 151, 0,
249 0, 0, 152, 153, 154, 155, 44, 174, 44, 44,
250 174, 174, 174, 0, 174, 158, 174, 174, 158, 174,
251 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
252 0, 0, 158, 158, 0, 0, 0, 158, 174, 0,
253 0, 4, 5, 6, 0, 7, 8, 0, 0, 0,
254 0, 0, 0, 0, 0, 0, 143, 144, 145, 146,
255 0, 0, 0, 147, 0, 158, 0, 158, 175, 0,
256 0, 175, 175, 175, 0, 175, 115, 175, 175, 115,
257 175, 148, 149, 151, 0, 0, 0, 0, 0, 152,
258 153, 154, 155, 115, 115, 0, 0, 158, 115, 175,
259 174, 154, 156, 158, 159, 160, 161, 162, 163, 0,
260 0, 164, 0, 0, 165, 166, 167, 0, 163, 0,
261 0, 164, 0, 0, 165, 166, 167, 52, 115, 0,
262 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
263 0, 0, 0, 0, 0, 0, 0, 151, 151, 151,
264 151, 0, 0, 58, 151, 0, 151, 0, 63, 0,
265 0, 175, 151, 151, 151, 151, 329, 330, 331, 0,
266 333, 0, 151, 151, 0, 151, 151, 151, 151, 151,
267 151, 151, 0, 0, 151, 61, 0, 151, 151, 151,
268 0, 0, 67, 0, 0, 67, 0, 349, 0, 0,
269 0, 0, 0, 0, 351, 0, 0, 0, 353, 0,
270 67, 0, 0, 168, 0, 0, 0, 23, 0, 0,
271 53, 361, 362, 0, 0, 0, 0, 0, 0, 0,
272 0, 174, 174, 174, 174, 174, 0, 174, 174, 174,
273 0, 0, 0, 174, 67, 150, 158, 158, 158, 158,
274 0, 0, 0, 158, 174, 158, 174, 174, 174, 174,
275 174, 158, 158, 158, 158, 174, 174, 174, 174, 174,
276 174, 158, 158, 174, 158, 158, 158, 158, 158, 158,
277 158, 0, 174, 158, 174, 174, 158, 158, 158, 0,
278 0, 0, 175, 175, 175, 175, 175, 0, 175, 175,
279 175, 0, 0, 0, 175, 0, 0, 115, 115, 115,
280 115, 0, 0, 0, 115, 175, 115, 175, 175, 175,
281 175, 175, 115, 115, 115, 115, 175, 175, 175, 175,
282 175, 175, 115, 115, 175, 115, 115, 115, 115, 115,
283 115, 115, 0, 175, 115, 175, 175, 115, 115, 115,
284 22, 24, 25, 26, 27, 28, 0, 29, 30, 31,
285 0, 0, 0, 32, 0, 168, 33, 34, 35, 36,
286 0, 0, 0, 37, 38, 0, 39, 40, 41, 42,
287 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
288 49, 44, 0, 51, 44, 44, 44, 150, 44, 0,
289 44, 44, 54, 44, 55, 56, 0, 0, 67, 152,
290 0, 154, 155, 0, 0, 0, 0, 44, 0, 0,
291 0, 0, 44, 67, 67, 67, 67, 162, 163, 0,
292 67, 164, 0, 0, 165, 166, 167, 108, 0, 0,
293 117, 0, 0, 0, 0, 0, 0, 52, 67, 44,
294 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
295 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
296 0, 0, 0, 0, 0, 0, 177, 0, 63, 114,
297 115, 44, 0, 0, 44, 0, 123, 0, 0, 0,
298 185, 0, 0, 0, 0, 0, 0, 0, 136, 137,
299 138, 139, 0, 52, 0, 61, 62, 64, 50, 0,
300 57, 0, 65, 60, 0, 59, 0, 0, 0, 0,
301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
302 0, 0, 0, 0, 63, 0, 209, 23, 0, 0,
303 53, 0, 0, 199, 0, 0, 0, 0, 0, 0,
304 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
305 0, 61, 0, 154, 155, 0, 52, 0, 0, 62,
306 64, 50, 0, 57, 249, 65, 60, 0, 59, 162,
307 163, 257, 0, 164, 0, 0, 165, 166, 167, 0,
308 0, 0, 0, 23, 0, 0, 53, 63, 0, 0,
309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
310 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
311 0, 44, 44, 44, 61, 0, 0, 44, 0, 0,
312 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
313 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
314 44, 44, 44, 44, 44, 0, 23, 44, 0, 53,
315 0, 168, 0, 0, 0, 326, 44, 0, 44, 44,
316 0, 110, 25, 26, 27, 28, 88, 29, 30, 31,
317 0, 0, 0, 32, 0, 0, 0, 157, 0, 0,
318 0, 0, 0, 150, 38, 0, 39, 40, 41, 42,
319 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
320 49, 0, 0, 51, 0, 168, 0, 0, 0, 0,
321 0, 0, 54, 0, 55, 56, 0, 24, 25, 26,
322 27, 28, 0, 29, 30, 31, 0, 0, 0, 32,
323 286, 0, 0, 0, 0, 157, 0, 150, 0, 0,
324 38, 0, 39, 40, 41, 42, 43, 0, 0, 0,
325 0, 44, 45, 46, 47, 48, 49, 0, 0, 51,
326 0, 0, 0, 168, 0, 0, 0, 0, 54, 0,
327 55, 56, 0, 0, 0, 0, 89, 0, 0, 89,
328 116, 25, 26, 27, 28, 0, 29, 30, 31, 0,
329 0, 0, 32, 89, 89, 150, 0, 0, 89, 0,
330 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
331 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
332 52, 0, 51, 62, 64, 50, 0, 57, 89, 65,
333 60, 54, 59, 55, 56, 0, 0, 0, 0, 0,
334 0, 0, 0, 0, 0, 0, 120, 152, 153, 154,
335 155, 63, 0, 0, 0, 0, 0, 0, 0, 0,
336 0, 158, 159, 160, 161, 162, 163, 0, 0, 164,
337 0, 0, 165, 166, 167, 0, 52, 0, 61, 62,
338 64, 50, 0, 57, 130, 65, 60, 0, 59, 0,
339 0, 0, 0, 0, 0, 151, 0, 0, 0, 0,
340 0, 152, 153, 154, 155, 0, 0, 63, 0, 0,
341 0, 0, 0, 53, 156, 158, 159, 160, 161, 162,
342 163, 0, 0, 164, 0, 0, 165, 166, 167, 0,
343 0, 0, 52, 0, 61, 62, 64, 50, 0, 57,
344 0, 65, 60, 0, 59, 0, 0, 0, 0, 0,
345 0, 0, 0, 151, 0, 0, 0, 0, 0, 152,
346 153, 154, 155, 63, 0, 0, 0, 0, 0, 53,
347 0, 0, 156, 158, 159, 160, 161, 162, 163, 0,
348 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
349 61, 52, 134, 0, 62, 64, 50, 0, 57, 195,
350 65, 60, 0, 59, 0, 0, 0, 89, 89, 89,
351 89, 0, 0, 0, 89, 0, 89, 0, 0, 0,
352 0, 0, 63, 89, 0, 53, 0, 0, 0, 0,
353 0, 0, 89, 89, 0, 89, 89, 89, 89, 89,
354 90, 0, 0, 90, 24, 25, 26, 27, 28, 61,
355 29, 30, 31, 0, 0, 0, 32, 90, 90, 0,
356 0, 0, 90, 0, 0, 0, 0, 38, 0, 39,
357 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
358 46, 47, 48, 49, 53, 0, 51, 0, 0, 0,
359 0, 0, 90, 0, 0, 54, 91, 55, 56, 91,
360 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
361 0, 0, 32, 91, 91, 0, 0, 0, 91, 0,
362 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
363 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
364 0, 0, 51, 0, 0, 0, 0, 0, 91, 0,
365 0, 54, 0, 55, 56, 0, 24, 25, 26, 27,
366 28, 0, 29, 30, 31, 0, 52, 0, 32, 62,
367 64, 50, 0, 57, 245, 65, 60, 0, 59, 38,
368 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
369 44, 45, 46, 47, 48, 49, 0, 63, 51, 0,
370 0, 0, 0, 0, 0, 0, 0, 54, 0, 55,
371 56, 0, 0, 0, 0, 24, 25, 26, 27, 28,
372 0, 29, 30, 31, 61, 52, 0, 32, 62, 64,
373 50, 0, 57, 0, 65, 60, 0, 59, 38, 0,
374 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
375 45, 46, 47, 48, 49, 0, 63, 51, 0, 53,
376 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
377 0, 90, 90, 90, 90, 0, 0, 0, 90, 0,
378 90, 52, 0, 61, 62, 64, 50, 0, 57, 278,
379 65, 60, 0, 59, 0, 0, 90, 90, 0, 90,
380 90, 90, 90, 90, 0, 0, 0, 0, 0, 0,
381 0, 0, 63, 0, 0, 0, 0, 0, 53, 0,
382 0, 0, 0, 0, 0, 0, 0, 91, 91, 91,
383 91, 0, 0, 0, 91, 0, 91, 52, 0, 61,
384 62, 64, 50, 0, 57, 280, 65, 60, 0, 59,
385 0, 0, 91, 91, 0, 91, 91, 91, 91, 91,
386 0, 0, 0, 0, 0, 0, 0, 0, 63, 0,
387 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
389 24, 25, 26, 27, 28, 61, 29, 30, 31, 0,
390 52, 0, 32, 62, 64, 50, 0, 57, 288, 65,
391 60, 0, 59, 38, 0, 39, 40, 41, 42, 43,
392 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
393 53, 63, 51, 0, 0, 0, 0, 0, 0, 0,
394 0, 54, 0, 55, 56, 0, 0, 0, 22, 24,
395 25, 26, 27, 28, 0, 29, 30, 31, 61, 0,
396 0, 32, 96, 0, 0, 96, 0, 0, 0, 0,
397 0, 0, 38, 0, 39, 40, 41, 42, 43, 96,
398 96, 0, 0, 44, 45, 46, 47, 48, 49, 0,
399 0, 51, 0, 53, 0, 0, 0, 0, 0, 0,
400 54, 0, 55, 56, 0, 24, 25, 26, 27, 28,
401 0, 29, 30, 31, 96, 0, 0, 32, 0, 0,
402 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
403 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
404 45, 46, 47, 48, 49, 0, 0, 51, 0, 0,
405 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
406 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
407 0, 52, 0, 32, 62, 64, 50, 0, 57, 0,
408 65, 60, 0, 59, 38, 0, 39, 40, 41, 42,
409 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
410 49, 0, 63, 51, 0, 0, 0, 0, 0, 0,
411 0, 0, 54, 0, 55, 56, 0, 0, 0, 0,
412 132, 0, 0, 132, 24, 25, 26, 27, 28, 61,
413 29, 30, 31, 0, 0, 0, 32, 132, 132, 0,
414 0, 0, 132, 0, 0, 0, 0, 38, 0, 39,
415 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
416 46, 47, 48, 49, 53, 158, 51, 0, 158, 0,
417 132, 0, 132, 0, 0, 54, 0, 55, 56, 0,
418 0, 0, 158, 158, 0, 0, 0, 158, 0, 0,
419 0, 0, 0, 96, 96, 96, 96, 0, 0, 0,
420 96, 0, 132, 0, 0, 0, 0, 0, 75, 0,
421 0, 75, 0, 0, 0, 158, 0, 158, 96, 96,
422 0, 96, 0, 0, 0, 75, 75, 0, 0, 0,
423 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 158, 0, 0,
425 0, 0, 0, 144, 0, 0, 144, 0, 75, 0,
426 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
427 144, 144, 0, 0, 0, 144, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 75, 0, 0, 0, 0, 24, 25, 26, 27, 28,
430 0, 29, 30, 31, 0, 144, 0, 32, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
432 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
433 45, 46, 47, 48, 49, 144, 0, 51, 168, 0,
434 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
435 0, 132, 132, 132, 132, 0, 117, 0, 132, 117,
436 132, 0, 0, 0, 0, 0, 132, 132, 132, 132,
437 150, 0, 0, 117, 117, 0, 132, 132, 117, 132,
438 132, 132, 132, 132, 132, 132, 0, 0, 132, 0,
439 0, 132, 132, 132, 0, 0, 158, 158, 158, 158,
440 0, 160, 0, 158, 160, 158, 117, 0, 117, 0,
441 0, 158, 158, 158, 158, 0, 0, 0, 160, 160,
442 0, 158, 158, 160, 158, 158, 158, 158, 158, 158,
443 158, 0, 0, 158, 0, 0, 158, 158, 158, 75,
444 75, 75, 75, 0, 93, 0, 75, 93, 75, 0,
445 0, 0, 0, 160, 75, 75, 75, 75, 0, 0,
446 0, 93, 93, 0, 75, 75, 93, 75, 75, 75,
447 75, 75, 75, 75, 0, 0, 75, 0, 0, 75,
448 75, 75, 0, 160, 144, 144, 144, 144, 0, 161,
449 0, 144, 0, 144, 0, 0, 93, 0, 0, 144,
450 144, 144, 144, 0, 0, 0, 161, 161, 0, 144,
451 144, 161, 144, 144, 144, 144, 144, 144, 144, 0,
452 0, 144, 0, 0, 144, 144, 144, 0, 0, 0,
453 0, 0, 146, 0, 152, 153, 154, 155, 0, 161,
454 0, 161, 0, 0, 0, 0, 0, 0, 0, 146,
455 146, 161, 162, 163, 146, 0, 164, 0, 0, 165,
456 166, 167, 0, 0, 0, 0, 0, 0, 0, 0,
457 0, 161, 0, 0, 0, 0, 0, 0, 0, 0,
458 0, 0, 146, 0, 146, 0, 0, 117, 117, 117,
459 117, 0, 0, 0, 117, 0, 117, 0, 0, 0,
460 0, 0, 117, 117, 117, 117, 0, 0, 0, 0,
461 0, 0, 117, 117, 146, 117, 117, 117, 117, 117,
462 117, 117, 0, 0, 117, 0, 0, 117, 117, 117,
463 0, 0, 160, 160, 160, 160, 0, 109, 0, 160,
464 109, 160, 0, 0, 0, 0, 0, 160, 160, 160,
465 160, 0, 0, 0, 109, 109, 0, 160, 160, 109,
466 160, 160, 160, 160, 160, 160, 160, 0, 0, 160,
467 0, 0, 160, 160, 160, 93, 93, 93, 93, 0,
468 0, 0, 93, 0, 0, 0, 0, 69, 0, 109,
469 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470 93, 93, 0, 93, 69, 69, 0, 0, 0, 69,
471 0, 0, 0, 0, 0, 0, 0, 0, 0, 109,
472 161, 161, 161, 161, 0, 0, 0, 161, 0, 161,
473 0, 0, 0, 0, 0, 161, 161, 161, 161, 69,
474 0, 0, 0, 0, 0, 161, 161, 0, 161, 161,
475 161, 161, 161, 161, 161, 0, 71, 161, 0, 71,
476 161, 161, 161, 146, 146, 146, 146, 0, 72, 69,
477 146, 0, 146, 71, 71, 0, 0, 0, 146, 146,
478 146, 146, 0, 0, 0, 72, 72, 0, 146, 146,
479 72, 146, 146, 146, 146, 146, 146, 146, 0, 0,
480 146, 0, 0, 146, 146, 146, 0, 0, 71, 0,
481 0, 0, 0, 108, 0, 0, 108, 0, 72, 0,
482 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
483 108, 108, 0, 0, 0, 108, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
485 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
486 0, 0, 0, 0, 0, 108, 0, 0, 109, 109,
487 109, 109, 0, 0, 0, 109, 0, 109, 0, 0,
488 0, 0, 0, 109, 109, 109, 109, 0, 0, 147,
489 0, 0, 147, 109, 109, 108, 109, 109, 109, 109,
490 109, 109, 109, 0, 0, 109, 147, 147, 109, 109,
491 109, 147, 0, 0, 0, 0, 0, 0, 69, 69,
492 69, 69, 0, 0, 0, 69, 0, 69, 0, 0,
493 0, 0, 0, 69, 69, 69, 69, 0, 0, 160,
494 0, 147, 160, 69, 69, 0, 69, 69, 69, 69,
495 69, 69, 69, 0, 0, 69, 160, 160, 69, 69,
496 69, 160, 0, 0, 0, 0, 0, 0, 0, 0,
497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
498 0, 0, 0, 0, 0, 0, 0, 71, 71, 71,
499 71, 160, 0, 0, 71, 0, 0, 0, 0, 72,
500 72, 72, 72, 0, 115, 0, 72, 115, 72, 0,
501 0, 0, 71, 71, 72, 72, 72, 72, 0, 0,
502 0, 115, 115, 0, 72, 72, 115, 72, 72, 72,
503 72, 72, 72, 72, 0, 0, 72, 0, 0, 72,
504 72, 72, 0, 0, 108, 108, 108, 108, 0, 122,
505 0, 108, 122, 108, 0, 0, 115, 0, 0, 108,
506 108, 108, 108, 0, 0, 0, 122, 122, 0, 108,
507 108, 122, 108, 108, 108, 108, 108, 108, 108, 0,
508 0, 108, 0, 0, 108, 108, 108, 0, 0, 0,
509 0, 0, 106, 0, 0, 106, 0, 0, 0, 0,
510 0, 122, 0, 0, 0, 0, 0, 0, 0, 106,
511 106, 0, 0, 0, 106, 0, 0, 0, 0, 0,
512 147, 147, 147, 147, 0, 0, 0, 147, 0, 147,
513 0, 0, 0, 0, 0, 147, 147, 147, 147, 0,
514 0, 0, 0, 0, 106, 147, 147, 0, 147, 147,
515 147, 147, 147, 147, 147, 0, 0, 147, 0, 0,
516 147, 147, 147, 145, 0, 0, 145, 0, 0, 0,
517 160, 160, 160, 160, 0, 100, 0, 160, 100, 160,
518 145, 145, 0, 0, 0, 160, 160, 160, 160, 0,
519 0, 0, 100, 100, 0, 160, 160, 100, 160, 160,
520 160, 160, 160, 160, 160, 0, 0, 160, 0, 0,
521 160, 160, 160, 0, 0, 145, 0, 0, 0, 0,
522 0, 0, 0, 0, 0, 0, 0, 100, 0, 0,
523 0, 0, 0, 0, 0, 115, 115, 115, 115, 0,
524 101, 0, 115, 101, 115, 0, 0, 0, 0, 0,
525 115, 115, 115, 115, 0, 0, 0, 101, 101, 0,
526 115, 115, 101, 115, 115, 115, 115, 115, 115, 115,
527 0, 0, 115, 0, 0, 115, 115, 115, 0, 0,
528 122, 122, 122, 122, 0, 102, 0, 122, 102, 122,
529 0, 0, 101, 0, 0, 122, 122, 122, 122, 0,
530 0, 0, 102, 102, 0, 122, 122, 102, 122, 122,
531 122, 122, 122, 122, 122, 0, 0, 122, 0, 0,
532 122, 122, 122, 106, 106, 106, 106, 0, 98, 0,
533 106, 98, 106, 0, 0, 0, 0, 102, 106, 106,
534 106, 106, 0, 0, 0, 98, 98, 0, 106, 106,
535 98, 106, 106, 106, 106, 106, 106, 106, 0, 0,
536 106, 0, 0, 0, 99, 0, 0, 99, 0, 0,
537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
538 98, 99, 99, 0, 0, 0, 99, 0, 0, 0,
539 0, 0, 0, 0, 145, 145, 145, 145, 0, 0,
540 0, 145, 0, 0, 0, 0, 100, 100, 100, 100,
541 0, 97, 0, 100, 97, 100, 99, 0, 0, 145,
542 145, 100, 100, 100, 100, 0, 0, 0, 97, 97,
543 0, 100, 100, 97, 100, 100, 100, 100, 100, 100,
544 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
545 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,
546 0, 0, 85, 97, 0, 0, 0, 0, 0, 0,
547 0, 101, 101, 101, 101, 0, 85, 85, 101, 0,
548 101, 85, 0, 0, 0, 0, 101, 101, 101, 101,
549 0, 0, 0, 0, 0, 0, 101, 101, 0, 101,
550 101, 101, 101, 101, 101, 101, 0, 0, 0, 0,
551 0, 85, 0, 0, 0, 0, 102, 102, 102, 102,
552 0, 86, 0, 102, 86, 102, 0, 0, 0, 0,
553 0, 102, 102, 102, 102, 0, 0, 0, 86, 86,
554 0, 102, 102, 86, 102, 102, 102, 102, 102, 102,
555 102, 0, 0, 0, 0, 0, 0, 0, 0, 98,
556 98, 98, 98, 0, 87, 0, 98, 87, 98, 0,
557 0, 0, 0, 86, 98, 98, 98, 98, 0, 0,
558 0, 87, 87, 0, 98, 98, 87, 98, 98, 98,
559 98, 98, 98, 98, 0, 99, 99, 99, 99, 0,
560 88, 0, 99, 88, 99, 0, 0, 0, 0, 0,
561 99, 99, 99, 99, 0, 0, 87, 88, 88, 0,
562 99, 99, 88, 99, 99, 99, 99, 99, 99, 99,
563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
564 0, 0, 97, 97, 97, 97, 0, 0, 0, 97,
565 0, 97, 88, 0, 0, 0, 0, 97, 97, 97,
566 97, 149, 0, 0, 149, 0, 0, 97, 97, 0,
567 97, 97, 97, 97, 97, 97, 97, 0, 149, 149,
568 0, 0, 0, 149, 0, 0, 0, 0, 0, 0,
569 85, 85, 85, 85, 0, 0, 0, 85, 0, 85,
570 0, 0, 0, 0, 0, 85, 85, 85, 85, 0,
571 0, 136, 0, 149, 136, 85, 85, 0, 85, 85,
572 85, 85, 85, 85, 85, 0, 0, 0, 136, 136,
573 0, 0, 0, 136, 0, 0, 0, 0, 0, 0,
574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
575 0, 0, 86, 86, 86, 86, 0, 107, 0, 86,
576 107, 86, 0, 136, 0, 0, 0, 86, 86, 86,
577 86, 0, 0, 0, 107, 107, 0, 86, 86, 107,
578 86, 86, 86, 86, 86, 86, 0, 168, 0, 0,
579 92, 0, 0, 92, 0, 87, 87, 87, 87, 0,
580 94, 0, 87, 94, 87, 0, 0, 92, 92, 107,
581 87, 87, 92, 87, 0, 0, 0, 94, 94, 150,
582 87, 87, 94, 87, 87, 87, 87, 87, 87, 0,
583 0, 88, 88, 88, 88, 0, 95, 0, 88, 95,
584 88, 0, 92, 0, 0, 0, 88, 88, 84, 0,
585 0, 84, 94, 95, 95, 0, 88, 88, 95, 88,
586 88, 88, 88, 88, 88, 84, 84, 0, 0, 0,
587 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
588 0, 0, 70, 0, 0, 0, 0, 0, 95, 0,
589 0, 0, 149, 149, 149, 149, 70, 70, 0, 149,
590 84, 149, 0, 0, 0, 0, 0, 149, 149, 0,
591 0, 0, 0, 0, 0, 0, 0, 149, 149, 0,
592 149, 149, 149, 149, 149, 0, 0, 157, 0, 0,
593 0, 70, 0, 0, 0, 0, 0, 0, 0, 0,
594 0, 0, 136, 136, 136, 136, 0, 0, 0, 136,
595 0, 136, 0, 0, 0, 168, 0, 136, 136, 0,
596 0, 0, 0, 0, 0, 157, 0, 136, 136, 0,
597 136, 136, 136, 136, 136, 0, 0, 0, 0, 0,
598 0, 0, 0, 152, 153, 154, 155, 150, 107, 107,
599 107, 107, 0, 168, 0, 107, 0, 107, 159, 160,
600 161, 162, 163, 107, 107, 164, 0, 0, 165, 166,
601 167, 0, 0, 107, 107, 0, 107, 107, 107, 107,
602 107, 92, 92, 92, 92, 150, 0, 0, 92, 0,
603 92, 94, 94, 94, 94, 0, 0, 0, 94, 0,
604 94, 0, 0, 0, 0, 0, 92, 92, 0, 92,
605 92, 92, 92, 168, 0, 0, 94, 94, 0, 94,
606 94, 94, 0, 0, 0, 0, 0, 95, 95, 95,
607 95, 0, 0, 0, 95, 0, 95, 0, 0, 84,
608 84, 84, 84, 0, 0, 150, 84, 0, 0, 0,
609 0, 0, 95, 95, 0, 95, 95, 0, 0, 0,
610 0, 0, 0, 0, 84, 84, 0, 0, 94, 0,
611 70, 70, 70, 70, 0, 0, 104, 70, 0, 0,
612 109, 0, 0, 118, 0, 0, 0, 0, 0, 0,
613 125, 126, 127, 128, 129, 70, 70, 132, 133, 0,
614 0, 0, 0, 0, 140, 151, 0, 0, 0, 0,
615 0, 152, 153, 154, 155, 0, 0, 0, 0, 0,
616 0, 0, 90, 90, 156, 158, 159, 160, 161, 162,
617 163, 184, 0, 164, 103, 0, 165, 166, 167, 0,
618 111, 90, 119, 151, 0, 0, 0, 90, 0, 152,
619 153, 154, 155, 0, 0, 0, 0, 0, 0, 90,
620 90, 90, 90, 158, 159, 160, 161, 162, 163, 0,
621 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
622 0, 0, 0, 0, 0, 0, 0, 0, 0, 219,
623 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
624 230, 231, 232, 0, 111, 0, 0, 0, 0, 152,
625 153, 154, 155, 0, 247, 0, 0, 0, 0, 0,
626 0, 0, 0, 0, 0, 160, 161, 162, 163, 0,
627 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
630 0, 0, 0, 0, 237, 0, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
632 0, 0, 0, 0, 0, 0, 0, 0, 266, 0,
633 0, 0, 0, 301, 0, 0, 0, 0, 0, 0,
634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
638 static short yycheck[] = { 13,
639 41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
640 59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
641 58, 59, 91, 40, 257, 63, 41, 297, 298, 257,
642 41, 59, 46, 40, 43, 41, 123, 276, 277, 257,
643 123, 41, 51, 57, 41, 91, 41, 61, 59, 123,
644 362, 44, 40, 59, 123, 93, 328, 329, 0, 40,
645 192, 333, 41, 40, 40, 36, 40, 40, 40, 40,
646 59, 278, 59, 123, 91, 123, 122, 349, 123, 40,
647 59, 353, 91, 123, 97, 98, 99, 100, 101, 102,
648 59, 33, 106, 107, 36, 37, 38, 59, 40, 123,
649 42, 43, 260, 45, 44, 114, 123, 59, 41, 41,
650 41, 257, 40, 122, 40, 125, 40, 59, 41, 41,
651 91, 291, 64, 91, 41, 41, 59, 59, 59, 143,
652 144, 145, 146, 147, 148, 149, 150, 59, 257, 36,
653 91, 273, 59, 93, 91, 41, 298, 125, 44, 91,
654 40, 40, 123, 0, 168, 169, 170, 171, 172, 173,
655 174, 41, 58, 59, 41, 41, 41, 63, 93, 183,
656 41, 41, 123, 187, 188, 307, 190, 91, 192, 125,
657 193, 123, 93, 125, 126, 199, 33, 201, 202, 36,
658 37, 38, 206, 40, 59, 42, 43, 93, 45, 266,
659 267, 268, 59, 270, 271, 251, 289, 290, 257, 123,
660 256, 41, 59, 125, 123, 297, 298, 64, 125, 233,
661 352, 235, 236, 306, 125, 93, 309, 314, 41, 312,
662 313, 314, 125, 257, 272, 273, 274, 275, 262, 41,
663 41, 279, 251, 281, 91, 297, 298, 256, 0, 287,
664 288, 289, 290, 297, 298, 339, 297, 298, 59, 297,
665 298, 296, 300, 301, 302, 303, 304, 305, 306, 59,
666 284, 309, 297, 298, 297, 298, 123, 291, 125, 126,
667 40, 33, 297, 298, 36, 37, 38, 258, 40, 93,
668 42, 43, 93, 45, 93, 309, 41, 297, 298, 41,
669 297, 298, 297, 298, 297, 298, 123, 59, 297, 298,
670 297, 298, 64, 125, 256, 257, 258, 259, 260, 261,
671 123, 263, 264, 265, 266, 267, 268, 269, 270, 271,
672 272, 273, 274, 275, 348, 297, 298, 279, 280, 91,
673 282, 283, 284, 285, 286, 297, 298, 297, 298, 291,
674 292, 293, 294, 295, 296, 306, 91, 299, 309, 41,
675 41, 312, 313, 314, 59, 41, 308, 59, 310, 311,
676 41, 123, 297, 298, 126, 59, 272, 273, 274, 275,
677 41, 8, 32, 279, 13, 281, 297, 298, 123, 144,
678 348, 287, 288, 41, 309, 309, 44, 190, 312, 313,
679 314, 297, 298, 96, 300, 301, 302, 303, 304, 256,
680 257, 258, 259, 260, 261, 63, 263, 264, 265, 266,
681 267, 268, 269, 270, 271, 272, 273, 274, 275, 297,
682 298, -1, 279, 280, -1, 282, 283, 284, 285, 286,
683 -1, -1, -1, 91, 291, 292, 293, 294, 295, 296,
684 125, -1, 299, 91, 266, 267, 268, -1, 270, 271,
685 -1, 308, -1, 310, 311, -1, 41, -1, -1, 44,
686 -1, 272, 273, 274, 275, 123, -1, -1, 279, -1,
687 -1, -1, -1, 58, 59, 123, -1, -1, 63, -1,
688 -1, -1, -1, 297, 298, -1, 297, 298, 297, 298,
689 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
690 -1, 263, 264, 265, -1, -1, 91, 269, 93, -1,
691 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
692 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
693 292, 293, 294, 295, 296, -1, -1, 299, 123, -1,
694 -1, -1, 287, 288, 289, 290, 308, 33, 310, 311,
695 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
696 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
697 -1, -1, 58, 59, -1, -1, -1, 63, 64, -1,
698 -1, 266, 267, 268, -1, 270, 271, -1, -1, -1,
699 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
700 -1, -1, -1, 279, -1, 91, -1, 93, 33, -1,
701 -1, 36, 37, 38, -1, 40, 41, 42, 43, 44,
702 45, 297, 298, 281, -1, -1, -1, -1, -1, 287,
703 288, 289, 290, 58, 59, -1, -1, 123, 63, 64,
704 126, 289, 300, 301, 302, 303, 304, 305, 306, -1,
705 -1, 309, -1, -1, 312, 313, 314, -1, 306, -1,
706 -1, 309, -1, -1, 312, 313, 314, 33, 93, -1,
707 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
708 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
709 275, -1, -1, 59, 279, -1, 281, -1, 64, -1,
710 -1, 126, 287, 288, 289, 290, 304, 305, 306, -1,
711 308, -1, 297, 298, -1, 300, 301, 302, 303, 304,
712 305, 306, -1, -1, 309, 91, -1, 312, 313, 314,
713 -1, -1, 41, -1, -1, 44, -1, 335, -1, -1,
714 -1, -1, -1, -1, 342, -1, -1, -1, 346, -1,
715 59, -1, -1, 91, -1, -1, -1, 123, -1, -1,
716 126, 359, 360, -1, -1, -1, -1, -1, -1, -1,
717 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
718 -1, -1, -1, 269, 93, 123, 272, 273, 274, 275,
719 -1, -1, -1, 279, 280, 281, 282, 283, 284, 285,
720 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
721 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
722 306, -1, 308, 309, 310, 311, 312, 313, 314, -1,
723 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
724 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
725 275, -1, -1, -1, 279, 280, 281, 282, 283, 284,
726 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
727 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
728 305, 306, -1, 308, 309, 310, 311, 312, 313, 314,
729 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
730 -1, -1, -1, 269, -1, 91, 272, 273, 274, 275,
731 -1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
732 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
733 296, 33, -1, 299, 36, 37, 38, 123, 40, -1,
734 42, 43, 308, 45, 310, 311, -1, -1, 13, 287,
735 -1, 289, 290, -1, -1, -1, -1, 59, -1, -1,
736 -1, -1, 64, 272, 273, 274, 275, 305, 306, -1,
737 279, 309, -1, -1, 312, 313, 314, 42, -1, -1,
738 45, -1, -1, -1, -1, -1, -1, 33, 297, 91,
739 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
740 -1, -1, 26, -1, -1, -1, -1, -1, -1, -1,
741 -1, -1, -1, -1, -1, -1, 81, -1, 64, 43,
742 44, 123, -1, -1, 126, -1, 50, -1, -1, -1,
743 95, -1, -1, -1, -1, -1, -1, -1, 62, 63,
744 64, 65, -1, 33, -1, 91, 36, 37, 38, -1,
745 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
746 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
747 -1, -1, -1, -1, 64, -1, 141, 123, -1, -1,
748 126, -1, -1, 107, -1, -1, -1, -1, -1, -1,
749 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
750 -1, 91, -1, 289, 290, -1, 33, -1, -1, 36,
751 37, 38, -1, 40, 179, 42, 43, -1, 45, 305,
752 306, 186, -1, 309, -1, -1, 312, 313, 314, -1,
753 -1, -1, -1, 123, -1, -1, 126, 64, -1, -1,
754 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
755 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
756 -1, 263, 264, 265, 91, -1, -1, 269, -1, -1,
757 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
758 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
759 292, 293, 294, 295, 296, -1, 123, 299, -1, 126,
760 -1, 91, -1, -1, -1, 41, 308, -1, 310, 311,
761 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
762 -1, -1, -1, 269, -1, -1, -1, 63, -1, -1,
763 -1, -1, -1, 123, 280, -1, 282, 283, 284, 285,
764 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
765 296, -1, -1, 299, -1, 91, -1, -1, -1, -1,
766 -1, -1, 308, -1, 310, 311, -1, 257, 258, 259,
767 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
768 58, -1, -1, -1, -1, 63, -1, 123, -1, -1,
769 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
770 -1, 291, 292, 293, 294, 295, 296, -1, -1, 299,
771 -1, -1, -1, 91, -1, -1, -1, -1, 308, -1,
772 310, 311, -1, -1, -1, -1, 41, -1, -1, 44,
773 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
774 -1, -1, 269, 58, 59, 123, -1, -1, 63, -1,
775 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
776 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
777 33, -1, 299, 36, 37, 38, -1, 40, 93, 42,
778 43, 308, 45, 310, 311, -1, -1, -1, -1, -1,
779 -1, -1, -1, -1, -1, -1, 59, 287, 288, 289,
780 290, 64, -1, -1, -1, -1, -1, -1, -1, -1,
781 -1, 301, 302, 303, 304, 305, 306, -1, -1, 309,
782 -1, -1, 312, 313, 314, -1, 33, -1, 91, 36,
783 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
784 -1, -1, -1, -1, -1, 281, -1, -1, -1, -1,
785 -1, 287, 288, 289, 290, -1, -1, 64, -1, -1,
786 -1, -1, -1, 126, 300, 301, 302, 303, 304, 305,
787 306, -1, -1, 309, -1, -1, 312, 313, 314, -1,
788 -1, -1, 33, -1, 91, 36, 37, 38, -1, 40,
789 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
790 -1, -1, -1, 281, -1, -1, -1, -1, -1, 287,
791 288, 289, 290, 64, -1, -1, -1, -1, -1, 126,
792 -1, -1, 300, 301, 302, 303, 304, 305, 306, -1,
793 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
794 91, 33, 93, -1, 36, 37, 38, -1, 40, 41,
795 42, 43, -1, 45, -1, -1, -1, 272, 273, 274,
796 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
797 -1, -1, 64, 288, -1, 126, -1, -1, -1, -1,
798 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
799 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
800 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
801 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
802 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
803 293, 294, 295, 296, 126, -1, 299, -1, -1, -1,
804 -1, -1, 93, -1, -1, 308, 41, 310, 311, 44,
805 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
806 -1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
807 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
808 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
809 -1, -1, 299, -1, -1, -1, -1, -1, 93, -1,
810 -1, 308, -1, 310, 311, -1, 257, 258, 259, 260,
811 261, -1, 263, 264, 265, -1, 33, -1, 269, 36,
812 37, 38, -1, 40, 41, 42, 43, -1, 45, 280,
813 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
814 291, 292, 293, 294, 295, 296, -1, 64, 299, -1,
815 -1, -1, -1, -1, -1, -1, -1, 308, -1, 310,
816 311, -1, -1, -1, -1, 257, 258, 259, 260, 261,
817 -1, 263, 264, 265, 91, 33, -1, 269, 36, 37,
818 38, -1, 40, -1, 42, 43, -1, 45, 280, -1,
819 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
820 292, 293, 294, 295, 296, -1, 64, 299, -1, 126,
821 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
822 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
823 281, 33, -1, 91, 36, 37, 38, -1, 40, 41,
824 42, 43, -1, 45, -1, -1, 297, 298, -1, 300,
825 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
826 -1, -1, 64, -1, -1, -1, -1, -1, 126, -1,
827 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
828 275, -1, -1, -1, 279, -1, 281, 33, -1, 91,
829 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
830 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
831 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
832 -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
833 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
834 257, 258, 259, 260, 261, 91, 263, 264, 265, -1,
835 33, -1, 269, 36, 37, 38, -1, 40, 41, 42,
836 43, -1, 45, 280, -1, 282, 283, 284, 285, 286,
837 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
838 126, 64, 299, -1, -1, -1, -1, -1, -1, -1,
839 -1, 308, -1, 310, 311, -1, -1, -1, 256, 257,
840 258, 259, 260, 261, -1, 263, 264, 265, 91, -1,
841 -1, 269, 41, -1, -1, 44, -1, -1, -1, -1,
842 -1, -1, 280, -1, 282, 283, 284, 285, 286, 58,
843 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
844 -1, 299, -1, 126, -1, -1, -1, -1, -1, -1,
845 308, -1, 310, 311, -1, 257, 258, 259, 260, 261,
846 -1, 263, 264, 265, 93, -1, -1, 269, -1, -1,
847 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
848 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
849 292, 293, 294, 295, 296, -1, -1, 299, -1, -1,
850 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
851 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
852 -1, 33, -1, 269, 36, 37, 38, -1, 40, -1,
853 42, 43, -1, 45, 280, -1, 282, 283, 284, 285,
854 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
855 296, -1, 64, 299, -1, -1, -1, -1, -1, -1,
856 -1, -1, 308, -1, 310, 311, -1, -1, -1, -1,
857 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
858 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
859 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
860 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
861 293, 294, 295, 296, 126, 41, 299, -1, 44, -1,
862 91, -1, 93, -1, -1, 308, -1, 310, 311, -1,
863 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
864 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
865 279, -1, 123, -1, -1, -1, -1, -1, 41, -1,
866 -1, 44, -1, -1, -1, 91, -1, 93, 297, 298,
867 -1, 300, -1, -1, -1, 58, 59, -1, -1, -1,
868 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
869 -1, -1, -1, -1, -1, -1, -1, 123, -1, -1,
870 -1, -1, -1, 41, -1, -1, 44, -1, 91, -1,
871 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
872 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
873 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
874 123, -1, -1, -1, -1, 257, 258, 259, 260, 261,
875 -1, 263, 264, 265, -1, 93, -1, 269, -1, -1,
876 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
877 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
878 292, 293, 294, 295, 296, 123, -1, 299, 91, -1,
879 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
880 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
881 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
882 123, -1, -1, 58, 59, -1, 297, 298, 63, 300,
883 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
884 -1, 312, 313, 314, -1, -1, 272, 273, 274, 275,
885 -1, 41, -1, 279, 44, 281, 91, -1, 93, -1,
886 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
887 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
888 306, -1, -1, 309, -1, -1, 312, 313, 314, 272,
889 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
890 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
891 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
892 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
893 313, 314, -1, 123, 272, 273, 274, 275, -1, 41,
894 -1, 279, -1, 281, -1, -1, 93, -1, -1, 287,
895 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
896 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
897 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
898 -1, -1, 41, -1, 287, 288, 289, 290, -1, 91,
899 -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
900 59, 304, 305, 306, 63, -1, 309, -1, -1, 312,
901 313, 314, -1, -1, -1, -1, -1, -1, -1, -1,
902 -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
903 -1, -1, 91, -1, 93, -1, -1, 272, 273, 274,
904 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
905 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
906 -1, -1, 297, 298, 123, 300, 301, 302, 303, 304,
907 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
908 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
909 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
910 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
911 300, 301, 302, 303, 304, 305, 306, -1, -1, 309,
912 -1, -1, 312, 313, 314, 272, 273, 274, 275, -1,
913 -1, -1, 279, -1, -1, -1, -1, 41, -1, 93,
914 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
915 297, 298, -1, 300, 58, 59, -1, -1, -1, 63,
916 -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
917 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
918 -1, -1, -1, -1, -1, 287, 288, 289, 290, 93,
919 -1, -1, -1, -1, -1, 297, 298, -1, 300, 301,
920 302, 303, 304, 305, 306, -1, 41, 309, -1, 44,
921 312, 313, 314, 272, 273, 274, 275, -1, 41, 123,
922 279, -1, 281, 58, 59, -1, -1, -1, 287, 288,
923 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
924 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
925 309, -1, -1, 312, 313, 314, -1, -1, 93, -1,
926 -1, -1, -1, 41, -1, -1, 44, -1, 91, -1,
927 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
928 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
929 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
930 123, -1, -1, -1, -1, -1, -1, -1, -1, -1,
931 -1, -1, -1, -1, -1, 93, -1, -1, 272, 273,
932 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
933 -1, -1, -1, 287, 288, 289, 290, -1, -1, 41,
934 -1, -1, 44, 297, 298, 123, 300, 301, 302, 303,
935 304, 305, 306, -1, -1, 309, 58, 59, 312, 313,
936 314, 63, -1, -1, -1, -1, -1, -1, 272, 273,
937 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
938 -1, -1, -1, 287, 288, 289, 290, -1, -1, 41,
939 -1, 93, 44, 297, 298, -1, 300, 301, 302, 303,
940 304, 305, 306, -1, -1, 309, 58, 59, 312, 313,
941 314, 63, -1, -1, -1, -1, -1, -1, -1, -1,
942 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
943 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
944 275, 93, -1, -1, 279, -1, -1, -1, -1, 272,
945 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
946 -1, -1, 297, 298, 287, 288, 289, 290, -1, -1,
947 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
948 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
949 313, 314, -1, -1, 272, 273, 274, 275, -1, 41,
950 -1, 279, 44, 281, -1, -1, 93, -1, -1, 287,
951 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
952 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
953 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
954 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
955 -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
956 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
957 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
958 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
959 -1, -1, -1, -1, 93, 297, 298, -1, 300, 301,
960 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
961 312, 313, 314, 41, -1, -1, 44, -1, -1, -1,
962 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
963 58, 59, -1, -1, -1, 287, 288, 289, 290, -1,
964 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
965 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
966 312, 313, 314, -1, -1, 93, -1, -1, -1, -1,
967 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
968 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
969 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
970 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
971 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
972 -1, -1, 309, -1, -1, 312, 313, 314, -1, -1,
973 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
974 -1, -1, 93, -1, -1, 287, 288, 289, 290, -1,
975 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
976 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
977 312, 313, 314, 272, 273, 274, 275, -1, 41, -1,
978 279, 44, 281, -1, -1, -1, -1, 93, 287, 288,
979 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
980 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
981 309, -1, -1, -1, 41, -1, -1, 44, -1, -1,
982 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
983 93, 58, 59, -1, -1, -1, 63, -1, -1, -1,
984 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
985 -1, 279, -1, -1, -1, -1, 272, 273, 274, 275,
986 -1, 41, -1, 279, 44, 281, 93, -1, -1, 297,
987 298, 287, 288, 289, 290, -1, -1, -1, 58, 59,
988 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
989 306, -1, -1, -1, -1, -1, -1, -1, -1, -1,
990 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
991 -1, -1, 44, 93, -1, -1, -1, -1, -1, -1,
992 -1, 272, 273, 274, 275, -1, 58, 59, 279, -1,
993 281, 63, -1, -1, -1, -1, 287, 288, 289, 290,
994 -1, -1, -1, -1, -1, -1, 297, 298, -1, 300,
995 301, 302, 303, 304, 305, 306, -1, -1, -1, -1,
996 -1, 93, -1, -1, -1, -1, 272, 273, 274, 275,
997 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
998 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
999 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
1000 306, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1001 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1002 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
1003 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
1004 303, 304, 305, 306, -1, 272, 273, 274, 275, -1,
1005 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
1006 287, 288, 289, 290, -1, -1, 93, 58, 59, -1,
1007 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
1008 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1009 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1010 -1, 281, 93, -1, -1, -1, -1, 287, 288, 289,
1011 290, 41, -1, -1, 44, -1, -1, 297, 298, -1,
1012 300, 301, 302, 303, 304, 305, 306, -1, 58, 59,
1013 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1014 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1015 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1016 -1, 41, -1, 93, 44, 297, 298, -1, 300, 301,
1017 302, 303, 304, 305, 306, -1, -1, -1, 58, 59,
1018 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1019 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1020 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
1021 44, 281, -1, 93, -1, -1, -1, 287, 288, 289,
1022 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
1023 300, 301, 302, 303, 304, 305, -1, 91, -1, -1,
1024 41, -1, -1, 44, -1, 272, 273, 274, 275, -1,
1025 41, -1, 279, 44, 281, -1, -1, 58, 59, 93,
1026 287, 288, 63, 290, -1, -1, -1, 58, 59, 123,
1027 297, 298, 63, 300, 301, 302, 303, 304, 305, -1,
1028 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1029 281, -1, 93, -1, -1, -1, 287, 288, 41, -1,
1030 -1, 44, 93, 58, 59, -1, 297, 298, 63, 300,
1031 301, 302, 303, 304, 305, 58, 59, -1, -1, -1,
1032 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1033 -1, -1, 44, -1, -1, -1, -1, -1, 93, -1,
1034 -1, -1, 272, 273, 274, 275, 58, 59, -1, 279,
1035 93, 281, -1, -1, -1, -1, -1, 287, 288, -1,
1036 -1, -1, -1, -1, -1, -1, -1, 297, 298, -1,
1037 300, 301, 302, 303, 304, -1, -1, 63, -1, -1,
1038 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
1039 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1040 -1, 281, -1, -1, -1, 91, -1, 287, 288, -1,
1041 -1, -1, -1, -1, -1, 63, -1, 297, 298, -1,
1042 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
1043 -1, -1, -1, 287, 288, 289, 290, 123, 272, 273,
1044 274, 275, -1, 91, -1, 279, -1, 281, 302, 303,
1045 304, 305, 306, 287, 288, 309, -1, -1, 312, 313,
1046 314, -1, -1, 297, 298, -1, 300, 301, 302, 303,
1047 304, 272, 273, 274, 275, 123, -1, -1, 279, -1,
1048 281, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1049 281, -1, -1, -1, -1, -1, 297, 298, -1, 300,
1050 301, 302, 303, 91, -1, -1, 297, 298, -1, 300,
1051 301, 302, -1, -1, -1, -1, -1, 272, 273, 274,
1052 275, -1, -1, -1, 279, -1, 281, -1, -1, 272,
1053 273, 274, 275, -1, -1, 123, 279, -1, -1, -1,
1054 -1, -1, 297, 298, -1, 300, 301, -1, -1, -1,
1055 -1, -1, -1, -1, 297, 298, -1, -1, 30, -1,
1056 272, 273, 274, 275, -1, -1, 38, 279, -1, -1,
1057 42, -1, -1, 45, -1, -1, -1, -1, -1, -1,
1058 52, 53, 54, 55, 56, 297, 298, 59, 60, -1,
1059 -1, -1, -1, -1, 66, 281, -1, -1, -1, -1,
1060 -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
1061 -1, -1, 25, 26, 300, 301, 302, 303, 304, 305,
1062 306, 93, -1, 309, 37, -1, 312, 313, 314, -1,
1063 43, 44, 45, 281, -1, -1, -1, 50, -1, 287,
1064 288, 289, 290, -1, -1, -1, -1, -1, -1, 62,
1065 63, 64, 65, 301, 302, 303, 304, 305, 306, -1,
1066 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
1067 -1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
1068 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1069 162, 163, 164, -1, 107, -1, -1, -1, -1, 287,
1070 288, 289, 290, -1, 176, -1, -1, -1, -1, -1,
1071 -1, -1, -1, -1, -1, 303, 304, 305, 306, -1,
1072 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
1073 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1074 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1075 -1, -1, -1, -1, 167, -1, -1, -1, -1, -1,
1076 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1077 -1, -1, -1, -1, -1, -1, -1, -1, 191, -1,
1078 -1, -1, -1, 255, -1, -1, -1, -1, -1, -1,
1079 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1080 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1081 -1, -1, -1, -1, 286,
1087 #define YYMAXTOKEN 314
1089 static char *yyname[] = {
1090 "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,
1091 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1092 0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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,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,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,"WORD","METHOD","FUNCMETH","THING",
1098 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1099 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1100 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1101 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1102 "OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP",
1103 "SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
1106 static char *yyrule[] = {
1109 "prog : $$1 lineseq",
1110 "block : '{' remember lineseq '}'",
1112 "mblock : '{' mremember lineseq '}'",
1115 "lineseq : lineseq decl",
1116 "lineseq : lineseq line",
1117 "line : label cond",
1120 "line : label sideff ';'",
1123 "sideff : expr IF expr",
1124 "sideff : expr UNLESS expr",
1125 "sideff : expr WHILE expr",
1126 "sideff : expr UNTIL iexpr",
1127 "sideff : expr FOR expr",
1129 "else : ELSE mblock",
1130 "else : ELSIF '(' mexpr ')' mblock else",
1131 "cond : IF '(' remember mexpr ')' mblock else",
1132 "cond : UNLESS '(' remember miexpr ')' mblock else",
1134 "cont : CONTINUE block",
1135 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1136 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1137 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1138 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1139 "loop : label FOR '(' remember mexpr ')' mblock cont",
1140 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1141 "loop : label block cont",
1157 "format : FORMAT startformsub formname block",
1160 "subrout : SUB startsub subname proto subbody",
1169 "package : PACKAGE WORD ';'",
1170 "package : PACKAGE ';'",
1172 "use : USE startsub $$2 WORD WORD listexpr ';'",
1173 "expr : expr ANDOP expr",
1174 "expr : expr OROP expr",
1176 "argexpr : argexpr ','",
1177 "argexpr : argexpr ',' term",
1179 "listop : LSTOP indirob argexpr",
1180 "listop : FUNC '(' indirob expr ')'",
1181 "listop : term ARROW method '(' listexprcom ')'",
1182 "listop : term ARROW method",
1183 "listop : METHOD indirob listexpr",
1184 "listop : FUNCMETH indirob '(' listexprcom ')'",
1185 "listop : LSTOP listexpr",
1186 "listop : FUNC '(' listexprcom ')'",
1188 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1191 "term : term ASSIGNOP term",
1192 "term : term POWOP term",
1193 "term : term MULOP term",
1194 "term : term ADDOP term",
1195 "term : term SHIFTOP term",
1196 "term : term RELOP term",
1197 "term : term EQOP term",
1198 "term : term BITANDOP term",
1199 "term : term BITOROP term",
1200 "term : term DOTDOT term",
1201 "term : term ANDAND term",
1202 "term : term OROR term",
1203 "term : term '?' term ':' term",
1204 "term : term MATCHOP term",
1209 "term : REFGEN term",
1210 "term : term POSTINC",
1211 "term : term POSTDEC",
1212 "term : PREINC term",
1213 "term : PREDEC term",
1214 "term : local term",
1215 "term : '(' expr ')'",
1217 "term : '[' expr ']'",
1219 "term : HASHBRACK expr ';' '}'",
1220 "term : HASHBRACK ';' '}'",
1221 "term : ANONSUB startanonsub proto block",
1223 "term : star '{' expr ';' '}'",
1225 "term : scalar '[' expr ']'",
1226 "term : term ARROW '[' expr ']'",
1227 "term : term '[' expr ']'",
1231 "term : scalar '{' expr ';' '}'",
1232 "term : term ARROW '{' expr ';' '}'",
1233 "term : term '{' expr ';' '}'",
1234 "term : '(' expr ')' '[' expr ']'",
1235 "term : '(' ')' '[' expr ']'",
1236 "term : ary '[' expr ']'",
1237 "term : ary '{' expr ';' '}'",
1240 "term : amper '(' ')'",
1241 "term : amper '(' expr ')'",
1242 "term : NOAMP WORD listexpr",
1245 "term : DO WORD '(' ')'",
1246 "term : DO WORD '(' expr ')'",
1247 "term : DO scalar '(' ')'",
1248 "term : DO scalar '(' expr ')'",
1249 "term : term ARROW '(' ')'",
1250 "term : term ARROW '(' expr ')'",
1252 "term : LOOPEX term",
1253 "term : NOTOP argexpr",
1255 "term : UNIOP block",
1256 "term : UNIOP term",
1257 "term : UNIOPSUB term",
1259 "term : FUNC0 '(' ')'",
1261 "term : FUNC1 '(' ')'",
1262 "term : FUNC1 '(' expr ')'",
1263 "term : PMFUNC '(' term ')'",
1264 "term : PMFUNC '(' term ',' term ')'",
1268 "listexpr : argexpr",
1270 "listexprcom : expr",
1271 "listexprcom : expr ','",
1274 "my_scalar : scalar",
1275 "amper : '&' indirob",
1276 "scalar : '$' indirob",
1277 "ary : '@' indirob",
1278 "hsh : '%' indirob",
1279 "arylen : DOLSHARP indirob",
1280 "star : '*' indirob",
1284 "indirob : PRIVATEREF",
1287 #define yyclearin (yychar=(-1))
1288 #define yyerrok (yyerrflag=0)
1291 #define YYMAXDEPTH YYSTACKSIZE
1295 #define YYSTACKSIZE YYMAXDEPTH
1297 #define YYSTACKSIZE 500
1298 #define YYMAXDEPTH 500
1303 #line 1318 "perly.c"
1304 #define YYABORT goto yyabort
1305 #define YYACCEPT goto yyaccept
1306 #define YYERROR goto yyerrlab
1320 Perl_yydestruct(pTHX_ void *ptr)
1322 struct ysv* ysave = (struct ysv*)ptr;
1323 if (ysave->yyss) Safefree(ysave->yyss);
1324 if (ysave->yyvs) Safefree(ysave->yyvs);
1325 yydebug = ysave->oldyydebug;
1326 yynerrs = ysave->oldyynerrs;
1327 yyerrflag = ysave->oldyyerrflag;
1328 yychar = ysave->oldyychar;
1329 yyval = ysave->oldyyval;
1330 yylval = ysave->oldyylval;
1337 register int yym, yyn, yystate;
1338 register short *yyssp;
1339 register YYSTYPE *yyvsp;
1342 unsigned yystacksize = YYSTACKSIZE;
1347 extern char *getenv();
1352 New(73, ysave, 1, struct ysv);
1353 SAVEDESTRUCTOR(yydestruct, ysave);
1354 ysave->oldyydebug = yydebug;
1355 ysave->oldyynerrs = yynerrs;
1356 ysave->oldyyerrflag = yyerrflag;
1357 ysave->oldyychar = yychar;
1358 ysave->oldyyval = yyval;
1359 ysave->oldyylval = yylval;
1362 if (yys = getenv("YYDEBUG"))
1365 if (yyn >= '0' && yyn <= '9')
1366 yydebug = yyn - '0';
1375 ** Initialize private stacks (yyparse may be called from an action)
1377 New(73, yyss, yystacksize, short);
1378 New(73, yyvs, yystacksize, YYSTYPE);
1386 *yyssp = yystate = 0;
1389 if (yyn = yydefred[yystate]) goto yyreduce;
1392 if ((yychar = yylex()) < 0) yychar = 0;
1397 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1398 if (!yys) yys = "illegal-symbol";
1399 printf("yydebug: state %d, reading %d (%s)\n", yystate,
1404 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1405 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1409 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1410 yystate, yytable[yyn]);
1412 if (yyssp >= yyss + yystacksize - 1)
1415 ** reallocate and recover. Note that pointers
1416 ** have to be reset, or bad things will happen
1418 int yyps_index = (yyssp - yyss);
1419 int yypv_index = (yyvsp - yyvs);
1420 yystacksize += YYSTACKSIZE;
1421 ysave->yyvs = yyvs =
1422 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1423 ysave->yyss = yyss =
1424 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
1427 yyssp = yyss + yyps_index;
1428 yyvsp = yyvs + yypv_index;
1430 *++yyssp = yystate = yytable[yyn];
1433 if (yyerrflag > 0) --yyerrflag;
1436 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1437 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1442 if (yyerrflag) goto yyinrecovery;
1447 yyerror("syntax error");
1459 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1460 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1464 PerlIO_printf(Perl_debug_log,
1465 "yydebug: state %d, error recovery shifting to state %d\n",
1466 *yyssp, yytable[yyn]);
1468 if (yyssp >= yyss + yystacksize - 1)
1471 ** reallocate and recover. Note that pointers
1472 ** have to be reset, or bad things will happen
1474 int yyps_index = (yyssp - yyss);
1475 int yypv_index = (yyvsp - yyvs);
1476 yystacksize += YYSTACKSIZE;
1477 ysave->yyvs = yyvs = (YYSTYPE*)PerlMem_realloc((char*)yyvs,
1478 yystacksize * sizeof(YYSTYPE));
1479 ysave->yyss = yyss = (short*)PerlMem_realloc((char*)yyss,
1480 yystacksize * sizeof(short));
1483 yyssp = yyss + yyps_index;
1484 yyvsp = yyvs + yypv_index;
1486 *++yyssp = yystate = yytable[yyn];
1494 PerlIO_printf(Perl_debug_log,
1495 "yydebug: error recovery discarding state %d\n",
1498 if (yyssp <= yyss) goto yyabort;
1506 if (yychar == 0) goto yyabort;
1511 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1512 if (!yys) yys = "illegal-symbol";
1513 PerlIO_printf(Perl_debug_log,
1514 "yydebug: state %d, error recovery discards token %d (%s)\n",
1515 yystate, yychar, yys);
1524 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1525 yystate, yyn, yyrule[yyn]);
1528 yyval = yyvsp[1-yym];
1534 #if defined(YYDEBUG) && defined(DEBUGGING)
1535 yydebug = (PL_debug & 1);
1542 { newPROG(yyvsp[0].opval); }
1546 { if (PL_copline > (line_t)yyvsp[-3].ival)
1547 PL_copline = yyvsp[-3].ival;
1548 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1552 { yyval.ival = block_start(TRUE); }
1556 { if (PL_copline > (line_t)yyvsp[-3].ival)
1557 PL_copline = yyvsp[-3].ival;
1558 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1562 { yyval.ival = block_start(FALSE); }
1566 { yyval.opval = Nullop; }
1570 { yyval.opval = yyvsp[-1].opval; }
1574 { yyval.opval = append_list(OP_LINESEQ,
1575 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1576 PL_pad_reset_pending = TRUE;
1577 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1581 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1585 { if (yyvsp[-1].pval != Nullch) {
1586 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1589 yyval.opval = Nullop;
1590 PL_copline = NOLINE;
1592 PL_expect = XSTATE; }
1596 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1597 PL_expect = XSTATE; }
1601 { yyval.opval = Nullop; }
1605 { yyval.opval = yyvsp[0].opval; }
1609 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1613 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1617 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1621 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1625 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1626 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1630 { yyval.opval = Nullop; }
1634 { yyval.opval = scope(yyvsp[0].opval); }
1638 { PL_copline = yyvsp[-5].ival;
1639 yyval.opval = newSTATEOP(0, Nullch,
1640 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1641 PL_hints |= HINT_BLOCK_SCOPE; }
1645 { PL_copline = yyvsp[-6].ival;
1646 yyval.opval = block_end(yyvsp[-4].ival,
1647 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1651 { PL_copline = yyvsp[-6].ival;
1652 yyval.opval = block_end(yyvsp[-4].ival,
1653 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1657 { yyval.opval = Nullop; }
1661 { yyval.opval = scope(yyvsp[0].opval); }
1665 { PL_copline = yyvsp[-6].ival;
1666 yyval.opval = block_end(yyvsp[-4].ival,
1667 newSTATEOP(0, yyvsp[-7].pval,
1668 newWHILEOP(0, 1, (LOOP*)Nullop,
1669 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1673 { PL_copline = yyvsp[-6].ival;
1674 yyval.opval = block_end(yyvsp[-4].ival,
1675 newSTATEOP(0, yyvsp[-7].pval,
1676 newWHILEOP(0, 1, (LOOP*)Nullop,
1677 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1681 { yyval.opval = block_end(yyvsp[-6].ival,
1682 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1686 { yyval.opval = block_end(yyvsp[-4].ival,
1687 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1688 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1692 { yyval.opval = block_end(yyvsp[-4].ival,
1693 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1697 { OP *forop = append_elem(OP_LINESEQ,
1698 scalar(yyvsp[-6].opval),
1699 newWHILEOP(0, 1, (LOOP*)Nullop,
1700 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1701 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1702 PL_copline = yyvsp[-9].ival;
1703 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1707 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1708 newWHILEOP(0, 1, (LOOP*)Nullop,
1709 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1713 { yyval.opval = Nullop; }
1717 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1721 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1725 { yyval.opval = yyvsp[0].opval; intro_my(); }
1729 { yyval.opval = yyvsp[0].opval; intro_my(); }
1733 { yyval.opval = yyvsp[0].opval; intro_my(); }
1737 { yyval.opval = yyvsp[0].opval; intro_my(); }
1741 { yyval.pval = Nullch; }
1761 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1765 { yyval.opval = yyvsp[0].opval; }
1769 { yyval.opval = Nullop; }
1773 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1777 { yyval.ival = start_subparse(FALSE, 0); }
1781 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1785 { yyval.ival = start_subparse(TRUE, 0); }
1789 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1790 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1791 || strEQ(name, "INIT"))
1792 CvSPECIAL_on(PL_compcv);
1793 yyval.opval = yyvsp[0].opval; }
1797 { yyval.opval = Nullop; }
1801 { yyval.opval = yyvsp[0].opval; }
1805 { yyval.opval = Nullop; PL_expect = XSTATE; }
1809 { package(yyvsp[-1].opval); }
1813 { package(Nullop); }
1817 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
1821 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1825 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1829 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1833 { yyval.opval = yyvsp[-1].opval; }
1837 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1841 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1842 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1846 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1847 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1851 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1852 append_elem(OP_LIST,
1853 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1854 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1858 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1859 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
1860 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
1864 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1865 append_elem(OP_LIST,
1866 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1867 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1871 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1872 append_elem(OP_LIST,
1873 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1874 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1878 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1882 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1886 { yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1890 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1891 append_elem(OP_LIST,
1892 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1896 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1900 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1904 { if (yyvsp[-1].ival != OP_REPEAT)
1905 scalar(yyvsp[-2].opval);
1906 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1910 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1914 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1918 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(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 = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1938 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1942 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1946 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1950 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1954 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1958 { yyval.opval = yyvsp[0].opval; }
1962 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1966 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1970 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1974 { yyval.opval = newUNOP(OP_POSTINC, 0,
1975 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1979 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1980 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1984 { yyval.opval = newUNOP(OP_PREINC, 0,
1985 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1989 { yyval.opval = newUNOP(OP_PREDEC, 0,
1990 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1994 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1998 { yyval.opval = sawparens(yyvsp[-1].opval); }
2002 { yyval.opval = sawparens(newNULLLIST()); }
2006 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2010 { yyval.opval = newANONLIST(Nullop); }
2014 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2018 { yyval.opval = newANONHASH(Nullop); }
2022 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2026 { yyval.opval = yyvsp[0].opval; }
2030 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
2034 { yyval.opval = yyvsp[0].opval; }
2038 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2042 { yyval.opval = newBINOP(OP_AELEM, 0,
2043 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2044 scalar(yyvsp[-1].opval));}
2048 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
2049 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2050 scalar(yyvsp[-1].opval));}
2054 { yyval.opval = yyvsp[0].opval; }
2058 { yyval.opval = yyvsp[0].opval; }
2062 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2066 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2067 PL_expect = XOPERATOR; }
2071 { yyval.opval = newBINOP(OP_HELEM, 0,
2072 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2073 jmaybe(yyvsp[-2].opval));
2074 PL_expect = XOPERATOR; }
2078 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2079 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2080 jmaybe(yyvsp[-2].opval));
2081 PL_expect = XOPERATOR; }
2085 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2089 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2093 { yyval.opval = prepend_elem(OP_ASLICE,
2094 newOP(OP_PUSHMARK, 0),
2095 newLISTOP(OP_ASLICE, 0,
2096 list(yyvsp[-1].opval),
2097 ref(yyvsp[-3].opval, OP_ASLICE))); }
2101 { yyval.opval = prepend_elem(OP_HSLICE,
2102 newOP(OP_PUSHMARK, 0),
2103 newLISTOP(OP_HSLICE, 0,
2104 list(yyvsp[-2].opval),
2105 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2106 PL_expect = XOPERATOR; }
2110 { yyval.opval = yyvsp[0].opval; }
2114 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2118 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2122 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2123 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2127 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2128 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2132 { yyval.opval = dofile(yyvsp[0].opval); }
2136 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2140 { yyval.opval = newUNOP(OP_ENTERSUB,
2141 OPf_SPECIAL|OPf_STACKED,
2142 prepend_elem(OP_LIST,
2144 (OPpENTERSUB_AMPER<<8),
2145 scalar(yyvsp[-2].opval)
2146 )),Nullop)); dep();}
2150 { yyval.opval = newUNOP(OP_ENTERSUB,
2151 OPf_SPECIAL|OPf_STACKED,
2152 append_elem(OP_LIST,
2155 (OPpENTERSUB_AMPER<<8),
2156 scalar(yyvsp[-3].opval)
2161 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2162 prepend_elem(OP_LIST,
2163 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2167 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2168 prepend_elem(OP_LIST,
2170 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2174 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2175 newCVREF(0, scalar(yyvsp[-3].opval))); }
2179 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2180 append_elem(OP_LIST, yyvsp[-1].opval,
2181 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2185 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2186 PL_hints |= HINT_BLOCK_SCOPE; }
2190 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2194 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2198 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2202 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2206 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2210 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2211 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2215 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2219 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2223 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2224 scalar(yyvsp[0].opval)); }
2228 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2232 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2236 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2240 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2244 { yyval.opval = Nullop; }
2248 { yyval.opval = yyvsp[0].opval; }
2252 { yyval.opval = Nullop; }
2256 { yyval.opval = yyvsp[0].opval; }
2260 { yyval.opval = yyvsp[-1].opval; }
2272 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2276 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2280 { yyval.opval = newSVREF(yyvsp[0].opval); }
2284 { yyval.opval = newAVREF(yyvsp[0].opval); }
2288 { yyval.opval = newHVREF(yyvsp[0].opval); }
2292 { yyval.opval = newAVREF(yyvsp[0].opval); }
2296 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2300 { yyval.opval = scalar(yyvsp[0].opval); }
2304 { yyval.opval = scalar(yyvsp[0].opval); }
2308 { yyval.opval = scope(yyvsp[0].opval); }
2312 { yyval.opval = yyvsp[0].opval; }
2314 #line 2329 "perly.c"
2320 if (yystate == 0 && yym == 0)
2324 PerlIO_printf(Perl_debug_log,
2325 "yydebug: after reduction, shifting from state 0 to state %d\n",
2333 if ((yychar = yylex()) < 0) yychar = 0;
2338 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2339 if (!yys) yys = "illegal-symbol";
2340 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2341 YYFINAL, yychar, yys);
2345 if (yychar == 0) goto yyaccept;
2348 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2349 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2350 yystate = yytable[yyn];
2352 yystate = yydgoto[yym];
2355 PerlIO_printf(Perl_debug_log,
2356 "yydebug: after reduction, shifting from state %d to state %d\n",
2359 if (yyssp >= yyss + yystacksize - 1)
2362 ** reallocate and recover. Note that pointers
2363 ** have to be reset, or bad things will happen
2365 int yyps_index = (yyssp - yyss);
2366 int yypv_index = (yyvsp - yyvs);
2367 yystacksize += YYSTACKSIZE;
2368 ysave->yyvs = yyvs =
2369 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2370 ysave->yyss = yyss =
2371 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
2374 yyssp = yyss + yyps_index;
2375 yyvsp = yyvs + yypv_index;
2381 yyerror("Out of memory for yacc stack");