2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
12 deprecate("\"do\" to call subroutines");
18 45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
19 12, 12, 12, 24, 24, 24, 24, 24, 24, 24,
20 15, 15, 15, 14, 14, 42, 42, 13, 13, 13,
21 13, 13, 13, 13, 26, 26, 27, 27, 28, 29,
22 30, 31, 32, 44, 44, 1, 1, 1, 1, 3,
23 38, 38, 46, 4, 5, 6, 39, 40, 40, 41,
24 41, 47, 47, 49, 48, 16, 16, 16, 25, 25,
25 25, 36, 36, 36, 36, 36, 36, 36, 50, 36,
26 37, 37, 17, 17, 17, 17, 17, 17, 17, 17,
27 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
28 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
29 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
30 17, 17, 17, 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, 33, 33,
34 34, 34, 34, 2, 2, 43, 23, 18, 19, 20,
35 21, 22, 35, 35, 35, 35,
38 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
39 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
40 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
41 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
42 1, 1, 1, 0, 1, 1, 1, 1, 1, 4,
43 1, 0, 5, 0, 0, 0, 1, 0, 1, 1,
44 1, 3, 2, 0, 7, 3, 3, 1, 2, 3,
45 1, 3, 5, 6, 3, 5, 2, 4, 0, 5,
46 1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
47 3, 3, 3, 3, 5, 3, 2, 2, 2, 2,
48 2, 2, 2, 2, 2, 2, 3, 2, 3, 2,
49 4, 3, 4, 1, 5, 1, 4, 5, 4, 1,
50 1, 1, 5, 6, 5, 6, 5, 4, 5, 1,
51 1, 3, 4, 3, 2, 2, 4, 5, 4, 5,
52 4, 5, 1, 2, 2, 1, 2, 2, 2, 1,
53 3, 1, 3, 4, 4, 6, 1, 1, 0, 1,
54 0, 1, 2, 1, 1, 1, 2, 2, 2, 2,
57 short yydefred[] = { 1,
58 0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
59 9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
60 64, 14, 4, 157, 0, 0, 130, 0, 152, 0,
61 55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
62 0, 0, 0, 0, 0, 0, 0, 164, 165, 0,
63 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
64 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
65 0, 0, 120, 122, 0, 0, 0, 0, 158, 51,
66 0, 57, 0, 62, 0, 7, 173, 176, 175, 174,
67 0, 0, 0, 0, 0, 0, 4, 4, 4, 4,
68 4, 4, 0, 0, 0, 0, 0, 147, 0, 0,
69 0, 0, 77, 0, 171, 0, 136, 0, 0, 0,
70 0, 0, 167, 0, 0, 0, 0, 0, 0, 0,
71 0, 0, 0, 110, 0, 168, 169, 170, 172, 0,
72 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
73 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
74 0, 0, 0, 0, 102, 103, 0, 0, 0, 0,
75 0, 0, 0, 0, 13, 0, 50, 59, 0, 0,
76 0, 75, 0, 0, 79, 0, 0, 0, 0, 0,
77 0, 0, 4, 151, 153, 0, 0, 0, 0, 0,
78 0, 0, 112, 0, 134, 0, 0, 109, 27, 0,
79 0, 19, 0, 0, 0, 0, 66, 0, 0, 0,
80 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
81 0, 0, 0, 81, 0, 0, 82, 0, 0, 0,
82 0, 0, 0, 0, 132, 0, 0, 61, 60, 53,
83 0, 3, 0, 155, 0, 0, 113, 0, 42, 0,
84 43, 0, 0, 0, 0, 166, 0, 0, 36, 41,
85 0, 0, 0, 154, 163, 78, 0, 137, 0, 139,
86 0, 111, 0, 0, 0, 0, 0, 141, 0, 0,
87 0, 119, 0, 117, 0, 128, 0, 133, 0, 76,
88 0, 80, 0, 0, 0, 0, 0, 0, 0, 0,
89 73, 138, 140, 127, 0, 125, 0, 0, 142, 118,
90 0, 123, 129, 115, 65, 156, 6, 0, 0, 0,
91 0, 0, 0, 0, 0, 126, 124, 74, 7, 28,
92 29, 0, 0, 24, 25, 0, 32, 0, 0, 0,
93 22, 0, 0, 0, 31, 5, 0, 30, 0, 0,
96 short yydgoto[] = { 1,
97 9, 66, 10, 18, 95, 17, 86, 339, 89, 328,
98 3, 11, 12, 68, 344, 263, 70, 71, 72, 73,
99 74, 75, 76, 269, 78, 270, 259, 261, 264, 272,
100 260, 262, 113, 198, 91, 79, 238, 81, 83, 179,
101 250, 142, 267, 13, 2, 14, 15, 16, 85, 256,
103 short yysindex[] = { 0,
104 0, 0, -66, 0, 0, 0, -48, 0, 0, 0,
105 0, 0, 645, 0, 0, 0, -232, -227, -27, 0,
106 0, 0, 0, 0, -23, -23, 0, -6, 0, 2099,
107 0, 0, 13, 20, 24, 25, -34, 2099, 27, 28,
108 29, 1021, 965, -23, 1084, 1348, -217, 0, 0, -23,
109 2099, 2099, 2099, 2099, 2099, 2099, 1404, 0, 2099, 2099,
110 1460, -23, -23, -23, -23, 2099, -206, 0, 335, 3814,
111 -73, -68, 0, 0, -47, 40, 32, 61, 0, 0,
112 -39, 0, -157, 0, -145, 0, 0, 0, 0, 0,
113 2099, 73, 2099, 825, -39, -157, 0, 0, 0, 0,
114 0, 0, 75, 3814, 78, 1519, 965, 0, 825, 0,
115 -73, 61, 0, 2099, 0, 77, 0, 825, -16, -9,
116 -51, 2099, 0, 61, 87, 87, 87, -86, -86, 33,
117 -40, 87, 87, 0, -81, 0, 0, 0, 0, 825,
118 -39, 0, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
119 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
120 2099, 2099, 2099, 2099, 0, 0, 30, 2099, 2099, 2099,
121 2099, 2099, 2099, 1694, 0, 2099, 0, 0, -49, -118,
122 189, 0, 2099, 353, 0, -39, 2099, 2099, 2099, 2099,
123 104, 1753, 0, 0, 0, -24, 8, 85, 2099, 61,
124 1809, 1865, 0, 23, 0, 2099, 54, 0, 0, -269,
125 -269, 0, -269, -269, -269, -151, 0, -43, 1121, 825,
126 673, 50, 363, 3814, 1233, 2459, 3640, 2309, 266, -82,
127 87, 87, 2099, 0, 1928, 2099, 0, 111, 51, 12,
128 76, 14, 90, 39, 0, -22, 3814, 0, 0, 0,
129 2099, 0, 121, 0, 2099, 2099, 0, -269, 0, 124,
130 0, 125, -269, 126, 130, 0, 112, 335, 0, 0,
131 131, 136, 2099, 0, 0, 0, -14, 0, 1, 0,
132 4, 0, 133, 2099, 55, 2099, 49, 0, 6, 197,
133 2099, 0, 89, 0, 94, 0, 100, 0, 144, 0,
134 1175, 0, 92, 92, 92, 92, 2099, 92, 2099, 171,
135 0, 0, 0, 0, 202, 0, 3900, 108, 0, 0,
136 188, 0, 0, 0, 0, 0, 0, -206, -206, -238,
137 -238, 199, -206, 211, 92, 0, 0, 0, 0, 0,
138 0, 92, 241, 0, 0, 92, 0, 1753, -206, 326,
139 0, 2099, -206, 256, 0, 0, 259, 0, 92, 92,
142 short yyrindex[] = { 0,
143 0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
144 0, 0, 0, 0, 0, 0, 184, 0, 0, 0,
145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
146 0, 0, 0, 0, 0, 0, 0, 2228, 426, 0,
147 0, 2833, 2876, 0, 0, 0, 0, 0, 0, 0,
148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149 0, 0, 0, 0, 0, 0, 59, 0, -10, 2038,
150 2952, 2995, 0, 0, 2274, 2140, 0, 200, 0, 0,
151 0, 0, -44, 0, 0, 0, 0, 0, 0, 0,
152 2421, 0, 0, 105, 0, 198, 0, 0, 0, 0,
153 0, 0, 0, 3753, 0, 0, 319, 0, 3505, 525,
154 586, 2510, 0, 0, 0, 2185, 0, 3541, 2952, 0,
155 0, 2421, 0, 2553, 3112, 3150, 3188, -37, 3069, 2597,
156 0, 3231, 3269, 0, 0, 0, 0, 0, 0, 3584,
157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
160 0, 0, 0, 0, 0, 2673, 0, 0, 0, 0,
161 909, 0, 319, 0, 0, 0, 320, 0, 0, 0,
162 0, 306, 0, 0, 0, 0, 325, 0, 0, 2789,
163 0, 0, 0, 0, 0, 0, 2716, 0, 0, -5,
164 22, 0, 68, 69, 70, 702, 0, 0, 3741, 1296,
165 1560, 3386, 3424, 3796, 0, 3703, 3660, 3622, 1616, 3467,
166 3305, 3348, 0, 0, 0, 0, 0, 0, 0, 0,
167 0, 0, 0, 0, 0, 0, 3809, 0, 0, 0,
168 309, 0, 0, 0, 0, 2421, 0, 79, 0, 0,
169 0, 0, 330, 0, 0, 0, 0, 84, 0, 0,
170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
172 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
173 0, 0, 0, 0, 0, 0, 0, 0, 317, 0,
174 0, 0, 0, 0, 0, 0, 1982, 0, 0, 0,
175 0, 0, 0, 0, 0, 0, 0, 59, 59, 154,
176 154, 0, 59, 0, 0, 0, 0, 0, 0, 0,
177 0, 0, 0, 0, 0, 0, 0, 340, 59, 909,
178 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
181 short yygindex[] = { 0,
182 0, 0, 0, 374, 351, 0, -12, 0, 946, 413,
183 -83, 0, 0, 0, -311, -13, 4007, 2893, 0, 0,
184 0, 0, 0, 372, -8, 0, 0, 246, -131, 43,
185 86, 208, -45, -169, 987, 0, 0, 0, 0, 308,
186 0, -271, 0, 0, 0, 0, 0, 0, 0, 0,
188 #define YYTABLESIZE 4293
189 short yytable[] = { 69,
190 207, 62, 181, 104, 168, 102, 104, 204, 168, 248,
191 20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
192 104, 104, 172, 202, 80, 104, 311, 148, 149, 82,
193 15, 84, 121, 93, 112, 18, 150, 342, 343, 122,
194 150, 312, 124, 131, 313, 182, 319, 135, 15, 169,
195 363, 275, 97, 18, 171, 104, 340, 341, 26, 98,
196 271, 347, 39, 99, 100, 62, 105, 106, 107, 235,
197 293, 141, 295, 23, 170, 173, 205, 355, 58, 174,
198 39, 358, 112, 23, 187, 188, 189, 190, 191, 192,
199 175, 26, 196, 197, 26, 26, 26, 297, 26, 23,
200 26, 26, 178, 26, 176, 200, 169, 318, 16, 17,
201 20, 180, 183, 112, 193, 203, 201, 26, 194, 38,
202 236, 321, 26, 206, 40, 276, 16, 17, 20, 210,
203 211, 213, 214, 215, 216, 217, 218, 38, 251, 62,
204 168, 310, 15, 292, 284, 149, 149, 282, 149, 26,
205 291, 307, 233, 21, 239, 240, 241, 242, 243, 244,
206 246, 300, 149, 149, 303, 304, 305, 149, 294, 197,
207 306, 308, 150, 258, 211, 332, 211, 168, 268, 316,
208 273, 26, 296, 26, 26, 277, 21, 279, 281, 21,
209 21, 21, 283, 21, 309, 21, 21, 149, 21, 4,
210 5, 6, 325, 7, 8, 299, 154, 155, 19, 150,
211 302, 335, 21, 322, 327, 148, 149, 21, 323, 287,
212 357, 289, 290, 163, 324, 314, 164, 167, 338, 165,
213 166, 167, 337, 87, 104, 104, 104, 104, 88, 346,
214 68, 104, 112, 104, 21, 148, 149, 112, 2, 104,
215 104, 104, 104, 148, 149, 350, 148, 149, 68, 104,
216 104, 101, 104, 104, 104, 104, 104, 104, 104, 348,
217 315, 104, 148, 149, 148, 149, 21, 197, 21, 21,
218 352, 44, 148, 149, 44, 44, 44, 234, 44, 320,
219 44, 44, 68, 44, 336, 258, 359, 148, 149, 360,
220 148, 149, 148, 149, 148, 149, 52, 44, 148, 149,
221 148, 149, 44, 252, 26, 26, 26, 26, 26, 26,
222 58, 26, 26, 26, 26, 26, 26, 26, 26, 26,
223 26, 26, 26, 26, 69, 148, 149, 26, 26, 44,
224 26, 26, 26, 26, 26, 148, 149, 148, 149, 26,
225 26, 26, 26, 26, 26, 163, 168, 26, 164, 161,
226 37, 165, 166, 167, 35, 162, 26, 159, 26, 26,
227 40, 44, 148, 149, 44, 37, 149, 149, 149, 149,
228 35, 21, 96, 149, 77, 149, 148, 149, 150, 212,
229 354, 149, 149, 254, 334, 164, 255, 265, 165, 166,
230 167, 149, 149, 186, 149, 149, 149, 149, 149, 21,
231 21, 21, 21, 21, 21, 157, 21, 21, 21, 21,
232 21, 21, 21, 21, 21, 21, 21, 21, 21, 148,
233 149, 0, 21, 21, 0, 21, 21, 21, 21, 21,
234 0, 0, 0, 168, 21, 21, 21, 21, 21, 21,
235 356, 0, 21, 168, 4, 5, 6, 0, 7, 8,
236 0, 21, 0, 21, 21, 0, 150, 0, 0, 150,
237 0, 68, 68, 68, 68, 150, 0, 0, 68, 0,
238 0, 0, 0, 150, 150, 150, 0, 0, 150, 0,
239 0, 0, 0, 148, 149, 0, 68, 68, 148, 149,
240 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
241 0, 44, 44, 44, 0, 0, 150, 44, 150, 0,
242 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
243 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
244 44, 44, 44, 44, 44, 0, 0, 44, 150, 0,
245 0, 0, 152, 153, 154, 155, 44, 173, 44, 44,
246 173, 173, 173, 0, 173, 157, 173, 173, 157, 173,
247 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
248 0, 0, 157, 157, 0, 0, 0, 157, 173, 0,
249 0, 4, 5, 6, 0, 7, 8, 0, 0, 0,
250 0, 0, 0, 0, 0, 0, 143, 144, 145, 146,
251 0, 0, 0, 147, 0, 157, 0, 157, 174, 0,
252 0, 174, 174, 174, 0, 174, 114, 174, 174, 114,
253 174, 148, 149, 151, 0, 0, 0, 0, 0, 152,
254 153, 154, 155, 114, 114, 0, 0, 157, 114, 174,
255 173, 154, 156, 158, 159, 160, 161, 162, 163, 0,
256 0, 164, 0, 0, 165, 166, 167, 0, 163, 0,
257 0, 164, 0, 0, 165, 166, 167, 52, 114, 0,
258 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
259 0, 0, 0, 0, 0, 0, 0, 150, 150, 150,
260 150, 0, 0, 58, 150, 0, 150, 0, 63, 0,
261 0, 174, 150, 150, 150, 150, 329, 330, 331, 0,
262 333, 0, 150, 150, 0, 150, 150, 150, 150, 150,
263 150, 150, 0, 0, 150, 61, 0, 150, 150, 150,
264 0, 0, 67, 0, 0, 67, 0, 349, 0, 0,
265 0, 0, 0, 0, 351, 0, 0, 0, 353, 0,
266 67, 0, 0, 168, 0, 0, 0, 23, 0, 0,
267 53, 361, 362, 0, 0, 0, 0, 0, 0, 0,
268 0, 173, 173, 173, 173, 173, 0, 173, 173, 173,
269 0, 0, 0, 173, 67, 150, 157, 157, 157, 157,
270 0, 0, 0, 157, 173, 157, 173, 173, 173, 173,
271 173, 157, 157, 157, 157, 173, 173, 173, 173, 173,
272 173, 157, 157, 173, 157, 157, 157, 157, 157, 157,
273 157, 0, 173, 157, 173, 173, 157, 157, 157, 0,
274 0, 0, 174, 174, 174, 174, 174, 0, 174, 174,
275 174, 0, 0, 0, 174, 0, 0, 114, 114, 114,
276 114, 0, 0, 0, 114, 174, 114, 174, 174, 174,
277 174, 174, 114, 114, 114, 114, 174, 174, 174, 174,
278 174, 174, 114, 114, 174, 114, 114, 114, 114, 114,
279 114, 114, 0, 174, 114, 174, 174, 114, 114, 114,
280 22, 24, 25, 26, 27, 28, 0, 29, 30, 31,
281 0, 0, 0, 32, 0, 168, 33, 34, 35, 36,
282 0, 0, 0, 37, 38, 0, 39, 40, 41, 42,
283 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
284 49, 44, 0, 51, 44, 44, 44, 150, 44, 0,
285 44, 44, 54, 44, 55, 56, 0, 0, 67, 152,
286 0, 154, 155, 0, 0, 0, 0, 44, 0, 0,
287 0, 0, 44, 67, 67, 67, 67, 162, 163, 0,
288 67, 164, 0, 0, 165, 166, 167, 108, 0, 0,
289 117, 0, 0, 0, 0, 0, 0, 52, 67, 44,
290 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
291 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
292 0, 0, 0, 0, 0, 0, 177, 0, 63, 114,
293 115, 44, 0, 0, 44, 0, 123, 0, 0, 0,
294 185, 0, 0, 0, 0, 0, 0, 0, 136, 137,
295 138, 139, 0, 52, 0, 61, 62, 64, 50, 0,
296 57, 0, 65, 60, 0, 59, 0, 0, 0, 0,
297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
298 0, 0, 0, 0, 63, 0, 209, 23, 0, 0,
299 53, 0, 0, 199, 0, 0, 0, 0, 0, 0,
300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
301 0, 61, 0, 154, 155, 0, 52, 0, 0, 62,
302 64, 50, 0, 57, 249, 65, 60, 0, 59, 162,
303 163, 257, 0, 164, 0, 0, 165, 166, 167, 0,
304 0, 0, 0, 23, 0, 0, 53, 63, 0, 0,
305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
306 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
307 0, 44, 44, 44, 61, 0, 0, 44, 0, 0,
308 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
309 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
310 44, 44, 44, 44, 44, 0, 23, 44, 0, 53,
311 0, 168, 0, 0, 0, 326, 44, 0, 44, 44,
312 0, 110, 25, 26, 27, 28, 88, 29, 30, 31,
313 0, 0, 0, 32, 0, 0, 0, 157, 0, 0,
314 0, 0, 0, 150, 38, 0, 39, 40, 41, 42,
315 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
316 49, 0, 0, 51, 0, 168, 0, 0, 0, 0,
317 0, 0, 54, 0, 55, 56, 0, 24, 25, 26,
318 27, 28, 0, 29, 30, 31, 0, 0, 0, 32,
319 286, 0, 0, 0, 0, 157, 0, 150, 0, 0,
320 38, 0, 39, 40, 41, 42, 43, 0, 0, 0,
321 0, 44, 45, 46, 47, 48, 49, 0, 0, 51,
322 0, 0, 0, 168, 0, 0, 0, 0, 54, 0,
323 55, 56, 0, 0, 0, 0, 88, 0, 0, 88,
324 116, 25, 26, 27, 28, 0, 29, 30, 31, 0,
325 0, 0, 32, 88, 88, 150, 0, 0, 88, 0,
326 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
327 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
328 52, 0, 51, 62, 64, 50, 0, 57, 88, 65,
329 60, 54, 59, 55, 56, 0, 0, 0, 0, 0,
330 0, 0, 0, 0, 0, 0, 120, 152, 153, 154,
331 155, 63, 0, 0, 0, 0, 0, 0, 0, 0,
332 0, 158, 159, 160, 161, 162, 163, 0, 0, 164,
333 0, 0, 165, 166, 167, 0, 52, 0, 61, 62,
334 64, 50, 0, 57, 130, 65, 60, 0, 59, 0,
335 0, 0, 0, 0, 0, 151, 0, 0, 0, 0,
336 0, 152, 153, 154, 155, 0, 0, 63, 0, 0,
337 0, 0, 0, 53, 156, 158, 159, 160, 161, 162,
338 163, 0, 0, 164, 0, 0, 165, 166, 167, 0,
339 0, 0, 52, 0, 61, 62, 64, 50, 0, 57,
340 0, 65, 60, 0, 59, 0, 0, 0, 0, 0,
341 0, 0, 0, 151, 0, 0, 0, 0, 0, 152,
342 153, 154, 155, 63, 0, 0, 0, 0, 0, 53,
343 0, 0, 156, 158, 159, 160, 161, 162, 163, 0,
344 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
345 61, 52, 134, 0, 62, 64, 50, 0, 57, 195,
346 65, 60, 0, 59, 0, 0, 0, 88, 88, 88,
347 88, 0, 0, 0, 88, 0, 88, 0, 0, 0,
348 0, 0, 63, 88, 0, 53, 0, 0, 0, 0,
349 0, 0, 88, 88, 0, 88, 88, 88, 88, 88,
350 89, 0, 0, 89, 24, 25, 26, 27, 28, 61,
351 29, 30, 31, 0, 0, 0, 32, 89, 89, 0,
352 0, 0, 89, 0, 0, 0, 0, 38, 0, 39,
353 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
354 46, 47, 48, 49, 53, 0, 51, 0, 0, 0,
355 0, 0, 89, 0, 0, 54, 90, 55, 56, 90,
356 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
357 0, 0, 32, 90, 90, 0, 0, 0, 90, 0,
358 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
359 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
360 0, 0, 51, 0, 0, 0, 0, 0, 90, 0,
361 0, 54, 0, 55, 56, 0, 24, 25, 26, 27,
362 28, 0, 29, 30, 31, 0, 52, 0, 32, 62,
363 64, 50, 0, 57, 245, 65, 60, 0, 59, 38,
364 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
365 44, 45, 46, 47, 48, 49, 0, 63, 51, 0,
366 0, 0, 0, 0, 0, 0, 0, 54, 0, 55,
367 56, 0, 0, 0, 0, 24, 25, 26, 27, 28,
368 0, 29, 30, 31, 61, 52, 0, 32, 62, 64,
369 50, 0, 57, 0, 65, 60, 0, 59, 38, 0,
370 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
371 45, 46, 47, 48, 49, 0, 63, 51, 0, 53,
372 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
373 0, 89, 89, 89, 89, 0, 0, 0, 89, 0,
374 89, 52, 0, 61, 62, 64, 50, 0, 57, 278,
375 65, 60, 0, 59, 0, 0, 89, 89, 0, 89,
376 89, 89, 89, 89, 0, 0, 0, 0, 0, 0,
377 0, 0, 63, 0, 0, 0, 0, 0, 53, 0,
378 0, 0, 0, 0, 0, 0, 0, 90, 90, 90,
379 90, 0, 0, 0, 90, 0, 90, 52, 0, 61,
380 62, 64, 50, 0, 57, 280, 65, 60, 0, 59,
381 0, 0, 90, 90, 0, 90, 90, 90, 90, 90,
382 0, 0, 0, 0, 0, 0, 0, 0, 63, 0,
383 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
385 24, 25, 26, 27, 28, 61, 29, 30, 31, 0,
386 52, 0, 32, 62, 64, 50, 0, 57, 288, 65,
387 60, 0, 59, 38, 0, 39, 40, 41, 42, 43,
388 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
389 53, 63, 51, 0, 0, 0, 0, 0, 0, 0,
390 0, 54, 0, 55, 56, 0, 0, 0, 22, 24,
391 25, 26, 27, 28, 0, 29, 30, 31, 61, 0,
392 0, 32, 95, 0, 0, 95, 0, 0, 0, 0,
393 0, 0, 38, 0, 39, 40, 41, 42, 43, 95,
394 95, 0, 0, 44, 45, 46, 47, 48, 49, 0,
395 0, 51, 0, 53, 0, 0, 0, 0, 0, 0,
396 54, 0, 55, 56, 0, 24, 25, 26, 27, 28,
397 0, 29, 30, 31, 95, 0, 0, 32, 71, 0,
398 0, 71, 0, 0, 0, 0, 0, 0, 38, 0,
399 39, 40, 41, 42, 43, 71, 71, 0, 0, 44,
400 45, 46, 47, 48, 49, 0, 0, 51, 0, 0,
401 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
402 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
403 71, 52, 0, 32, 62, 64, 50, 0, 57, 0,
404 65, 60, 0, 59, 38, 0, 39, 40, 41, 42,
405 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
406 49, 0, 63, 51, 0, 0, 0, 0, 0, 0,
407 0, 0, 54, 0, 55, 56, 0, 0, 0, 0,
408 131, 0, 0, 131, 24, 25, 26, 27, 28, 61,
409 29, 30, 31, 0, 0, 0, 32, 131, 131, 0,
410 0, 0, 131, 0, 0, 0, 0, 38, 0, 39,
411 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
412 46, 47, 48, 49, 53, 157, 51, 0, 157, 0,
413 131, 0, 131, 0, 0, 54, 0, 55, 56, 0,
414 0, 0, 157, 157, 0, 0, 0, 157, 0, 0,
415 0, 0, 0, 95, 95, 95, 95, 0, 0, 0,
416 95, 0, 131, 0, 0, 0, 0, 0, 143, 0,
417 0, 143, 0, 0, 0, 157, 0, 157, 95, 95,
418 0, 95, 0, 0, 0, 143, 143, 0, 0, 0,
419 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 157, 0, 71,
421 71, 71, 71, 0, 116, 0, 71, 116, 0, 0,
422 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 116, 116, 0, 71, 71, 116, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 143, 0, 0, 0, 0, 24, 25, 26, 27, 28,
426 0, 29, 30, 31, 116, 0, 116, 32, 0, 0,
427 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
428 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
429 45, 46, 47, 48, 49, 0, 0, 51, 0, 168,
430 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
431 0, 131, 131, 131, 131, 0, 0, 0, 131, 0,
432 131, 0, 0, 0, 0, 0, 131, 131, 131, 131,
433 0, 150, 0, 0, 0, 0, 131, 131, 0, 131,
434 131, 131, 131, 131, 131, 131, 0, 0, 131, 0,
435 0, 131, 131, 131, 0, 0, 157, 157, 157, 157,
436 0, 159, 0, 157, 159, 157, 0, 0, 0, 0,
437 0, 157, 157, 157, 157, 0, 0, 0, 159, 159,
438 0, 157, 157, 159, 157, 157, 157, 157, 157, 157,
439 157, 0, 0, 157, 0, 0, 157, 157, 157, 143,
440 143, 143, 143, 0, 0, 0, 143, 0, 143, 0,
441 0, 0, 0, 159, 143, 143, 143, 143, 0, 0,
442 0, 0, 0, 0, 143, 143, 0, 143, 143, 143,
443 143, 143, 143, 143, 0, 0, 143, 0, 0, 143,
444 143, 143, 0, 159, 0, 116, 116, 116, 116, 168,
445 160, 0, 116, 0, 116, 0, 0, 0, 0, 0,
446 116, 116, 116, 116, 0, 0, 0, 160, 160, 0,
447 116, 116, 160, 116, 116, 116, 116, 116, 116, 116,
448 0, 150, 116, 0, 0, 116, 116, 116, 0, 0,
449 0, 0, 0, 145, 0, 152, 153, 154, 155, 0,
450 160, 0, 160, 0, 0, 0, 0, 0, 0, 0,
451 145, 145, 161, 162, 163, 145, 0, 164, 0, 0,
452 165, 166, 167, 0, 0, 0, 0, 0, 0, 0,
453 0, 0, 160, 0, 0, 0, 0, 108, 0, 0,
454 108, 0, 0, 145, 0, 145, 0, 0, 0, 0,
455 0, 0, 0, 0, 108, 108, 0, 0, 0, 108,
456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
457 0, 0, 0, 0, 0, 145, 0, 0, 0, 0,
458 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
459 0, 0, 159, 159, 159, 159, 0, 0, 0, 159,
460 0, 159, 0, 0, 0, 0, 0, 159, 159, 159,
461 159, 0, 0, 69, 0, 0, 69, 159, 159, 108,
462 159, 159, 159, 159, 159, 159, 159, 0, 0, 159,
463 69, 69, 159, 159, 159, 69, 0, 0, 0, 0,
464 0, 0, 0, 0, 0, 152, 153, 154, 155, 0,
465 0, 0, 0, 0, 0, 0, 107, 0, 0, 107,
466 159, 160, 161, 162, 163, 69, 0, 164, 0, 0,
467 165, 166, 167, 107, 107, 0, 0, 0, 107, 0,
468 0, 160, 160, 160, 160, 0, 0, 0, 160, 0,
469 160, 0, 0, 0, 0, 69, 160, 160, 160, 160,
470 0, 0, 0, 0, 0, 0, 160, 160, 107, 160,
471 160, 160, 160, 160, 160, 160, 0, 0, 160, 0,
472 0, 160, 160, 160, 145, 145, 145, 145, 0, 72,
473 0, 145, 0, 145, 0, 0, 0, 0, 107, 145,
474 145, 145, 145, 0, 0, 0, 72, 72, 0, 145,
475 145, 72, 145, 145, 145, 145, 145, 145, 145, 0,
476 0, 145, 0, 0, 145, 145, 145, 0, 108, 108,
477 108, 108, 0, 146, 0, 108, 146, 108, 0, 72,
478 0, 72, 0, 108, 108, 108, 108, 0, 0, 0,
479 146, 146, 0, 108, 108, 146, 108, 108, 108, 108,
480 108, 108, 108, 0, 0, 108, 0, 0, 108, 108,
481 108, 72, 0, 0, 0, 0, 159, 90, 90, 159,
482 0, 0, 0, 0, 0, 146, 0, 0, 0, 103,
483 0, 0, 0, 159, 159, 111, 90, 119, 159, 0,
484 0, 0, 90, 0, 69, 69, 69, 69, 0, 0,
485 0, 69, 0, 69, 90, 90, 90, 90, 0, 69,
486 69, 69, 69, 0, 0, 0, 0, 0, 159, 69,
487 69, 0, 69, 69, 69, 69, 69, 69, 69, 0,
488 0, 69, 0, 0, 69, 69, 69, 107, 107, 107,
489 107, 0, 114, 0, 107, 114, 107, 0, 0, 111,
490 0, 0, 107, 107, 107, 107, 0, 0, 0, 114,
491 114, 0, 107, 107, 114, 107, 107, 107, 107, 107,
492 107, 107, 0, 0, 107, 0, 0, 107, 107, 107,
493 0, 0, 0, 0, 0, 121, 0, 0, 121, 0,
494 0, 0, 0, 0, 114, 0, 0, 0, 0, 0,
495 0, 0, 121, 121, 0, 0, 0, 121, 0, 237,
496 72, 72, 72, 72, 0, 0, 0, 72, 0, 72,
497 0, 0, 0, 0, 0, 72, 72, 72, 72, 0,
498 0, 0, 0, 266, 0, 72, 72, 121, 72, 72,
499 72, 72, 72, 72, 72, 0, 0, 72, 0, 0,
500 72, 72, 72, 0, 146, 146, 146, 146, 0, 105,
501 0, 146, 105, 146, 0, 0, 0, 0, 0, 146,
502 146, 146, 146, 0, 0, 0, 105, 105, 0, 146,
503 146, 105, 146, 146, 146, 146, 146, 146, 146, 0,
504 0, 146, 0, 0, 146, 146, 146, 159, 159, 159,
505 159, 0, 99, 0, 159, 99, 159, 0, 0, 0,
506 0, 105, 159, 159, 159, 159, 0, 0, 0, 99,
507 99, 0, 159, 159, 99, 159, 159, 159, 159, 159,
508 159, 159, 0, 0, 159, 0, 0, 159, 159, 159,
509 100, 0, 0, 100, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 99, 0, 0, 100, 100, 0,
511 0, 0, 100, 0, 0, 0, 0, 0, 0, 0,
512 0, 0, 0, 114, 114, 114, 114, 0, 101, 0,
513 114, 101, 114, 0, 0, 0, 0, 0, 114, 114,
514 114, 114, 100, 0, 0, 101, 101, 0, 114, 114,
515 101, 114, 114, 114, 114, 114, 114, 114, 0, 0,
516 114, 0, 0, 114, 114, 114, 121, 121, 121, 121,
517 0, 97, 0, 121, 97, 121, 0, 0, 0, 0,
518 101, 121, 121, 121, 121, 0, 0, 0, 97, 97,
519 0, 121, 121, 97, 121, 121, 121, 121, 121, 121,
520 121, 0, 0, 121, 0, 0, 121, 121, 121, 98,
521 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
522 0, 0, 0, 97, 0, 0, 98, 98, 0, 0,
523 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
524 105, 105, 105, 105, 0, 96, 0, 105, 96, 105,
525 0, 0, 0, 0, 0, 105, 105, 105, 105, 0,
526 0, 98, 96, 96, 0, 105, 105, 96, 105, 105,
527 105, 105, 105, 105, 105, 0, 0, 105, 0, 0,
528 0, 0, 0, 99, 99, 99, 99, 0, 84, 0,
529 99, 84, 99, 0, 0, 0, 0, 96, 99, 99,
530 99, 99, 0, 0, 0, 84, 84, 0, 99, 99,
531 84, 99, 99, 99, 99, 99, 99, 99, 0, 0,
532 0, 100, 100, 100, 100, 0, 85, 0, 100, 85,
533 100, 0, 0, 0, 0, 0, 100, 100, 100, 100,
534 84, 0, 0, 85, 85, 0, 100, 100, 85, 100,
535 100, 100, 100, 100, 100, 100, 0, 0, 0, 101,
536 101, 101, 101, 0, 86, 0, 101, 86, 101, 0,
537 0, 0, 0, 0, 101, 101, 101, 101, 85, 0,
538 0, 86, 86, 0, 101, 101, 86, 101, 101, 101,
539 101, 101, 101, 101, 0, 0, 0, 0, 0, 0,
540 0, 0, 97, 97, 97, 97, 0, 87, 0, 97,
541 87, 97, 0, 0, 0, 0, 86, 97, 97, 97,
542 97, 0, 0, 0, 87, 87, 0, 97, 97, 87,
543 97, 97, 97, 97, 97, 97, 97, 0, 0, 0,
544 98, 98, 98, 98, 0, 148, 0, 98, 148, 98,
545 0, 0, 0, 0, 0, 98, 98, 98, 98, 87,
546 0, 0, 148, 148, 0, 98, 98, 148, 98, 98,
547 98, 98, 98, 98, 98, 0, 96, 96, 96, 96,
548 0, 135, 0, 96, 135, 96, 0, 0, 0, 0,
549 0, 96, 96, 96, 96, 0, 0, 148, 135, 135,
550 0, 96, 96, 135, 96, 96, 96, 96, 96, 96,
551 96, 0, 0, 0, 0, 0, 0, 0, 0, 84,
552 84, 84, 84, 0, 106, 0, 84, 106, 84, 0,
553 0, 0, 0, 135, 84, 84, 84, 84, 0, 0,
554 0, 106, 106, 0, 84, 84, 106, 84, 84, 84,
555 84, 84, 84, 84, 0, 0, 0, 85, 85, 85,
556 85, 0, 91, 0, 85, 91, 85, 0, 0, 0,
557 0, 0, 85, 85, 85, 85, 106, 0, 0, 91,
558 91, 0, 85, 85, 91, 85, 85, 85, 85, 85,
559 85, 0, 0, 0, 0, 86, 86, 86, 86, 0,
560 93, 0, 86, 93, 86, 0, 0, 0, 0, 0,
561 86, 86, 0, 86, 91, 0, 0, 93, 93, 0,
562 86, 86, 93, 86, 86, 86, 86, 86, 86, 0,
563 168, 0, 0, 0, 0, 0, 0, 0, 87, 87,
564 87, 87, 0, 94, 0, 87, 94, 87, 0, 0,
565 0, 0, 93, 87, 87, 0, 0, 0, 0, 0,
566 94, 94, 150, 87, 87, 94, 87, 87, 87, 87,
567 87, 87, 0, 0, 0, 0, 148, 148, 148, 148,
568 0, 92, 0, 148, 92, 148, 0, 0, 0, 0,
569 0, 148, 148, 144, 0, 94, 144, 0, 92, 92,
570 0, 148, 148, 92, 148, 148, 148, 148, 148, 0,
571 144, 144, 135, 135, 135, 135, 0, 0, 0, 135,
572 0, 135, 0, 0, 0, 0, 0, 135, 135, 0,
573 0, 0, 0, 92, 0, 0, 83, 135, 135, 83,
574 135, 135, 135, 135, 135, 144, 0, 0, 0, 70,
575 0, 0, 70, 83, 83, 106, 106, 106, 106, 0,
576 0, 0, 106, 0, 106, 0, 70, 70, 0, 0,
577 106, 106, 0, 0, 0, 0, 157, 0, 0, 0,
578 106, 106, 0, 106, 106, 106, 106, 106, 83, 0,
579 0, 0, 0, 91, 91, 91, 91, 0, 0, 0,
580 91, 70, 91, 0, 168, 0, 0, 0, 0, 0,
581 0, 0, 0, 0, 0, 0, 0, 0, 91, 91,
582 0, 91, 91, 91, 91, 0, 152, 153, 154, 155,
583 0, 93, 93, 93, 93, 0, 150, 0, 93, 0,
584 93, 0, 160, 161, 162, 163, 0, 0, 164, 0,
585 0, 165, 166, 167, 0, 0, 93, 93, 0, 93,
586 93, 93, 157, 0, 0, 0, 0, 0, 0, 0,
587 0, 0, 0, 0, 94, 94, 94, 94, 0, 0,
588 0, 94, 0, 94, 0, 0, 0, 0, 0, 0,
589 168, 0, 0, 0, 0, 0, 0, 0, 0, 94,
590 94, 0, 94, 94, 0, 0, 0, 0, 0, 0,
591 0, 0, 92, 92, 92, 92, 0, 0, 0, 92,
592 0, 0, 150, 0, 144, 144, 144, 144, 0, 0,
593 0, 144, 0, 0, 0, 0, 94, 92, 92, 0,
594 92, 0, 0, 0, 104, 0, 0, 0, 109, 144,
595 144, 118, 0, 0, 0, 0, 0, 0, 125, 126,
596 127, 128, 129, 0, 0, 132, 133, 83, 83, 83,
597 83, 0, 140, 0, 83, 0, 0, 0, 0, 0,
598 70, 70, 70, 70, 0, 0, 0, 70, 0, 0,
599 0, 0, 83, 83, 151, 0, 0, 0, 0, 184,
600 152, 153, 154, 155, 0, 70, 70, 0, 0, 0,
601 0, 0, 0, 156, 158, 159, 160, 161, 162, 163,
602 0, 0, 164, 0, 0, 165, 166, 167, 0, 0,
603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
605 0, 0, 0, 0, 0, 0, 0, 219, 220, 221,
606 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
607 232, 0, 0, 0, 0, 0, 0, 0, 0, 0,
608 151, 0, 247, 0, 0, 0, 152, 153, 154, 155,
609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
610 158, 159, 160, 161, 162, 163, 0, 0, 164, 0,
611 0, 165, 166, 167, 0, 0, 0, 0, 0, 0,
612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
616 0, 301, 0, 0, 0, 0, 0, 0, 0, 0,
617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
621 short yycheck[] = { 13,
622 41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
623 59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
624 58, 59, 91, 40, 257, 63, 41, 297, 298, 257,
625 41, 59, 46, 40, 43, 41, 123, 276, 277, 257,
626 123, 41, 51, 57, 41, 91, 41, 61, 59, 123,
627 362, 44, 40, 59, 123, 93, 328, 329, 0, 40,
628 192, 333, 41, 40, 40, 36, 40, 40, 40, 40,
629 59, 278, 59, 123, 91, 123, 122, 349, 123, 40,
630 59, 353, 91, 123, 97, 98, 99, 100, 101, 102,
631 59, 33, 106, 107, 36, 37, 38, 59, 40, 123,
632 42, 43, 260, 45, 44, 114, 123, 59, 41, 41,
633 41, 257, 40, 122, 40, 125, 40, 59, 41, 41,
634 91, 291, 64, 91, 41, 41, 59, 59, 59, 143,
635 144, 145, 146, 147, 148, 149, 150, 59, 257, 36,
636 91, 273, 59, 93, 91, 41, 298, 125, 44, 91,
637 40, 40, 123, 0, 168, 169, 170, 171, 172, 173,
638 174, 41, 58, 59, 41, 41, 41, 63, 93, 183,
639 41, 41, 123, 187, 188, 307, 190, 91, 192, 125,
640 193, 123, 93, 125, 126, 199, 33, 201, 202, 36,
641 37, 38, 206, 40, 59, 42, 43, 93, 45, 266,
642 267, 268, 59, 270, 271, 251, 289, 290, 257, 123,
643 256, 41, 59, 125, 123, 297, 298, 64, 125, 233,
644 352, 235, 236, 306, 125, 93, 309, 314, 41, 312,
645 313, 314, 125, 257, 272, 273, 274, 275, 262, 41,
646 41, 279, 251, 281, 91, 297, 298, 256, 0, 287,
647 288, 289, 290, 297, 298, 339, 297, 298, 59, 297,
648 298, 296, 300, 301, 302, 303, 304, 305, 306, 59,
649 284, 309, 297, 298, 297, 298, 123, 291, 125, 126,
650 40, 33, 297, 298, 36, 37, 38, 258, 40, 93,
651 42, 43, 93, 45, 93, 309, 41, 297, 298, 41,
652 297, 298, 297, 298, 297, 298, 123, 59, 297, 298,
653 297, 298, 64, 125, 256, 257, 258, 259, 260, 261,
654 123, 263, 264, 265, 266, 267, 268, 269, 270, 271,
655 272, 273, 274, 275, 348, 297, 298, 279, 280, 91,
656 282, 283, 284, 285, 286, 297, 298, 297, 298, 291,
657 292, 293, 294, 295, 296, 306, 91, 299, 309, 41,
658 41, 312, 313, 314, 59, 41, 308, 59, 310, 311,
659 41, 123, 297, 298, 126, 59, 272, 273, 274, 275,
660 41, 8, 32, 279, 13, 281, 297, 298, 123, 144,
661 348, 287, 288, 41, 309, 309, 44, 190, 312, 313,
662 314, 297, 298, 96, 300, 301, 302, 303, 304, 256,
663 257, 258, 259, 260, 261, 63, 263, 264, 265, 266,
664 267, 268, 269, 270, 271, 272, 273, 274, 275, 297,
665 298, -1, 279, 280, -1, 282, 283, 284, 285, 286,
666 -1, -1, -1, 91, 291, 292, 293, 294, 295, 296,
667 125, -1, 299, 91, 266, 267, 268, -1, 270, 271,
668 -1, 308, -1, 310, 311, -1, 41, -1, -1, 44,
669 -1, 272, 273, 274, 275, 123, -1, -1, 279, -1,
670 -1, -1, -1, 58, 59, 123, -1, -1, 63, -1,
671 -1, -1, -1, 297, 298, -1, 297, 298, 297, 298,
672 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
673 -1, 263, 264, 265, -1, -1, 91, 269, 93, -1,
674 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
675 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
676 292, 293, 294, 295, 296, -1, -1, 299, 123, -1,
677 -1, -1, 287, 288, 289, 290, 308, 33, 310, 311,
678 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
679 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
680 -1, -1, 58, 59, -1, -1, -1, 63, 64, -1,
681 -1, 266, 267, 268, -1, 270, 271, -1, -1, -1,
682 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
683 -1, -1, -1, 279, -1, 91, -1, 93, 33, -1,
684 -1, 36, 37, 38, -1, 40, 41, 42, 43, 44,
685 45, 297, 298, 281, -1, -1, -1, -1, -1, 287,
686 288, 289, 290, 58, 59, -1, -1, 123, 63, 64,
687 126, 289, 300, 301, 302, 303, 304, 305, 306, -1,
688 -1, 309, -1, -1, 312, 313, 314, -1, 306, -1,
689 -1, 309, -1, -1, 312, 313, 314, 33, 93, -1,
690 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
691 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
692 275, -1, -1, 59, 279, -1, 281, -1, 64, -1,
693 -1, 126, 287, 288, 289, 290, 304, 305, 306, -1,
694 308, -1, 297, 298, -1, 300, 301, 302, 303, 304,
695 305, 306, -1, -1, 309, 91, -1, 312, 313, 314,
696 -1, -1, 41, -1, -1, 44, -1, 335, -1, -1,
697 -1, -1, -1, -1, 342, -1, -1, -1, 346, -1,
698 59, -1, -1, 91, -1, -1, -1, 123, -1, -1,
699 126, 359, 360, -1, -1, -1, -1, -1, -1, -1,
700 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
701 -1, -1, -1, 269, 93, 123, 272, 273, 274, 275,
702 -1, -1, -1, 279, 280, 281, 282, 283, 284, 285,
703 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
704 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
705 306, -1, 308, 309, 310, 311, 312, 313, 314, -1,
706 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
707 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
708 275, -1, -1, -1, 279, 280, 281, 282, 283, 284,
709 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
710 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
711 305, 306, -1, 308, 309, 310, 311, 312, 313, 314,
712 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
713 -1, -1, -1, 269, -1, 91, 272, 273, 274, 275,
714 -1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
715 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
716 296, 33, -1, 299, 36, 37, 38, 123, 40, -1,
717 42, 43, 308, 45, 310, 311, -1, -1, 13, 287,
718 -1, 289, 290, -1, -1, -1, -1, 59, -1, -1,
719 -1, -1, 64, 272, 273, 274, 275, 305, 306, -1,
720 279, 309, -1, -1, 312, 313, 314, 42, -1, -1,
721 45, -1, -1, -1, -1, -1, -1, 33, 297, 91,
722 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
723 -1, -1, 26, -1, -1, -1, -1, -1, -1, -1,
724 -1, -1, -1, -1, -1, -1, 81, -1, 64, 43,
725 44, 123, -1, -1, 126, -1, 50, -1, -1, -1,
726 95, -1, -1, -1, -1, -1, -1, -1, 62, 63,
727 64, 65, -1, 33, -1, 91, 36, 37, 38, -1,
728 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
729 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
730 -1, -1, -1, -1, 64, -1, 141, 123, -1, -1,
731 126, -1, -1, 107, -1, -1, -1, -1, -1, -1,
732 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
733 -1, 91, -1, 289, 290, -1, 33, -1, -1, 36,
734 37, 38, -1, 40, 179, 42, 43, -1, 45, 305,
735 306, 186, -1, 309, -1, -1, 312, 313, 314, -1,
736 -1, -1, -1, 123, -1, -1, 126, 64, -1, -1,
737 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
738 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
739 -1, 263, 264, 265, 91, -1, -1, 269, -1, -1,
740 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
741 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
742 292, 293, 294, 295, 296, -1, 123, 299, -1, 126,
743 -1, 91, -1, -1, -1, 41, 308, -1, 310, 311,
744 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
745 -1, -1, -1, 269, -1, -1, -1, 63, -1, -1,
746 -1, -1, -1, 123, 280, -1, 282, 283, 284, 285,
747 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
748 296, -1, -1, 299, -1, 91, -1, -1, -1, -1,
749 -1, -1, 308, -1, 310, 311, -1, 257, 258, 259,
750 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
751 58, -1, -1, -1, -1, 63, -1, 123, -1, -1,
752 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
753 -1, 291, 292, 293, 294, 295, 296, -1, -1, 299,
754 -1, -1, -1, 91, -1, -1, -1, -1, 308, -1,
755 310, 311, -1, -1, -1, -1, 41, -1, -1, 44,
756 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
757 -1, -1, 269, 58, 59, 123, -1, -1, 63, -1,
758 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
759 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
760 33, -1, 299, 36, 37, 38, -1, 40, 93, 42,
761 43, 308, 45, 310, 311, -1, -1, -1, -1, -1,
762 -1, -1, -1, -1, -1, -1, 59, 287, 288, 289,
763 290, 64, -1, -1, -1, -1, -1, -1, -1, -1,
764 -1, 301, 302, 303, 304, 305, 306, -1, -1, 309,
765 -1, -1, 312, 313, 314, -1, 33, -1, 91, 36,
766 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
767 -1, -1, -1, -1, -1, 281, -1, -1, -1, -1,
768 -1, 287, 288, 289, 290, -1, -1, 64, -1, -1,
769 -1, -1, -1, 126, 300, 301, 302, 303, 304, 305,
770 306, -1, -1, 309, -1, -1, 312, 313, 314, -1,
771 -1, -1, 33, -1, 91, 36, 37, 38, -1, 40,
772 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
773 -1, -1, -1, 281, -1, -1, -1, -1, -1, 287,
774 288, 289, 290, 64, -1, -1, -1, -1, -1, 126,
775 -1, -1, 300, 301, 302, 303, 304, 305, 306, -1,
776 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
777 91, 33, 93, -1, 36, 37, 38, -1, 40, 41,
778 42, 43, -1, 45, -1, -1, -1, 272, 273, 274,
779 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
780 -1, -1, 64, 288, -1, 126, -1, -1, -1, -1,
781 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
782 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
783 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
784 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
785 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
786 293, 294, 295, 296, 126, -1, 299, -1, -1, -1,
787 -1, -1, 93, -1, -1, 308, 41, 310, 311, 44,
788 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
789 -1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
790 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
791 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
792 -1, -1, 299, -1, -1, -1, -1, -1, 93, -1,
793 -1, 308, -1, 310, 311, -1, 257, 258, 259, 260,
794 261, -1, 263, 264, 265, -1, 33, -1, 269, 36,
795 37, 38, -1, 40, 41, 42, 43, -1, 45, 280,
796 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
797 291, 292, 293, 294, 295, 296, -1, 64, 299, -1,
798 -1, -1, -1, -1, -1, -1, -1, 308, -1, 310,
799 311, -1, -1, -1, -1, 257, 258, 259, 260, 261,
800 -1, 263, 264, 265, 91, 33, -1, 269, 36, 37,
801 38, -1, 40, -1, 42, 43, -1, 45, 280, -1,
802 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
803 292, 293, 294, 295, 296, -1, 64, 299, -1, 126,
804 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
805 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
806 281, 33, -1, 91, 36, 37, 38, -1, 40, 41,
807 42, 43, -1, 45, -1, -1, 297, 298, -1, 300,
808 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
809 -1, -1, 64, -1, -1, -1, -1, -1, 126, -1,
810 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
811 275, -1, -1, -1, 279, -1, 281, 33, -1, 91,
812 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
813 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
814 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
815 -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
816 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
817 257, 258, 259, 260, 261, 91, 263, 264, 265, -1,
818 33, -1, 269, 36, 37, 38, -1, 40, 41, 42,
819 43, -1, 45, 280, -1, 282, 283, 284, 285, 286,
820 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
821 126, 64, 299, -1, -1, -1, -1, -1, -1, -1,
822 -1, 308, -1, 310, 311, -1, -1, -1, 256, 257,
823 258, 259, 260, 261, -1, 263, 264, 265, 91, -1,
824 -1, 269, 41, -1, -1, 44, -1, -1, -1, -1,
825 -1, -1, 280, -1, 282, 283, 284, 285, 286, 58,
826 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
827 -1, 299, -1, 126, -1, -1, -1, -1, -1, -1,
828 308, -1, 310, 311, -1, 257, 258, 259, 260, 261,
829 -1, 263, 264, 265, 93, -1, -1, 269, 41, -1,
830 -1, 44, -1, -1, -1, -1, -1, -1, 280, -1,
831 282, 283, 284, 285, 286, 58, 59, -1, -1, 291,
832 292, 293, 294, 295, 296, -1, -1, 299, -1, -1,
833 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
834 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
835 93, 33, -1, 269, 36, 37, 38, -1, 40, -1,
836 42, 43, -1, 45, 280, -1, 282, 283, 284, 285,
837 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
838 296, -1, 64, 299, -1, -1, -1, -1, -1, -1,
839 -1, -1, 308, -1, 310, 311, -1, -1, -1, -1,
840 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
841 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
842 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
843 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
844 293, 294, 295, 296, 126, 41, 299, -1, 44, -1,
845 91, -1, 93, -1, -1, 308, -1, 310, 311, -1,
846 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
847 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
848 279, -1, 123, -1, -1, -1, -1, -1, 41, -1,
849 -1, 44, -1, -1, -1, 91, -1, 93, 297, 298,
850 -1, 300, -1, -1, -1, 58, 59, -1, -1, -1,
851 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
852 -1, -1, -1, -1, -1, -1, -1, 123, -1, 272,
853 273, 274, 275, -1, 41, -1, 279, 44, -1, -1,
854 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
855 -1, 58, 59, -1, 297, 298, 63, -1, -1, -1,
856 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
857 123, -1, -1, -1, -1, 257, 258, 259, 260, 261,
858 -1, 263, 264, 265, 91, -1, 93, 269, -1, -1,
859 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
860 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
861 292, 293, 294, 295, 296, -1, -1, 299, -1, 91,
862 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
863 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
864 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
865 -1, 123, -1, -1, -1, -1, 297, 298, -1, 300,
866 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
867 -1, 312, 313, 314, -1, -1, 272, 273, 274, 275,
868 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
869 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
870 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
871 306, -1, -1, 309, -1, -1, 312, 313, 314, 272,
872 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
873 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
874 -1, -1, -1, -1, 297, 298, -1, 300, 301, 302,
875 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
876 313, 314, -1, 123, -1, 272, 273, 274, 275, 91,
877 41, -1, 279, -1, 281, -1, -1, -1, -1, -1,
878 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
879 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
880 -1, 123, 309, -1, -1, 312, 313, 314, -1, -1,
881 -1, -1, -1, 41, -1, 287, 288, 289, 290, -1,
882 91, -1, 93, -1, -1, -1, -1, -1, -1, -1,
883 58, 59, 304, 305, 306, 63, -1, 309, -1, -1,
884 312, 313, 314, -1, -1, -1, -1, -1, -1, -1,
885 -1, -1, 123, -1, -1, -1, -1, 41, -1, -1,
886 44, -1, -1, 91, -1, 93, -1, -1, -1, -1,
887 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
888 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
889 -1, -1, -1, -1, -1, 123, -1, -1, -1, -1,
890 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
891 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
892 -1, 281, -1, -1, -1, -1, -1, 287, 288, 289,
893 290, -1, -1, 41, -1, -1, 44, 297, 298, 123,
894 300, 301, 302, 303, 304, 305, 306, -1, -1, 309,
895 58, 59, 312, 313, 314, 63, -1, -1, -1, -1,
896 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
897 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
898 302, 303, 304, 305, 306, 93, -1, 309, -1, -1,
899 312, 313, 314, 58, 59, -1, -1, -1, 63, -1,
900 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
901 281, -1, -1, -1, -1, 123, 287, 288, 289, 290,
902 -1, -1, -1, -1, -1, -1, 297, 298, 93, 300,
903 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
904 -1, 312, 313, 314, 272, 273, 274, 275, -1, 41,
905 -1, 279, -1, 281, -1, -1, -1, -1, 123, 287,
906 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
907 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
908 -1, 309, -1, -1, 312, 313, 314, -1, 272, 273,
909 274, 275, -1, 41, -1, 279, 44, 281, -1, 91,
910 -1, 93, -1, 287, 288, 289, 290, -1, -1, -1,
911 58, 59, -1, 297, 298, 63, 300, 301, 302, 303,
912 304, 305, 306, -1, -1, 309, -1, -1, 312, 313,
913 314, 123, -1, -1, -1, -1, 41, 25, 26, 44,
914 -1, -1, -1, -1, -1, 93, -1, -1, -1, 37,
915 -1, -1, -1, 58, 59, 43, 44, 45, 63, -1,
916 -1, -1, 50, -1, 272, 273, 274, 275, -1, -1,
917 -1, 279, -1, 281, 62, 63, 64, 65, -1, 287,
918 288, 289, 290, -1, -1, -1, -1, -1, 93, 297,
919 298, -1, 300, 301, 302, 303, 304, 305, 306, -1,
920 -1, 309, -1, -1, 312, 313, 314, 272, 273, 274,
921 275, -1, 41, -1, 279, 44, 281, -1, -1, 107,
922 -1, -1, 287, 288, 289, 290, -1, -1, -1, 58,
923 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
924 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
925 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
926 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
927 -1, -1, 58, 59, -1, -1, -1, 63, -1, 167,
928 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
929 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
930 -1, -1, -1, 191, -1, 297, 298, 93, 300, 301,
931 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
932 312, 313, 314, -1, 272, 273, 274, 275, -1, 41,
933 -1, 279, 44, 281, -1, -1, -1, -1, -1, 287,
934 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
935 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
936 -1, 309, -1, -1, 312, 313, 314, 272, 273, 274,
937 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
938 -1, 93, 287, 288, 289, 290, -1, -1, -1, 58,
939 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
940 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
941 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
942 -1, -1, -1, -1, 93, -1, -1, 58, 59, -1,
943 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
944 -1, -1, -1, 272, 273, 274, 275, -1, 41, -1,
945 279, 44, 281, -1, -1, -1, -1, -1, 287, 288,
946 289, 290, 93, -1, -1, 58, 59, -1, 297, 298,
947 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
948 309, -1, -1, 312, 313, 314, 272, 273, 274, 275,
949 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
950 93, 287, 288, 289, 290, -1, -1, -1, 58, 59,
951 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
952 306, -1, -1, 309, -1, -1, 312, 313, 314, 41,
953 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
954 -1, -1, -1, 93, -1, -1, 58, 59, -1, -1,
955 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
956 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
957 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
958 -1, 93, 58, 59, -1, 297, 298, 63, 300, 301,
959 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
960 -1, -1, -1, 272, 273, 274, 275, -1, 41, -1,
961 279, 44, 281, -1, -1, -1, -1, 93, 287, 288,
962 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
963 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
964 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
965 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
966 93, -1, -1, 58, 59, -1, 297, 298, 63, 300,
967 301, 302, 303, 304, 305, 306, -1, -1, -1, 272,
968 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
969 -1, -1, -1, -1, 287, 288, 289, 290, 93, -1,
970 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
971 303, 304, 305, 306, -1, -1, -1, -1, -1, -1,
972 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
973 44, 281, -1, -1, -1, -1, 93, 287, 288, 289,
974 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
975 300, 301, 302, 303, 304, 305, 306, -1, -1, -1,
976 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
977 -1, -1, -1, -1, -1, 287, 288, 289, 290, 93,
978 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
979 302, 303, 304, 305, 306, -1, 272, 273, 274, 275,
980 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
981 -1, 287, 288, 289, 290, -1, -1, 93, 58, 59,
982 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
983 306, -1, -1, -1, -1, -1, -1, -1, -1, 272,
984 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
985 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
986 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
987 303, 304, 305, 306, -1, -1, -1, 272, 273, 274,
988 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
989 -1, -1, 287, 288, 289, 290, 93, -1, -1, 58,
990 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
991 305, -1, -1, -1, -1, 272, 273, 274, 275, -1,
992 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
993 287, 288, -1, 290, 93, -1, -1, 58, 59, -1,
994 297, 298, 63, 300, 301, 302, 303, 304, 305, -1,
995 91, -1, -1, -1, -1, -1, -1, -1, 272, 273,
996 274, 275, -1, 41, -1, 279, 44, 281, -1, -1,
997 -1, -1, 93, 287, 288, -1, -1, -1, -1, -1,
998 58, 59, 123, 297, 298, 63, 300, 301, 302, 303,
999 304, 305, -1, -1, -1, -1, 272, 273, 274, 275,
1000 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1001 -1, 287, 288, 41, -1, 93, 44, -1, 58, 59,
1002 -1, 297, 298, 63, 300, 301, 302, 303, 304, -1,
1003 58, 59, 272, 273, 274, 275, -1, -1, -1, 279,
1004 -1, 281, -1, -1, -1, -1, -1, 287, 288, -1,
1005 -1, -1, -1, 93, -1, -1, 41, 297, 298, 44,
1006 300, 301, 302, 303, 304, 93, -1, -1, -1, 41,
1007 -1, -1, 44, 58, 59, 272, 273, 274, 275, -1,
1008 -1, -1, 279, -1, 281, -1, 58, 59, -1, -1,
1009 287, 288, -1, -1, -1, -1, 63, -1, -1, -1,
1010 297, 298, -1, 300, 301, 302, 303, 304, 93, -1,
1011 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1012 279, 93, 281, -1, 91, -1, -1, -1, -1, -1,
1013 -1, -1, -1, -1, -1, -1, -1, -1, 297, 298,
1014 -1, 300, 301, 302, 303, -1, 287, 288, 289, 290,
1015 -1, 272, 273, 274, 275, -1, 123, -1, 279, -1,
1016 281, -1, 303, 304, 305, 306, -1, -1, 309, -1,
1017 -1, 312, 313, 314, -1, -1, 297, 298, -1, 300,
1018 301, 302, 63, -1, -1, -1, -1, -1, -1, -1,
1019 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1020 -1, 279, -1, 281, -1, -1, -1, -1, -1, -1,
1021 91, -1, -1, -1, -1, -1, -1, -1, -1, 297,
1022 298, -1, 300, 301, -1, -1, -1, -1, -1, -1,
1023 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1024 -1, -1, 123, -1, 272, 273, 274, 275, -1, -1,
1025 -1, 279, -1, -1, -1, -1, 30, 297, 298, -1,
1026 300, -1, -1, -1, 38, -1, -1, -1, 42, 297,
1027 298, 45, -1, -1, -1, -1, -1, -1, 52, 53,
1028 54, 55, 56, -1, -1, 59, 60, 272, 273, 274,
1029 275, -1, 66, -1, 279, -1, -1, -1, -1, -1,
1030 272, 273, 274, 275, -1, -1, -1, 279, -1, -1,
1031 -1, -1, 297, 298, 281, -1, -1, -1, -1, 93,
1032 287, 288, 289, 290, -1, 297, 298, -1, -1, -1,
1033 -1, -1, -1, 300, 301, 302, 303, 304, 305, 306,
1034 -1, -1, 309, -1, -1, 312, 313, 314, -1, -1,
1035 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1036 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1037 -1, -1, -1, -1, -1, -1, -1, 151, 152, 153,
1038 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1039 164, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1040 281, -1, 176, -1, -1, -1, 287, 288, 289, 290,
1041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1042 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
1043 -1, 312, 313, 314, -1, -1, -1, -1, -1, -1,
1044 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1045 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1046 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1047 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1048 -1, 255, -1, -1, -1, -1, -1, -1, -1, -1,
1049 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1057 #define YYMAXTOKEN 314
1060 "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,
1061 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1062 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1063 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1064 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1065 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1066 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1067 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",
1068 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1069 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1070 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1071 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1072 "OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP",
1073 "SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
1079 "prog : $$1 lineseq",
1080 "block : '{' remember lineseq '}'",
1082 "mblock : '{' mremember lineseq '}'",
1085 "lineseq : lineseq decl",
1086 "lineseq : lineseq line",
1087 "line : label cond",
1090 "line : label sideff ';'",
1093 "sideff : expr IF expr",
1094 "sideff : expr UNLESS expr",
1095 "sideff : expr WHILE expr",
1096 "sideff : expr UNTIL iexpr",
1097 "sideff : expr FOR expr",
1099 "else : ELSE mblock",
1100 "else : ELSIF '(' mexpr ')' mblock else",
1101 "cond : IF '(' remember mexpr ')' mblock else",
1102 "cond : UNLESS '(' remember miexpr ')' mblock else",
1104 "cont : CONTINUE block",
1105 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1106 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1107 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1108 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1109 "loop : label FOR '(' remember mexpr ')' mblock cont",
1110 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1111 "loop : label block cont",
1127 "format : FORMAT startformsub formname block",
1130 "subrout : SUB startsub subname proto subbody",
1139 "package : PACKAGE WORD ';'",
1140 "package : PACKAGE ';'",
1142 "use : USE startsub $$2 WORD WORD listexpr ';'",
1143 "expr : expr ANDOP expr",
1144 "expr : expr OROP expr",
1146 "argexpr : argexpr ','",
1147 "argexpr : argexpr ',' term",
1149 "listop : LSTOP indirob argexpr",
1150 "listop : FUNC '(' indirob expr ')'",
1151 "listop : term ARROW method '(' listexprcom ')'",
1152 "listop : METHOD indirob listexpr",
1153 "listop : FUNCMETH indirob '(' listexprcom ')'",
1154 "listop : LSTOP listexpr",
1155 "listop : FUNC '(' listexprcom ')'",
1157 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1160 "term : term ASSIGNOP term",
1161 "term : term POWOP term",
1162 "term : term MULOP term",
1163 "term : term ADDOP term",
1164 "term : term SHIFTOP term",
1165 "term : term RELOP term",
1166 "term : term EQOP term",
1167 "term : term BITANDOP term",
1168 "term : term BITOROP term",
1169 "term : term DOTDOT term",
1170 "term : term ANDAND term",
1171 "term : term OROR term",
1172 "term : term '?' term ':' term",
1173 "term : term MATCHOP term",
1178 "term : REFGEN term",
1179 "term : term POSTINC",
1180 "term : term POSTDEC",
1181 "term : PREINC term",
1182 "term : PREDEC term",
1183 "term : local term",
1184 "term : '(' expr ')'",
1186 "term : '[' expr ']'",
1188 "term : HASHBRACK expr ';' '}'",
1189 "term : HASHBRACK ';' '}'",
1190 "term : ANONSUB startanonsub proto block",
1192 "term : star '{' expr ';' '}'",
1194 "term : scalar '[' expr ']'",
1195 "term : term ARROW '[' expr ']'",
1196 "term : term '[' expr ']'",
1200 "term : scalar '{' expr ';' '}'",
1201 "term : term ARROW '{' expr ';' '}'",
1202 "term : term '{' expr ';' '}'",
1203 "term : '(' expr ')' '[' expr ']'",
1204 "term : '(' ')' '[' expr ']'",
1205 "term : ary '[' expr ']'",
1206 "term : ary '{' expr ';' '}'",
1209 "term : amper '(' ')'",
1210 "term : amper '(' expr ')'",
1211 "term : NOAMP WORD listexpr",
1214 "term : DO WORD '(' ')'",
1215 "term : DO WORD '(' expr ')'",
1216 "term : DO scalar '(' ')'",
1217 "term : DO scalar '(' expr ')'",
1218 "term : term ARROW '(' ')'",
1219 "term : term ARROW '(' expr ')'",
1221 "term : LOOPEX term",
1222 "term : NOTOP argexpr",
1224 "term : UNIOP block",
1225 "term : UNIOP term",
1226 "term : UNIOPSUB term",
1228 "term : FUNC0 '(' ')'",
1230 "term : FUNC1 '(' ')'",
1231 "term : FUNC1 '(' expr ')'",
1232 "term : PMFUNC '(' term ')'",
1233 "term : PMFUNC '(' term ',' term ')'",
1237 "listexpr : argexpr",
1239 "listexprcom : expr",
1240 "listexprcom : expr ','",
1243 "my_scalar : scalar",
1244 "amper : '&' indirob",
1245 "scalar : '$' indirob",
1246 "ary : '@' indirob",
1247 "hsh : '%' indirob",
1248 "arylen : DOLSHARP indirob",
1249 "star : '*' indirob",
1253 "indirob : PRIVATEREF",
1256 #define yyclearin (yychar=(-1))
1257 #define yyerrok (yyerrflag=0)
1260 #define YYMAXDEPTH YYSTACKSIZE
1264 #define YYSTACKSIZE YYMAXDEPTH
1266 #define YYSTACKSIZE 500
1267 #define YYMAXDEPTH 500
1278 #line 1349 "perly.c"
1279 #define YYABORT goto yyabort
1280 #define YYACCEPT goto yyaccept
1281 #define YYERROR goto yyerrlab
1295 yydestruct(void *ptr)
1297 struct ysv* ysave = (struct ysv*)ptr;
1298 if (ysave->yyss) Safefree(ysave->yyss);
1299 if (ysave->yyvs) Safefree(ysave->yyvs);
1300 yydebug = ysave->oldyydebug;
1301 yynerrs = ysave->oldyynerrs;
1302 yyerrflag = ysave->oldyyerrflag;
1303 yychar = ysave->oldyychar;
1304 yyval = ysave->oldyyval;
1305 yylval = ysave->oldyylval;
1312 register int yym, yyn, yystate;
1313 register short *yyssp;
1314 register YYSTYPE *yyvsp;
1317 unsigned yystacksize = YYSTACKSIZE;
1322 extern char *getenv();
1327 New(73, ysave, 1, struct ysv);
1328 SAVEDESTRUCTOR(yydestruct, ysave);
1329 ysave->oldyydebug = yydebug;
1330 ysave->oldyynerrs = yynerrs;
1331 ysave->oldyyerrflag = yyerrflag;
1332 ysave->oldyychar = yychar;
1333 ysave->oldyyval = yyval;
1334 ysave->oldyylval = yylval;
1337 if (yys = getenv("YYDEBUG"))
1340 if (yyn >= '0' && yyn <= '9')
1341 yydebug = yyn - '0';
1350 ** Initialize private stacks (yyparse may be called from an action)
1352 New(73, yyss, yystacksize, short);
1353 New(73, yyvs, yystacksize, YYSTYPE);
1361 *yyssp = yystate = 0;
1364 if (yyn = yydefred[yystate]) goto yyreduce;
1367 if ((yychar = yylex()) < 0) yychar = 0;
1372 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1373 if (!yys) yys = "illegal-symbol";
1374 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1379 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1380 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1384 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1385 yystate, yytable[yyn]);
1387 if (yyssp >= yyss + yystacksize - 1)
1390 ** reallocate and recover. Note that pointers
1391 ** have to be reset, or bad things will happen
1393 int yyps_index = (yyssp - yyss);
1394 int yypv_index = (yyvsp - yyvs);
1395 yystacksize += YYSTACKSIZE;
1396 ysave->yyvs = yyvs =
1397 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1398 ysave->yyss = yyss =
1399 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1402 yyssp = yyss + yyps_index;
1403 yyvsp = yyvs + yypv_index;
1405 *++yyssp = yystate = yytable[yyn];
1408 if (yyerrflag > 0) --yyerrflag;
1411 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1412 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1417 if (yyerrflag) goto yyinrecovery;
1422 yyerror("syntax error");
1434 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1435 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1439 PerlIO_printf(Perl_debug_log,
1440 "yydebug: state %d, error recovery shifting to state %d\n",
1441 *yyssp, yytable[yyn]);
1443 if (yyssp >= yyss + yystacksize - 1)
1446 ** reallocate and recover. Note that pointers
1447 ** have to be reset, or bad things will happen
1449 int yyps_index = (yyssp - yyss);
1450 int yypv_index = (yyvsp - yyvs);
1451 yystacksize += YYSTACKSIZE;
1452 ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
1453 yystacksize * sizeof(YYSTYPE));
1454 ysave->yyss = yyss = (short*)realloc((char*)yyss,
1455 yystacksize * sizeof(short));
1458 yyssp = yyss + yyps_index;
1459 yyvsp = yyvs + yypv_index;
1461 *++yyssp = yystate = yytable[yyn];
1469 PerlIO_printf(Perl_debug_log,
1470 "yydebug: error recovery discarding state %d\n",
1473 if (yyssp <= yyss) goto yyabort;
1481 if (yychar == 0) goto yyabort;
1486 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1487 if (!yys) yys = "illegal-symbol";
1488 PerlIO_printf(Perl_debug_log,
1489 "yydebug: state %d, error recovery discards token %d (%s)\n",
1490 yystate, yychar, yys);
1499 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1500 yystate, yyn, yyrule[yyn]);
1503 yyval = yyvsp[1-yym];
1509 #if defined(YYDEBUG) && defined(DEBUGGING)
1510 yydebug = (debug & 1);
1517 { newPROG(yyvsp[0].opval); }
1521 { if (copline > (line_t)yyvsp[-3].ival)
1522 copline = yyvsp[-3].ival;
1523 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1527 { yyval.ival = block_start(TRUE); }
1531 { if (copline > (line_t)yyvsp[-3].ival)
1532 copline = yyvsp[-3].ival;
1533 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1537 { yyval.ival = block_start(FALSE); }
1541 { yyval.opval = Nullop; }
1545 { yyval.opval = yyvsp[-1].opval; }
1549 { yyval.opval = append_list(OP_LINESEQ,
1550 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1551 pad_reset_pending = TRUE;
1552 if (yyvsp[-1].opval && yyvsp[0].opval) hints |= HINT_BLOCK_SCOPE; }
1556 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1560 { if (yyvsp[-1].pval != Nullch) {
1561 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1564 yyval.opval = Nullop;
1571 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1576 { yyval.opval = Nullop; }
1580 { yyval.opval = yyvsp[0].opval; }
1584 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1588 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1592 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1596 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1600 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1601 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1605 { yyval.opval = Nullop; }
1609 { yyval.opval = scope(yyvsp[0].opval); }
1613 { copline = yyvsp[-5].ival;
1614 yyval.opval = newSTATEOP(0, Nullch,
1615 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1616 hints |= HINT_BLOCK_SCOPE; }
1620 { copline = yyvsp[-6].ival;
1621 yyval.opval = block_end(yyvsp[-4].ival,
1622 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1626 { copline = yyvsp[-6].ival;
1627 yyval.opval = block_end(yyvsp[-4].ival,
1628 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1632 { yyval.opval = Nullop; }
1636 { yyval.opval = scope(yyvsp[0].opval); }
1640 { copline = yyvsp[-6].ival;
1641 yyval.opval = block_end(yyvsp[-4].ival,
1642 newSTATEOP(0, yyvsp[-7].pval,
1643 newWHILEOP(0, 1, (LOOP*)Nullop,
1644 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1648 { copline = yyvsp[-6].ival;
1649 yyval.opval = block_end(yyvsp[-4].ival,
1650 newSTATEOP(0, yyvsp[-7].pval,
1651 newWHILEOP(0, 1, (LOOP*)Nullop,
1652 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1656 { yyval.opval = block_end(yyvsp[-6].ival,
1657 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1661 { yyval.opval = block_end(yyvsp[-4].ival,
1662 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1663 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1667 { yyval.opval = block_end(yyvsp[-4].ival,
1668 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1672 { OP *forop = append_elem(OP_LINESEQ,
1673 scalar(yyvsp[-6].opval),
1674 newWHILEOP(0, 1, (LOOP*)Nullop,
1675 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1676 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1677 copline = yyvsp[-9].ival;
1678 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1682 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1683 newWHILEOP(0, 1, (LOOP*)Nullop,
1684 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1688 { yyval.opval = Nullop; }
1692 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1696 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1700 { yyval.opval = yyvsp[0].opval; intro_my(); }
1704 { yyval.opval = yyvsp[0].opval; intro_my(); }
1708 { yyval.opval = yyvsp[0].opval; intro_my(); }
1712 { yyval.opval = yyvsp[0].opval; intro_my(); }
1716 { yyval.pval = Nullch; }
1736 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1740 { yyval.opval = yyvsp[0].opval; }
1744 { yyval.opval = Nullop; }
1748 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1752 { yyval.ival = start_subparse(FALSE, 0); }
1756 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1760 { yyval.ival = start_subparse(TRUE, 0); }
1764 { char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv, na);
1765 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1766 || strEQ(name, "INIT"))
1767 CvUNIQUE_on(compcv);
1768 yyval.opval = yyvsp[0].opval; }
1772 { yyval.opval = Nullop; }
1776 { yyval.opval = yyvsp[0].opval; }
1780 { yyval.opval = Nullop; expect = XSTATE; }
1784 { package(yyvsp[-1].opval); }
1788 { package(Nullop); }
1792 { CvUNIQUE_on(compcv); /* It's a BEGIN {} */ }
1796 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1800 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1804 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1808 { yyval.opval = yyvsp[-1].opval; }
1812 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1816 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1817 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1821 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1822 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1826 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1827 append_elem(OP_LIST,
1828 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1829 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1833 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1834 append_elem(OP_LIST,
1835 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1836 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1840 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1841 append_elem(OP_LIST,
1842 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1843 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1847 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1851 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1855 { yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1859 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1860 append_elem(OP_LIST,
1861 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1865 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1869 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1873 { if (yyvsp[-1].ival != OP_REPEAT)
1874 scalar(yyvsp[-2].opval);
1875 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1879 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1883 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1887 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1891 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1895 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1899 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1903 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1907 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1911 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1915 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1919 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1923 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1927 { yyval.opval = yyvsp[0].opval; }
1931 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1935 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1939 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1943 { yyval.opval = newUNOP(OP_POSTINC, 0,
1944 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1948 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1949 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1953 { yyval.opval = newUNOP(OP_PREINC, 0,
1954 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1958 { yyval.opval = newUNOP(OP_PREDEC, 0,
1959 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1963 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1967 { yyval.opval = sawparens(yyvsp[-1].opval); }
1971 { yyval.opval = sawparens(newNULLLIST()); }
1975 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
1979 { yyval.opval = newANONLIST(Nullop); }
1983 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
1987 { yyval.opval = newANONHASH(Nullop); }
1991 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1995 { yyval.opval = yyvsp[0].opval; }
1999 { yyval.opval = newBINOP(OP_GELEM, 0, newGVREF(0,yyvsp[-4].opval),
2000 scalar(yyvsp[-2].opval)); }
2004 { yyval.opval = yyvsp[0].opval; }
2008 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2012 { yyval.opval = newBINOP(OP_AELEM, 0,
2013 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2014 scalar(yyvsp[-1].opval));}
2018 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
2019 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2020 scalar(yyvsp[-1].opval));}
2024 { yyval.opval = yyvsp[0].opval; }
2028 { yyval.opval = yyvsp[0].opval; }
2032 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2036 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2037 expect = XOPERATOR; }
2041 { yyval.opval = newBINOP(OP_HELEM, 0,
2042 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2043 jmaybe(yyvsp[-2].opval));
2044 expect = XOPERATOR; }
2048 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2049 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2050 jmaybe(yyvsp[-2].opval));
2051 expect = XOPERATOR; }
2055 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2059 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2063 { yyval.opval = prepend_elem(OP_ASLICE,
2064 newOP(OP_PUSHMARK, 0),
2065 newLISTOP(OP_ASLICE, 0,
2066 list(yyvsp[-1].opval),
2067 ref(yyvsp[-3].opval, OP_ASLICE))); }
2071 { yyval.opval = prepend_elem(OP_HSLICE,
2072 newOP(OP_PUSHMARK, 0),
2073 newLISTOP(OP_HSLICE, 0,
2074 list(yyvsp[-2].opval),
2075 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2076 expect = XOPERATOR; }
2080 { yyval.opval = yyvsp[0].opval; }
2084 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2088 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2092 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2093 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2097 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2098 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2102 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2106 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2110 { yyval.opval = newUNOP(OP_ENTERSUB,
2111 OPf_SPECIAL|OPf_STACKED,
2112 prepend_elem(OP_LIST,
2114 (OPpENTERSUB_AMPER<<8),
2115 scalar(yyvsp[-2].opval)
2116 )),Nullop)); dep();}
2120 { yyval.opval = newUNOP(OP_ENTERSUB,
2121 OPf_SPECIAL|OPf_STACKED,
2122 append_elem(OP_LIST,
2125 (OPpENTERSUB_AMPER<<8),
2126 scalar(yyvsp[-3].opval)
2131 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2132 prepend_elem(OP_LIST,
2133 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2137 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2138 prepend_elem(OP_LIST,
2140 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2144 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2145 newCVREF(0, scalar(yyvsp[-3].opval))); }
2149 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2150 append_elem(OP_LIST, yyvsp[-1].opval,
2151 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2155 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2156 hints |= HINT_BLOCK_SCOPE; }
2160 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2164 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2168 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2172 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2176 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2180 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2181 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2185 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2189 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2193 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2194 scalar(yyvsp[0].opval)); }
2198 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2202 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2206 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2210 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2214 { yyval.opval = Nullop; }
2218 { yyval.opval = yyvsp[0].opval; }
2222 { yyval.opval = Nullop; }
2226 { yyval.opval = yyvsp[0].opval; }
2230 { yyval.opval = yyvsp[-1].opval; }
2242 { in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2246 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2250 { yyval.opval = newSVREF(yyvsp[0].opval); }
2254 { yyval.opval = newAVREF(yyvsp[0].opval); }
2258 { yyval.opval = newHVREF(yyvsp[0].opval); }
2262 { yyval.opval = newAVREF(yyvsp[0].opval); }
2266 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2270 { yyval.opval = scalar(yyvsp[0].opval); }
2274 { yyval.opval = scalar(yyvsp[0].opval); }
2278 { yyval.opval = scope(yyvsp[0].opval); }
2282 { yyval.opval = yyvsp[0].opval; }
2284 #line 2267 "perly.c"
2290 if (yystate == 0 && yym == 0)
2294 PerlIO_printf(Perl_debug_log,
2295 "yydebug: after reduction, shifting from state 0 to state %d\n",
2303 if ((yychar = yylex()) < 0) yychar = 0;
2308 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2309 if (!yys) yys = "illegal-symbol";
2310 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2311 YYFINAL, yychar, yys);
2315 if (yychar == 0) goto yyaccept;
2318 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2319 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2320 yystate = yytable[yyn];
2322 yystate = yydgoto[yym];
2325 PerlIO_printf(Perl_debug_log,
2326 "yydebug: after reduction, shifting from state %d to state %d\n",
2329 if (yyssp >= yyss + yystacksize - 1)
2332 ** reallocate and recover. Note that pointers
2333 ** have to be reset, or bad things will happen
2335 int yyps_index = (yyssp - yyss);
2336 int yypv_index = (yyvsp - yyvs);
2337 yystacksize += YYSTACKSIZE;
2338 ysave->yyvs = yyvs =
2339 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2340 ysave->yyss = yyss =
2341 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2344 yyssp = yyss + yyps_index;
2345 yyvsp = yyvs + yypv_index;
2351 yyerror("Out of memory for yacc stack");