2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
12 deprecate("\"do\" to call subroutines");
16 dEXT short yylhs[] = { -1,
17 31, 0, 5, 3, 6, 6, 6, 7, 7, 7,
18 7, 21, 21, 21, 21, 21, 21, 11, 11, 11,
19 9, 9, 9, 9, 30, 30, 8, 8, 8, 8,
20 8, 8, 8, 8, 10, 10, 25, 25, 29, 29,
21 1, 1, 1, 1, 2, 2, 32, 32, 28, 28,
22 4, 33, 33, 34, 13, 13, 13, 13, 12, 12,
23 12, 26, 26, 26, 26, 26, 26, 26, 26, 27,
24 27, 14, 14, 14, 14, 14, 14, 14, 14, 14,
25 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
26 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
27 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
28 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
29 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
30 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
31 14, 14, 14, 22, 22, 23, 23, 23, 20, 15,
32 16, 17, 18, 19, 24, 24, 24, 24,
34 dEXT short yylen[] = { 2,
35 0, 2, 4, 0, 0, 2, 2, 2, 1, 2,
36 3, 1, 1, 3, 3, 3, 3, 0, 2, 6,
37 6, 6, 4, 4, 0, 2, 7, 7, 5, 5,
38 8, 7, 10, 3, 0, 1, 0, 1, 0, 1,
39 1, 1, 1, 1, 4, 3, 5, 5, 0, 1,
40 0, 3, 2, 4, 3, 3, 2, 1, 2, 3,
41 1, 3, 5, 6, 3, 5, 2, 4, 4, 1,
42 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
43 3, 3, 3, 5, 3, 2, 2, 2, 2, 2,
44 2, 2, 2, 2, 2, 3, 2, 3, 2, 4,
45 3, 4, 1, 1, 4, 5, 4, 1, 1, 1,
46 5, 6, 5, 6, 5, 4, 5, 1, 1, 3,
47 4, 3, 2, 2, 4, 5, 4, 5, 1, 2,
48 1, 2, 2, 2, 1, 3, 1, 3, 4, 4,
49 6, 1, 1, 0, 1, 0, 1, 2, 2, 2,
50 2, 2, 2, 2, 1, 1, 1, 1,
52 dEXT short yydefred[] = { 1,
53 0, 5, 0, 40, 51, 51, 0, 0, 6, 41,
54 7, 9, 0, 42, 43, 44, 0, 0, 0, 53,
55 0, 12, 4, 142, 0, 0, 118, 0, 51, 0,
56 0, 0, 0, 0, 0, 0, 0, 0, 137, 0,
57 0, 0, 0, 0, 0, 0, 51, 0, 0, 0,
58 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
59 0, 0, 0, 0, 0, 8, 0, 0, 0, 0,
60 0, 108, 110, 104, 0, 0, 143, 0, 46, 0,
61 52, 0, 0, 5, 155, 158, 157, 156, 0, 0,
62 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
63 0, 0, 0, 0, 0, 0, 153, 0, 124, 0,
64 0, 0, 0, 0, 0, 57, 0, 0, 67, 0,
65 0, 132, 0, 0, 0, 0, 0, 0, 0, 0,
66 0, 0, 0, 99, 0, 149, 150, 151, 152, 154,
67 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
68 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
69 0, 0, 0, 0, 91, 92, 0, 0, 0, 0,
70 0, 0, 0, 11, 45, 50, 0, 54, 0, 65,
71 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
72 0, 0, 0, 0, 36, 0, 136, 138, 0, 0,
73 0, 0, 0, 0, 101, 0, 122, 0, 0, 0,
74 0, 98, 26, 0, 0, 0, 0, 0, 0, 55,
75 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
76 0, 0, 0, 0, 0, 0, 70, 0, 71, 0,
77 0, 0, 0, 0, 0, 120, 0, 48, 47, 3,
78 0, 140, 0, 102, 0, 29, 0, 30, 0, 0,
79 0, 23, 0, 24, 0, 0, 0, 139, 148, 68,
80 0, 125, 0, 127, 0, 100, 69, 0, 0, 0,
81 0, 0, 0, 0, 107, 0, 105, 0, 116, 121,
82 66, 0, 0, 0, 0, 19, 0, 0, 0, 0,
83 0, 63, 126, 128, 115, 0, 113, 0, 0, 106,
84 0, 111, 117, 141, 27, 28, 21, 0, 22, 0,
85 32, 0, 114, 112, 64, 0, 0, 31, 0, 0,
88 dEXT short yydgoto[] = { 1,
89 9, 10, 84, 17, 87, 3, 11, 12, 66, 193,
90 262, 67, 200, 69, 70, 71, 72, 73, 74, 75,
91 195, 83, 201, 89, 185, 77, 240, 177, 13, 142,
94 dEXT short yysindex[] = { 0,
95 0, 0, -105, 0, 0, 0, -47, -232, 0, 0,
96 0, 0, 570, 0, 0, 0, -112, -217, 10, 0,
97 2121, 0, 0, 0, -35, -35, 0, 46, 0, -3,
98 1, 8, 14, 55, 2121, 56, 60, 63, 0, -35,
99 1806, 2121, 941, -178, 1846, 997, 0, 1911, 2121, 2121,
100 2121, 2121, 2121, 2121, 1272, 0, 2121, 2121, 1312, -35,
101 -35, -35, -35, -35, -183, 0, 71, 227, 3368, -55,
102 -49, 0, 0, 0, 89, 48, 0, 20, 0, -118,
103 0, 71, 85, 0, 0, 0, 0, 0, 2121, 106,
104 2121, -118, 1846, 20, 1846, 20, 1846, 20, 1846, 20,
105 1371, 115, 3368, 116, 1411, 901, 0, 125, 0, 864,
106 -1, 864, 41, -53, 2121, 0, 0, -55, 0, 2121,
107 20, 0, 864, 864, 510, 510, 510, -89, -89, 80,
108 -38, 510, 510, 0, -84, 0, 0, 0, 0, 0,
109 20, 0, 2121, 1846, 1846, 1846, 1846, 1846, 1846, 1846,
110 2121, 2121, 2121, 2121, 2121, 2121, 2121, 2121, 2121, 2121,
111 2121, 2121, 2121, 2121, 0, 0, -21, 1846, 1846, 1846,
112 1846, 1846, 1451, 0, 0, 0, -29, 0, -115, 0,
113 1846, 614, 20, -187, 131, -183, -34, -183, -27, -140,
114 4, -140, 114, 208, 0, 1846, 0, 0, 6, -6,
115 135, 1846, 1726, 1766, 0, 57, 0, 71, 2121, 1846,
116 94, 0, 0, 3368, -187, -187, -187, -187, -113, 0,
117 67, 2023, 864, 1613, 445, 685, 3368, 3106, 363, 771,
118 1082, 1235, 1465, 510, 510, 1846, 0, 1846, 0, 147,
119 -77, 88, -72, 95, -67, 0, 18, 0, 0, 0,
120 148, 0, 2121, 0, 20, 0, 20, 0, 20, 20,
121 150, 0, 20, 0, 1846, 20, 26, 0, 0, 0,
122 32, 0, 69, 0, 82, 0, 0, -62, 1846, 66,
123 2121, 97, -41, 1846, 0, 68, 0, 73, 0, 0,
124 0, 2844, -183, -183, -140, 0, 1846, -140, 129, -183,
125 20, 0, 0, 0, 0, 99, 0, 3756, 78, 0,
126 153, 0, 0, 0, 0, 0, 0, 84, 0, 1371,
127 0, -183, 0, 0, 0, 20, 155, 0, -140, 20,
130 dEXT short yyrindex[] = { 0,
131 0, 0, 141, 0, 0, 0, 0, 0, 0, 0,
132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
133 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
134 0, 0, 0, 0, 2299, 2164, 0, 0, 0, 0,
135 0, 0, 0, 0, 0, 2658, 0, 2703, 0, 0,
136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
137 0, 0, 0, 0, 13, 0, 58, 3, 170, 2748,
138 2796, 0, 0, 0, 2209, 0, 0, 0, 0, -26,
139 0, 2380, 0, 0, 0, 0, 0, 0, 2426, 0,
140 0, 83, 166, 0, 0, 0, 0, 0, 0, 0,
141 154, 0, 1341, 0, 0, 171, 0, 2254, 0, 3507,
142 2748, 3552, 0, 0, 2426, 0, 431, 502, 0, 0,
143 0, 0, 3585, 3630, 2980, 3028, 3073, 2890, 2935, 2471,
144 0, 3152, 3197, 0, 0, 0, 0, 0, 0, 0,
145 0, 0, 2516, 0, 0, 0, 0, 0, 0, 0,
146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
148 0, 0, 0, 0, 0, 0, 0, 0, 845, 0,
149 171, 0, 0, 19, 0, 13, 0, 13, 0, 76,
150 0, 76, 0, 158, 0, 0, 0, 0, 0, 177,
151 0, 0, 0, 0, 0, 0, 0, 2564, 2426, 0,
152 2612, 0, 0, 2080, 23, 30, 39, 52, 827, 0,
153 0, -36, 3678, 1208, 3335, 3414, 2574, 0, 1049, 3739,
154 3646, 3694, 3462, 3245, 3290, 0, 0, 0, 0, 0,
155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
157 0, 0, 0, 0, 160, 0, 0, 0, 0, 0,
158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
159 0, 0, 0, 171, 0, 0, 0, 0, 0, 0,
160 0, 0, 13, 13, 76, 0, 0, 76, 0, 13,
161 0, 0, 0, 0, 0, 0, 0, 776, 0, 0,
162 0, 0, 0, 0, 0, 0, 0, 0, 0, 182,
163 0, 13, 0, 0, 0, 0, 0, 0, 76, 0,
166 dEXT short yygindex[] = { 0,
167 0, 0, 0, 37, -13, 157, 0, 0, 0, -82,
168 -168, 470, 360, 3971, 1933, 0, 0, 0, 0, 0,
169 230, -14, -152, 1366, -20, 0, 0, 156, 0, -125,
172 #define YYTABLESIZE 4252
173 dEXT short yytable[] = { 65,
174 61, 168, 211, 79, 81, 206, 257, 81, 212, 250,
175 23, 20, 25, 259, 61, 285, 94, 96, 98, 100,
176 287, 81, 81, 264, 21, 289, 81, 109, 251, 248,
177 305, 119, 49, 150, 122, 170, 93, 269, 204, 80,
178 95, 172, 18, 13, 263, 25, 268, 97, 25, 25,
179 25, 310, 25, 99, 25, 25, 81, 25, 290, 38,
180 256, 13, 258, 16, 175, 92, 301, 169, 81, 238,
181 17, 25, 302, 171, 180, 18, 25, 38, 115, 14,
182 186, 16, 188, 121, 190, 91, 192, 23, 17, 170,
183 61, 141, 15, 23, 101, 104, 49, 14, 58, 105,
184 207, 236, 106, 25, 148, 149, 174, 209, 18, 303,
185 15, 18, 18, 18, 143, 18, 58, 18, 18, 23,
186 18, 169, 304, 23, 326, 280, 317, 213, 173, 319,
187 23, 311, 260, 261, 18, 25, 23, 25, 25, 18,
188 2, 176, 23, 178, 78, 181, 286, 4, 5, 6,
189 58, 7, 8, 288, 196, 309, 197, 4, 5, 6,
190 331, 7, 8, 249, 203, 205, 18, 315, 316, 254,
191 210, 255, 265, 39, 321, 270, 39, 39, 39, 149,
192 39, 276, 39, 39, 279, 39, 284, 320, 291, 297,
193 307, 323, 312, 325, 277, 330, 328, 313, 18, 39,
194 18, 18, 324, 144, 39, 49, 37, 148, 149, 19,
195 61, 146, 35, 61, 148, 149, 13, 147, 37, 148,
196 149, 85, 35, 167, 148, 149, 86, 61, 61, 148,
197 149, 39, 81, 81, 81, 81, 237, 327, 148, 149,
198 179, 293, 76, 294, 299, 295, 296, 183, 266, 298,
199 148, 149, 300, 148, 149, 81, 81, 148, 149, 0,
200 81, 0, 61, 39, 148, 149, 39, 0, 25, 25,
201 25, 25, 25, 25, 0, 25, 25, 25, 25, 25,
202 25, 25, 25, 25, 25, 148, 149, 322, 25, 25,
203 0, 25, 25, 25, 25, 148, 149, 148, 149, 25,
204 25, 25, 25, 25, 0, 0, 25, 25, 25, 148,
205 149, 0, 329, 0, 25, 25, 332, 148, 149, 25,
206 0, 25, 25, 148, 149, 0, 58, 58, 58, 58,
207 0, 18, 18, 18, 18, 18, 18, 0, 18, 18,
208 18, 18, 18, 18, 18, 18, 18, 18, 0, 58,
209 58, 18, 18, 0, 18, 18, 18, 18, 148, 149,
210 148, 149, 18, 18, 18, 18, 18, 0, 0, 18,
211 18, 18, 68, 148, 149, 148, 149, 18, 18, 148,
212 149, 0, 18, 0, 18, 18, 148, 149, 148, 149,
213 148, 149, 0, 0, 0, 0, 39, 39, 39, 39,
214 39, 39, 114, 0, 116, 0, 39, 0, 0, 39,
215 39, 39, 39, 0, 131, 0, 39, 39, 135, 39,
216 39, 39, 39, 0, 0, 0, 0, 39, 39, 39,
217 39, 39, 0, 0, 39, 39, 39, 0, 61, 61,
218 61, 61, 39, 39, 0, 0, 0, 39, 0, 39,
219 39, 0, 184, 168, 187, 0, 189, 0, 191, 0,
220 194, 61, 61, 155, 199, 0, 155, 155, 155, 0,
221 155, 142, 155, 155, 142, 155, 144, 145, 146, 147,
222 0, 0, 0, 0, 0, 150, 0, 0, 142, 142,
223 82, 0, 0, 142, 155, 144, 145, 146, 147, 148,
224 149, 0, 0, 215, 216, 217, 218, 219, 220, 221,
225 0, 0, 0, 0, 0, 82, 0, 0, 148, 149,
226 0, 142, 0, 142, 0, 0, 0, 241, 242, 243,
227 244, 245, 247, 0, 156, 168, 0, 156, 156, 156,
228 0, 156, 103, 156, 156, 103, 156, 0, 0, 0,
229 0, 0, 0, 142, 0, 267, 155, 0, 82, 103,
230 103, 271, 273, 275, 103, 156, 0, 150, 0, 278,
231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
232 0, 0, 0, 0, 82, 0, 0, 0, 0, 208,
233 0, 0, 0, 0, 103, 282, 0, 283, 0, 0,
234 168, 0, 50, 0, 0, 61, 63, 60, 0, 55,
235 0, 64, 58, 0, 57, 0, 0, 0, 0, 0,
236 0, 0, 0, 0, 184, 0, 0, 156, 56, 0,
237 0, 0, 150, 62, 0, 0, 0, 0, 306, 0,
238 0, 0, 0, 0, 0, 152, 153, 154, 155, 0,
239 0, 0, 0, 0, 252, 0, 318, 253, 0, 0,
240 59, 159, 160, 161, 0, 0, 162, 163, 0, 0,
241 164, 0, 0, 165, 166, 167, 157, 0, 82, 68,
242 0, 0, 0, 0, 0, 0, 0, 155, 155, 155,
243 155, 155, 23, 0, 0, 51, 155, 0, 0, 142,
244 142, 142, 142, 0, 168, 0, 0, 155, 142, 155,
245 155, 155, 155, 142, 142, 142, 142, 155, 155, 155,
246 155, 155, 142, 142, 155, 155, 155, 142, 142, 142,
247 142, 142, 155, 155, 142, 142, 150, 155, 142, 155,
248 155, 142, 142, 142, 0, 0, 0, 0, 0, 163,
249 0, 0, 164, 0, 0, 165, 166, 167, 156, 156,
250 156, 156, 156, 0, 0, 0, 0, 156, 0, 0,
251 103, 103, 103, 103, 0, 168, 0, 0, 156, 103,
252 156, 156, 156, 156, 103, 103, 103, 103, 156, 156,
253 156, 156, 156, 103, 103, 156, 156, 156, 103, 103,
254 103, 103, 103, 156, 156, 103, 103, 150, 156, 103,
255 156, 156, 103, 103, 103, 0, 84, 164, 0, 84,
256 165, 166, 167, 0, 0, 22, 24, 25, 26, 27,
257 28, 0, 0, 84, 84, 29, 0, 0, 30, 31,
258 32, 33, 0, 0, 0, 34, 35, 0, 36, 37,
259 38, 39, 0, 0, 0, 0, 40, 41, 42, 43,
260 44, 168, 0, 45, 46, 47, 0, 56, 84, 0,
261 56, 48, 49, 0, 0, 0, 52, 39, 53, 54,
262 39, 39, 39, 0, 39, 56, 39, 39, 0, 39,
263 0, 151, 0, 150, 0, 0, 152, 153, 154, 155,
264 0, 0, 0, 39, 0, 0, 0, 0, 39, 0,
265 156, 158, 159, 160, 161, 0, 0, 162, 163, 56,
266 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
267 0, 0, 0, 50, 0, 39, 61, 63, 60, 0,
268 55, 0, 64, 58, 0, 57, 0, 0, 0, 0,
269 0, 0, 0, 0, 168, 0, 0, 0, 0, 0,
270 0, 0, 0, 0, 62, 0, 0, 39, 0, 154,
271 39, 0, 0, 50, 0, 0, 61, 63, 60, 0,
272 55, 0, 64, 58, 0, 57, 150, 0, 0, 163,
273 0, 59, 164, 0, 0, 165, 166, 167, 0, 113,
274 0, 0, 0, 0, 62, 0, 0, 0, 0, 0,
275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
276 0, 0, 0, 23, 0, 0, 51, 0, 0, 50,
277 0, 59, 61, 63, 60, 0, 55, 0, 64, 58,
278 0, 57, 0, 0, 84, 84, 84, 84, 0, 0,
279 0, 0, 0, 152, 153, 154, 155, 0, 0, 0,
280 62, 0, 0, 0, 0, 0, 51, 84, 84, 0,
281 160, 161, 84, 0, 162, 163, 0, 0, 164, 0,
282 0, 165, 166, 167, 0, 0, 0, 59, 0, 83,
283 0, 0, 83, 0, 0, 56, 56, 56, 56, 0,
284 39, 39, 39, 39, 39, 39, 83, 83, 0, 0,
285 39, 83, 0, 39, 39, 39, 39, 0, 56, 23,
286 39, 39, 51, 39, 39, 39, 39, 0, 0, 0,
287 0, 39, 39, 39, 39, 39, 0, 0, 39, 39,
288 39, 83, 0, 0, 0, 0, 39, 39, 154, 155,
289 0, 39, 0, 39, 39, 0, 0, 117, 25, 26,
290 27, 28, 86, 0, 0, 0, 29, 162, 163, 0,
291 0, 164, 168, 0, 165, 166, 167, 35, 0, 36,
292 37, 38, 39, 0, 0, 0, 0, 40, 41, 42,
293 43, 44, 0, 0, 45, 46, 47, 24, 25, 26,
294 27, 28, 48, 49, 150, 0, 29, 52, 0, 53,
295 54, 0, 0, 0, 0, 0, 0, 35, 0, 36,
296 37, 38, 39, 0, 0, 0, 0, 40, 41, 42,
297 43, 44, 0, 0, 45, 46, 47, 0, 0, 0,
298 0, 0, 48, 49, 0, 0, 0, 52, 78, 53,
299 54, 78, 0, 117, 25, 26, 27, 28, 86, 0,
300 0, 0, 29, 0, 0, 78, 78, 0, 0, 0,
301 78, 0, 0, 35, 0, 36, 37, 38, 39, 0,
302 0, 0, 0, 40, 41, 42, 43, 44, 0, 0,
303 0, 46, 47, 0, 0, 0, 0, 0, 48, 49,
304 78, 0, 0, 52, 50, 53, 54, 61, 63, 60,
305 0, 55, 130, 64, 58, 0, 57, 83, 83, 83,
306 83, 0, 0, 0, 0, 168, 83, 0, 0, 0,
307 0, 0, 0, 0, 0, 62, 0, 0, 0, 0,
308 83, 83, 0, 0, 50, 83, 83, 61, 63, 60,
309 0, 55, 0, 64, 58, 0, 57, 150, 0, 0,
310 0, 0, 59, 0, 152, 153, 154, 155, 0, 0,
311 0, 0, 0, 0, 0, 62, 0, 0, 0, 0,
312 0, 130, 161, 0, 130, 162, 163, 0, 0, 164,
313 0, 90, 165, 166, 167, 0, 0, 51, 130, 130,
314 0, 0, 59, 50, 134, 107, 61, 63, 60, 0,
315 55, 120, 64, 58, 0, 57, 0, 0, 0, 0,
316 0, 0, 0, 0, 0, 136, 137, 138, 139, 140,
317 0, 0, 0, 130, 62, 0, 0, 51, 0, 0,
318 0, 0, 0, 50, 0, 0, 61, 63, 60, 0,
319 55, 198, 64, 58, 0, 57, 0, 0, 0, 0,
320 0, 59, 0, 0, 0, 0, 0, 0, 0, 0,
321 0, 202, 0, 0, 62, 0, 78, 78, 78, 78,
322 0, 0, 0, 50, 0, 78, 61, 63, 60, 0,
323 55, 246, 64, 58, 0, 57, 51, 0, 0, 78,
324 78, 59, 0, 0, 78, 78, 78, 78, 78, 0,
325 0, 0, 0, 0, 62, 0, 0, 152, 153, 154,
326 155, 0, 0, 0, 0, 0, 0, 0, 24, 25,
327 26, 27, 28, 0, 0, 0, 51, 29, 162, 163,
328 0, 59, 164, 0, 0, 165, 166, 167, 35, 0,
329 36, 37, 38, 39, 0, 168, 0, 0, 40, 41,
330 42, 43, 44, 0, 0, 45, 46, 47, 24, 25,
331 26, 27, 28, 48, 49, 0, 51, 29, 52, 0,
332 53, 54, 0, 0, 0, 0, 0, 150, 35, 0,
333 36, 37, 38, 39, 0, 0, 0, 0, 40, 41,
334 42, 43, 44, 0, 0, 45, 46, 47, 0, 130,
335 130, 130, 130, 48, 49, 0, 0, 0, 52, 0,
336 53, 54, 0, 0, 0, 0, 22, 24, 25, 26,
337 27, 28, 130, 130, 0, 0, 29, 0, 0, 0,
338 0, 0, 0, 0, 0, 0, 0, 35, 0, 36,
339 37, 38, 39, 0, 0, 0, 0, 40, 41, 42,
340 43, 44, 0, 0, 45, 46, 47, 24, 25, 26,
341 27, 28, 48, 49, 0, 0, 29, 52, 0, 53,
342 54, 0, 0, 0, 0, 0, 0, 35, 0, 36,
343 37, 38, 39, 0, 0, 0, 0, 40, 41, 42,
344 43, 44, 0, 168, 45, 46, 47, 24, 25, 26,
345 27, 28, 48, 49, 0, 0, 29, 52, 0, 53,
346 54, 0, 0, 0, 0, 0, 0, 35, 0, 36,
347 37, 38, 39, 0, 0, 150, 0, 40, 41, 42,
348 43, 44, 0, 0, 45, 46, 47, 0, 0, 154,
349 155, 0, 48, 49, 0, 0, 0, 52, 50, 53,
350 54, 61, 63, 60, 0, 55, 272, 64, 58, 163,
351 57, 0, 164, 0, 0, 165, 166, 167, 0, 0,
352 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,
353 0, 0, 0, 0, 0, 0, 0, 0, 50, 0,
354 0, 61, 63, 60, 0, 55, 274, 64, 58, 0,
355 57, 0, 0, 0, 0, 0, 59, 0, 0, 0,
356 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,
357 0, 0, 0, 0, 0, 0, 0, 0, 50, 0,
358 0, 61, 63, 60, 0, 55, 0, 64, 58, 0,
359 57, 51, 0, 0, 0, 0, 59, 0, 0, 0,
360 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,
361 0, 0, 0, 0, 0, 0, 0, 0, 50, 0,
362 0, 61, 63, 60, 0, 55, 0, 64, 58, 0,
363 57, 51, 0, 0, 0, 152, 59, 154, 155, 0,
364 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,
365 0, 0, 0, 0, 0, 0, 162, 163, 0, 0,
366 164, 0, 0, 165, 166, 167, 0, 0, 23, 0,
367 0, 51, 0, 0, 0, 0, 59, 0, 0, 0,
368 0, 0, 0, 50, 0, 0, 61, 63, 60, 0,
369 55, 0, 64, 58, 0, 57, 0, 88, 88, 0,
370 0, 0, 0, 0, 0, 0, 102, 0, 0, 0,
371 0, 51, 88, 111, 62, 0, 0, 0, 118, 0,
372 0, 0, 24, 25, 26, 27, 28, 0, 0, 0,
373 0, 29, 88, 88, 88, 88, 88, 0, 0, 0,
374 0, 59, 35, 0, 36, 37, 38, 39, 0, 0,
375 0, 0, 40, 41, 42, 43, 44, 0, 0, 45,
376 46, 47, 24, 25, 26, 27, 28, 48, 49, 0,
377 0, 29, 52, 23, 53, 54, 51, 0, 118, 0,
378 0, 0, 35, 0, 36, 37, 38, 39, 0, 0,
379 0, 0, 40, 41, 42, 43, 44, 0, 0, 45,
380 46, 47, 108, 25, 26, 27, 28, 48, 49, 0,
381 0, 29, 52, 0, 53, 54, 0, 0, 0, 0,
382 0, 0, 35, 0, 36, 37, 38, 39, 0, 0,
383 0, 0, 40, 41, 42, 43, 44, 0, 0, 239,
384 46, 47, 24, 25, 26, 27, 28, 48, 49, 0,
385 0, 29, 52, 168, 53, 54, 0, 0, 0, 0,
386 60, 0, 35, 60, 36, 37, 38, 39, 0, 0,
387 0, 0, 40, 41, 42, 43, 44, 60, 60, 45,
388 46, 47, 0, 0, 0, 150, 0, 48, 49, 0,
389 0, 0, 52, 50, 53, 54, 61, 63, 60, 0,
390 55, 0, 64, 58, 0, 57, 0, 24, 25, 26,
391 27, 28, 60, 0, 0, 0, 29, 0, 0, 0,
392 0, 0, 0, 0, 62, 0, 0, 35, 0, 36,
393 37, 38, 39, 0, 0, 0, 0, 40, 41, 42,
394 43, 44, 0, 0, 135, 46, 47, 135, 0, 0,
395 0, 59, 48, 49, 0, 0, 0, 52, 0, 53,
396 54, 135, 135, 0, 0, 0, 135, 0, 0, 0,
397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398 0, 0, 0, 0, 0, 0, 51, 0, 0, 119,
399 0, 0, 119, 0, 135, 0, 135, 0, 0, 0,
400 0, 0, 0, 0, 0, 0, 119, 119, 0, 0,
401 0, 119, 0, 0, 0, 0, 0, 0, 0, 0,
402 0, 0, 0, 0, 0, 0, 135, 0, 0, 0,
403 0, 0, 0, 0, 142, 0, 0, 142, 0, 119,
404 0, 119, 0, 0, 0, 152, 153, 154, 155, 0,
405 0, 142, 142, 0, 0, 0, 142, 0, 0, 0,
406 158, 159, 160, 161, 0, 0, 162, 163, 0, 0,
407 164, 119, 0, 165, 166, 167, 0, 0, 0, 129,
408 0, 0, 129, 0, 142, 0, 142, 0, 60, 60,
409 60, 60, 0, 0, 0, 0, 129, 129, 0, 0,
410 0, 129, 0, 0, 0, 0, 0, 0, 0, 0,
411 0, 60, 60, 0, 0, 0, 142, 24, 25, 26,
412 27, 28, 0, 0, 0, 0, 29, 0, 0, 0,
413 0, 129, 0, 0, 0, 0, 0, 35, 0, 36,
414 37, 38, 39, 0, 0, 0, 0, 40, 41, 42,
415 43, 44, 0, 0, 0, 46, 47, 0, 0, 0,
416 145, 129, 48, 49, 0, 0, 0, 52, 0, 53,
417 54, 0, 135, 135, 135, 135, 0, 145, 145, 0,
418 0, 135, 145, 0, 0, 0, 135, 135, 135, 135,
419 0, 0, 0, 0, 0, 135, 135, 0, 0, 0,
420 135, 135, 135, 135, 135, 0, 144, 135, 135, 144,
421 145, 135, 145, 0, 135, 135, 135, 119, 119, 119,
422 119, 0, 0, 144, 144, 0, 119, 0, 144, 0,
423 0, 119, 119, 119, 119, 0, 0, 0, 0, 0,
424 119, 119, 145, 0, 0, 119, 119, 119, 119, 119,
425 0, 97, 119, 119, 97, 0, 119, 0, 144, 119,
426 119, 119, 142, 142, 142, 142, 0, 0, 97, 97,
427 0, 142, 0, 97, 0, 0, 142, 142, 142, 142,
428 0, 0, 0, 0, 0, 142, 142, 0, 144, 0,
429 142, 142, 142, 142, 142, 0, 59, 142, 142, 59,
430 0, 142, 0, 97, 142, 142, 142, 129, 129, 129,
431 129, 0, 0, 59, 59, 0, 129, 0, 59, 0,
432 0, 129, 129, 129, 129, 0, 0, 0, 0, 0,
433 129, 129, 0, 97, 0, 129, 129, 129, 129, 129,
434 0, 0, 129, 129, 62, 0, 129, 0, 59, 129,
435 129, 129, 0, 0, 72, 0, 0, 72, 0, 0,
436 0, 62, 62, 0, 0, 0, 62, 0, 0, 0,
437 0, 72, 72, 0, 0, 0, 0, 0, 59, 0,
438 0, 0, 0, 0, 0, 0, 0, 0, 145, 145,
439 145, 145, 96, 0, 62, 96, 62, 145, 0, 0,
440 0, 0, 145, 145, 145, 145, 72, 0, 0, 96,
441 96, 145, 145, 0, 96, 0, 145, 145, 145, 145,
442 145, 0, 0, 145, 145, 0, 62, 145, 0, 0,
443 145, 145, 145, 0, 144, 144, 144, 144, 144, 0,
444 0, 144, 0, 144, 96, 0, 0, 0, 144, 144,
445 144, 144, 0, 0, 0, 144, 144, 144, 144, 0,
446 144, 0, 144, 144, 144, 144, 144, 0, 0, 144,
447 144, 0, 0, 144, 96, 0, 144, 144, 144, 97,
448 97, 97, 97, 131, 0, 0, 131, 0, 97, 0,
449 144, 0, 0, 97, 97, 97, 97, 0, 0, 0,
450 131, 131, 97, 97, 0, 131, 0, 97, 97, 97,
451 97, 97, 0, 0, 97, 97, 0, 0, 97, 0,
452 0, 97, 97, 97, 59, 59, 59, 59, 103, 0,
453 0, 103, 0, 59, 0, 131, 0, 0, 59, 59,
454 59, 59, 0, 0, 0, 103, 103, 59, 59, 0,
455 103, 0, 59, 59, 59, 59, 59, 0, 0, 59,
456 59, 0, 0, 59, 0, 0, 59, 59, 59, 0,
457 0, 0, 62, 62, 62, 62, 109, 0, 0, 109,
458 103, 62, 72, 72, 72, 72, 62, 62, 62, 62,
459 0, 0, 0, 109, 109, 62, 62, 0, 109, 0,
460 62, 62, 62, 62, 62, 72, 72, 62, 62, 0,
461 0, 62, 0, 0, 62, 62, 62, 0, 0, 0,
462 96, 96, 96, 96, 314, 0, 0, 0, 109, 96,
463 0, 0, 0, 0, 96, 96, 96, 96, 0, 0,
464 0, 0, 0, 96, 96, 0, 157, 0, 96, 96,
465 96, 96, 96, 0, 0, 96, 96, 0, 0, 96,
466 0, 0, 96, 96, 96, 0, 144, 144, 144, 144,
467 93, 0, 0, 93, 168, 144, 0, 0, 0, 0,
468 144, 144, 144, 144, 0, 0, 0, 93, 93, 144,
469 144, 0, 93, 0, 144, 144, 144, 144, 144, 0,
470 0, 144, 144, 0, 0, 144, 150, 0, 144, 144,
471 144, 131, 131, 131, 131, 94, 0, 0, 94, 0,
472 131, 0, 93, 0, 0, 131, 131, 131, 131, 0,
473 0, 0, 94, 94, 131, 131, 0, 94, 0, 131,
474 131, 131, 131, 131, 0, 0, 131, 131, 0, 0,
475 131, 0, 0, 131, 131, 131, 103, 103, 103, 103,
476 88, 0, 0, 88, 0, 103, 0, 94, 0, 0,
477 103, 103, 103, 103, 0, 0, 0, 88, 88, 103,
478 103, 0, 88, 0, 103, 103, 103, 103, 103, 0,
479 0, 103, 103, 0, 0, 103, 0, 0, 103, 103,
480 103, 0, 0, 0, 109, 109, 109, 109, 89, 0,
481 0, 89, 88, 109, 0, 0, 0, 0, 109, 109,
482 109, 109, 0, 0, 0, 89, 89, 109, 109, 0,
483 89, 0, 109, 109, 109, 109, 109, 0, 0, 109,
484 109, 0, 0, 109, 0, 0, 109, 109, 109, 0,
485 0, 0, 0, 90, 0, 0, 90, 0, 0, 0,
486 89, 151, 0, 0, 0, 0, 152, 153, 154, 155,
487 90, 90, 0, 0, 0, 90, 0, 0, 0, 0,
488 156, 158, 159, 160, 161, 0, 0, 162, 163, 0,
489 0, 164, 0, 0, 165, 166, 167, 0, 93, 93,
490 93, 93, 0, 281, 0, 90, 0, 93, 157, 0,
491 0, 0, 93, 93, 93, 93, 0, 0, 0, 0,
492 0, 93, 93, 0, 0, 0, 93, 93, 93, 93,
493 93, 0, 86, 93, 93, 86, 168, 93, 0, 0,
494 0, 0, 0, 94, 94, 94, 94, 0, 0, 86,
495 86, 0, 94, 0, 86, 0, 0, 94, 94, 94,
496 94, 0, 0, 0, 0, 0, 94, 94, 150, 0,
497 0, 94, 94, 94, 94, 94, 0, 87, 94, 94,
498 87, 0, 94, 0, 86, 0, 0, 0, 88, 88,
499 88, 88, 0, 0, 87, 87, 0, 88, 0, 87,
500 0, 0, 88, 88, 88, 88, 0, 0, 0, 0,
501 0, 88, 88, 0, 0, 0, 88, 88, 88, 88,
502 88, 0, 0, 88, 88, 85, 0, 0, 85, 87,
503 0, 0, 0, 0, 0, 0, 89, 89, 89, 89,
504 0, 0, 85, 85, 0, 89, 0, 85, 0, 0,
505 89, 89, 89, 89, 0, 0, 0, 0, 0, 89,
506 89, 0, 0, 0, 89, 89, 89, 89, 89, 0,
507 73, 89, 89, 73, 0, 0, 0, 85, 0, 0,
508 0, 90, 90, 90, 90, 0, 0, 73, 73, 0,
509 90, 0, 73, 0, 0, 90, 90, 90, 90, 0,
510 0, 0, 0, 0, 90, 90, 0, 0, 0, 90,
511 90, 90, 90, 90, 0, 74, 90, 90, 74, 0,
512 0, 0, 73, 151, 0, 0, 0, 0, 152, 153,
513 154, 155, 74, 74, 0, 0, 0, 74, 0, 0,
514 0, 0, 156, 158, 159, 160, 161, 0, 0, 162,
515 163, 0, 0, 164, 0, 0, 165, 166, 167, 0,
516 86, 86, 86, 86, 0, 0, 0, 74, 0, 86,
517 157, 0, 0, 0, 86, 86, 86, 86, 0, 0,
518 0, 0, 0, 86, 86, 0, 0, 0, 86, 86,
519 86, 86, 86, 0, 75, 86, 86, 75, 168, 0,
520 0, 0, 0, 0, 0, 87, 87, 87, 87, 0,
521 0, 75, 75, 0, 87, 0, 75, 0, 0, 87,
522 87, 87, 87, 0, 0, 0, 0, 0, 87, 87,
523 150, 0, 0, 87, 87, 87, 87, 87, 0, 0,
524 87, 87, 76, 0, 0, 76, 75, 0, 0, 0,
525 0, 0, 0, 85, 85, 85, 85, 0, 0, 76,
526 76, 0, 85, 0, 76, 0, 0, 85, 85, 85,
527 85, 0, 0, 0, 0, 0, 85, 85, 0, 0,
528 0, 85, 85, 85, 85, 85, 0, 123, 85, 85,
529 123, 0, 0, 0, 76, 0, 0, 0, 73, 73,
530 73, 73, 0, 0, 123, 123, 0, 73, 0, 123,
531 0, 0, 73, 73, 73, 73, 0, 0, 0, 0,
532 0, 73, 73, 0, 0, 0, 73, 73, 73, 73,
533 73, 0, 95, 73, 73, 95, 0, 0, 0, 123,
534 0, 0, 0, 74, 74, 74, 74, 0, 0, 95,
535 95, 0, 74, 0, 95, 0, 0, 74, 74, 74,
536 74, 0, 0, 0, 0, 133, 74, 74, 133, 0,
537 0, 74, 74, 74, 74, 74, 0, 0, 74, 0,
538 0, 0, 133, 133, 95, 151, 0, 133, 0, 0,
539 152, 153, 154, 155, 0, 0, 0, 0, 0, 0,
540 0, 0, 0, 0, 156, 158, 159, 160, 161, 0,
541 134, 162, 163, 134, 0, 164, 0, 133, 165, 166,
542 167, 0, 75, 75, 75, 75, 80, 134, 134, 80,
543 0, 75, 134, 0, 0, 0, 75, 75, 0, 75,
544 0, 0, 0, 80, 80, 75, 75, 0, 80, 0,
545 75, 75, 75, 75, 75, 0, 0, 75, 77, 0,
546 0, 77, 134, 0, 0, 0, 0, 0, 0, 0,
547 76, 76, 76, 76, 79, 77, 77, 79, 80, 76,
548 77, 0, 0, 0, 76, 76, 0, 0, 0, 0,
549 0, 79, 79, 76, 76, 0, 79, 0, 76, 76,
550 76, 76, 76, 0, 0, 76, 0, 0, 0, 0,
551 77, 0, 0, 0, 0, 123, 123, 123, 123, 82,
552 0, 0, 82, 0, 123, 0, 79, 0, 0, 123,
553 123, 0, 0, 0, 0, 0, 82, 82, 123, 123,
554 0, 82, 0, 123, 123, 123, 123, 123, 0, 0,
555 0, 0, 0, 0, 0, 0, 0, 0, 157, 0,
556 95, 95, 95, 95, 0, 0, 0, 0, 0, 95,
557 0, 82, 0, 0, 95, 95, 0, 0, 0, 0,
558 0, 0, 0, 95, 95, 0, 168, 0, 95, 95,
559 95, 95, 95, 133, 133, 133, 133, 0, 0, 0,
560 0, 0, 133, 0, 0, 0, 0, 133, 133, 0,
561 0, 0, 0, 0, 0, 0, 133, 133, 150, 0,
562 0, 133, 133, 133, 133, 133, 0, 0, 0, 0,
563 0, 0, 0, 0, 0, 0, 0, 0, 134, 134,
564 134, 134, 0, 0, 0, 0, 0, 134, 0, 0,
565 0, 0, 134, 134, 80, 80, 80, 80, 0, 0,
566 0, 134, 134, 80, 0, 0, 134, 134, 134, 134,
567 134, 0, 0, 0, 0, 0, 0, 80, 80, 0,
568 0, 0, 80, 80, 80, 80, 77, 77, 77, 77,
569 0, 0, 0, 0, 0, 77, 0, 0, 0, 0,
570 0, 77, 79, 79, 79, 79, 0, 0, 0, 77,
571 77, 79, 0, 0, 77, 77, 77, 77, 77, 0,
572 0, 0, 0, 0, 0, 79, 79, 0, 0, 0,
573 79, 79, 79, 79, 79, 0, 0, 0, 0, 0,
574 0, 0, 0, 0, 0, 103, 0, 82, 82, 82,
575 82, 110, 112, 0, 0, 0, 82, 0, 123, 124,
576 125, 126, 127, 128, 129, 0, 0, 132, 133, 0,
577 82, 82, 0, 151, 0, 82, 82, 82, 152, 153,
578 154, 155, 0, 0, 0, 0, 0, 0, 0, 0,
579 0, 0, 0, 158, 159, 160, 161, 0, 0, 162,
580 163, 182, 0, 164, 0, 0, 165, 166, 167, 0,
581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
585 0, 0, 0, 214, 0, 0, 0, 0, 0, 0,
586 0, 222, 223, 224, 225, 226, 227, 228, 229, 230,
587 231, 232, 233, 234, 235, 0, 0, 0, 0, 0,
588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
596 0, 0, 0, 292, 0, 0, 0, 0, 0, 0,
597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
601 dEXT short yycheck[] = { 13,
602 36, 91, 41, 17, 41, 59, 41, 44, 93, 125,
603 123, 59, 0, 41, 36, 93, 30, 31, 32, 33,
604 93, 58, 59, 192, 257, 93, 63, 41, 181, 59,
605 93, 46, 59, 123, 48, 91, 40, 44, 40, 257,
606 40, 91, 6, 41, 41, 33, 41, 40, 36, 37,
607 38, 93, 40, 40, 42, 43, 93, 45, 41, 41,
608 186, 59, 188, 41, 78, 29, 41, 123, 59, 91,
609 41, 59, 41, 123, 89, 0, 64, 59, 257, 41,
610 94, 59, 96, 47, 98, 40, 100, 123, 59, 91,
611 36, 275, 41, 123, 40, 40, 123, 59, 41, 40,
612 115, 123, 40, 91, 292, 293, 59, 121, 33, 41,
613 59, 36, 37, 38, 44, 40, 59, 42, 43, 123,
614 45, 123, 41, 123, 41, 59, 295, 141, 40, 298,
615 123, 284, 273, 274, 59, 123, 123, 125, 126, 64,
616 0, 260, 123, 59, 257, 40, 59, 263, 264, 265,
617 93, 267, 268, 59, 40, 59, 41, 263, 264, 265,
618 329, 267, 268, 177, 40, 125, 91, 293, 294, 183,
619 91, 41, 59, 33, 300, 41, 36, 37, 38, 293,
620 40, 125, 42, 43, 91, 45, 40, 59, 41, 40,
621 125, 93, 125, 41, 209, 41, 322, 125, 123, 59,
622 125, 126, 125, 59, 64, 123, 41, 292, 293, 257,
623 41, 41, 59, 44, 292, 293, 59, 41, 59, 292,
624 293, 257, 41, 313, 292, 293, 262, 58, 59, 292,
625 293, 91, 269, 270, 271, 272, 258, 320, 292, 293,
626 84, 255, 13, 257, 265, 259, 260, 92, 41, 263,
627 292, 293, 266, 292, 293, 292, 293, 292, 293, -1,
628 297, -1, 93, 123, 292, 293, 126, -1, 256, 257,
629 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
630 268, 269, 270, 271, 272, 292, 293, 301, 276, 277,
631 -1, 279, 280, 281, 282, 292, 293, 292, 293, 287,
632 288, 289, 290, 291, -1, -1, 294, 295, 296, 292,
633 293, -1, 326, -1, 302, 303, 330, 292, 293, 307,
634 -1, 309, 310, 292, 293, -1, 269, 270, 271, 272,
635 -1, 256, 257, 258, 259, 260, 261, -1, 263, 264,
636 265, 266, 267, 268, 269, 270, 271, 272, -1, 292,
637 293, 276, 277, -1, 279, 280, 281, 282, 292, 293,
638 292, 293, 287, 288, 289, 290, 291, -1, -1, 294,
639 295, 296, 13, 292, 293, 292, 293, 302, 303, 292,
640 293, -1, 307, -1, 309, 310, 292, 293, 292, 293,
641 292, 293, -1, -1, -1, -1, 256, 257, 258, 259,
642 260, 261, 43, -1, 45, -1, 266, -1, -1, 269,
643 270, 271, 272, -1, 55, -1, 276, 277, 59, 279,
644 280, 281, 282, -1, -1, -1, -1, 287, 288, 289,
645 290, 291, -1, -1, 294, 295, 296, -1, 269, 270,
646 271, 272, 302, 303, -1, -1, -1, 307, -1, 309,
647 310, -1, 93, 91, 95, -1, 97, -1, 99, -1,
648 101, 292, 293, 33, 105, -1, 36, 37, 38, -1,
649 40, 41, 42, 43, 44, 45, 269, 270, 271, 272,
650 -1, -1, -1, -1, -1, 123, -1, -1, 58, 59,
651 21, -1, -1, 63, 64, 269, 270, 271, 272, 292,
652 293, -1, -1, 144, 145, 146, 147, 148, 149, 150,
653 -1, -1, -1, -1, -1, 46, -1, -1, 292, 293,
654 -1, 91, -1, 93, -1, -1, -1, 168, 169, 170,
655 171, 172, 173, -1, 33, 91, -1, 36, 37, 38,
656 -1, 40, 41, 42, 43, 44, 45, -1, -1, -1,
657 -1, -1, -1, 123, -1, 196, 126, -1, 89, 58,
658 59, 202, 203, 204, 63, 64, -1, 123, -1, 210,
659 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
660 -1, -1, -1, -1, 115, -1, -1, -1, -1, 120,
661 -1, -1, -1, -1, 93, 236, -1, 238, -1, -1,
662 91, -1, 33, -1, -1, 36, 37, 38, -1, 40,
663 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
664 -1, -1, -1, -1, 265, -1, -1, 126, 59, -1,
665 -1, -1, 123, 64, -1, -1, -1, -1, 279, -1,
666 -1, -1, -1, -1, -1, 283, 284, 285, 286, -1,
667 -1, -1, -1, -1, 41, -1, 297, 44, -1, -1,
668 91, 299, 300, 301, -1, -1, 304, 305, -1, -1,
669 308, -1, -1, 311, 312, 313, 63, -1, 209, 320,
670 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
671 260, 261, 123, -1, -1, 126, 266, -1, -1, 269,
672 270, 271, 272, -1, 91, -1, -1, 277, 278, 279,
673 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
674 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
675 300, 301, 302, 303, 304, 305, 123, 307, 308, 309,
676 310, 311, 312, 313, -1, -1, -1, -1, -1, 305,
677 -1, -1, 308, -1, -1, 311, 312, 313, 257, 258,
678 259, 260, 261, -1, -1, -1, -1, 266, -1, -1,
679 269, 270, 271, 272, -1, 91, -1, -1, 277, 278,
680 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
681 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
682 299, 300, 301, 302, 303, 304, 305, 123, 307, 308,
683 309, 310, 311, 312, 313, -1, 41, 308, -1, 44,
684 311, 312, 313, -1, -1, 256, 257, 258, 259, 260,
685 261, -1, -1, 58, 59, 266, -1, -1, 269, 270,
686 271, 272, -1, -1, -1, 276, 277, -1, 279, 280,
687 281, 282, -1, -1, -1, -1, 287, 288, 289, 290,
688 291, 91, -1, 294, 295, 296, -1, 41, 93, -1,
689 44, 302, 303, -1, -1, -1, 307, 33, 309, 310,
690 36, 37, 38, -1, 40, 59, 42, 43, -1, 45,
691 -1, 278, -1, 123, -1, -1, 283, 284, 285, 286,
692 -1, -1, -1, 59, -1, -1, -1, -1, 64, -1,
693 297, 298, 299, 300, 301, -1, -1, 304, 305, 93,
694 -1, 308, -1, -1, 311, 312, 313, -1, -1, -1,
695 -1, -1, -1, 33, -1, 91, 36, 37, 38, -1,
696 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
697 -1, -1, -1, -1, 91, -1, -1, -1, -1, -1,
698 -1, -1, -1, -1, 64, -1, -1, 123, -1, 285,
699 126, -1, -1, 33, -1, -1, 36, 37, 38, -1,
700 40, -1, 42, 43, -1, 45, 123, -1, -1, 305,
701 -1, 91, 308, -1, -1, 311, 312, 313, -1, 59,
702 -1, -1, -1, -1, 64, -1, -1, -1, -1, -1,
703 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
704 -1, -1, -1, 123, -1, -1, 126, -1, -1, 33,
705 -1, 91, 36, 37, 38, -1, 40, -1, 42, 43,
706 -1, 45, -1, -1, 269, 270, 271, 272, -1, -1,
707 -1, -1, -1, 283, 284, 285, 286, -1, -1, -1,
708 64, -1, -1, -1, -1, -1, 126, 292, 293, -1,
709 300, 301, 297, -1, 304, 305, -1, -1, 308, -1,
710 -1, 311, 312, 313, -1, -1, -1, 91, -1, 41,
711 -1, -1, 44, -1, -1, 269, 270, 271, 272, -1,
712 256, 257, 258, 259, 260, 261, 58, 59, -1, -1,
713 266, 63, -1, 269, 270, 271, 272, -1, 292, 123,
714 276, 277, 126, 279, 280, 281, 282, -1, -1, -1,
715 -1, 287, 288, 289, 290, 291, -1, -1, 294, 295,
716 296, 93, -1, -1, -1, -1, 302, 303, 285, 286,
717 -1, 307, -1, 309, 310, -1, -1, 257, 258, 259,
718 260, 261, 262, -1, -1, -1, 266, 304, 305, -1,
719 -1, 308, 91, -1, 311, 312, 313, 277, -1, 279,
720 280, 281, 282, -1, -1, -1, -1, 287, 288, 289,
721 290, 291, -1, -1, 294, 295, 296, 257, 258, 259,
722 260, 261, 302, 303, 123, -1, 266, 307, -1, 309,
723 310, -1, -1, -1, -1, -1, -1, 277, -1, 279,
724 280, 281, 282, -1, -1, -1, -1, 287, 288, 289,
725 290, 291, -1, -1, 294, 295, 296, -1, -1, -1,
726 -1, -1, 302, 303, -1, -1, -1, 307, 41, 309,
727 310, 44, -1, 257, 258, 259, 260, 261, 262, -1,
728 -1, -1, 266, -1, -1, 58, 59, -1, -1, -1,
729 63, -1, -1, 277, -1, 279, 280, 281, 282, -1,
730 -1, -1, -1, 287, 288, 289, 290, 291, -1, -1,
731 -1, 295, 296, -1, -1, -1, -1, -1, 302, 303,
732 93, -1, -1, 307, 33, 309, 310, 36, 37, 38,
733 -1, 40, 41, 42, 43, -1, 45, 269, 270, 271,
734 272, -1, -1, -1, -1, 91, 278, -1, -1, -1,
735 -1, -1, -1, -1, -1, 64, -1, -1, -1, -1,
736 292, 293, -1, -1, 33, 297, 298, 36, 37, 38,
737 -1, 40, -1, 42, 43, -1, 45, 123, -1, -1,
738 -1, -1, 91, -1, 283, 284, 285, 286, -1, -1,
739 -1, -1, -1, -1, -1, 64, -1, -1, -1, -1,
740 -1, 41, 301, -1, 44, 304, 305, -1, -1, 308,
741 -1, 26, 311, 312, 313, -1, -1, 126, 58, 59,
742 -1, -1, 91, 33, 93, 40, 36, 37, 38, -1,
743 40, 46, 42, 43, -1, 45, -1, -1, -1, -1,
744 -1, -1, -1, -1, -1, 60, 61, 62, 63, 64,
745 -1, -1, -1, 93, 64, -1, -1, 126, -1, -1,
746 -1, -1, -1, 33, -1, -1, 36, 37, 38, -1,
747 40, 41, 42, 43, -1, 45, -1, -1, -1, -1,
748 -1, 91, -1, -1, -1, -1, -1, -1, -1, -1,
749 -1, 106, -1, -1, 64, -1, 269, 270, 271, 272,
750 -1, -1, -1, 33, -1, 278, 36, 37, 38, -1,
751 40, 41, 42, 43, -1, 45, 126, -1, -1, 292,
752 293, 91, -1, -1, 297, 298, 299, 300, 301, -1,
753 -1, -1, -1, -1, 64, -1, -1, 283, 284, 285,
754 286, -1, -1, -1, -1, -1, -1, -1, 257, 258,
755 259, 260, 261, -1, -1, -1, 126, 266, 304, 305,
756 -1, 91, 308, -1, -1, 311, 312, 313, 277, -1,
757 279, 280, 281, 282, -1, 91, -1, -1, 287, 288,
758 289, 290, 291, -1, -1, 294, 295, 296, 257, 258,
759 259, 260, 261, 302, 303, -1, 126, 266, 307, -1,
760 309, 310, -1, -1, -1, -1, -1, 123, 277, -1,
761 279, 280, 281, 282, -1, -1, -1, -1, 287, 288,
762 289, 290, 291, -1, -1, 294, 295, 296, -1, 269,
763 270, 271, 272, 302, 303, -1, -1, -1, 307, -1,
764 309, 310, -1, -1, -1, -1, 256, 257, 258, 259,
765 260, 261, 292, 293, -1, -1, 266, -1, -1, -1,
766 -1, -1, -1, -1, -1, -1, -1, 277, -1, 279,
767 280, 281, 282, -1, -1, -1, -1, 287, 288, 289,
768 290, 291, -1, -1, 294, 295, 296, 257, 258, 259,
769 260, 261, 302, 303, -1, -1, 266, 307, -1, 309,
770 310, -1, -1, -1, -1, -1, -1, 277, -1, 279,
771 280, 281, 282, -1, -1, -1, -1, 287, 288, 289,
772 290, 291, -1, 91, 294, 295, 296, 257, 258, 259,
773 260, 261, 302, 303, -1, -1, 266, 307, -1, 309,
774 310, -1, -1, -1, -1, -1, -1, 277, -1, 279,
775 280, 281, 282, -1, -1, 123, -1, 287, 288, 289,
776 290, 291, -1, -1, 294, 295, 296, -1, -1, 285,
777 286, -1, 302, 303, -1, -1, -1, 307, 33, 309,
778 310, 36, 37, 38, -1, 40, 41, 42, 43, 305,
779 45, -1, 308, -1, -1, 311, 312, 313, -1, -1,
780 -1, -1, -1, -1, -1, -1, -1, -1, -1, 64,
781 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
782 -1, 36, 37, 38, -1, 40, 41, 42, 43, -1,
783 45, -1, -1, -1, -1, -1, 91, -1, -1, -1,
784 -1, -1, -1, -1, -1, -1, -1, -1, -1, 64,
785 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
786 -1, 36, 37, 38, -1, 40, -1, 42, 43, -1,
787 45, 126, -1, -1, -1, -1, 91, -1, -1, -1,
788 -1, -1, -1, -1, -1, -1, -1, -1, -1, 64,
789 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
790 -1, 36, 37, 38, -1, 40, -1, 42, 43, -1,
791 45, 126, -1, -1, -1, 283, 91, 285, 286, -1,
792 -1, -1, -1, -1, -1, -1, -1, -1, -1, 64,
793 -1, -1, -1, -1, -1, -1, 304, 305, -1, -1,
794 308, -1, -1, 311, 312, 313, -1, -1, 123, -1,
795 -1, 126, -1, -1, -1, -1, 91, -1, -1, -1,
796 -1, -1, -1, 33, -1, -1, 36, 37, 38, -1,
797 40, -1, 42, 43, -1, 45, -1, 25, 26, -1,
798 -1, -1, -1, -1, -1, -1, 34, -1, -1, -1,
799 -1, 126, 40, 41, 64, -1, -1, -1, 46, -1,
800 -1, -1, 257, 258, 259, 260, 261, -1, -1, -1,
801 -1, 266, 60, 61, 62, 63, 64, -1, -1, -1,
802 -1, 91, 277, -1, 279, 280, 281, 282, -1, -1,
803 -1, -1, 287, 288, 289, 290, 291, -1, -1, 294,
804 295, 296, 257, 258, 259, 260, 261, 302, 303, -1,
805 -1, 266, 307, 123, 309, 310, 126, -1, 106, -1,
806 -1, -1, 277, -1, 279, 280, 281, 282, -1, -1,
807 -1, -1, 287, 288, 289, 290, 291, -1, -1, 294,
808 295, 296, 257, 258, 259, 260, 261, 302, 303, -1,
809 -1, 266, 307, -1, 309, 310, -1, -1, -1, -1,
810 -1, -1, 277, -1, 279, 280, 281, 282, -1, -1,
811 -1, -1, 287, 288, 289, 290, 291, -1, -1, 167,
812 295, 296, 257, 258, 259, 260, 261, 302, 303, -1,
813 -1, 266, 307, 91, 309, 310, -1, -1, -1, -1,
814 41, -1, 277, 44, 279, 280, 281, 282, -1, -1,
815 -1, -1, 287, 288, 289, 290, 291, 58, 59, 294,
816 295, 296, -1, -1, -1, 123, -1, 302, 303, -1,
817 -1, -1, 307, 33, 309, 310, 36, 37, 38, -1,
818 40, -1, 42, 43, -1, 45, -1, 257, 258, 259,
819 260, 261, 93, -1, -1, -1, 266, -1, -1, -1,
820 -1, -1, -1, -1, 64, -1, -1, 277, -1, 279,
821 280, 281, 282, -1, -1, -1, -1, 287, 288, 289,
822 290, 291, -1, -1, 41, 295, 296, 44, -1, -1,
823 -1, 91, 302, 303, -1, -1, -1, 307, -1, 309,
824 310, 58, 59, -1, -1, -1, 63, -1, -1, -1,
825 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
826 -1, -1, -1, -1, -1, -1, 126, -1, -1, 41,
827 -1, -1, 44, -1, 91, -1, 93, -1, -1, -1,
828 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
829 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
830 -1, -1, -1, -1, -1, -1, 123, -1, -1, -1,
831 -1, -1, -1, -1, 41, -1, -1, 44, -1, 91,
832 -1, 93, -1, -1, -1, 283, 284, 285, 286, -1,
833 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
834 298, 299, 300, 301, -1, -1, 304, 305, -1, -1,
835 308, 123, -1, 311, 312, 313, -1, -1, -1, 41,
836 -1, -1, 44, -1, 91, -1, 93, -1, 269, 270,
837 271, 272, -1, -1, -1, -1, 58, 59, -1, -1,
838 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
839 -1, 292, 293, -1, -1, -1, 123, 257, 258, 259,
840 260, 261, -1, -1, -1, -1, 266, -1, -1, -1,
841 -1, 93, -1, -1, -1, -1, -1, 277, -1, 279,
842 280, 281, 282, -1, -1, -1, -1, 287, 288, 289,
843 290, 291, -1, -1, -1, 295, 296, -1, -1, -1,
844 41, 123, 302, 303, -1, -1, -1, 307, -1, 309,
845 310, -1, 269, 270, 271, 272, -1, 58, 59, -1,
846 -1, 278, 63, -1, -1, -1, 283, 284, 285, 286,
847 -1, -1, -1, -1, -1, 292, 293, -1, -1, -1,
848 297, 298, 299, 300, 301, -1, 41, 304, 305, 44,
849 91, 308, 93, -1, 311, 312, 313, 269, 270, 271,
850 272, -1, -1, 58, 59, -1, 278, -1, 63, -1,
851 -1, 283, 284, 285, 286, -1, -1, -1, -1, -1,
852 292, 293, 123, -1, -1, 297, 298, 299, 300, 301,
853 -1, 41, 304, 305, 44, -1, 308, -1, 93, 311,
854 312, 313, 269, 270, 271, 272, -1, -1, 58, 59,
855 -1, 278, -1, 63, -1, -1, 283, 284, 285, 286,
856 -1, -1, -1, -1, -1, 292, 293, -1, 123, -1,
857 297, 298, 299, 300, 301, -1, 41, 304, 305, 44,
858 -1, 308, -1, 93, 311, 312, 313, 269, 270, 271,
859 272, -1, -1, 58, 59, -1, 278, -1, 63, -1,
860 -1, 283, 284, 285, 286, -1, -1, -1, -1, -1,
861 292, 293, -1, 123, -1, 297, 298, 299, 300, 301,
862 -1, -1, 304, 305, 41, -1, 308, -1, 93, 311,
863 312, 313, -1, -1, 41, -1, -1, 44, -1, -1,
864 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
865 -1, 58, 59, -1, -1, -1, -1, -1, 123, -1,
866 -1, -1, -1, -1, -1, -1, -1, -1, 269, 270,
867 271, 272, 41, -1, 91, 44, 93, 278, -1, -1,
868 -1, -1, 283, 284, 285, 286, 93, -1, -1, 58,
869 59, 292, 293, -1, 63, -1, 297, 298, 299, 300,
870 301, -1, -1, 304, 305, -1, 123, 308, -1, -1,
871 311, 312, 313, -1, 269, 270, 271, 272, 41, -1,
872 -1, 44, -1, 278, 93, -1, -1, -1, 283, 284,
873 285, 286, -1, -1, -1, 58, 59, 292, 293, -1,
874 63, -1, 297, 298, 299, 300, 301, -1, -1, 304,
875 305, -1, -1, 308, 123, -1, 311, 312, 313, 269,
876 270, 271, 272, 41, -1, -1, 44, -1, 278, -1,
877 93, -1, -1, 283, 284, 285, 286, -1, -1, -1,
878 58, 59, 292, 293, -1, 63, -1, 297, 298, 299,
879 300, 301, -1, -1, 304, 305, -1, -1, 308, -1,
880 -1, 311, 312, 313, 269, 270, 271, 272, 41, -1,
881 -1, 44, -1, 278, -1, 93, -1, -1, 283, 284,
882 285, 286, -1, -1, -1, 58, 59, 292, 293, -1,
883 63, -1, 297, 298, 299, 300, 301, -1, -1, 304,
884 305, -1, -1, 308, -1, -1, 311, 312, 313, -1,
885 -1, -1, 269, 270, 271, 272, 41, -1, -1, 44,
886 93, 278, 269, 270, 271, 272, 283, 284, 285, 286,
887 -1, -1, -1, 58, 59, 292, 293, -1, 63, -1,
888 297, 298, 299, 300, 301, 292, 293, 304, 305, -1,
889 -1, 308, -1, -1, 311, 312, 313, -1, -1, -1,
890 269, 270, 271, 272, 41, -1, -1, -1, 93, 278,
891 -1, -1, -1, -1, 283, 284, 285, 286, -1, -1,
892 -1, -1, -1, 292, 293, -1, 63, -1, 297, 298,
893 299, 300, 301, -1, -1, 304, 305, -1, -1, 308,
894 -1, -1, 311, 312, 313, -1, 269, 270, 271, 272,
895 41, -1, -1, 44, 91, 278, -1, -1, -1, -1,
896 283, 284, 285, 286, -1, -1, -1, 58, 59, 292,
897 293, -1, 63, -1, 297, 298, 299, 300, 301, -1,
898 -1, 304, 305, -1, -1, 308, 123, -1, 311, 312,
899 313, 269, 270, 271, 272, 41, -1, -1, 44, -1,
900 278, -1, 93, -1, -1, 283, 284, 285, 286, -1,
901 -1, -1, 58, 59, 292, 293, -1, 63, -1, 297,
902 298, 299, 300, 301, -1, -1, 304, 305, -1, -1,
903 308, -1, -1, 311, 312, 313, 269, 270, 271, 272,
904 41, -1, -1, 44, -1, 278, -1, 93, -1, -1,
905 283, 284, 285, 286, -1, -1, -1, 58, 59, 292,
906 293, -1, 63, -1, 297, 298, 299, 300, 301, -1,
907 -1, 304, 305, -1, -1, 308, -1, -1, 311, 312,
908 313, -1, -1, -1, 269, 270, 271, 272, 41, -1,
909 -1, 44, 93, 278, -1, -1, -1, -1, 283, 284,
910 285, 286, -1, -1, -1, 58, 59, 292, 293, -1,
911 63, -1, 297, 298, 299, 300, 301, -1, -1, 304,
912 305, -1, -1, 308, -1, -1, 311, 312, 313, -1,
913 -1, -1, -1, 41, -1, -1, 44, -1, -1, -1,
914 93, 278, -1, -1, -1, -1, 283, 284, 285, 286,
915 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
916 297, 298, 299, 300, 301, -1, -1, 304, 305, -1,
917 -1, 308, -1, -1, 311, 312, 313, -1, 269, 270,
918 271, 272, -1, 58, -1, 93, -1, 278, 63, -1,
919 -1, -1, 283, 284, 285, 286, -1, -1, -1, -1,
920 -1, 292, 293, -1, -1, -1, 297, 298, 299, 300,
921 301, -1, 41, 304, 305, 44, 91, 308, -1, -1,
922 -1, -1, -1, 269, 270, 271, 272, -1, -1, 58,
923 59, -1, 278, -1, 63, -1, -1, 283, 284, 285,
924 286, -1, -1, -1, -1, -1, 292, 293, 123, -1,
925 -1, 297, 298, 299, 300, 301, -1, 41, 304, 305,
926 44, -1, 308, -1, 93, -1, -1, -1, 269, 270,
927 271, 272, -1, -1, 58, 59, -1, 278, -1, 63,
928 -1, -1, 283, 284, 285, 286, -1, -1, -1, -1,
929 -1, 292, 293, -1, -1, -1, 297, 298, 299, 300,
930 301, -1, -1, 304, 305, 41, -1, -1, 44, 93,
931 -1, -1, -1, -1, -1, -1, 269, 270, 271, 272,
932 -1, -1, 58, 59, -1, 278, -1, 63, -1, -1,
933 283, 284, 285, 286, -1, -1, -1, -1, -1, 292,
934 293, -1, -1, -1, 297, 298, 299, 300, 301, -1,
935 41, 304, 305, 44, -1, -1, -1, 93, -1, -1,
936 -1, 269, 270, 271, 272, -1, -1, 58, 59, -1,
937 278, -1, 63, -1, -1, 283, 284, 285, 286, -1,
938 -1, -1, -1, -1, 292, 293, -1, -1, -1, 297,
939 298, 299, 300, 301, -1, 41, 304, 305, 44, -1,
940 -1, -1, 93, 278, -1, -1, -1, -1, 283, 284,
941 285, 286, 58, 59, -1, -1, -1, 63, -1, -1,
942 -1, -1, 297, 298, 299, 300, 301, -1, -1, 304,
943 305, -1, -1, 308, -1, -1, 311, 312, 313, -1,
944 269, 270, 271, 272, -1, -1, -1, 93, -1, 278,
945 63, -1, -1, -1, 283, 284, 285, 286, -1, -1,
946 -1, -1, -1, 292, 293, -1, -1, -1, 297, 298,
947 299, 300, 301, -1, 41, 304, 305, 44, 91, -1,
948 -1, -1, -1, -1, -1, 269, 270, 271, 272, -1,
949 -1, 58, 59, -1, 278, -1, 63, -1, -1, 283,
950 284, 285, 286, -1, -1, -1, -1, -1, 292, 293,
951 123, -1, -1, 297, 298, 299, 300, 301, -1, -1,
952 304, 305, 41, -1, -1, 44, 93, -1, -1, -1,
953 -1, -1, -1, 269, 270, 271, 272, -1, -1, 58,
954 59, -1, 278, -1, 63, -1, -1, 283, 284, 285,
955 286, -1, -1, -1, -1, -1, 292, 293, -1, -1,
956 -1, 297, 298, 299, 300, 301, -1, 41, 304, 305,
957 44, -1, -1, -1, 93, -1, -1, -1, 269, 270,
958 271, 272, -1, -1, 58, 59, -1, 278, -1, 63,
959 -1, -1, 283, 284, 285, 286, -1, -1, -1, -1,
960 -1, 292, 293, -1, -1, -1, 297, 298, 299, 300,
961 301, -1, 41, 304, 305, 44, -1, -1, -1, 93,
962 -1, -1, -1, 269, 270, 271, 272, -1, -1, 58,
963 59, -1, 278, -1, 63, -1, -1, 283, 284, 285,
964 286, -1, -1, -1, -1, 41, 292, 293, 44, -1,
965 -1, 297, 298, 299, 300, 301, -1, -1, 304, -1,
966 -1, -1, 58, 59, 93, 278, -1, 63, -1, -1,
967 283, 284, 285, 286, -1, -1, -1, -1, -1, -1,
968 -1, -1, -1, -1, 297, 298, 299, 300, 301, -1,
969 41, 304, 305, 44, -1, 308, -1, 93, 311, 312,
970 313, -1, 269, 270, 271, 272, 41, 58, 59, 44,
971 -1, 278, 63, -1, -1, -1, 283, 284, -1, 286,
972 -1, -1, -1, 58, 59, 292, 293, -1, 63, -1,
973 297, 298, 299, 300, 301, -1, -1, 304, 41, -1,
974 -1, 44, 93, -1, -1, -1, -1, -1, -1, -1,
975 269, 270, 271, 272, 41, 58, 59, 44, 93, 278,
976 63, -1, -1, -1, 283, 284, -1, -1, -1, -1,
977 -1, 58, 59, 292, 293, -1, 63, -1, 297, 298,
978 299, 300, 301, -1, -1, 304, -1, -1, -1, -1,
979 93, -1, -1, -1, -1, 269, 270, 271, 272, 41,
980 -1, -1, 44, -1, 278, -1, 93, -1, -1, 283,
981 284, -1, -1, -1, -1, -1, 58, 59, 292, 293,
982 -1, 63, -1, 297, 298, 299, 300, 301, -1, -1,
983 -1, -1, -1, -1, -1, -1, -1, -1, 63, -1,
984 269, 270, 271, 272, -1, -1, -1, -1, -1, 278,
985 -1, 93, -1, -1, 283, 284, -1, -1, -1, -1,
986 -1, -1, -1, 292, 293, -1, 91, -1, 297, 298,
987 299, 300, 301, 269, 270, 271, 272, -1, -1, -1,
988 -1, -1, 278, -1, -1, -1, -1, 283, 284, -1,
989 -1, -1, -1, -1, -1, -1, 292, 293, 123, -1,
990 -1, 297, 298, 299, 300, 301, -1, -1, -1, -1,
991 -1, -1, -1, -1, -1, -1, -1, -1, 269, 270,
992 271, 272, -1, -1, -1, -1, -1, 278, -1, -1,
993 -1, -1, 283, 284, 269, 270, 271, 272, -1, -1,
994 -1, 292, 293, 278, -1, -1, 297, 298, 299, 300,
995 301, -1, -1, -1, -1, -1, -1, 292, 293, -1,
996 -1, -1, 297, 298, 299, 300, 269, 270, 271, 272,
997 -1, -1, -1, -1, -1, 278, -1, -1, -1, -1,
998 -1, 284, 269, 270, 271, 272, -1, -1, -1, 292,
999 293, 278, -1, -1, 297, 298, 299, 300, 301, -1,
1000 -1, -1, -1, -1, -1, 292, 293, -1, -1, -1,
1001 297, 298, 299, 300, 301, -1, -1, -1, -1, -1,
1002 -1, -1, -1, -1, -1, 35, -1, 269, 270, 271,
1003 272, 41, 42, -1, -1, -1, 278, -1, 48, 49,
1004 50, 51, 52, 53, 54, -1, -1, 57, 58, -1,
1005 292, 293, -1, 278, -1, 297, 298, 299, 283, 284,
1006 285, 286, -1, -1, -1, -1, -1, -1, -1, -1,
1007 -1, -1, -1, 298, 299, 300, 301, -1, -1, 304,
1008 305, 91, -1, 308, -1, -1, 311, 312, 313, -1,
1009 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1010 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1011 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1012 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1013 -1, -1, -1, 143, -1, -1, -1, -1, -1, -1,
1014 -1, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1015 160, 161, 162, 163, 164, -1, -1, -1, -1, -1,
1016 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1017 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1018 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1019 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1020 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1021 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1022 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1023 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1024 -1, -1, -1, 253, -1, -1, -1, -1, -1, -1,
1025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1026 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1033 #define YYMAXTOKEN 313
1035 dEXT char * yyname[] = {
1036 "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,
1037 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1038 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1039 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1040 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1041 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1042 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1043 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",
1044 "PMFUNC","PRIVATEREF","LABEL","FORMAT","SUB","ANONSUB","PACKAGE","USE","WHILE",
1045 "UNTIL","IF","UNLESS","ELSE","ELSIF","CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0",
1046 "FUNC1","FUNC","FUNC0SUB","RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO",
1047 "LOCAL","HASHBRACK","NOAMP","OROP","ANDOP","NOTOP","LSTOP","LSTOPSUB",
1048 "ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP","UNIOP","UNIOPSUB","SHIFTOP",
1049 "MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC","POSTDEC",
1052 dEXT char * yyrule[] = {
1055 "prog : $$1 lineseq",
1056 "block : '{' remember lineseq '}'",
1059 "lineseq : lineseq decl",
1060 "lineseq : lineseq line",
1061 "line : label cond",
1064 "line : label sideff ';'",
1067 "sideff : expr IF expr",
1068 "sideff : expr UNLESS expr",
1069 "sideff : expr WHILE expr",
1070 "sideff : expr UNTIL expr",
1072 "else : ELSE block",
1073 "else : ELSIF '(' expr ')' block else",
1074 "cond : IF '(' expr ')' block else",
1075 "cond : UNLESS '(' expr ')' block else",
1076 "cond : IF block block else",
1077 "cond : UNLESS block block else",
1079 "cont : CONTINUE block",
1080 "loop : label WHILE '(' texpr ')' block cont",
1081 "loop : label UNTIL '(' expr ')' block cont",
1082 "loop : label WHILE block block cont",
1083 "loop : label UNTIL block block cont",
1084 "loop : label FOR scalar '(' expr ')' block cont",
1085 "loop : label FOR '(' expr ')' block cont",
1086 "loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
1087 "loop : label block cont",
1098 "format : FORMAT startsub WORD block",
1099 "format : FORMAT startsub block",
1100 "subrout : SUB startsub WORD proto block",
1101 "subrout : SUB startsub WORD proto ';'",
1105 "package : PACKAGE WORD ';'",
1106 "package : PACKAGE ';'",
1107 "use : USE WORD listexpr ';'",
1108 "expr : expr ANDOP expr",
1109 "expr : expr OROP expr",
1110 "expr : NOTOP expr",
1112 "argexpr : argexpr ','",
1113 "argexpr : argexpr ',' term",
1115 "listop : LSTOP indirob argexpr",
1116 "listop : FUNC '(' indirob expr ')'",
1117 "listop : term ARROW method '(' listexprcom ')'",
1118 "listop : METHOD indirob listexpr",
1119 "listop : FUNCMETH indirob '(' listexprcom ')'",
1120 "listop : LSTOP listexpr",
1121 "listop : FUNC '(' listexprcom ')'",
1122 "listop : LSTOPSUB startsub block listexpr",
1125 "term : term ASSIGNOP term",
1126 "term : term POWOP term",
1127 "term : term MULOP term",
1128 "term : term ADDOP term",
1129 "term : term SHIFTOP term",
1130 "term : term RELOP term",
1131 "term : term EQOP term",
1132 "term : term BITANDOP term",
1133 "term : term BITOROP term",
1134 "term : term DOTDOT term",
1135 "term : term ANDAND term",
1136 "term : term OROR term",
1137 "term : term '?' term ':' term",
1138 "term : term MATCHOP term",
1143 "term : REFGEN term",
1144 "term : term POSTINC",
1145 "term : term POSTDEC",
1146 "term : PREINC term",
1147 "term : PREDEC term",
1148 "term : LOCAL term",
1149 "term : '(' expr ')'",
1151 "term : '[' expr ']'",
1153 "term : HASHBRACK expr ';' '}'",
1154 "term : HASHBRACK ';' '}'",
1155 "term : ANONSUB startsub proto block",
1158 "term : scalar '[' expr ']'",
1159 "term : term ARROW '[' expr ']'",
1160 "term : term '[' expr ']'",
1164 "term : scalar '{' expr ';' '}'",
1165 "term : term ARROW '{' expr ';' '}'",
1166 "term : term '{' expr ';' '}'",
1167 "term : '(' expr ')' '[' expr ']'",
1168 "term : '(' ')' '[' expr ']'",
1169 "term : ary '[' expr ']'",
1170 "term : ary '{' expr ';' '}'",
1173 "term : amper '(' ')'",
1174 "term : amper '(' expr ')'",
1175 "term : NOAMP WORD listexpr",
1178 "term : DO WORD '(' ')'",
1179 "term : DO WORD '(' expr ')'",
1180 "term : DO scalar '(' ')'",
1181 "term : DO scalar '(' expr ')'",
1183 "term : LOOPEX term",
1185 "term : UNIOP block",
1186 "term : UNIOP term",
1187 "term : UNIOPSUB term",
1189 "term : FUNC0 '(' ')'",
1191 "term : FUNC1 '(' ')'",
1192 "term : FUNC1 '(' expr ')'",
1193 "term : PMFUNC '(' term ')'",
1194 "term : PMFUNC '(' term ',' term ')'",
1198 "listexpr : argexpr",
1200 "listexprcom : expr",
1201 "listexprcom : expr ','",
1202 "amper : '&' indirob",
1203 "scalar : '$' indirob",
1204 "ary : '@' indirob",
1205 "hsh : '%' indirob",
1206 "arylen : DOLSHARP indirob",
1207 "star : '*' indirob",
1211 "indirob : PRIVATEREF",
1214 #define yyclearin (yychar=(-1))
1215 #define yyerrok (yyerrflag=0)
1218 #define YYMAXDEPTH YYSTACKSIZE
1222 #define YYSTACKSIZE YYMAXDEPTH
1224 #define YYSTACKSIZE 500
1225 #define YYMAXDEPTH 500
1233 dEXT YYSTYPE yylval;
1236 #line 1307 "y.tab.c"
1237 #define YYABORT goto yyabort
1238 #define YYACCEPT goto yyaccept
1239 #define YYERROR goto yyerrlab
1256 struct ysv* ysave = (struct ysv*)ptr;
1257 if (ysave->yyss) Safefree(ysave->yyss);
1258 if (ysave->yyvs) Safefree(ysave->yyvs);
1259 yydebug = ysave->oldyydebug;
1260 yynerrs = ysave->oldyynerrs;
1261 yyerrflag = ysave->oldyyerrflag;
1262 yychar = ysave->oldyychar;
1263 yyval = ysave->oldyyval;
1264 yylval = ysave->oldyylval;
1271 register int yym, yyn, yystate;
1272 register short *yyssp;
1273 register YYSTYPE *yyvsp;
1276 unsigned yystacksize = YYSTACKSIZE;
1280 extern char *getenv();
1283 struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
1284 SAVEDESTRUCTOR(yydestruct, ysave);
1285 ysave->oldyydebug = yydebug;
1286 ysave->oldyynerrs = yynerrs;
1287 ysave->oldyyerrflag = yyerrflag;
1288 ysave->oldyychar = yychar;
1289 ysave->oldyyval = yyval;
1290 ysave->oldyylval = yylval;
1293 if (yys = getenv("YYDEBUG"))
1296 if (yyn >= '0' && yyn <= '9')
1297 yydebug = yyn - '0';
1306 ** Initialize private stacks (yyparse may be called from an action)
1308 ysave->yyss = yyss = (short*)safemalloc(yystacksize*sizeof(short));
1309 ysave->yyvs = yyvs = (YYSTYPE*)safemalloc(yystacksize*sizeof(YYSTYPE));
1315 *yyssp = yystate = 0;
1318 if (yyn = yydefred[yystate]) goto yyreduce;
1321 if ((yychar = yylex()) < 0) yychar = 0;
1326 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1327 if (!yys) yys = "illegal-symbol";
1328 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate,
1333 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1334 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1338 fprintf(stderr, "yydebug: state %d, shifting to state %d\n",
1339 yystate, yytable[yyn]);
1341 if (yyssp >= yyss + yystacksize - 1)
1344 ** reallocate and recover. Note that pointers
1345 ** have to be reset, or bad things will happen
1347 int yyps_index = (yyssp - yyss);
1348 int yypv_index = (yyvsp - yyvs);
1349 yystacksize += YYSTACKSIZE;
1350 ysave->yyvs = yyvs =
1351 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1352 ysave->yyss = yyss =
1353 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1356 yyssp = yyss + yyps_index;
1357 yyvsp = yyvs + yypv_index;
1359 *++yyssp = yystate = yytable[yyn];
1362 if (yyerrflag > 0) --yyerrflag;
1365 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1366 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1371 if (yyerrflag) goto yyinrecovery;
1376 yyerror("syntax error");
1388 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1389 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1394 "yydebug: state %d, error recovery shifting to state %d\n",
1395 *yyssp, yytable[yyn]);
1397 if (yyssp >= yyss + yystacksize - 1)
1400 ** reallocate and recover. Note that pointers
1401 ** have to be reset, or bad things will happen
1403 int yyps_index = (yyssp - yyss);
1404 int yypv_index = (yyvsp - yyvs);
1405 yystacksize += YYSTACKSIZE;
1406 ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
1407 yystacksize * sizeof(YYSTYPE));
1408 ysave->yyss = yyss = (short*)realloc((char*)yyss,
1409 yystacksize * sizeof(short));
1412 yyssp = yyss + yyps_index;
1413 yyvsp = yyvs + yypv_index;
1415 *++yyssp = yystate = yytable[yyn];
1424 "yydebug: error recovery discarding state %d\n",
1427 if (yyssp <= yyss) goto yyabort;
1435 if (yychar == 0) goto yyabort;
1440 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1441 if (!yys) yys = "illegal-symbol";
1443 "yydebug: state %d, error recovery discards token %d (%s)\n",
1444 yystate, yychar, yys);
1453 fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n",
1454 yystate, yyn, yyrule[yyn]);
1457 yyval = yyvsp[1-yym];
1463 #if defined(YYDEBUG) && defined(DEBUGGING)
1464 yydebug = (debug & 1);
1471 { newPROG(yyvsp[0].opval); }
1475 { yyval.opval = block_end(yyvsp[-3].ival,yyvsp[-2].ival,yyvsp[-1].opval); }
1479 { yyval.ival = block_start(); }
1483 { yyval.opval = Nullop; }
1487 { yyval.opval = yyvsp[-1].opval; }
1491 { yyval.opval = append_list(OP_LINESEQ,
1492 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1493 pad_reset_pending = TRUE;
1494 if (yyvsp[-1].opval && yyvsp[0].opval) hints |= HINT_BLOCK_SCOPE; }
1498 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1502 { if (yyvsp[-1].pval != Nullch) {
1503 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1506 yyval.opval = Nullop;
1513 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1518 { yyval.opval = Nullop; }
1522 { yyval.opval = yyvsp[0].opval; }
1526 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1530 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1534 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1538 { yyval.opval = newLOOPOP(OPf_PARENS, 1, invert(scalar(yyvsp[0].opval)), yyvsp[-2].opval);}
1542 { yyval.opval = Nullop; }
1546 { yyval.opval = scope(yyvsp[0].opval); }
1550 { copline = yyvsp[-5].ival;
1551 yyval.opval = newSTATEOP(0, 0,
1552 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1553 hints |= HINT_BLOCK_SCOPE; }
1557 { copline = yyvsp[-5].ival;
1558 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1562 { copline = yyvsp[-5].ival;
1563 yyval.opval = newCONDOP(0,
1564 invert(scalar(yyvsp[-3].opval)), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1568 { copline = yyvsp[-3].ival;
1569 deprecate("if BLOCK BLOCK");
1570 yyval.opval = newCONDOP(0, scope(yyvsp[-2].opval), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1574 { copline = yyvsp[-3].ival;
1575 deprecate("unless BLOCK BLOCK");
1576 yyval.opval = newCONDOP(0, invert(scalar(scope(yyvsp[-2].opval))),
1577 scope(yyvsp[-1].opval), yyvsp[0].opval); }
1581 { yyval.opval = Nullop; }
1585 { yyval.opval = scope(yyvsp[0].opval); }
1589 { copline = yyvsp[-5].ival;
1590 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
1591 newWHILEOP(0, 1, (LOOP*)Nullop,
1592 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval) ); }
1596 { copline = yyvsp[-5].ival;
1597 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
1598 newWHILEOP(0, 1, (LOOP*)Nullop,
1599 invert(scalar(yyvsp[-3].opval)), yyvsp[-1].opval, yyvsp[0].opval) ); }
1603 { copline = yyvsp[-3].ival;
1604 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
1605 newWHILEOP(0, 1, (LOOP*)Nullop,
1606 scope(yyvsp[-2].opval), yyvsp[-1].opval, yyvsp[0].opval) ); }
1610 { copline = yyvsp[-3].ival;
1611 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
1612 newWHILEOP(0, 1, (LOOP*)Nullop,
1613 invert(scalar(scope(yyvsp[-2].opval))), yyvsp[-1].opval, yyvsp[0].opval)); }
1617 { yyval.opval = newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, mod(yyvsp[-5].opval, OP_ENTERLOOP),
1618 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1622 { yyval.opval = newFOROP(0, yyvsp[-6].pval, yyvsp[-5].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1626 { copline = yyvsp[-8].ival;
1627 yyval.opval = append_elem(OP_LINESEQ,
1628 newSTATEOP(0, yyvsp[-9].pval, scalar(yyvsp[-6].opval)),
1629 newSTATEOP(0, yyvsp[-9].pval,
1630 newWHILEOP(0, 1, (LOOP*)Nullop,
1631 scalar(yyvsp[-4].opval), yyvsp[0].opval, scalar(yyvsp[-2].opval)) )); }
1635 { yyval.opval = newSTATEOP(0,
1636 yyvsp[-2].pval, newWHILEOP(0, 1, (LOOP*)Nullop,
1637 Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1641 { yyval.opval = Nullop; }
1645 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1649 { yyval.pval = Nullch; }
1669 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1673 { newFORM(yyvsp[-1].ival, Nullop, yyvsp[0].opval); }
1677 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1681 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, Nullop); expect = XSTATE; }
1685 { yyval.opval = Nullop; }
1689 { yyval.ival = start_subparse(); }
1693 { package(yyvsp[-1].opval); }
1697 { package(Nullop); }
1701 { utilize(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval); }
1705 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1709 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1713 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1717 { yyval.opval = yyvsp[-1].opval; }
1721 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1725 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1726 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1730 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1731 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1735 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1736 append_elem(OP_LIST,
1737 prepend_elem(OP_LIST, yyvsp[-5].opval, yyvsp[-1].opval),
1738 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1742 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1743 append_elem(OP_LIST,
1744 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1745 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1749 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1750 append_elem(OP_LIST,
1751 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1752 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1756 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1760 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1764 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1765 append_elem(OP_LIST,
1766 prepend_elem(OP_LIST, newANONSUB(yyvsp[-2].ival, 0, yyvsp[-1].opval), yyvsp[0].opval),
1771 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1775 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1779 { if (yyvsp[-1].ival != OP_REPEAT)
1780 scalar(yyvsp[-2].opval);
1781 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1785 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1789 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1793 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1797 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1801 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1805 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1809 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1813 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1817 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1821 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1825 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1829 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1833 { yyval.opval = yyvsp[0].opval; }
1837 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1841 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1845 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1849 { yyval.opval = newUNOP(OP_POSTINC, 0,
1850 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1854 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1855 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1859 { yyval.opval = newUNOP(OP_PREINC, 0,
1860 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1864 { yyval.opval = newUNOP(OP_PREDEC, 0,
1865 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1869 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1873 { yyval.opval = sawparens(yyvsp[-1].opval); }
1877 { yyval.opval = sawparens(newNULLLIST()); }
1881 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
1885 { yyval.opval = newANONLIST(Nullop); }
1889 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
1893 { yyval.opval = newANONHASH(Nullop); }
1897 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1901 { yyval.opval = yyvsp[0].opval; }
1905 { yyval.opval = yyvsp[0].opval; }
1909 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
1913 { yyval.opval = newBINOP(OP_AELEM, 0,
1914 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
1915 scalar(yyvsp[-1].opval));}
1919 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
1920 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
1921 scalar(yyvsp[-1].opval));}
1925 { yyval.opval = yyvsp[0].opval; }
1929 { yyval.opval = yyvsp[0].opval; }
1933 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
1937 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
1938 expect = XOPERATOR; }
1942 { yyval.opval = newBINOP(OP_HELEM, 0,
1943 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
1944 jmaybe(yyvsp[-2].opval));
1945 expect = XOPERATOR; }
1949 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
1950 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
1951 jmaybe(yyvsp[-2].opval));
1952 expect = XOPERATOR; }
1956 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
1960 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
1964 { yyval.opval = prepend_elem(OP_ASLICE,
1965 newOP(OP_PUSHMARK, 0),
1966 newLISTOP(OP_ASLICE, 0,
1967 list(yyvsp[-1].opval),
1968 ref(yyvsp[-3].opval, OP_ASLICE))); }
1972 { yyval.opval = prepend_elem(OP_HSLICE,
1973 newOP(OP_PUSHMARK, 0),
1974 newLISTOP(OP_HSLICE, 0,
1975 list(yyvsp[-2].opval),
1976 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
1977 expect = XOPERATOR; }
1981 { yyval.opval = yyvsp[0].opval; }
1985 { yyval.opval = newUNOP(OP_ENTERSUB, 0,
1986 scalar(yyvsp[0].opval)); }
1990 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
1994 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1995 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
1999 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2000 append_elem(OP_LIST,
2001 yyvsp[0].opval, newCVREF(scalar(yyvsp[-1].opval)))); }
2005 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2009 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2013 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2014 prepend_elem(OP_LIST,
2015 scalar(newCVREF(scalar(yyvsp[-2].opval))), Nullop)); dep();}
2019 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2020 append_elem(OP_LIST,
2022 scalar(newCVREF(scalar(yyvsp[-3].opval))))); dep();}
2026 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2027 prepend_elem(OP_LIST,
2028 scalar(newCVREF(scalar(yyvsp[-2].opval))), Nullop)); dep();}
2032 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2033 prepend_elem(OP_LIST,
2035 scalar(newCVREF(scalar(yyvsp[-3].opval))))); dep();}
2039 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2040 hints |= HINT_BLOCK_SCOPE; }
2044 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2048 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2052 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2056 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2060 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2061 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].ival))); }
2065 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2069 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2073 { yyval.opval = newUNOP(OP_ENTERSUB, 0,
2074 scalar(yyvsp[0].ival)); }
2078 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2082 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2086 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2090 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2094 { yyval.opval = Nullop; }
2098 { yyval.opval = yyvsp[0].opval; }
2102 { yyval.opval = Nullop; }
2106 { yyval.opval = yyvsp[0].opval; }
2110 { yyval.opval = yyvsp[-1].opval; }
2114 { yyval.opval = newCVREF(yyvsp[0].opval); }
2118 { yyval.opval = newSVREF(yyvsp[0].opval); }
2122 { yyval.opval = newAVREF(yyvsp[0].opval); }
2126 { yyval.opval = newHVREF(yyvsp[0].opval); }
2130 { yyval.opval = newAVREF(yyvsp[0].opval); }
2134 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2138 { yyval.opval = scalar(yyvsp[0].opval); }
2142 { yyval.opval = scalar(yyvsp[0].opval); }
2146 { yyval.opval = scope(yyvsp[0].opval); }
2150 { yyval.opval = yyvsp[0].opval; }
2152 #line 2139 "y.tab.c"
2158 if (yystate == 0 && yym == 0)
2163 "yydebug: after reduction, shifting from state 0 to state %d\n",
2171 if ((yychar = yylex()) < 0) yychar = 0;
2176 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2177 if (!yys) yys = "illegal-symbol";
2178 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n",
2179 YYFINAL, yychar, yys);
2183 if (yychar == 0) goto yyaccept;
2186 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2187 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2188 yystate = yytable[yyn];
2190 yystate = yydgoto[yym];
2194 "yydebug: after reduction, shifting from state %d to state %d\n",
2197 if (yyssp >= yyss + yystacksize - 1)
2200 ** reallocate and recover. Note that pointers
2201 ** have to be reset, or bad things will happen
2203 int yyps_index = (yyssp - yyss);
2204 int yypv_index = (yyvsp - yyvs);
2205 yystacksize += YYSTACKSIZE;
2206 ysave->yyvs = yyvs =
2207 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2208 ysave->yyss = yyss =
2209 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2212 yyssp = yyss + yyps_index;
2213 yyvsp = yyvs + yypv_index;
2219 yyerror("Out of memory for yacc stack");