2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
12 deprecate("\"do\" to call subroutines");
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,
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 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, 137, 0,
56 51, 51, 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 153, 0,
64 124, 0, 0, 0, 0, 0, 0, 57, 0, 0,
65 67, 0, 132, 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, 0, 36, 0, 136, 138, 0,
73 0, 0, 0, 0, 0, 101, 0, 122, 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, 69, 102, 0, 29, 0, 30, 0,
79 0, 0, 23, 0, 24, 0, 0, 0, 139, 148,
80 68, 0, 125, 0, 127, 0, 100, 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 short yydgoto[] = { 1,
89 9, 10, 84, 17, 87, 3, 11, 12, 66, 194,
90 263, 67, 201, 69, 70, 71, 72, 73, 74, 75,
91 196, 83, 202, 89, 186, 77, 240, 177, 13, 142,
94 short yysindex[] = { 0,
95 0, 0, -82, 0, 0, 0, -54, -205, 0, 0,
96 0, 0, 592, 0, 0, 0, -110, -186, 25, 0,
97 2094, 0, 0, 0, -35, -35, 0, 46, 0, 2094,
98 0, 0, -12, -9, 1, 6, 36, 2094, 51, 68,
99 76, -35, 1800, 2094, 979, -140, 1860, 1042, 1975, 2094,
100 2094, 2094, 2094, 2094, 1276, 0, 2094, 2094, 1332, -35,
101 -35, -35, -35, -35, -151, 0, 86, 303, 1106, -65,
102 -59, 0, 0, 0, 92, 80, 0, 10, 0, -120,
103 0, 86, 85, 0, 0, 0, 0, 0, 2094, 105,
104 2094, 1106, 10, -120, 1860, 10, 1860, 10, 1860, 10,
105 1860, 10, 1391, 109, 1106, 111, 1451, 923, 0, 110,
106 0, 1357, -25, 1357, 28, -42, 2094, 0, 0, -65,
107 0, 2094, 0, 1357, 788, 788, 788, -83, -83, 64,
108 -32, 788, 788, 0, -90, 0, 0, 0, 0, 0,
109 10, 0, 2094, 1860, 1860, 1860, 1860, 1860, 1860, 1860,
110 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094,
111 2094, 2094, 2094, 2094, 0, 0, -30, 1860, 1860, 1860,
112 1860, 1860, 1566, 0, 0, 0, -41, 0, -91, 0,
113 1860, 2862, 2094, 10, -256, 113, -151, -29, -151, 2,
114 -157, 4, -157, 98, -39, 0, 1860, 0, 0, 16,
115 77, 126, 1860, 1685, 1741, 0, 47, 0, 86, 1860,
116 82, 0, 0, 1106, -256, -256, -256, -256, -117, 0,
117 115, 754, 1357, 381, 888, 467, 1106, 1164, 807, 1893,
118 2031, 1239, 739, 788, 788, 1860, 0, 1860, 0, 141,
119 -79, 142, -77, 149, 133, 0, 21, 0, 0, 0,
120 150, 0, 2094, 0, 0, 10, 0, 10, 0, 10,
121 10, 143, 0, 10, 0, 1860, 10, 49, 0, 0,
122 0, 58, 0, 60, 0, 72, 0, 164, 1860, 69,
123 2094, 161, 219, 1860, 0, 70, 0, 71, 0, 0,
124 0, 359, -151, -151, -157, 0, 1860, -157, 138, -151,
125 10, 0, 0, 0, 0, 236, 0, 3114, 73, 0,
126 158, 0, 0, 0, 0, 0, 0, 74, 0, 1391,
127 0, -151, 0, 0, 0, 10, 159, 0, -157, 10,
130 short yyrindex[] = { 0,
131 0, 0, 123, 0, 0, 0, 0, 0, 0, 0,
132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
133 147, 0, 0, 0, 0, 0, 0, 0, 0, 0,
134 0, 0, 0, 0, 0, 0, 0, 2287, 2133, 0,
135 0, 0, 0, 0, 0, 0, 0, 2773, 2817, 0,
136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
137 0, 0, 0, 0, 11, 0, 332, 14, 1236, 2908,
138 3038, 0, 0, 0, 2184, 0, 0, 0, 0, -17,
139 0, 2331, 0, 0, 0, 0, 0, 0, 2460, 0,
140 0, 1645, 0, 79, 168, 0, 0, 0, 0, 0,
141 0, 0, 152, 0, 1914, 0, 0, 172, 0, 2239,
142 0, 3740, 2908, 3784, 0, 0, 2460, 0, 448, 524,
143 0, 0, 0, 3830, 3207, 3303, 3345, 3083, 3170, 2552,
144 0, 3390, 3455, 0, 0, 0, 0, 0, 0, 0,
145 0, 0, 2596, 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, 867, 0,
149 172, 0, 2460, 0, 19, 0, 11, 0, 11, 0,
150 67, 0, 67, 0, 160, 0, 0, 0, 0, 0,
151 180, 0, 0, 0, 0, 0, 0, 0, 2646, 0,
152 2722, 0, 0, 2282, 22, 33, 38, 84, 349, 0,
153 0, -34, 3872, 3904, 166, 3610, 2422, 0, 496, 4003,
154 3959, 3914, 3652, 3492, 3565, 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, 0, 173, 0, 0, 0, 0,
158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
159 0, 0, 0, 172, 0, 0, 0, 0, 0, 0,
160 0, 0, 11, 11, 67, 0, 0, 67, 0, 11,
161 0, 0, 0, 0, 0, 0, 0, 404, 0, 0,
162 0, 0, 0, 0, 0, 0, 0, 0, 0, 182,
163 0, 11, 0, 0, 0, 0, 0, 0, 67, 0,
166 short yygindex[] = { 0,
167 0, 0, 0, 63, -13, 153, 0, 0, 0, -89,
168 -160, 29, 376, 4192, 890, 0, 0, 0, 0, 0,
169 229, -21, -162, 880, -22, 0, 0, 156, 0, -152,
172 #define YYTABLESIZE 4473
173 short yytable[] = { 65,
174 61, 267, 212, 79, 20, 61, 81, 168, 211, 81,
175 25, 258, 23, 285, 205, 287, 207, 248, 251, 96,
176 98, 100, 102, 81, 81, 170, 121, 95, 81, 111,
177 97, 172, 265, 250, 257, 123, 259, 148, 149, 150,
178 99, 49, 260, 25, 264, 101, 25, 25, 25, 82,
179 25, 21, 25, 25, 13, 25, 269, 169, 81, 38,
180 238, 290, 16, 171, 175, 170, 18, 180, 18, 25,
181 80, 61, 13, 17, 25, 103, 82, 38, 14, 183,
182 16, 23, 187, 81, 189, 91, 191, 23, 193, 301,
183 106, 17, 236, 93, 94, 208, 14, 169, 302, 18,
184 303, 25, 18, 18, 18, 49, 18, 107, 18, 18,
185 23, 18, 304, 23, 326, 108, 117, 82, 261, 262,
186 270, 311, 2, 23, 15, 18, 141, 213, 23, 143,
187 18, 173, 23, 25, 317, 25, 25, 319, 174, 176,
188 315, 316, 15, 178, 181, 82, 78, 321, 197, 204,
189 209, 198, 206, 256, 210, 39, 266, 18, 39, 39,
190 39, 254, 39, 249, 39, 39, 271, 39, 331, 328,
191 255, 277, 279, 280, 4, 5, 6, 149, 7, 8,
192 284, 39, 297, 4, 5, 6, 39, 7, 8, 18,
193 291, 18, 18, 307, 312, 313, 320, 324, 325, 330,
194 286, 49, 19, 148, 149, 144, 74, 288, 37, 74,
195 35, 82, 146, 39, 148, 149, 148, 149, 13, 309,
196 147, 85, 35, 74, 74, 289, 86, 237, 74, 167,
197 327, 37, 144, 145, 146, 147, 179, 81, 81, 81,
198 81, 76, 293, 299, 294, 39, 295, 296, 39, 184,
199 298, 148, 149, 300, 148, 149, 305, 0, 74, 81,
200 81, 148, 149, 81, 148, 149, 25, 25, 25, 25,
201 25, 25, 0, 25, 25, 25, 25, 25, 25, 25,
202 25, 25, 25, 25, 25, 25, 0, 322, 0, 25,
203 25, 0, 25, 25, 25, 148, 149, 148, 149, 25,
204 25, 25, 25, 25, 0, 0, 25, 25, 0, 148,
205 149, 310, 329, 25, 148, 149, 332, 25, 0, 25,
206 25, 0, 18, 18, 18, 18, 18, 18, 323, 18,
207 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
208 18, 18, 148, 149, 0, 18, 18, 0, 18, 18,
209 18, 148, 149, 148, 149, 18, 18, 18, 18, 18,
210 0, 0, 18, 18, 0, 148, 149, 148, 149, 18,
211 148, 149, 58, 18, 0, 18, 18, 0, 39, 39,
212 39, 39, 39, 39, 0, 39, 39, 39, 68, 56,
213 58, 39, 56, 0, 39, 39, 39, 39, 0, 314,
214 0, 39, 39, 0, 39, 39, 39, 56, 148, 149,
215 0, 39, 39, 39, 39, 39, 0, 0, 39, 39,
216 116, 157, 118, 0, 58, 39, 148, 149, 0, 39,
217 131, 39, 39, 0, 135, 148, 149, 74, 74, 74,
218 74, 56, 148, 149, 84, 0, 74, 84, 0, 168,
219 74, 74, 74, 74, 148, 149, 0, 148, 149, 74,
220 74, 84, 84, 74, 74, 74, 74, 74, 0, 74,
221 185, 168, 188, 0, 190, 0, 192, 0, 195, 0,
222 155, 150, 200, 155, 155, 155, 0, 155, 142, 155,
223 155, 142, 155, 0, 0, 0, 84, 0, 0, 0,
224 0, 0, 0, 150, 0, 142, 142, 0, 0, 0,
225 142, 155, 148, 149, 0, 0, 0, 0, 0, 215,
226 216, 217, 218, 219, 220, 221, 0, 0, 0, 148,
227 149, 0, 0, 0, 0, 0, 83, 0, 142, 83,
228 142, 0, 0, 241, 242, 243, 244, 245, 247, 0,
229 0, 0, 0, 83, 83, 0, 156, 168, 83, 156,
230 156, 156, 0, 156, 103, 156, 156, 103, 156, 0,
231 142, 0, 268, 155, 144, 145, 146, 147, 272, 274,
232 276, 103, 103, 0, 0, 278, 103, 156, 83, 150,
233 0, 0, 0, 0, 0, 0, 148, 149, 0, 0,
234 0, 0, 0, 58, 58, 58, 58, 0, 0, 0,
235 0, 282, 0, 283, 0, 0, 103, 0, 0, 0,
236 56, 56, 56, 56, 50, 58, 58, 61, 63, 60,
237 0, 55, 0, 64, 58, 0, 57, 0, 0, 151,
238 0, 185, 56, 152, 153, 154, 155, 0, 0, 156,
239 56, 0, 0, 0, 306, 62, 156, 158, 159, 160,
240 161, 0, 162, 163, 0, 152, 164, 154, 155, 165,
241 166, 167, 318, 0, 0, 84, 84, 84, 84, 0,
242 0, 0, 59, 0, 162, 163, 0, 0, 164, 0,
243 0, 165, 166, 167, 0, 68, 0, 84, 84, 0,
244 0, 84, 0, 0, 155, 155, 155, 155, 155, 0,
245 155, 155, 155, 0, 23, 0, 155, 51, 0, 142,
246 142, 142, 142, 0, 0, 0, 0, 155, 142, 155,
247 155, 155, 142, 142, 142, 142, 155, 155, 155, 155,
248 155, 142, 142, 155, 155, 142, 142, 142, 142, 142,
249 155, 142, 142, 154, 155, 142, 155, 155, 142, 142,
250 142, 0, 0, 0, 0, 0, 0, 83, 83, 83,
251 83, 163, 0, 0, 164, 0, 83, 165, 166, 167,
252 156, 156, 156, 156, 156, 0, 156, 156, 156, 83,
253 83, 0, 156, 83, 83, 103, 103, 103, 103, 0,
254 0, 0, 0, 156, 103, 156, 156, 156, 103, 103,
255 103, 103, 156, 156, 156, 156, 156, 103, 103, 156,
256 156, 103, 103, 103, 103, 103, 156, 103, 103, 168,
257 156, 103, 156, 156, 103, 103, 103, 0, 0, 0,
258 0, 0, 0, 0, 168, 0, 0, 22, 24, 25,
259 26, 27, 28, 0, 29, 30, 31, 0, 0, 0,
260 32, 150, 0, 33, 34, 35, 36, 0, 0, 0,
261 37, 38, 0, 39, 40, 41, 150, 0, 168, 0,
262 42, 43, 44, 45, 46, 0, 0, 47, 48, 0,
263 0, 0, 0, 0, 49, 0, 0, 168, 52, 39,
264 53, 54, 39, 39, 39, 90, 39, 0, 39, 39,
265 150, 39, 0, 0, 88, 88, 0, 0, 0, 0,
266 0, 109, 0, 0, 0, 39, 104, 122, 0, 150,
267 39, 88, 113, 0, 0, 0, 0, 120, 0, 136,
268 137, 138, 139, 140, 0, 0, 0, 0, 0, 88,
269 88, 88, 88, 88, 0, 50, 0, 39, 61, 63,
270 60, 0, 55, 0, 64, 58, 0, 57, 0, 0,
271 0, 0, 0, 0, 0, 0, 0, 0, 168, 0,
272 0, 0, 0, 0, 0, 0, 62, 203, 0, 39,
273 0, 0, 39, 0, 0, 0, 0, 120, 0, 0,
274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
275 150, 50, 0, 59, 61, 63, 60, 0, 55, 0,
276 64, 58, 0, 57, 0, 154, 155, 0, 0, 0,
277 0, 0, 0, 0, 0, 0, 0, 115, 152, 153,
278 154, 155, 62, 163, 0, 23, 164, 0, 51, 165,
279 166, 167, 158, 159, 160, 161, 239, 162, 163, 0,
280 0, 164, 0, 0, 165, 166, 167, 0, 0, 59,
281 0, 0, 0, 0, 50, 0, 0, 61, 63, 60,
282 0, 55, 0, 64, 58, 0, 57, 0, 0, 0,
283 0, 152, 153, 154, 155, 164, 0, 0, 165, 166,
284 167, 0, 0, 0, 51, 62, 159, 160, 161, 0,
285 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
286 0, 0, 39, 39, 39, 39, 39, 39, 0, 39,
287 39, 39, 59, 0, 0, 39, 0, 0, 39, 39,
288 39, 39, 0, 0, 0, 39, 39, 0, 39, 39,
289 39, 0, 0, 0, 0, 39, 39, 39, 39, 39,
290 0, 0, 39, 39, 23, 0, 0, 51, 157, 39,
291 0, 0, 0, 39, 0, 39, 39, 0, 0, 119,
292 25, 26, 27, 28, 86, 29, 30, 31, 0, 0,
293 0, 32, 163, 0, 0, 164, 168, 0, 165, 166,
294 167, 0, 38, 0, 39, 40, 41, 0, 0, 0,
295 0, 42, 43, 44, 45, 46, 0, 0, 47, 48,
296 0, 281, 0, 0, 0, 49, 157, 0, 150, 52,
297 0, 53, 54, 0, 0, 24, 25, 26, 27, 28,
298 0, 29, 30, 31, 0, 0, 0, 32, 0, 0,
299 0, 0, 0, 0, 168, 0, 0, 0, 38, 0,
300 39, 40, 41, 0, 0, 0, 0, 42, 43, 44,
301 45, 46, 0, 0, 47, 48, 61, 0, 0, 61,
302 0, 49, 0, 0, 0, 52, 150, 53, 54, 0,
303 0, 0, 0, 61, 61, 0, 0, 0, 119, 25,
304 26, 27, 28, 86, 29, 30, 31, 0, 50, 0,
305 32, 61, 63, 60, 0, 55, 130, 64, 58, 0,
306 57, 38, 0, 39, 40, 41, 0, 0, 61, 168,
307 42, 43, 44, 45, 46, 0, 0, 0, 48, 62,
308 0, 0, 0, 0, 49, 0, 0, 0, 52, 0,
309 53, 54, 0, 0, 0, 0, 0, 0, 0, 0,
310 0, 150, 0, 0, 50, 0, 59, 61, 63, 60,
311 0, 55, 0, 64, 58, 0, 57, 0, 0, 0,
312 0, 0, 0, 0, 0, 0, 151, 0, 0, 0,
313 152, 153, 154, 155, 0, 62, 0, 0, 0, 0,
314 0, 51, 0, 156, 158, 159, 160, 161, 0, 162,
315 163, 0, 0, 164, 0, 0, 165, 166, 167, 0,
316 0, 0, 59, 50, 134, 0, 61, 63, 60, 0,
317 55, 0, 64, 58, 0, 57, 0, 0, 0, 0,
318 0, 0, 0, 0, 151, 0, 0, 168, 152, 153,
319 154, 155, 0, 0, 62, 0, 0, 51, 0, 0,
320 0, 156, 158, 159, 160, 161, 0, 162, 163, 0,
321 0, 164, 0, 0, 165, 166, 167, 0, 0, 150,
322 0, 59, 0, 50, 0, 0, 61, 63, 60, 0,
323 55, 199, 64, 58, 0, 57, 0, 0, 0, 0,
324 0, 0, 0, 0, 0, 0, 0, 61, 61, 61,
325 61, 0, 0, 0, 62, 0, 51, 0, 0, 0,
326 0, 0, 0, 152, 153, 154, 155, 0, 0, 61,
327 61, 0, 24, 25, 26, 27, 28, 0, 29, 30,
328 31, 59, 162, 163, 32, 0, 164, 0, 0, 165,
329 166, 167, 0, 0, 0, 38, 0, 39, 40, 41,
330 0, 0, 0, 0, 42, 43, 44, 45, 46, 0,
331 0, 47, 48, 0, 0, 0, 51, 0, 49, 0,
332 0, 0, 52, 0, 53, 54, 0, 0, 24, 25,
333 26, 27, 28, 0, 29, 30, 31, 0, 50, 0,
334 32, 61, 63, 60, 0, 55, 246, 64, 58, 0,
335 57, 38, 0, 39, 40, 41, 0, 0, 0, 0,
336 42, 43, 44, 45, 46, 0, 0, 47, 48, 62,
337 0, 0, 0, 0, 49, 0, 0, 0, 52, 0,
338 53, 54, 0, 154, 155, 0, 22, 24, 25, 26,
339 27, 28, 0, 29, 30, 31, 59, 0, 0, 32,
340 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
341 38, 0, 39, 40, 41, 0, 0, 0, 0, 42,
342 43, 44, 45, 46, 0, 134, 47, 48, 134, 0,
343 0, 51, 0, 49, 0, 0, 0, 52, 0, 53,
344 54, 0, 134, 134, 0, 0, 0, 24, 25, 26,
345 27, 28, 0, 29, 30, 31, 0, 50, 0, 32,
346 61, 63, 60, 0, 55, 273, 64, 58, 0, 57,
347 38, 0, 39, 40, 41, 0, 0, 134, 0, 42,
348 43, 44, 45, 46, 0, 0, 47, 48, 62, 0,
349 0, 0, 0, 49, 0, 0, 0, 52, 0, 53,
350 54, 0, 0, 0, 0, 0, 0, 0, 0, 0,
351 0, 0, 0, 50, 0, 59, 61, 63, 60, 0,
352 55, 275, 64, 58, 0, 57, 0, 0, 0, 0,
353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
354 0, 0, 0, 0, 62, 0, 0, 0, 0, 0,
355 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
356 0, 0, 24, 25, 26, 27, 28, 0, 29, 30,
357 31, 59, 50, 0, 32, 61, 63, 60, 0, 55,
358 0, 64, 58, 0, 57, 38, 0, 39, 40, 41,
359 0, 0, 0, 0, 42, 43, 44, 45, 46, 0,
360 0, 47, 48, 62, 0, 0, 51, 0, 49, 0,
361 0, 0, 52, 0, 53, 54, 0, 0, 0, 0,
362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
363 59, 0, 50, 0, 0, 61, 63, 60, 0, 55,
364 0, 64, 58, 0, 57, 0, 0, 0, 0, 0,
365 0, 0, 0, 0, 0, 0, 134, 134, 134, 134,
366 0, 0, 23, 62, 0, 51, 0, 0, 0, 0,
367 0, 0, 0, 0, 0, 0, 0, 0, 134, 134,
368 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
369 59, 0, 0, 32, 130, 0, 0, 130, 0, 0,
370 0, 0, 0, 0, 38, 0, 39, 40, 41, 0,
371 0, 130, 130, 42, 43, 44, 45, 46, 0, 0,
372 47, 48, 0, 168, 0, 51, 0, 49, 0, 0,
373 0, 52, 0, 53, 54, 0, 0, 24, 25, 26,
374 27, 28, 0, 29, 30, 31, 130, 50, 0, 32,
375 61, 63, 60, 0, 55, 150, 64, 58, 0, 57,
376 38, 0, 39, 40, 41, 0, 0, 0, 0, 42,
377 43, 44, 45, 46, 0, 0, 47, 48, 62, 0,
378 0, 0, 0, 49, 0, 0, 0, 52, 0, 53,
379 54, 0, 0, 0, 0, 0, 110, 25, 26, 27,
380 28, 0, 29, 30, 31, 59, 0, 0, 32, 0,
381 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
382 0, 39, 40, 41, 0, 0, 0, 0, 42, 43,
383 44, 45, 46, 0, 0, 0, 48, 23, 0, 0,
384 51, 0, 49, 0, 0, 0, 52, 0, 53, 54,
385 0, 0, 0, 0, 0, 0, 24, 25, 26, 27,
386 28, 168, 29, 30, 31, 0, 50, 0, 32, 61,
387 63, 60, 0, 55, 0, 64, 58, 0, 57, 38,
388 0, 39, 40, 41, 0, 0, 0, 0, 42, 43,
389 44, 45, 46, 150, 0, 47, 48, 62, 0, 0,
390 0, 0, 49, 0, 0, 0, 52, 0, 53, 54,
391 0, 0, 0, 135, 0, 0, 135, 152, 153, 154,
392 155, 0, 0, 0, 59, 130, 130, 130, 130, 0,
393 135, 135, 0, 160, 161, 135, 162, 163, 0, 0,
394 164, 0, 0, 165, 166, 167, 0, 130, 130, 0,
395 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
396 0, 0, 0, 135, 119, 135, 0, 119, 0, 0,
397 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
398 0, 119, 119, 32, 0, 0, 119, 0, 0, 0,
399 0, 0, 0, 0, 38, 135, 39, 40, 41, 0,
400 0, 0, 0, 42, 43, 44, 45, 46, 0, 0,
401 0, 48, 0, 0, 119, 0, 119, 49, 0, 142,
402 0, 52, 142, 53, 54, 0, 0, 0, 0, 0,
403 0, 0, 0, 0, 0, 0, 142, 142, 0, 0,
404 0, 142, 0, 0, 0, 0, 119, 0, 0, 0,
405 0, 0, 0, 0, 0, 152, 153, 154, 155, 0,
406 0, 0, 60, 0, 0, 60, 0, 129, 0, 142,
407 129, 142, 161, 0, 162, 163, 0, 0, 164, 60,
408 60, 165, 166, 167, 129, 129, 0, 0, 0, 129,
409 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
410 0, 142, 32, 0, 0, 0, 0, 0, 0, 0,
411 0, 145, 0, 38, 60, 39, 40, 41, 0, 129,
412 0, 0, 42, 43, 44, 45, 46, 0, 145, 145,
413 48, 0, 0, 145, 0, 0, 49, 0, 0, 0,
414 52, 0, 53, 54, 135, 135, 135, 135, 0, 129,
415 0, 0, 0, 135, 0, 0, 0, 135, 135, 135,
416 135, 145, 0, 145, 0, 0, 135, 135, 0, 0,
417 135, 135, 135, 135, 135, 0, 135, 135, 0, 0,
418 135, 0, 0, 135, 135, 135, 0, 0, 0, 0,
419 0, 0, 0, 145, 0, 119, 119, 119, 119, 0,
420 0, 0, 72, 0, 119, 72, 0, 0, 119, 119,
421 119, 119, 0, 0, 0, 0, 0, 119, 119, 72,
422 72, 119, 119, 119, 119, 119, 0, 119, 119, 0,
423 0, 119, 0, 0, 119, 119, 119, 0, 0, 0,
424 144, 0, 0, 144, 0, 0, 0, 0, 0, 0,
425 142, 142, 142, 142, 72, 0, 0, 144, 144, 142,
426 0, 0, 144, 142, 142, 142, 142, 0, 0, 0,
427 0, 0, 142, 142, 0, 0, 142, 142, 142, 142,
428 142, 0, 142, 142, 0, 0, 142, 0, 0, 142,
429 142, 142, 144, 60, 60, 60, 60, 0, 129, 129,
430 129, 129, 0, 0, 0, 0, 0, 129, 0, 0,
431 0, 129, 129, 129, 129, 60, 60, 0, 0, 0,
432 129, 129, 144, 0, 129, 129, 129, 129, 129, 0,
433 129, 129, 97, 0, 129, 97, 0, 129, 129, 129,
434 0, 0, 145, 145, 145, 145, 0, 0, 0, 97,
435 97, 145, 0, 0, 97, 145, 145, 145, 145, 0,
436 0, 0, 0, 0, 145, 145, 0, 0, 145, 145,
437 145, 145, 145, 0, 145, 145, 59, 0, 145, 59,
438 0, 145, 145, 145, 97, 0, 0, 0, 0, 0,
439 0, 0, 0, 59, 59, 0, 0, 0, 59, 0,
440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441 0, 0, 0, 0, 97, 0, 0, 0, 0, 0,
442 0, 0, 0, 0, 0, 0, 62, 0, 59, 0,
443 0, 0, 0, 72, 72, 72, 72, 0, 0, 0,
444 0, 0, 0, 62, 62, 0, 0, 0, 62, 0,
445 0, 0, 0, 0, 0, 72, 72, 0, 59, 0,
446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
447 0, 144, 144, 144, 144, 0, 62, 0, 62, 0,
448 144, 0, 0, 0, 144, 144, 144, 144, 0, 0,
449 0, 0, 0, 144, 144, 0, 0, 144, 144, 144,
450 144, 144, 96, 144, 144, 96, 0, 144, 62, 0,
451 144, 144, 144, 0, 0, 0, 0, 0, 0, 96,
452 96, 0, 0, 0, 96, 0, 0, 0, 0, 0,
453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
455 0, 0, 0, 144, 96, 0, 144, 0, 0, 0,
456 0, 0, 0, 97, 97, 97, 97, 0, 0, 0,
457 144, 144, 97, 0, 0, 144, 97, 97, 97, 97,
458 0, 0, 0, 0, 96, 97, 97, 0, 0, 97,
459 97, 97, 97, 97, 0, 97, 97, 131, 0, 97,
460 131, 0, 97, 97, 97, 144, 0, 59, 59, 59,
461 59, 0, 0, 0, 131, 131, 59, 0, 0, 131,
462 59, 59, 59, 59, 0, 0, 0, 0, 0, 59,
463 59, 0, 0, 59, 59, 59, 59, 59, 0, 59,
464 59, 0, 252, 59, 0, 253, 59, 59, 59, 131,
465 0, 0, 0, 0, 0, 0, 0, 62, 62, 62,
466 62, 0, 0, 0, 157, 0, 62, 0, 0, 0,
467 62, 62, 62, 62, 0, 0, 0, 0, 0, 62,
468 62, 0, 0, 62, 62, 62, 62, 62, 103, 62,
469 62, 103, 168, 62, 0, 0, 62, 62, 62, 0,
470 0, 0, 0, 0, 0, 103, 103, 0, 0, 0,
471 103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
472 0, 0, 0, 0, 150, 0, 0, 0, 0, 0,
473 0, 0, 0, 96, 96, 96, 96, 0, 0, 0,
474 103, 0, 96, 0, 0, 0, 96, 96, 96, 96,
475 0, 0, 0, 0, 0, 96, 96, 0, 0, 96,
476 96, 96, 96, 96, 0, 96, 96, 0, 0, 96,
477 0, 0, 96, 96, 96, 0, 0, 0, 0, 0,
478 0, 0, 0, 0, 144, 144, 144, 144, 0, 0,
479 0, 0, 0, 144, 0, 0, 0, 144, 144, 144,
480 144, 0, 0, 0, 0, 0, 144, 144, 0, 0,
481 144, 144, 144, 144, 144, 0, 144, 144, 109, 0,
482 144, 109, 0, 144, 144, 144, 0, 0, 131, 131,
483 131, 131, 0, 0, 0, 109, 109, 131, 0, 0,
484 109, 131, 131, 131, 131, 0, 0, 0, 0, 0,
485 131, 131, 0, 0, 131, 131, 131, 131, 131, 0,
486 131, 131, 0, 93, 131, 0, 93, 131, 131, 131,
487 109, 0, 0, 0, 0, 0, 0, 0, 0, 0,
488 93, 93, 151, 0, 0, 93, 152, 153, 154, 155,
489 0, 0, 0, 0, 0, 0, 0, 0, 0, 156,
490 158, 159, 160, 161, 0, 162, 163, 0, 0, 164,
491 0, 0, 165, 166, 167, 93, 157, 0, 0, 103,
492 103, 103, 103, 0, 0, 0, 0, 0, 103, 0,
493 0, 0, 103, 103, 103, 103, 0, 0, 0, 0,
494 0, 103, 103, 0, 168, 103, 103, 103, 103, 103,
495 94, 103, 103, 94, 0, 103, 0, 0, 103, 103,
496 103, 0, 0, 0, 0, 0, 0, 94, 94, 0,
497 0, 0, 94, 0, 0, 0, 150, 0, 0, 0,
498 0, 0, 0, 0, 0, 0, 0, 88, 0, 0,
499 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 94, 0, 88, 88, 0, 0, 0, 88,
501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
503 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,
504 0, 0, 0, 0, 0, 0, 0, 0, 0, 109,
505 109, 109, 109, 0, 0, 0, 0, 0, 109, 0,
506 0, 0, 109, 109, 109, 109, 0, 0, 0, 0,
507 0, 109, 109, 0, 0, 109, 109, 109, 109, 109,
508 0, 109, 109, 89, 0, 109, 89, 0, 109, 109,
509 109, 0, 0, 0, 93, 93, 93, 93, 0, 0,
510 89, 89, 0, 93, 0, 89, 0, 93, 93, 93,
511 93, 0, 0, 0, 0, 0, 93, 93, 0, 0,
512 93, 93, 93, 93, 93, 90, 93, 93, 90, 0,
513 93, 0, 0, 0, 151, 89, 0, 0, 152, 153,
514 154, 155, 90, 90, 0, 0, 0, 90, 0, 0,
515 0, 0, 158, 159, 160, 161, 0, 162, 163, 0,
516 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
517 86, 0, 0, 86, 0, 0, 0, 90, 0, 0,
518 0, 94, 94, 94, 94, 0, 0, 86, 86, 0,
519 94, 0, 86, 0, 94, 94, 94, 94, 0, 0,
520 0, 0, 0, 94, 94, 0, 0, 94, 94, 94,
521 94, 94, 0, 94, 94, 0, 0, 94, 88, 88,
522 88, 88, 86, 0, 0, 0, 0, 88, 0, 0,
523 0, 88, 88, 88, 88, 87, 0, 0, 87, 0,
524 88, 88, 0, 0, 88, 88, 88, 88, 88, 0,
525 88, 88, 87, 87, 0, 0, 0, 87, 0, 0,
526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
527 0, 0, 85, 0, 0, 85, 0, 0, 0, 0,
528 0, 0, 0, 0, 0, 0, 0, 87, 0, 85,
529 85, 0, 0, 0, 85, 0, 0, 0, 0, 0,
530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
531 0, 0, 0, 0, 89, 89, 89, 89, 0, 0,
532 0, 0, 0, 89, 85, 0, 0, 89, 89, 89,
533 89, 0, 0, 0, 0, 0, 89, 89, 0, 0,
534 89, 89, 89, 89, 89, 73, 89, 89, 73, 0,
535 0, 0, 0, 0, 0, 0, 90, 90, 90, 90,
536 0, 0, 73, 73, 0, 90, 0, 73, 0, 90,
537 90, 90, 90, 0, 0, 0, 0, 0, 90, 90,
538 0, 0, 90, 90, 90, 90, 90, 0, 90, 90,
539 75, 0, 0, 75, 0, 0, 0, 73, 0, 0,
540 0, 86, 86, 86, 86, 0, 0, 75, 75, 0,
541 86, 0, 75, 0, 86, 86, 86, 86, 0, 0,
542 0, 0, 0, 86, 86, 0, 0, 86, 86, 86,
543 86, 86, 76, 86, 86, 76, 0, 0, 0, 0,
544 0, 0, 75, 0, 0, 0, 0, 0, 0, 76,
545 76, 0, 0, 0, 76, 0, 0, 0, 0, 0,
546 0, 0, 0, 0, 0, 0, 87, 87, 87, 87,
547 0, 0, 0, 0, 0, 87, 0, 0, 0, 87,
548 87, 87, 87, 0, 76, 0, 0, 0, 87, 87,
549 0, 0, 87, 87, 87, 87, 87, 0, 87, 87,
550 0, 0, 0, 85, 85, 85, 85, 0, 0, 0,
551 0, 0, 85, 0, 0, 0, 85, 85, 85, 85,
552 123, 0, 0, 123, 0, 85, 85, 0, 0, 85,
553 85, 85, 85, 85, 0, 85, 85, 123, 123, 0,
554 0, 0, 123, 0, 0, 0, 0, 0, 0, 0,
555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
556 0, 0, 0, 0, 95, 0, 0, 95, 0, 0,
557 0, 0, 123, 0, 0, 0, 73, 73, 73, 73,
558 0, 95, 95, 0, 0, 73, 95, 0, 0, 73,
559 73, 73, 73, 0, 0, 0, 0, 0, 73, 73,
560 0, 0, 73, 73, 73, 73, 73, 0, 73, 73,
561 133, 0, 0, 133, 0, 0, 95, 0, 0, 0,
562 0, 75, 75, 75, 75, 0, 0, 133, 133, 0,
563 75, 0, 133, 0, 75, 75, 0, 75, 0, 0,
564 0, 0, 0, 75, 75, 0, 0, 75, 75, 75,
565 75, 75, 77, 75, 0, 77, 0, 0, 0, 0,
566 0, 0, 133, 76, 76, 76, 76, 0, 0, 77,
567 77, 0, 76, 0, 77, 0, 76, 76, 0, 0,
568 0, 0, 0, 0, 78, 76, 76, 78, 0, 76,
569 76, 76, 76, 76, 79, 76, 0, 79, 0, 0,
570 0, 78, 78, 0, 77, 0, 78, 0, 0, 0,
571 0, 79, 79, 0, 0, 0, 79, 0, 0, 0,
572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
573 0, 0, 0, 0, 0, 0, 78, 0, 0, 80,
574 0, 0, 80, 0, 0, 0, 79, 0, 0, 0,
575 0, 123, 123, 123, 123, 0, 80, 80, 0, 0,
576 123, 80, 0, 0, 123, 123, 0, 0, 0, 0,
577 0, 0, 0, 123, 123, 0, 0, 123, 123, 123,
578 123, 123, 0, 82, 0, 0, 82, 0, 0, 0,
579 0, 80, 0, 0, 0, 95, 95, 95, 95, 0,
580 82, 82, 0, 0, 95, 82, 0, 0, 95, 95,
581 0, 0, 0, 0, 0, 0, 0, 95, 95, 0,
582 0, 95, 95, 95, 95, 95, 0, 0, 0, 0,
583 0, 0, 0, 0, 0, 82, 0, 0, 0, 0,
584 0, 133, 133, 133, 133, 0, 0, 0, 0, 0,
585 133, 0, 0, 0, 133, 133, 0, 0, 0, 0,
586 0, 0, 0, 133, 133, 0, 0, 133, 133, 133,
587 133, 133, 0, 0, 0, 0, 0, 0, 0, 0,
588 0, 0, 0, 77, 77, 77, 77, 0, 0, 0,
589 0, 0, 77, 0, 0, 0, 0, 77, 0, 0,
590 0, 0, 0, 0, 0, 77, 77, 0, 0, 77,
591 77, 77, 77, 77, 0, 78, 78, 78, 78, 0,
592 0, 0, 0, 0, 78, 79, 79, 79, 79, 0,
593 0, 0, 0, 0, 79, 0, 0, 78, 78, 0,
594 0, 78, 78, 78, 78, 78, 0, 79, 79, 0,
595 0, 79, 79, 79, 79, 79, 0, 0, 0, 0,
596 0, 92, 0, 0, 0, 0, 0, 0, 0, 105,
597 80, 80, 80, 80, 112, 114, 0, 0, 0, 80,
598 124, 125, 126, 127, 128, 129, 0, 0, 132, 133,
599 0, 0, 80, 80, 0, 0, 80, 80, 80, 80,
600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
601 0, 0, 0, 0, 82, 82, 82, 82, 0, 0,
602 0, 0, 182, 82, 0, 0, 0, 0, 0, 0,
603 0, 0, 0, 0, 0, 0, 82, 82, 0, 0,
604 82, 82, 82, 0, 0, 0, 0, 0, 0, 0,
605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
607 0, 0, 0, 0, 214, 0, 0, 0, 0, 0,
608 0, 0, 222, 223, 224, 225, 226, 227, 228, 229,
609 230, 231, 232, 233, 234, 235, 0, 0, 0, 0,
610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
611 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
618 0, 0, 0, 0, 292, 0, 0, 0, 0, 0,
619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
623 short yycheck[] = { 13,
624 36, 41, 93, 17, 59, 36, 41, 91, 41, 44,
625 0, 41, 123, 93, 40, 93, 59, 59, 181, 33,
626 34, 35, 36, 58, 59, 91, 48, 40, 63, 43,
627 40, 91, 193, 125, 187, 49, 189, 294, 295, 123,
628 40, 59, 41, 33, 41, 40, 36, 37, 38, 21,
629 40, 257, 42, 43, 41, 45, 41, 123, 93, 41,
630 91, 41, 41, 123, 78, 91, 0, 89, 6, 59,
631 257, 36, 59, 41, 64, 40, 48, 59, 41, 93,
632 59, 123, 96, 59, 98, 40, 100, 123, 102, 41,
633 40, 59, 123, 31, 32, 117, 59, 123, 41, 33,
634 41, 91, 36, 37, 38, 123, 40, 40, 42, 43,
635 123, 45, 41, 123, 41, 40, 257, 89, 276, 277,
636 44, 284, 0, 123, 41, 59, 278, 141, 123, 44,
637 64, 40, 123, 123, 295, 125, 126, 298, 59, 260,
638 293, 294, 59, 59, 40, 117, 257, 300, 40, 40,
639 122, 41, 125, 41, 91, 33, 59, 91, 36, 37,
640 38, 183, 40, 177, 42, 43, 41, 45, 329, 322,
641 184, 125, 91, 59, 266, 267, 268, 295, 270, 271,
642 40, 59, 40, 266, 267, 268, 64, 270, 271, 123,
643 41, 125, 126, 125, 125, 125, 59, 125, 41, 41,
644 59, 123, 257, 294, 295, 59, 41, 59, 41, 44,
645 59, 183, 41, 91, 294, 295, 294, 295, 59, 59,
646 41, 257, 41, 58, 59, 93, 262, 258, 63, 313,
647 320, 59, 272, 273, 274, 275, 84, 272, 273, 274,
648 275, 13, 256, 266, 258, 123, 260, 261, 126, 94,
649 264, 294, 295, 267, 294, 295, 93, -1, 93, 294,
650 295, 294, 295, 298, 294, 295, 256, 257, 258, 259,
651 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
652 270, 271, 272, 273, 274, 275, -1, 301, -1, 279,
653 280, -1, 282, 283, 284, 294, 295, 294, 295, 289,
654 290, 291, 292, 293, -1, -1, 296, 297, -1, 294,
655 295, 93, 326, 303, 294, 295, 330, 307, -1, 309,
656 310, -1, 256, 257, 258, 259, 260, 261, 93, 263,
657 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
658 274, 275, 294, 295, -1, 279, 280, -1, 282, 283,
659 284, 294, 295, 294, 295, 289, 290, 291, 292, 293,
660 -1, -1, 296, 297, -1, 294, 295, 294, 295, 303,
661 294, 295, 41, 307, -1, 309, 310, -1, 256, 257,
662 258, 259, 260, 261, -1, 263, 264, 265, 13, 41,
663 59, 269, 44, -1, 272, 273, 274, 275, -1, 41,
664 -1, 279, 280, -1, 282, 283, 284, 59, 294, 295,
665 -1, 289, 290, 291, 292, 293, -1, -1, 296, 297,
666 45, 63, 47, -1, 93, 303, 294, 295, -1, 307,
667 55, 309, 310, -1, 59, 294, 295, 272, 273, 274,
668 275, 93, 294, 295, 41, -1, 281, 44, -1, 91,
669 285, 286, 287, 288, 294, 295, -1, 294, 295, 294,
670 295, 58, 59, 298, 299, 300, 301, 302, -1, 304,
671 95, 91, 97, -1, 99, -1, 101, -1, 103, -1,
672 33, 123, 107, 36, 37, 38, -1, 40, 41, 42,
673 43, 44, 45, -1, -1, -1, 93, -1, -1, -1,
674 -1, -1, -1, 123, -1, 58, 59, -1, -1, -1,
675 63, 64, 294, 295, -1, -1, -1, -1, -1, 144,
676 145, 146, 147, 148, 149, 150, -1, -1, -1, 294,
677 295, -1, -1, -1, -1, -1, 41, -1, 91, 44,
678 93, -1, -1, 168, 169, 170, 171, 172, 173, -1,
679 -1, -1, -1, 58, 59, -1, 33, 91, 63, 36,
680 37, 38, -1, 40, 41, 42, 43, 44, 45, -1,
681 123, -1, 197, 126, 272, 273, 274, 275, 203, 204,
682 205, 58, 59, -1, -1, 210, 63, 64, 93, 123,
683 -1, -1, -1, -1, -1, -1, 294, 295, -1, -1,
684 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
685 -1, 236, -1, 238, -1, -1, 93, -1, -1, -1,
686 272, 273, 274, 275, 33, 294, 295, 36, 37, 38,
687 -1, 40, -1, 42, 43, -1, 45, -1, -1, 281,
688 -1, 266, 294, 285, 286, 287, 288, -1, -1, 126,
689 59, -1, -1, -1, 279, 64, 298, 299, 300, 301,
690 302, -1, 304, 305, -1, 285, 308, 287, 288, 311,
691 312, 313, 297, -1, -1, 272, 273, 274, 275, -1,
692 -1, -1, 91, -1, 304, 305, -1, -1, 308, -1,
693 -1, 311, 312, 313, -1, 320, -1, 294, 295, -1,
694 -1, 298, -1, -1, 257, 258, 259, 260, 261, -1,
695 263, 264, 265, -1, 123, -1, 269, 126, -1, 272,
696 273, 274, 275, -1, -1, -1, -1, 280, 281, 282,
697 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
698 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
699 303, 304, 305, 287, 307, 308, 309, 310, 311, 312,
700 313, -1, -1, -1, -1, -1, -1, 272, 273, 274,
701 275, 305, -1, -1, 308, -1, 281, 311, 312, 313,
702 257, 258, 259, 260, 261, -1, 263, 264, 265, 294,
703 295, -1, 269, 298, 299, 272, 273, 274, 275, -1,
704 -1, -1, -1, 280, 281, 282, 283, 284, 285, 286,
705 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
706 297, 298, 299, 300, 301, 302, 303, 304, 305, 91,
707 307, 308, 309, 310, 311, 312, 313, -1, -1, -1,
708 -1, -1, -1, -1, 91, -1, -1, 256, 257, 258,
709 259, 260, 261, -1, 263, 264, 265, -1, -1, -1,
710 269, 123, -1, 272, 273, 274, 275, -1, -1, -1,
711 279, 280, -1, 282, 283, 284, 123, -1, 91, -1,
712 289, 290, 291, 292, 293, -1, -1, 296, 297, -1,
713 -1, -1, -1, -1, 303, -1, -1, 91, 307, 33,
714 309, 310, 36, 37, 38, 26, 40, -1, 42, 43,
715 123, 45, -1, -1, 25, 26, -1, -1, -1, -1,
716 -1, 42, -1, -1, -1, 59, 37, 48, -1, 123,
717 64, 42, 43, -1, -1, -1, -1, 48, -1, 60,
718 61, 62, 63, 64, -1, -1, -1, -1, -1, 60,
719 61, 62, 63, 64, -1, 33, -1, 91, 36, 37,
720 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
721 -1, -1, -1, -1, -1, -1, -1, -1, 91, -1,
722 -1, -1, -1, -1, -1, -1, 64, 108, -1, 123,
723 -1, -1, 126, -1, -1, -1, -1, 108, -1, -1,
724 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
725 123, 33, -1, 91, 36, 37, 38, -1, 40, -1,
726 42, 43, -1, 45, -1, 287, 288, -1, -1, -1,
727 -1, -1, -1, -1, -1, -1, -1, 59, 285, 286,
728 287, 288, 64, 305, -1, 123, 308, -1, 126, 311,
729 312, 313, 299, 300, 301, 302, 167, 304, 305, -1,
730 -1, 308, -1, -1, 311, 312, 313, -1, -1, 91,
731 -1, -1, -1, -1, 33, -1, -1, 36, 37, 38,
732 -1, 40, -1, 42, 43, -1, 45, -1, -1, -1,
733 -1, 285, 286, 287, 288, 308, -1, -1, 311, 312,
734 313, -1, -1, -1, 126, 64, 300, 301, 302, -1,
735 304, 305, -1, -1, 308, -1, -1, 311, 312, 313,
736 -1, -1, 256, 257, 258, 259, 260, 261, -1, 263,
737 264, 265, 91, -1, -1, 269, -1, -1, 272, 273,
738 274, 275, -1, -1, -1, 279, 280, -1, 282, 283,
739 284, -1, -1, -1, -1, 289, 290, 291, 292, 293,
740 -1, -1, 296, 297, 123, -1, -1, 126, 63, 303,
741 -1, -1, -1, 307, -1, 309, 310, -1, -1, 257,
742 258, 259, 260, 261, 262, 263, 264, 265, -1, -1,
743 -1, 269, 305, -1, -1, 308, 91, -1, 311, 312,
744 313, -1, 280, -1, 282, 283, 284, -1, -1, -1,
745 -1, 289, 290, 291, 292, 293, -1, -1, 296, 297,
746 -1, 58, -1, -1, -1, 303, 63, -1, 123, 307,
747 -1, 309, 310, -1, -1, 257, 258, 259, 260, 261,
748 -1, 263, 264, 265, -1, -1, -1, 269, -1, -1,
749 -1, -1, -1, -1, 91, -1, -1, -1, 280, -1,
750 282, 283, 284, -1, -1, -1, -1, 289, 290, 291,
751 292, 293, -1, -1, 296, 297, 41, -1, -1, 44,
752 -1, 303, -1, -1, -1, 307, 123, 309, 310, -1,
753 -1, -1, -1, 58, 59, -1, -1, -1, 257, 258,
754 259, 260, 261, 262, 263, 264, 265, -1, 33, -1,
755 269, 36, 37, 38, -1, 40, 41, 42, 43, -1,
756 45, 280, -1, 282, 283, 284, -1, -1, 93, 91,
757 289, 290, 291, 292, 293, -1, -1, -1, 297, 64,
758 -1, -1, -1, -1, 303, -1, -1, -1, 307, -1,
759 309, 310, -1, -1, -1, -1, -1, -1, -1, -1,
760 -1, 123, -1, -1, 33, -1, 91, 36, 37, 38,
761 -1, 40, -1, 42, 43, -1, 45, -1, -1, -1,
762 -1, -1, -1, -1, -1, -1, 281, -1, -1, -1,
763 285, 286, 287, 288, -1, 64, -1, -1, -1, -1,
764 -1, 126, -1, 298, 299, 300, 301, 302, -1, 304,
765 305, -1, -1, 308, -1, -1, 311, 312, 313, -1,
766 -1, -1, 91, 33, 93, -1, 36, 37, 38, -1,
767 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
768 -1, -1, -1, -1, 281, -1, -1, 91, 285, 286,
769 287, 288, -1, -1, 64, -1, -1, 126, -1, -1,
770 -1, 298, 299, 300, 301, 302, -1, 304, 305, -1,
771 -1, 308, -1, -1, 311, 312, 313, -1, -1, 123,
772 -1, 91, -1, 33, -1, -1, 36, 37, 38, -1,
773 40, 41, 42, 43, -1, 45, -1, -1, -1, -1,
774 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
775 275, -1, -1, -1, 64, -1, 126, -1, -1, -1,
776 -1, -1, -1, 285, 286, 287, 288, -1, -1, 294,
777 295, -1, 257, 258, 259, 260, 261, -1, 263, 264,
778 265, 91, 304, 305, 269, -1, 308, -1, -1, 311,
779 312, 313, -1, -1, -1, 280, -1, 282, 283, 284,
780 -1, -1, -1, -1, 289, 290, 291, 292, 293, -1,
781 -1, 296, 297, -1, -1, -1, 126, -1, 303, -1,
782 -1, -1, 307, -1, 309, 310, -1, -1, 257, 258,
783 259, 260, 261, -1, 263, 264, 265, -1, 33, -1,
784 269, 36, 37, 38, -1, 40, 41, 42, 43, -1,
785 45, 280, -1, 282, 283, 284, -1, -1, -1, -1,
786 289, 290, 291, 292, 293, -1, -1, 296, 297, 64,
787 -1, -1, -1, -1, 303, -1, -1, -1, 307, -1,
788 309, 310, -1, 287, 288, -1, 256, 257, 258, 259,
789 260, 261, -1, 263, 264, 265, 91, -1, -1, 269,
790 304, 305, -1, -1, 308, -1, -1, 311, 312, 313,
791 280, -1, 282, 283, 284, -1, -1, -1, -1, 289,
792 290, 291, 292, 293, -1, 41, 296, 297, 44, -1,
793 -1, 126, -1, 303, -1, -1, -1, 307, -1, 309,
794 310, -1, 58, 59, -1, -1, -1, 257, 258, 259,
795 260, 261, -1, 263, 264, 265, -1, 33, -1, 269,
796 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
797 280, -1, 282, 283, 284, -1, -1, 93, -1, 289,
798 290, 291, 292, 293, -1, -1, 296, 297, 64, -1,
799 -1, -1, -1, 303, -1, -1, -1, 307, -1, 309,
800 310, -1, -1, -1, -1, -1, -1, -1, -1, -1,
801 -1, -1, -1, 33, -1, 91, 36, 37, 38, -1,
802 40, 41, 42, 43, -1, 45, -1, -1, -1, -1,
803 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
804 -1, -1, -1, -1, 64, -1, -1, -1, -1, -1,
805 126, -1, -1, -1, -1, -1, -1, -1, -1, -1,
806 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
807 265, 91, 33, -1, 269, 36, 37, 38, -1, 40,
808 -1, 42, 43, -1, 45, 280, -1, 282, 283, 284,
809 -1, -1, -1, -1, 289, 290, 291, 292, 293, -1,
810 -1, 296, 297, 64, -1, -1, 126, -1, 303, -1,
811 -1, -1, 307, -1, 309, 310, -1, -1, -1, -1,
812 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
813 91, -1, 33, -1, -1, 36, 37, 38, -1, 40,
814 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
815 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
816 -1, -1, 123, 64, -1, 126, -1, -1, -1, -1,
817 -1, -1, -1, -1, -1, -1, -1, -1, 294, 295,
818 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
819 91, -1, -1, 269, 41, -1, -1, 44, -1, -1,
820 -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
821 -1, 58, 59, 289, 290, 291, 292, 293, -1, -1,
822 296, 297, -1, 91, -1, 126, -1, 303, -1, -1,
823 -1, 307, -1, 309, 310, -1, -1, 257, 258, 259,
824 260, 261, -1, 263, 264, 265, 93, 33, -1, 269,
825 36, 37, 38, -1, 40, 123, 42, 43, -1, 45,
826 280, -1, 282, 283, 284, -1, -1, -1, -1, 289,
827 290, 291, 292, 293, -1, -1, 296, 297, 64, -1,
828 -1, -1, -1, 303, -1, -1, -1, 307, -1, 309,
829 310, -1, -1, -1, -1, -1, 257, 258, 259, 260,
830 261, -1, 263, 264, 265, 91, -1, -1, 269, -1,
831 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
832 -1, 282, 283, 284, -1, -1, -1, -1, 289, 290,
833 291, 292, 293, -1, -1, -1, 297, 123, -1, -1,
834 126, -1, 303, -1, -1, -1, 307, -1, 309, 310,
835 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
836 261, 91, 263, 264, 265, -1, 33, -1, 269, 36,
837 37, 38, -1, 40, -1, 42, 43, -1, 45, 280,
838 -1, 282, 283, 284, -1, -1, -1, -1, 289, 290,
839 291, 292, 293, 123, -1, 296, 297, 64, -1, -1,
840 -1, -1, 303, -1, -1, -1, 307, -1, 309, 310,
841 -1, -1, -1, 41, -1, -1, 44, 285, 286, 287,
842 288, -1, -1, -1, 91, 272, 273, 274, 275, -1,
843 58, 59, -1, 301, 302, 63, 304, 305, -1, -1,
844 308, -1, -1, 311, 312, 313, -1, 294, 295, -1,
845 -1, -1, -1, -1, -1, -1, -1, -1, -1, 126,
846 -1, -1, -1, 91, 41, 93, -1, 44, -1, -1,
847 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
848 -1, 58, 59, 269, -1, -1, 63, -1, -1, -1,
849 -1, -1, -1, -1, 280, 123, 282, 283, 284, -1,
850 -1, -1, -1, 289, 290, 291, 292, 293, -1, -1,
851 -1, 297, -1, -1, 91, -1, 93, 303, -1, 41,
852 -1, 307, 44, 309, 310, -1, -1, -1, -1, -1,
853 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
854 -1, 63, -1, -1, -1, -1, 123, -1, -1, -1,
855 -1, -1, -1, -1, -1, 285, 286, 287, 288, -1,
856 -1, -1, 41, -1, -1, 44, -1, 41, -1, 91,
857 44, 93, 302, -1, 304, 305, -1, -1, 308, 58,
858 59, 311, 312, 313, 58, 59, -1, -1, -1, 63,
859 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
860 -1, 123, 269, -1, -1, -1, -1, -1, -1, -1,
861 -1, 41, -1, 280, 93, 282, 283, 284, -1, 93,
862 -1, -1, 289, 290, 291, 292, 293, -1, 58, 59,
863 297, -1, -1, 63, -1, -1, 303, -1, -1, -1,
864 307, -1, 309, 310, 272, 273, 274, 275, -1, 123,
865 -1, -1, -1, 281, -1, -1, -1, 285, 286, 287,
866 288, 91, -1, 93, -1, -1, 294, 295, -1, -1,
867 298, 299, 300, 301, 302, -1, 304, 305, -1, -1,
868 308, -1, -1, 311, 312, 313, -1, -1, -1, -1,
869 -1, -1, -1, 123, -1, 272, 273, 274, 275, -1,
870 -1, -1, 41, -1, 281, 44, -1, -1, 285, 286,
871 287, 288, -1, -1, -1, -1, -1, 294, 295, 58,
872 59, 298, 299, 300, 301, 302, -1, 304, 305, -1,
873 -1, 308, -1, -1, 311, 312, 313, -1, -1, -1,
874 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
875 272, 273, 274, 275, 93, -1, -1, 58, 59, 281,
876 -1, -1, 63, 285, 286, 287, 288, -1, -1, -1,
877 -1, -1, 294, 295, -1, -1, 298, 299, 300, 301,
878 302, -1, 304, 305, -1, -1, 308, -1, -1, 311,
879 312, 313, 93, 272, 273, 274, 275, -1, 272, 273,
880 274, 275, -1, -1, -1, -1, -1, 281, -1, -1,
881 -1, 285, 286, 287, 288, 294, 295, -1, -1, -1,
882 294, 295, 123, -1, 298, 299, 300, 301, 302, -1,
883 304, 305, 41, -1, 308, 44, -1, 311, 312, 313,
884 -1, -1, 272, 273, 274, 275, -1, -1, -1, 58,
885 59, 281, -1, -1, 63, 285, 286, 287, 288, -1,
886 -1, -1, -1, -1, 294, 295, -1, -1, 298, 299,
887 300, 301, 302, -1, 304, 305, 41, -1, 308, 44,
888 -1, 311, 312, 313, 93, -1, -1, -1, -1, -1,
889 -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
890 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
891 -1, -1, -1, -1, 123, -1, -1, -1, -1, -1,
892 -1, -1, -1, -1, -1, -1, 41, -1, 93, -1,
893 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
894 -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
895 -1, -1, -1, -1, -1, 294, 295, -1, 123, -1,
896 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
897 -1, 272, 273, 274, 275, -1, 91, -1, 93, -1,
898 281, -1, -1, -1, 285, 286, 287, 288, -1, -1,
899 -1, -1, -1, 294, 295, -1, -1, 298, 299, 300,
900 301, 302, 41, 304, 305, 44, -1, 308, 123, -1,
901 311, 312, 313, -1, -1, -1, -1, -1, -1, 58,
902 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
903 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
904 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
905 -1, -1, -1, 41, 93, -1, 44, -1, -1, -1,
906 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
907 58, 59, 281, -1, -1, 63, 285, 286, 287, 288,
908 -1, -1, -1, -1, 123, 294, 295, -1, -1, 298,
909 299, 300, 301, 302, -1, 304, 305, 41, -1, 308,
910 44, -1, 311, 312, 313, 93, -1, 272, 273, 274,
911 275, -1, -1, -1, 58, 59, 281, -1, -1, 63,
912 285, 286, 287, 288, -1, -1, -1, -1, -1, 294,
913 295, -1, -1, 298, 299, 300, 301, 302, -1, 304,
914 305, -1, 41, 308, -1, 44, 311, 312, 313, 93,
915 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
916 275, -1, -1, -1, 63, -1, 281, -1, -1, -1,
917 285, 286, 287, 288, -1, -1, -1, -1, -1, 294,
918 295, -1, -1, 298, 299, 300, 301, 302, 41, 304,
919 305, 44, 91, 308, -1, -1, 311, 312, 313, -1,
920 -1, -1, -1, -1, -1, 58, 59, -1, -1, -1,
921 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
922 -1, -1, -1, -1, 123, -1, -1, -1, -1, -1,
923 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
924 93, -1, 281, -1, -1, -1, 285, 286, 287, 288,
925 -1, -1, -1, -1, -1, 294, 295, -1, -1, 298,
926 299, 300, 301, 302, -1, 304, 305, -1, -1, 308,
927 -1, -1, 311, 312, 313, -1, -1, -1, -1, -1,
928 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
929 -1, -1, -1, 281, -1, -1, -1, 285, 286, 287,
930 288, -1, -1, -1, -1, -1, 294, 295, -1, -1,
931 298, 299, 300, 301, 302, -1, 304, 305, 41, -1,
932 308, 44, -1, 311, 312, 313, -1, -1, 272, 273,
933 274, 275, -1, -1, -1, 58, 59, 281, -1, -1,
934 63, 285, 286, 287, 288, -1, -1, -1, -1, -1,
935 294, 295, -1, -1, 298, 299, 300, 301, 302, -1,
936 304, 305, -1, 41, 308, -1, 44, 311, 312, 313,
937 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
938 58, 59, 281, -1, -1, 63, 285, 286, 287, 288,
939 -1, -1, -1, -1, -1, -1, -1, -1, -1, 298,
940 299, 300, 301, 302, -1, 304, 305, -1, -1, 308,
941 -1, -1, 311, 312, 313, 93, 63, -1, -1, 272,
942 273, 274, 275, -1, -1, -1, -1, -1, 281, -1,
943 -1, -1, 285, 286, 287, 288, -1, -1, -1, -1,
944 -1, 294, 295, -1, 91, 298, 299, 300, 301, 302,
945 41, 304, 305, 44, -1, 308, -1, -1, 311, 312,
946 313, -1, -1, -1, -1, -1, -1, 58, 59, -1,
947 -1, -1, 63, -1, -1, -1, 123, -1, -1, -1,
948 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
949 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
950 -1, -1, 93, -1, 58, 59, -1, -1, -1, 63,
951 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
952 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
953 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
954 -1, -1, -1, -1, -1, -1, -1, -1, -1, 272,
955 273, 274, 275, -1, -1, -1, -1, -1, 281, -1,
956 -1, -1, 285, 286, 287, 288, -1, -1, -1, -1,
957 -1, 294, 295, -1, -1, 298, 299, 300, 301, 302,
958 -1, 304, 305, 41, -1, 308, 44, -1, 311, 312,
959 313, -1, -1, -1, 272, 273, 274, 275, -1, -1,
960 58, 59, -1, 281, -1, 63, -1, 285, 286, 287,
961 288, -1, -1, -1, -1, -1, 294, 295, -1, -1,
962 298, 299, 300, 301, 302, 41, 304, 305, 44, -1,
963 308, -1, -1, -1, 281, 93, -1, -1, 285, 286,
964 287, 288, 58, 59, -1, -1, -1, 63, -1, -1,
965 -1, -1, 299, 300, 301, 302, -1, 304, 305, -1,
966 -1, 308, -1, -1, 311, 312, 313, -1, -1, -1,
967 41, -1, -1, 44, -1, -1, -1, 93, -1, -1,
968 -1, 272, 273, 274, 275, -1, -1, 58, 59, -1,
969 281, -1, 63, -1, 285, 286, 287, 288, -1, -1,
970 -1, -1, -1, 294, 295, -1, -1, 298, 299, 300,
971 301, 302, -1, 304, 305, -1, -1, 308, 272, 273,
972 274, 275, 93, -1, -1, -1, -1, 281, -1, -1,
973 -1, 285, 286, 287, 288, 41, -1, -1, 44, -1,
974 294, 295, -1, -1, 298, 299, 300, 301, 302, -1,
975 304, 305, 58, 59, -1, -1, -1, 63, -1, -1,
976 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
977 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
978 -1, -1, -1, -1, -1, -1, -1, 93, -1, 58,
979 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
980 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
981 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
982 -1, -1, -1, 281, 93, -1, -1, 285, 286, 287,
983 288, -1, -1, -1, -1, -1, 294, 295, -1, -1,
984 298, 299, 300, 301, 302, 41, 304, 305, 44, -1,
985 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
986 -1, -1, 58, 59, -1, 281, -1, 63, -1, 285,
987 286, 287, 288, -1, -1, -1, -1, -1, 294, 295,
988 -1, -1, 298, 299, 300, 301, 302, -1, 304, 305,
989 41, -1, -1, 44, -1, -1, -1, 93, -1, -1,
990 -1, 272, 273, 274, 275, -1, -1, 58, 59, -1,
991 281, -1, 63, -1, 285, 286, 287, 288, -1, -1,
992 -1, -1, -1, 294, 295, -1, -1, 298, 299, 300,
993 301, 302, 41, 304, 305, 44, -1, -1, -1, -1,
994 -1, -1, 93, -1, -1, -1, -1, -1, -1, 58,
995 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
996 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
997 -1, -1, -1, -1, -1, 281, -1, -1, -1, 285,
998 286, 287, 288, -1, 93, -1, -1, -1, 294, 295,
999 -1, -1, 298, 299, 300, 301, 302, -1, 304, 305,
1000 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1001 -1, -1, 281, -1, -1, -1, 285, 286, 287, 288,
1002 41, -1, -1, 44, -1, 294, 295, -1, -1, 298,
1003 299, 300, 301, 302, -1, 304, 305, 58, 59, -1,
1004 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
1005 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1006 -1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
1007 -1, -1, 93, -1, -1, -1, 272, 273, 274, 275,
1008 -1, 58, 59, -1, -1, 281, 63, -1, -1, 285,
1009 286, 287, 288, -1, -1, -1, -1, -1, 294, 295,
1010 -1, -1, 298, 299, 300, 301, 302, -1, 304, 305,
1011 41, -1, -1, 44, -1, -1, 93, -1, -1, -1,
1012 -1, 272, 273, 274, 275, -1, -1, 58, 59, -1,
1013 281, -1, 63, -1, 285, 286, -1, 288, -1, -1,
1014 -1, -1, -1, 294, 295, -1, -1, 298, 299, 300,
1015 301, 302, 41, 304, -1, 44, -1, -1, -1, -1,
1016 -1, -1, 93, 272, 273, 274, 275, -1, -1, 58,
1017 59, -1, 281, -1, 63, -1, 285, 286, -1, -1,
1018 -1, -1, -1, -1, 41, 294, 295, 44, -1, 298,
1019 299, 300, 301, 302, 41, 304, -1, 44, -1, -1,
1020 -1, 58, 59, -1, 93, -1, 63, -1, -1, -1,
1021 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
1022 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1023 -1, -1, -1, -1, -1, -1, 93, -1, -1, 41,
1024 -1, -1, 44, -1, -1, -1, 93, -1, -1, -1,
1025 -1, 272, 273, 274, 275, -1, 58, 59, -1, -1,
1026 281, 63, -1, -1, 285, 286, -1, -1, -1, -1,
1027 -1, -1, -1, 294, 295, -1, -1, 298, 299, 300,
1028 301, 302, -1, 41, -1, -1, 44, -1, -1, -1,
1029 -1, 93, -1, -1, -1, 272, 273, 274, 275, -1,
1030 58, 59, -1, -1, 281, 63, -1, -1, 285, 286,
1031 -1, -1, -1, -1, -1, -1, -1, 294, 295, -1,
1032 -1, 298, 299, 300, 301, 302, -1, -1, -1, -1,
1033 -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
1034 -1, 272, 273, 274, 275, -1, -1, -1, -1, -1,
1035 281, -1, -1, -1, 285, 286, -1, -1, -1, -1,
1036 -1, -1, -1, 294, 295, -1, -1, 298, 299, 300,
1037 301, 302, -1, -1, -1, -1, -1, -1, -1, -1,
1038 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1039 -1, -1, 281, -1, -1, -1, -1, 286, -1, -1,
1040 -1, -1, -1, -1, -1, 294, 295, -1, -1, 298,
1041 299, 300, 301, 302, -1, 272, 273, 274, 275, -1,
1042 -1, -1, -1, -1, 281, 272, 273, 274, 275, -1,
1043 -1, -1, -1, -1, 281, -1, -1, 294, 295, -1,
1044 -1, 298, 299, 300, 301, 302, -1, 294, 295, -1,
1045 -1, 298, 299, 300, 301, 302, -1, -1, -1, -1,
1046 -1, 30, -1, -1, -1, -1, -1, -1, -1, 38,
1047 272, 273, 274, 275, 43, 44, -1, -1, -1, 281,
1048 49, 50, 51, 52, 53, 54, -1, -1, 57, 58,
1049 -1, -1, 294, 295, -1, -1, 298, 299, 300, 301,
1050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1051 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1052 -1, -1, 91, 281, -1, -1, -1, -1, -1, -1,
1053 -1, -1, -1, -1, -1, -1, 294, 295, -1, -1,
1054 298, 299, 300, -1, -1, -1, -1, -1, -1, -1,
1055 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1056 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1057 -1, -1, -1, -1, 143, -1, -1, -1, -1, -1,
1058 -1, -1, 151, 152, 153, 154, 155, 156, 157, 158,
1059 159, 160, 161, 162, 163, 164, -1, -1, -1, -1,
1060 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1061 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1062 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1063 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1064 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1065 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1066 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1067 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1068 -1, -1, -1, -1, 253, -1, -1, -1, -1, -1,
1069 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1077 #define YYMAXTOKEN 313
1080 "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,
1081 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1082 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1083 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1084 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1085 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1086 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1087 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",
1088 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1089 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1090 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","RELOP","EQOP",
1091 "MULOP","ADDOP","DOLSHARP","DO","LOCAL","HASHBRACK","NOAMP","OROP","ANDOP",
1092 "NOTOP","LSTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP","UNIOP",
1093 "SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
1099 "prog : $$1 lineseq",
1100 "block : '{' remember lineseq '}'",
1103 "lineseq : lineseq decl",
1104 "lineseq : lineseq line",
1105 "line : label cond",
1108 "line : label sideff ';'",
1111 "sideff : expr IF expr",
1112 "sideff : expr UNLESS expr",
1113 "sideff : expr WHILE expr",
1114 "sideff : expr UNTIL expr",
1116 "else : ELSE block",
1117 "else : ELSIF '(' expr ')' block else",
1118 "cond : IF '(' expr ')' block else",
1119 "cond : UNLESS '(' expr ')' block else",
1120 "cond : IF block block else",
1121 "cond : UNLESS block block else",
1123 "cont : CONTINUE block",
1124 "loop : label WHILE '(' texpr ')' block cont",
1125 "loop : label UNTIL '(' expr ')' block cont",
1126 "loop : label WHILE block block cont",
1127 "loop : label UNTIL block block cont",
1128 "loop : label FOR scalar '(' expr ')' block cont",
1129 "loop : label FOR '(' expr ')' block cont",
1130 "loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
1131 "loop : label block cont",
1142 "format : FORMAT startsub WORD block",
1143 "format : FORMAT startsub block",
1144 "subrout : SUB startsub WORD proto block",
1145 "subrout : SUB startsub WORD proto ';'",
1149 "package : PACKAGE WORD ';'",
1150 "package : PACKAGE ';'",
1151 "use : USE WORD listexpr ';'",
1152 "expr : expr ANDOP expr",
1153 "expr : expr OROP expr",
1154 "expr : NOTOP expr",
1156 "argexpr : argexpr ','",
1157 "argexpr : argexpr ',' term",
1159 "listop : LSTOP indirob argexpr",
1160 "listop : FUNC '(' indirob expr ')'",
1161 "listop : term ARROW method '(' listexprcom ')'",
1162 "listop : METHOD indirob listexpr",
1163 "listop : FUNCMETH indirob '(' listexprcom ')'",
1164 "listop : LSTOP listexpr",
1165 "listop : FUNC '(' listexprcom ')'",
1166 "listop : LSTOPSUB startsub block listexpr",
1169 "term : term ASSIGNOP term",
1170 "term : term POWOP term",
1171 "term : term MULOP term",
1172 "term : term ADDOP term",
1173 "term : term SHIFTOP term",
1174 "term : term RELOP term",
1175 "term : term EQOP term",
1176 "term : term BITANDOP term",
1177 "term : term BITOROP term",
1178 "term : term DOTDOT term",
1179 "term : term ANDAND term",
1180 "term : term OROR term",
1181 "term : term '?' term ':' term",
1182 "term : term MATCHOP term",
1187 "term : REFGEN term",
1188 "term : term POSTINC",
1189 "term : term POSTDEC",
1190 "term : PREINC term",
1191 "term : PREDEC term",
1192 "term : LOCAL term",
1193 "term : '(' expr ')'",
1195 "term : '[' expr ']'",
1197 "term : HASHBRACK expr ';' '}'",
1198 "term : HASHBRACK ';' '}'",
1199 "term : ANONSUB startsub proto block",
1202 "term : scalar '[' expr ']'",
1203 "term : term ARROW '[' expr ']'",
1204 "term : term '[' expr ']'",
1208 "term : scalar '{' expr ';' '}'",
1209 "term : term ARROW '{' expr ';' '}'",
1210 "term : term '{' expr ';' '}'",
1211 "term : '(' expr ')' '[' expr ']'",
1212 "term : '(' ')' '[' expr ']'",
1213 "term : ary '[' expr ']'",
1214 "term : ary '{' expr ';' '}'",
1217 "term : amper '(' ')'",
1218 "term : amper '(' expr ')'",
1219 "term : NOAMP WORD listexpr",
1222 "term : DO WORD '(' ')'",
1223 "term : DO WORD '(' expr ')'",
1224 "term : DO scalar '(' ')'",
1225 "term : DO scalar '(' expr ')'",
1227 "term : LOOPEX term",
1229 "term : UNIOP block",
1230 "term : UNIOP term",
1231 "term : UNIOPSUB term",
1233 "term : FUNC0 '(' ')'",
1235 "term : FUNC1 '(' ')'",
1236 "term : FUNC1 '(' expr ')'",
1237 "term : PMFUNC '(' term ')'",
1238 "term : PMFUNC '(' term ',' term ')'",
1242 "listexpr : argexpr",
1244 "listexprcom : expr",
1245 "listexprcom : expr ','",
1246 "amper : '&' indirob",
1247 "scalar : '$' indirob",
1248 "ary : '@' indirob",
1249 "hsh : '%' indirob",
1250 "arylen : DOLSHARP indirob",
1251 "star : '*' indirob",
1255 "indirob : PRIVATEREF",
1258 #define yyclearin (yychar=(-1))
1259 #define yyerrok (yyerrflag=0)
1262 #define YYMAXDEPTH YYSTACKSIZE
1266 #define YYSTACKSIZE YYMAXDEPTH
1268 #define YYSTACKSIZE 500
1269 #define YYMAXDEPTH 500
1280 #line 1351 "y.tab.c"
1281 #define YYABORT goto yyabort
1282 #define YYACCEPT goto yyaccept
1283 #define YYERROR goto yyerrlab
1300 struct ysv* ysave = (struct ysv*)ptr;
1301 if (ysave->yyss) Safefree(ysave->yyss);
1302 if (ysave->yyvs) Safefree(ysave->yyvs);
1303 yydebug = ysave->oldyydebug;
1304 yynerrs = ysave->oldyynerrs;
1305 yyerrflag = ysave->oldyyerrflag;
1306 yychar = ysave->oldyychar;
1307 yyval = ysave->oldyyval;
1308 yylval = ysave->oldyylval;
1315 register int yym, yyn, yystate;
1316 register short *yyssp;
1317 register YYSTYPE *yyvsp;
1320 unsigned yystacksize = YYSTACKSIZE;
1324 extern char *getenv();
1327 struct ysv *ysave = (struct ysv*)safemalloc(sizeof(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 ysave->yyss = yyss = (short*)safemalloc(yystacksize*sizeof(short));
1353 ysave->yyvs = yyvs = (YYSTYPE*)safemalloc(yystacksize*sizeof(YYSTYPE));
1359 *yyssp = yystate = 0;
1362 if (yyn = yydefred[yystate]) goto yyreduce;
1365 if ((yychar = yylex()) < 0) yychar = 0;
1370 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1371 if (!yys) yys = "illegal-symbol";
1372 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate,
1377 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1378 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1382 fprintf(stderr, "yydebug: state %d, shifting to state %d\n",
1383 yystate, yytable[yyn]);
1385 if (yyssp >= yyss + yystacksize - 1)
1388 ** reallocate and recover. Note that pointers
1389 ** have to be reset, or bad things will happen
1391 int yyps_index = (yyssp - yyss);
1392 int yypv_index = (yyvsp - yyvs);
1393 yystacksize += YYSTACKSIZE;
1394 ysave->yyvs = yyvs =
1395 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1396 ysave->yyss = yyss =
1397 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1400 yyssp = yyss + yyps_index;
1401 yyvsp = yyvs + yypv_index;
1403 *++yyssp = yystate = yytable[yyn];
1406 if (yyerrflag > 0) --yyerrflag;
1409 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1410 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1415 if (yyerrflag) goto yyinrecovery;
1420 yyerror("syntax error");
1432 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1433 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1438 "yydebug: state %d, error recovery shifting to state %d\n",
1439 *yyssp, yytable[yyn]);
1441 if (yyssp >= yyss + yystacksize - 1)
1444 ** reallocate and recover. Note that pointers
1445 ** have to be reset, or bad things will happen
1447 int yyps_index = (yyssp - yyss);
1448 int yypv_index = (yyvsp - yyvs);
1449 yystacksize += YYSTACKSIZE;
1450 ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
1451 yystacksize * sizeof(YYSTYPE));
1452 ysave->yyss = yyss = (short*)realloc((char*)yyss,
1453 yystacksize * sizeof(short));
1456 yyssp = yyss + yyps_index;
1457 yyvsp = yyvs + yypv_index;
1459 *++yyssp = yystate = yytable[yyn];
1468 "yydebug: error recovery discarding state %d\n",
1471 if (yyssp <= yyss) goto yyabort;
1479 if (yychar == 0) goto yyabort;
1484 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1485 if (!yys) yys = "illegal-symbol";
1487 "yydebug: state %d, error recovery discards token %d (%s)\n",
1488 yystate, yychar, yys);
1497 fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n",
1498 yystate, yyn, yyrule[yyn]);
1501 yyval = yyvsp[1-yym];
1507 #if defined(YYDEBUG) && defined(DEBUGGING)
1508 yydebug = (debug & 1);
1515 { newPROG(yyvsp[0].opval); }
1519 { yyval.opval = block_end(yyvsp[-3].ival,yyvsp[-2].ival,yyvsp[-1].opval); }
1523 { yyval.ival = block_start(); }
1527 { yyval.opval = Nullop; }
1531 { yyval.opval = yyvsp[-1].opval; }
1535 { yyval.opval = append_list(OP_LINESEQ,
1536 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1537 pad_reset_pending = TRUE;
1538 if (yyvsp[-1].opval && yyvsp[0].opval) hints |= HINT_BLOCK_SCOPE; }
1542 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1546 { if (yyvsp[-1].pval != Nullch) {
1547 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1550 yyval.opval = Nullop;
1557 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1562 { yyval.opval = Nullop; }
1566 { yyval.opval = yyvsp[0].opval; }
1570 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1574 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1578 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1582 { yyval.opval = newLOOPOP(OPf_PARENS, 1, invert(scalar(yyvsp[0].opval)), yyvsp[-2].opval);}
1586 { yyval.opval = Nullop; }
1590 { yyval.opval = scope(yyvsp[0].opval); }
1594 { copline = yyvsp[-5].ival;
1595 yyval.opval = newSTATEOP(0, 0,
1596 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1597 hints |= HINT_BLOCK_SCOPE; }
1601 { copline = yyvsp[-5].ival;
1602 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1606 { copline = yyvsp[-5].ival;
1607 yyval.opval = newCONDOP(0,
1608 invert(scalar(yyvsp[-3].opval)), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1612 { copline = yyvsp[-3].ival;
1613 deprecate("if BLOCK BLOCK");
1614 yyval.opval = newCONDOP(0, scope(yyvsp[-2].opval), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1618 { copline = yyvsp[-3].ival;
1619 deprecate("unless BLOCK BLOCK");
1620 yyval.opval = newCONDOP(0, invert(scalar(scope(yyvsp[-2].opval))),
1621 scope(yyvsp[-1].opval), yyvsp[0].opval); }
1625 { yyval.opval = Nullop; }
1629 { yyval.opval = scope(yyvsp[0].opval); }
1633 { copline = yyvsp[-5].ival;
1634 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
1635 newWHILEOP(0, 1, (LOOP*)Nullop,
1636 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval) ); }
1640 { copline = yyvsp[-5].ival;
1641 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
1642 newWHILEOP(0, 1, (LOOP*)Nullop,
1643 invert(scalar(yyvsp[-3].opval)), yyvsp[-1].opval, yyvsp[0].opval) ); }
1647 { copline = yyvsp[-3].ival;
1648 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
1649 newWHILEOP(0, 1, (LOOP*)Nullop,
1650 scope(yyvsp[-2].opval), yyvsp[-1].opval, yyvsp[0].opval) ); }
1654 { copline = yyvsp[-3].ival;
1655 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
1656 newWHILEOP(0, 1, (LOOP*)Nullop,
1657 invert(scalar(scope(yyvsp[-2].opval))), yyvsp[-1].opval, yyvsp[0].opval)); }
1661 { yyval.opval = newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, mod(yyvsp[-5].opval, OP_ENTERLOOP),
1662 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1666 { yyval.opval = newFOROP(0, yyvsp[-6].pval, yyvsp[-5].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1670 { copline = yyvsp[-8].ival;
1671 yyval.opval = append_elem(OP_LINESEQ,
1672 newSTATEOP(0, yyvsp[-9].pval, scalar(yyvsp[-6].opval)),
1673 newSTATEOP(0, yyvsp[-9].pval,
1674 newWHILEOP(0, 1, (LOOP*)Nullop,
1675 scalar(yyvsp[-4].opval), yyvsp[0].opval, scalar(yyvsp[-2].opval)) )); }
1679 { yyval.opval = newSTATEOP(0,
1680 yyvsp[-2].pval, newWHILEOP(0, 1, (LOOP*)Nullop,
1681 Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1685 { yyval.opval = Nullop; }
1689 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1693 { yyval.pval = Nullch; }
1713 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1717 { newFORM(yyvsp[-1].ival, Nullop, yyvsp[0].opval); }
1721 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1725 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, Nullop); expect = XSTATE; }
1729 { yyval.opval = Nullop; }
1733 { yyval.ival = start_subparse(); }
1737 { package(yyvsp[-1].opval); }
1741 { package(Nullop); }
1745 { utilize(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval); }
1749 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1753 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1757 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1761 { yyval.opval = yyvsp[-1].opval; }
1765 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1769 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1770 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1774 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1775 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1779 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1780 append_elem(OP_LIST,
1781 prepend_elem(OP_LIST, yyvsp[-5].opval, yyvsp[-1].opval),
1782 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1786 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1787 append_elem(OP_LIST,
1788 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1789 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1793 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1794 append_elem(OP_LIST,
1795 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1796 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1800 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1804 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1808 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1809 append_elem(OP_LIST,
1810 prepend_elem(OP_LIST, newANONSUB(yyvsp[-2].ival, 0, yyvsp[-1].opval), yyvsp[0].opval),
1811 yyvsp[-3].opval)); }
1815 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1819 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1823 { if (yyvsp[-1].ival != OP_REPEAT)
1824 scalar(yyvsp[-2].opval);
1825 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1829 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1833 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1837 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1841 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1845 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1849 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1853 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1857 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1861 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1865 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1869 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1873 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1877 { yyval.opval = yyvsp[0].opval; }
1881 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1885 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1889 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1893 { yyval.opval = newUNOP(OP_POSTINC, 0,
1894 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1898 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1899 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1903 { yyval.opval = newUNOP(OP_PREINC, 0,
1904 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1908 { yyval.opval = newUNOP(OP_PREDEC, 0,
1909 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1913 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1917 { yyval.opval = sawparens(yyvsp[-1].opval); }
1921 { yyval.opval = sawparens(newNULLLIST()); }
1925 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
1929 { yyval.opval = newANONLIST(Nullop); }
1933 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
1937 { yyval.opval = newANONHASH(Nullop); }
1941 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1945 { yyval.opval = yyvsp[0].opval; }
1949 { yyval.opval = yyvsp[0].opval; }
1953 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
1957 { yyval.opval = newBINOP(OP_AELEM, 0,
1958 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
1959 scalar(yyvsp[-1].opval));}
1963 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
1964 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
1965 scalar(yyvsp[-1].opval));}
1969 { yyval.opval = yyvsp[0].opval; }
1973 { yyval.opval = yyvsp[0].opval; }
1977 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
1981 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
1982 expect = XOPERATOR; }
1986 { yyval.opval = newBINOP(OP_HELEM, 0,
1987 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
1988 jmaybe(yyvsp[-2].opval));
1989 expect = XOPERATOR; }
1993 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
1994 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
1995 jmaybe(yyvsp[-2].opval));
1996 expect = XOPERATOR; }
2000 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2004 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2008 { yyval.opval = prepend_elem(OP_ASLICE,
2009 newOP(OP_PUSHMARK, 0),
2010 newLISTOP(OP_ASLICE, 0,
2011 list(yyvsp[-1].opval),
2012 ref(yyvsp[-3].opval, OP_ASLICE))); }
2016 { yyval.opval = prepend_elem(OP_HSLICE,
2017 newOP(OP_PUSHMARK, 0),
2018 newLISTOP(OP_HSLICE, 0,
2019 list(yyvsp[-2].opval),
2020 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2021 expect = XOPERATOR; }
2025 { yyval.opval = yyvsp[0].opval; }
2029 { yyval.opval = newUNOP(OP_ENTERSUB, 0,
2030 scalar(yyvsp[0].opval)); }
2034 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2038 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2039 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2043 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2044 append_elem(OP_LIST,
2045 yyvsp[0].opval, newCVREF(scalar(yyvsp[-1].opval)))); }
2049 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2053 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2057 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2058 prepend_elem(OP_LIST,
2059 scalar(newCVREF(scalar(yyvsp[-2].opval))), Nullop)); dep();}
2063 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2064 append_elem(OP_LIST,
2066 scalar(newCVREF(scalar(yyvsp[-3].opval))))); dep();}
2070 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2071 prepend_elem(OP_LIST,
2072 scalar(newCVREF(scalar(yyvsp[-2].opval))), Nullop)); dep();}
2076 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2077 prepend_elem(OP_LIST,
2079 scalar(newCVREF(scalar(yyvsp[-3].opval))))); dep();}
2083 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2084 hints |= HINT_BLOCK_SCOPE; }
2088 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2092 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2096 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2100 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2104 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2105 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2109 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2113 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2117 { yyval.opval = newUNOP(OP_ENTERSUB, 0,
2118 scalar(yyvsp[0].opval)); }
2122 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2126 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2130 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2134 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2138 { yyval.opval = Nullop; }
2142 { yyval.opval = yyvsp[0].opval; }
2146 { yyval.opval = Nullop; }
2150 { yyval.opval = yyvsp[0].opval; }
2154 { yyval.opval = yyvsp[-1].opval; }
2158 { yyval.opval = newCVREF(yyvsp[0].opval); }
2162 { yyval.opval = newSVREF(yyvsp[0].opval); }
2166 { yyval.opval = newAVREF(yyvsp[0].opval); }
2170 { yyval.opval = newHVREF(yyvsp[0].opval); }
2174 { yyval.opval = newAVREF(yyvsp[0].opval); }
2178 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2182 { yyval.opval = scalar(yyvsp[0].opval); }
2186 { yyval.opval = scalar(yyvsp[0].opval); }
2190 { yyval.opval = scope(yyvsp[0].opval); }
2194 { yyval.opval = yyvsp[0].opval; }
2196 #line 2183 "y.tab.c"
2202 if (yystate == 0 && yym == 0)
2207 "yydebug: after reduction, shifting from state 0 to state %d\n",
2215 if ((yychar = yylex()) < 0) yychar = 0;
2220 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2221 if (!yys) yys = "illegal-symbol";
2222 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n",
2223 YYFINAL, yychar, yys);
2227 if (yychar == 0) goto yyaccept;
2230 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2231 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2232 yystate = yytable[yyn];
2234 yystate = yydgoto[yym];
2238 "yydebug: after reduction, shifting from state %d to state %d\n",
2241 if (yyssp >= yyss + yystacksize - 1)
2244 ** reallocate and recover. Note that pointers
2245 ** have to be reset, or bad things will happen
2247 int yyps_index = (yyssp - yyss);
2248 int yypv_index = (yyvsp - yyvs);
2249 yystacksize += YYSTACKSIZE;
2250 ysave->yyvs = yyvs =
2251 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2252 ysave->yyss = yyss =
2253 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2256 yyssp = yyss + yyps_index;
2257 yyvsp = yyvs + yypv_index;
2263 yyerror("Out of memory for yacc stack");