1 /* Postprocessed by vms_yfix.pl 1.11 to add VMS declarations of globals */
3 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
10 #define yydebug PL_yydebug
11 #define yynerrs PL_yynerrs
12 #define yyerrflag PL_yyerrflag
13 #define yychar PL_yychar
14 #define yyval PL_yyval
15 #define yylval PL_yylval
21 pPerl->deprecate("\"do\" to call subroutines");
23 #define dep() Dep(this)
28 deprecate("\"do\" to call subroutines");
34 static short yylhs[] = { -1,
35 45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
36 12, 12, 12, 24, 24, 24, 24, 24, 24, 24,
37 15, 15, 15, 14, 14, 42, 42, 13, 13, 13,
38 13, 13, 13, 13, 26, 26, 27, 27, 28, 29,
39 30, 31, 32, 44, 44, 1, 1, 1, 1, 3,
40 38, 38, 46, 4, 5, 6, 39, 40, 40, 41,
41 41, 47, 47, 49, 48, 16, 16, 16, 25, 25,
42 25, 36, 36, 36, 36, 36, 36, 36, 36, 50,
43 36, 37, 37, 17, 17, 17, 17, 17, 17, 17,
44 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
45 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
46 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
47 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
48 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
49 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
50 17, 17, 17, 17, 17, 17, 17, 17, 17, 33,
51 33, 34, 34, 34, 2, 2, 43, 23, 18, 19,
52 20, 21, 22, 35, 35, 35, 35,
54 static short yylen[] = { 2,
55 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
56 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
57 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
58 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
59 1, 1, 1, 0, 1, 1, 1, 1, 1, 4,
60 1, 0, 5, 0, 0, 0, 1, 0, 1, 1,
61 1, 3, 2, 0, 7, 3, 3, 1, 2, 3,
62 1, 3, 5, 6, 3, 3, 5, 2, 4, 0,
63 5, 1, 1, 3, 3, 3, 3, 3, 3, 3,
64 3, 3, 3, 3, 3, 5, 3, 2, 2, 2,
65 2, 2, 2, 2, 2, 2, 2, 3, 2, 3,
66 2, 4, 3, 4, 1, 5, 1, 4, 5, 4,
67 1, 1, 1, 5, 6, 5, 6, 5, 4, 5,
68 1, 1, 3, 4, 3, 2, 2, 4, 5, 4,
69 5, 4, 5, 1, 2, 2, 1, 2, 2, 2,
70 1, 3, 1, 3, 4, 4, 6, 1, 1, 0,
71 1, 0, 1, 2, 1, 1, 1, 2, 2, 2,
74 static short yydefred[] = { 1,
75 0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
76 9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
77 64, 14, 4, 158, 0, 0, 131, 0, 153, 0,
78 55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
79 0, 0, 0, 0, 0, 0, 0, 165, 166, 0,
80 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
81 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
82 0, 0, 121, 123, 0, 0, 0, 0, 159, 51,
83 0, 57, 0, 62, 0, 7, 174, 177, 176, 175,
84 0, 0, 0, 0, 0, 0, 4, 4, 4, 4,
85 4, 4, 0, 0, 0, 0, 0, 148, 0, 0,
86 0, 0, 78, 0, 172, 0, 137, 0, 0, 0,
87 0, 0, 168, 0, 0, 0, 0, 0, 0, 0,
88 0, 0, 0, 111, 0, 169, 170, 171, 173, 0,
89 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
90 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
91 0, 0, 0, 0, 103, 104, 0, 0, 0, 0,
92 0, 0, 0, 0, 13, 0, 50, 59, 0, 0,
93 0, 76, 0, 0, 80, 0, 0, 0, 0, 0,
94 0, 0, 4, 152, 154, 0, 0, 0, 0, 0,
95 0, 0, 113, 0, 135, 0, 0, 110, 27, 0,
96 0, 19, 0, 0, 0, 0, 66, 0, 0, 0,
97 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
98 0, 0, 0, 82, 0, 0, 83, 0, 0, 0,
99 0, 0, 0, 0, 133, 0, 0, 61, 60, 53,
100 0, 3, 0, 156, 0, 0, 114, 0, 42, 0,
101 43, 0, 0, 0, 0, 167, 0, 0, 36, 41,
102 0, 0, 0, 155, 164, 79, 0, 138, 0, 140,
103 0, 112, 0, 0, 0, 0, 0, 142, 0, 0,
104 0, 120, 0, 118, 0, 129, 0, 134, 0, 77,
105 0, 81, 0, 0, 0, 0, 0, 0, 0, 0,
106 73, 139, 141, 128, 0, 126, 0, 0, 143, 119,
107 0, 124, 130, 116, 65, 157, 6, 0, 0, 0,
108 0, 0, 0, 0, 0, 127, 125, 74, 7, 28,
109 29, 0, 0, 24, 25, 0, 32, 0, 0, 0,
110 22, 0, 0, 0, 31, 5, 0, 30, 0, 0,
113 static short yydgoto[] = { 1,
114 9, 66, 10, 18, 95, 17, 86, 339, 89, 328,
115 3, 11, 12, 68, 344, 263, 70, 71, 72, 73,
116 74, 75, 76, 269, 78, 270, 259, 261, 264, 272,
117 260, 262, 113, 198, 91, 79, 238, 81, 83, 179,
118 250, 142, 267, 13, 2, 14, 15, 16, 85, 256,
120 short short yysindex[] = { 0,
121 0, 0, -66, 0, 0, 0, -48, 0, 0, 0,
122 0, 0, 645, 0, 0, 0, -232, -227, -27, 0,
123 0, 0, 0, 0, -23, -23, 0, -6, 0, 2099,
124 0, 0, 13, 20, 24, 25, -34, 2099, 27, 28,
125 29, 1021, 965, -23, 1084, 1348, -217, 0, 0, -23,
126 2099, 2099, 2099, 2099, 2099, 2099, 1404, 0, 2099, 2099,
127 1460, -23, -23, -23, -23, 2099, -206, 0, 335, 3925,
128 -73, -68, 0, 0, -47, 40, 32, 61, 0, 0,
129 -39, 0, -157, 0, -145, 0, 0, 0, 0, 0,
130 2099, 73, 2099, 825, -39, -157, 0, 0, 0, 0,
131 0, 0, 75, 3925, 78, 1519, 965, 0, 825, 0,
132 -73, 61, 0, 2099, 0, 77, 0, 825, -16, -9,
133 -51, 2099, 0, 61, 87, 87, 87, -86, -86, 33,
134 -40, 87, 87, 0, -81, 0, 0, 0, 0, 825,
135 -39, 0, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
136 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
137 2099, 2099, 2099, 2099, 0, 0, 30, 2099, 2099, 2099,
138 2099, 2099, 2099, 1694, 0, 2099, 0, 0, -49, -118,
139 189, 0, 2099, 353, 0, -39, 2099, 2099, 2099, 2099,
140 104, 1753, 0, 0, 0, -24, 8, 85, 2099, 61,
141 1809, 1865, 0, 23, 0, 2099, 54, 0, 0, -269,
142 -269, 0, -269, -269, -269, -151, 0, -43, 1121, 825,
143 673, 50, 363, 3925, 1233, 3757, 4023, 2308, 266, -82,
144 87, 87, 2099, 0, 1928, 2099, 0, 111, 51, 12,
145 76, 14, 90, 39, 0, -22, 3925, 0, 0, 0,
146 2099, 0, 121, 0, 2099, 2099, 0, -269, 0, 124,
147 0, 125, -269, 126, 130, 0, 112, 335, 0, 0,
148 131, 136, 2099, 0, 0, 0, -14, 0, 1, 0,
149 4, 0, 133, 2099, 55, 2099, 49, 0, 6, 197,
150 2099, 0, 89, 0, 94, 0, 100, 0, 144, 0,
151 1175, 0, 92, 92, 92, 92, 2099, 92, 2099, 171,
152 0, 0, 0, 0, 202, 0, 3963, 108, 0, 0,
153 188, 0, 0, 0, 0, 0, 0, -206, -206, -238,
154 -238, 199, -206, 211, 92, 0, 0, 0, 0, 0,
155 0, 92, 241, 0, 0, 92, 0, 1753, -206, 326,
156 0, 2099, -206, 256, 0, 0, 259, 0, 92, 92,
159 static short yyrindex[] = { 0,
160 0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
161 0, 0, 0, 0, 0, 0, 184, 0, 0, 0,
162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
163 0, 0, 0, 0, 0, 0, 0, 2273, 426, 0,
164 0, 2909, 2959, 0, 0, 0, 0, 0, 0, 0,
165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
166 0, 0, 0, 0, 0, 0, 59, 0, -10, 2776,
167 3024, 3069, 0, 0, 2376, 2140, 0, 200, 0, 0,
168 0, 0, -44, 0, 0, 0, 0, 0, 0, 0,
169 2421, 0, 0, 105, 0, 198, 0, 0, 0, 0,
170 0, 0, 0, 3183, 0, 0, 319, 0, 3681, 525,
171 586, 2509, 0, 0, 0, 2185, 0, 3731, 3024, 0,
172 0, 2421, 0, 2552, 3195, 3260, 3305, -37, 3112, 2657,
173 0, 3348, 3384, 0, 0, 0, 0, 0, 0, 3777,
174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
177 0, 0, 0, 0, 0, 2707, 0, 0, 0, 0,
178 909, 0, 319, 0, 0, 0, 320, 0, 0, 0,
179 0, 306, 0, 0, 0, 0, 325, 0, 0, 2788,
180 0, 0, 0, 0, 0, 0, 2833, 0, 0, -5,
181 22, 0, 68, 69, 70, 702, 0, 0, 2464, 1296,
182 1560, 3541, 3584, 3868, 0, 3856, 3820, 3810, 1616, 3620,
183 3431, 3479, 0, 0, 0, 0, 0, 2228, 0, 0,
184 0, 0, 0, 0, 0, 0, 3899, 0, 0, 0,
185 309, 0, 0, 0, 0, 2421, 0, 79, 0, 0,
186 0, 0, 330, 0, 0, 0, 0, 84, 0, 0,
187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
189 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
190 0, 0, 0, 0, 0, 0, 0, 0, 317, 0,
191 0, 0, 0, 0, 0, 0, 1982, 0, 0, 0,
192 0, 0, 0, 0, 0, 0, 0, 59, 59, 154,
193 154, 0, 59, 0, 0, 0, 0, 0, 0, 0,
194 0, 0, 0, 0, 0, 0, 0, 340, 59, 909,
195 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
198 static short yygindex[] = { 0,
199 0, 0, 0, 374, 351, 0, -12, 0, 946, 413,
200 -83, 0, 0, 0, -311, -13, 4139, 4198, 0, 0,
201 0, 0, 0, 372, -8, 0, 0, 246, -131, 43,
202 86, 208, -45, -169, 987, 0, 0, 0, 0, 308,
203 0, -271, 0, 0, 0, 0, 0, 0, 0, 0,
205 #define YYTABLESIZE 4425
206 static short yytable[] = { 69,
207 207, 62, 181, 105, 168, 102, 105, 204, 168, 248,
208 20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
209 105, 105, 172, 202, 80, 105, 311, 148, 149, 82,
210 15, 84, 121, 93, 112, 18, 150, 342, 343, 122,
211 150, 312, 124, 131, 313, 182, 319, 135, 15, 169,
212 363, 275, 97, 18, 171, 105, 340, 341, 26, 98,
213 271, 347, 39, 99, 100, 62, 105, 106, 107, 235,
214 293, 141, 295, 23, 170, 173, 205, 355, 58, 174,
215 39, 358, 112, 23, 187, 188, 189, 190, 191, 192,
216 175, 26, 196, 197, 26, 26, 26, 297, 26, 23,
217 26, 26, 178, 26, 176, 200, 169, 318, 16, 17,
218 20, 180, 183, 112, 193, 203, 201, 26, 194, 38,
219 236, 321, 26, 206, 40, 276, 16, 17, 20, 210,
220 211, 213, 214, 215, 216, 217, 218, 38, 251, 62,
221 168, 310, 15, 292, 284, 150, 149, 282, 150, 26,
222 291, 307, 233, 21, 239, 240, 241, 242, 243, 244,
223 246, 300, 150, 150, 303, 304, 305, 150, 294, 197,
224 306, 308, 150, 258, 211, 332, 211, 168, 268, 316,
225 273, 26, 296, 26, 26, 277, 21, 279, 281, 21,
226 21, 21, 283, 21, 309, 21, 21, 150, 21, 4,
227 5, 6, 325, 7, 8, 299, 154, 155, 19, 150,
228 302, 335, 21, 322, 327, 148, 149, 21, 323, 287,
229 357, 289, 290, 163, 324, 314, 164, 167, 338, 165,
230 166, 167, 337, 87, 105, 105, 105, 105, 88, 346,
231 68, 105, 112, 105, 21, 148, 149, 112, 2, 105,
232 105, 105, 105, 148, 149, 350, 148, 149, 68, 105,
233 105, 101, 105, 105, 105, 105, 105, 105, 105, 348,
234 315, 105, 148, 149, 148, 149, 21, 197, 21, 21,
235 352, 44, 148, 149, 44, 44, 44, 234, 44, 320,
236 44, 44, 68, 44, 336, 258, 359, 148, 149, 360,
237 148, 149, 148, 149, 148, 149, 52, 44, 148, 149,
238 148, 149, 44, 252, 26, 26, 26, 26, 26, 26,
239 58, 26, 26, 26, 26, 26, 26, 26, 26, 26,
240 26, 26, 26, 26, 69, 148, 149, 26, 26, 44,
241 26, 26, 26, 26, 26, 148, 149, 148, 149, 26,
242 26, 26, 26, 26, 26, 163, 168, 26, 164, 162,
243 37, 165, 166, 167, 35, 163, 26, 160, 26, 26,
244 40, 44, 148, 149, 44, 37, 150, 150, 150, 150,
245 35, 21, 96, 150, 77, 150, 148, 149, 150, 212,
246 354, 150, 150, 254, 334, 164, 255, 265, 165, 166,
247 167, 150, 150, 186, 150, 150, 150, 150, 150, 21,
248 21, 21, 21, 21, 21, 157, 21, 21, 21, 21,
249 21, 21, 21, 21, 21, 21, 21, 21, 21, 148,
250 149, 0, 21, 21, 0, 21, 21, 21, 21, 21,
251 0, 0, 0, 168, 21, 21, 21, 21, 21, 21,
252 356, 0, 21, 168, 4, 5, 6, 0, 7, 8,
253 0, 21, 0, 21, 21, 0, 151, 0, 0, 151,
254 0, 68, 68, 68, 68, 150, 0, 0, 68, 0,
255 0, 0, 0, 151, 151, 150, 0, 0, 151, 0,
256 0, 0, 0, 148, 149, 0, 68, 68, 148, 149,
257 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
258 0, 44, 44, 44, 0, 0, 151, 44, 151, 0,
259 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
260 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
261 44, 44, 44, 44, 44, 0, 0, 44, 151, 0,
262 0, 0, 152, 153, 154, 155, 44, 174, 44, 44,
263 174, 174, 174, 0, 174, 158, 174, 174, 158, 174,
264 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
265 0, 0, 158, 158, 0, 0, 0, 158, 174, 0,
266 0, 4, 5, 6, 0, 7, 8, 0, 0, 0,
267 0, 0, 0, 0, 0, 0, 143, 144, 145, 146,
268 0, 0, 0, 147, 0, 158, 0, 158, 175, 0,
269 0, 175, 175, 175, 0, 175, 115, 175, 175, 115,
270 175, 148, 149, 151, 0, 0, 0, 0, 0, 152,
271 153, 154, 155, 115, 115, 0, 0, 158, 115, 175,
272 174, 154, 156, 158, 159, 160, 161, 162, 163, 0,
273 0, 164, 0, 0, 165, 166, 167, 0, 163, 0,
274 0, 164, 0, 0, 165, 166, 167, 52, 115, 0,
275 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
276 0, 0, 0, 0, 0, 0, 0, 151, 151, 151,
277 151, 0, 0, 58, 151, 0, 151, 0, 63, 0,
278 0, 175, 151, 151, 151, 151, 329, 330, 331, 0,
279 333, 0, 151, 151, 0, 151, 151, 151, 151, 151,
280 151, 151, 0, 0, 151, 61, 0, 151, 151, 151,
281 0, 0, 67, 0, 0, 67, 0, 349, 0, 0,
282 0, 0, 0, 0, 351, 0, 0, 0, 353, 0,
283 67, 0, 0, 168, 0, 0, 0, 23, 0, 0,
284 53, 361, 362, 0, 0, 0, 0, 0, 0, 0,
285 0, 174, 174, 174, 174, 174, 0, 174, 174, 174,
286 0, 0, 0, 174, 67, 150, 158, 158, 158, 158,
287 0, 0, 0, 158, 174, 158, 174, 174, 174, 174,
288 174, 158, 158, 158, 158, 174, 174, 174, 174, 174,
289 174, 158, 158, 174, 158, 158, 158, 158, 158, 158,
290 158, 0, 174, 158, 174, 174, 158, 158, 158, 0,
291 0, 0, 175, 175, 175, 175, 175, 0, 175, 175,
292 175, 0, 0, 0, 175, 0, 0, 115, 115, 115,
293 115, 0, 0, 0, 115, 175, 115, 175, 175, 175,
294 175, 175, 115, 115, 115, 115, 175, 175, 175, 175,
295 175, 175, 115, 115, 175, 115, 115, 115, 115, 115,
296 115, 115, 0, 175, 115, 175, 175, 115, 115, 115,
297 22, 24, 25, 26, 27, 28, 0, 29, 30, 31,
298 0, 0, 0, 32, 0, 168, 33, 34, 35, 36,
299 0, 0, 0, 37, 38, 0, 39, 40, 41, 42,
300 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
301 49, 44, 0, 51, 44, 44, 44, 150, 44, 0,
302 44, 44, 54, 44, 55, 56, 0, 0, 67, 152,
303 0, 154, 155, 0, 0, 0, 0, 44, 0, 0,
304 0, 0, 44, 67, 67, 67, 67, 162, 163, 0,
305 67, 164, 0, 0, 165, 166, 167, 108, 0, 0,
306 117, 0, 0, 0, 0, 0, 0, 52, 67, 44,
307 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
308 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
309 0, 0, 0, 0, 0, 0, 177, 0, 63, 114,
310 115, 44, 0, 0, 44, 0, 123, 0, 0, 0,
311 185, 0, 0, 0, 0, 0, 0, 0, 136, 137,
312 138, 139, 0, 52, 0, 61, 62, 64, 50, 0,
313 57, 0, 65, 60, 0, 59, 0, 0, 0, 0,
314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
315 0, 0, 0, 0, 63, 0, 209, 23, 0, 0,
316 53, 0, 0, 199, 0, 0, 0, 0, 0, 0,
317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
318 0, 61, 0, 154, 155, 0, 52, 0, 0, 62,
319 64, 50, 0, 57, 249, 65, 60, 0, 59, 162,
320 163, 257, 0, 164, 0, 0, 165, 166, 167, 0,
321 0, 0, 0, 23, 0, 0, 53, 63, 0, 0,
322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
323 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
324 0, 44, 44, 44, 61, 0, 0, 44, 0, 0,
325 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
326 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
327 44, 44, 44, 44, 44, 0, 23, 44, 0, 53,
328 0, 168, 0, 0, 0, 326, 44, 0, 44, 44,
329 0, 110, 25, 26, 27, 28, 88, 29, 30, 31,
330 0, 0, 0, 32, 0, 0, 0, 157, 0, 0,
331 0, 0, 0, 150, 38, 0, 39, 40, 41, 42,
332 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
333 49, 0, 0, 51, 0, 168, 0, 0, 0, 0,
334 0, 0, 54, 0, 55, 56, 0, 24, 25, 26,
335 27, 28, 0, 29, 30, 31, 0, 0, 0, 32,
336 286, 0, 0, 0, 0, 157, 0, 150, 0, 0,
337 38, 0, 39, 40, 41, 42, 43, 0, 0, 0,
338 0, 44, 45, 46, 47, 48, 49, 0, 0, 51,
339 0, 0, 0, 168, 0, 0, 0, 0, 54, 0,
340 55, 56, 0, 0, 0, 0, 89, 0, 0, 89,
341 116, 25, 26, 27, 28, 0, 29, 30, 31, 0,
342 0, 0, 32, 89, 89, 150, 0, 0, 89, 0,
343 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
344 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
345 52, 0, 51, 62, 64, 50, 0, 57, 89, 65,
346 60, 54, 59, 55, 56, 0, 0, 0, 0, 0,
347 0, 0, 0, 0, 0, 0, 120, 152, 153, 154,
348 155, 63, 0, 0, 0, 0, 0, 0, 0, 0,
349 0, 158, 159, 160, 161, 162, 163, 0, 0, 164,
350 0, 0, 165, 166, 167, 0, 52, 0, 61, 62,
351 64, 50, 0, 57, 130, 65, 60, 0, 59, 0,
352 0, 0, 0, 0, 0, 151, 0, 0, 0, 0,
353 0, 152, 153, 154, 155, 0, 0, 63, 0, 0,
354 0, 0, 0, 53, 156, 158, 159, 160, 161, 162,
355 163, 0, 0, 164, 0, 0, 165, 166, 167, 0,
356 0, 0, 52, 0, 61, 62, 64, 50, 0, 57,
357 0, 65, 60, 0, 59, 0, 0, 0, 0, 0,
358 0, 0, 0, 151, 0, 0, 0, 0, 0, 152,
359 153, 154, 155, 63, 0, 0, 0, 0, 0, 53,
360 0, 0, 156, 158, 159, 160, 161, 162, 163, 0,
361 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
362 61, 52, 134, 0, 62, 64, 50, 0, 57, 195,
363 65, 60, 0, 59, 0, 0, 0, 89, 89, 89,
364 89, 0, 0, 0, 89, 0, 89, 0, 0, 0,
365 0, 0, 63, 89, 0, 53, 0, 0, 0, 0,
366 0, 0, 89, 89, 0, 89, 89, 89, 89, 89,
367 90, 0, 0, 90, 24, 25, 26, 27, 28, 61,
368 29, 30, 31, 0, 0, 0, 32, 90, 90, 0,
369 0, 0, 90, 0, 0, 0, 0, 38, 0, 39,
370 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
371 46, 47, 48, 49, 53, 0, 51, 0, 0, 0,
372 0, 0, 90, 0, 0, 54, 91, 55, 56, 91,
373 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
374 0, 0, 32, 91, 91, 0, 0, 0, 91, 0,
375 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
376 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
377 0, 0, 51, 0, 0, 0, 0, 0, 91, 0,
378 0, 54, 0, 55, 56, 0, 24, 25, 26, 27,
379 28, 0, 29, 30, 31, 0, 52, 0, 32, 62,
380 64, 50, 0, 57, 245, 65, 60, 0, 59, 38,
381 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
382 44, 45, 46, 47, 48, 49, 0, 63, 51, 0,
383 0, 0, 0, 0, 0, 0, 0, 54, 0, 55,
384 56, 0, 0, 0, 0, 24, 25, 26, 27, 28,
385 0, 29, 30, 31, 61, 52, 0, 32, 62, 64,
386 50, 0, 57, 0, 65, 60, 0, 59, 38, 0,
387 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
388 45, 46, 47, 48, 49, 0, 63, 51, 0, 53,
389 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
390 0, 90, 90, 90, 90, 0, 0, 0, 90, 0,
391 90, 52, 0, 61, 62, 64, 50, 0, 57, 278,
392 65, 60, 0, 59, 0, 0, 90, 90, 0, 90,
393 90, 90, 90, 90, 0, 0, 0, 0, 0, 0,
394 0, 0, 63, 0, 0, 0, 0, 0, 53, 0,
395 0, 0, 0, 0, 0, 0, 0, 91, 91, 91,
396 91, 0, 0, 0, 91, 0, 91, 52, 0, 61,
397 62, 64, 50, 0, 57, 280, 65, 60, 0, 59,
398 0, 0, 91, 91, 0, 91, 91, 91, 91, 91,
399 0, 0, 0, 0, 0, 0, 0, 0, 63, 0,
400 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
402 24, 25, 26, 27, 28, 61, 29, 30, 31, 0,
403 52, 0, 32, 62, 64, 50, 0, 57, 288, 65,
404 60, 0, 59, 38, 0, 39, 40, 41, 42, 43,
405 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
406 53, 63, 51, 0, 0, 0, 0, 0, 0, 0,
407 0, 54, 0, 55, 56, 0, 0, 0, 22, 24,
408 25, 26, 27, 28, 0, 29, 30, 31, 61, 0,
409 0, 32, 96, 0, 0, 96, 0, 0, 0, 0,
410 0, 0, 38, 0, 39, 40, 41, 42, 43, 96,
411 96, 0, 0, 44, 45, 46, 47, 48, 49, 0,
412 0, 51, 0, 53, 0, 0, 0, 0, 0, 0,
413 54, 0, 55, 56, 0, 24, 25, 26, 27, 28,
414 0, 29, 30, 31, 96, 0, 0, 32, 0, 0,
415 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
416 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
417 45, 46, 47, 48, 49, 0, 0, 51, 0, 0,
418 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
419 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
420 0, 52, 0, 32, 62, 64, 50, 0, 57, 0,
421 65, 60, 0, 59, 38, 0, 39, 40, 41, 42,
422 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
423 49, 0, 63, 51, 0, 0, 0, 0, 0, 0,
424 0, 0, 54, 0, 55, 56, 0, 0, 0, 0,
425 132, 0, 0, 132, 24, 25, 26, 27, 28, 61,
426 29, 30, 31, 0, 0, 0, 32, 132, 132, 0,
427 0, 0, 132, 0, 0, 0, 0, 38, 0, 39,
428 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
429 46, 47, 48, 49, 53, 158, 51, 0, 158, 0,
430 132, 0, 132, 0, 0, 54, 0, 55, 56, 0,
431 0, 0, 158, 158, 0, 0, 0, 158, 0, 0,
432 0, 0, 0, 96, 96, 96, 96, 0, 0, 0,
433 96, 0, 132, 0, 0, 0, 0, 0, 75, 0,
434 0, 75, 0, 0, 0, 158, 0, 158, 96, 96,
435 0, 96, 0, 0, 0, 75, 75, 0, 0, 0,
436 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 0, 0, 0, 0, 0, 0, 158, 0, 0,
438 0, 0, 0, 144, 0, 0, 144, 0, 75, 0,
439 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
440 144, 144, 0, 0, 0, 144, 0, 0, 0, 0,
441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
442 75, 0, 0, 0, 0, 24, 25, 26, 27, 28,
443 0, 29, 30, 31, 0, 144, 0, 32, 0, 0,
444 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
445 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
446 45, 46, 47, 48, 49, 144, 0, 51, 168, 0,
447 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
448 0, 132, 132, 132, 132, 0, 117, 0, 132, 117,
449 132, 0, 0, 0, 0, 0, 132, 132, 132, 132,
450 150, 0, 0, 117, 117, 0, 132, 132, 117, 132,
451 132, 132, 132, 132, 132, 132, 0, 0, 132, 0,
452 0, 132, 132, 132, 0, 0, 158, 158, 158, 158,
453 0, 160, 0, 158, 160, 158, 117, 0, 117, 0,
454 0, 158, 158, 158, 158, 0, 0, 0, 160, 160,
455 0, 158, 158, 160, 158, 158, 158, 158, 158, 158,
456 158, 0, 0, 158, 0, 0, 158, 158, 158, 75,
457 75, 75, 75, 0, 93, 0, 75, 93, 75, 0,
458 0, 0, 0, 160, 75, 75, 75, 75, 0, 0,
459 0, 93, 93, 0, 75, 75, 93, 75, 75, 75,
460 75, 75, 75, 75, 0, 0, 75, 0, 0, 75,
461 75, 75, 0, 160, 144, 144, 144, 144, 0, 161,
462 0, 144, 0, 144, 0, 0, 93, 0, 0, 144,
463 144, 144, 144, 0, 0, 0, 161, 161, 0, 144,
464 144, 161, 144, 144, 144, 144, 144, 144, 144, 0,
465 0, 144, 0, 0, 144, 144, 144, 0, 0, 0,
466 0, 0, 146, 0, 152, 153, 154, 155, 0, 161,
467 0, 161, 0, 0, 0, 0, 0, 0, 0, 146,
468 146, 161, 162, 163, 146, 0, 164, 0, 0, 165,
469 166, 167, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 161, 0, 0, 0, 0, 0, 0, 0, 0,
471 0, 0, 146, 0, 146, 0, 0, 117, 117, 117,
472 117, 0, 0, 0, 117, 0, 117, 0, 0, 0,
473 0, 0, 117, 117, 117, 117, 0, 0, 0, 0,
474 0, 0, 117, 117, 146, 117, 117, 117, 117, 117,
475 117, 117, 0, 0, 117, 0, 0, 117, 117, 117,
476 0, 0, 160, 160, 160, 160, 0, 109, 0, 160,
477 109, 160, 0, 0, 0, 0, 0, 160, 160, 160,
478 160, 0, 0, 0, 109, 109, 0, 160, 160, 109,
479 160, 160, 160, 160, 160, 160, 160, 0, 0, 160,
480 0, 0, 160, 160, 160, 93, 93, 93, 93, 0,
481 0, 0, 93, 0, 0, 0, 0, 69, 0, 109,
482 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
483 93, 93, 0, 93, 69, 69, 0, 0, 0, 69,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 109,
485 161, 161, 161, 161, 0, 0, 0, 161, 0, 161,
486 0, 0, 0, 0, 0, 161, 161, 161, 161, 69,
487 0, 0, 0, 0, 0, 161, 161, 0, 161, 161,
488 161, 161, 161, 161, 161, 0, 71, 161, 0, 71,
489 161, 161, 161, 146, 146, 146, 146, 0, 72, 69,
490 146, 0, 146, 71, 71, 0, 0, 0, 146, 146,
491 146, 146, 0, 0, 0, 72, 72, 0, 146, 146,
492 72, 146, 146, 146, 146, 146, 146, 146, 0, 0,
493 146, 0, 0, 146, 146, 146, 0, 0, 71, 0,
494 0, 0, 0, 108, 0, 0, 108, 0, 72, 0,
495 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
496 108, 108, 0, 0, 0, 108, 0, 0, 0, 0,
497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
498 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
499 0, 0, 0, 0, 0, 108, 0, 0, 109, 109,
500 109, 109, 0, 0, 0, 109, 0, 109, 0, 0,
501 0, 0, 0, 109, 109, 109, 109, 0, 0, 147,
502 0, 0, 147, 109, 109, 108, 109, 109, 109, 109,
503 109, 109, 109, 0, 0, 109, 147, 147, 109, 109,
504 109, 147, 0, 0, 0, 0, 0, 0, 69, 69,
505 69, 69, 0, 0, 0, 69, 0, 69, 0, 0,
506 0, 0, 0, 69, 69, 69, 69, 0, 0, 160,
507 0, 147, 160, 69, 69, 0, 69, 69, 69, 69,
508 69, 69, 69, 0, 0, 69, 160, 160, 69, 69,
509 69, 160, 0, 0, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
511 0, 0, 0, 0, 0, 0, 0, 71, 71, 71,
512 71, 160, 0, 0, 71, 0, 0, 0, 0, 72,
513 72, 72, 72, 0, 115, 0, 72, 115, 72, 0,
514 0, 0, 71, 71, 72, 72, 72, 72, 0, 0,
515 0, 115, 115, 0, 72, 72, 115, 72, 72, 72,
516 72, 72, 72, 72, 0, 0, 72, 0, 0, 72,
517 72, 72, 0, 0, 108, 108, 108, 108, 0, 122,
518 0, 108, 122, 108, 0, 0, 115, 0, 0, 108,
519 108, 108, 108, 0, 0, 0, 122, 122, 0, 108,
520 108, 122, 108, 108, 108, 108, 108, 108, 108, 0,
521 0, 108, 0, 0, 108, 108, 108, 0, 0, 0,
522 0, 0, 106, 0, 0, 106, 0, 0, 0, 0,
523 0, 122, 0, 0, 0, 0, 0, 0, 0, 106,
524 106, 0, 0, 0, 106, 0, 0, 0, 0, 0,
525 147, 147, 147, 147, 0, 0, 0, 147, 0, 147,
526 0, 0, 0, 0, 0, 147, 147, 147, 147, 0,
527 0, 0, 0, 0, 106, 147, 147, 0, 147, 147,
528 147, 147, 147, 147, 147, 0, 0, 147, 0, 0,
529 147, 147, 147, 145, 0, 0, 145, 0, 0, 0,
530 160, 160, 160, 160, 0, 100, 0, 160, 100, 160,
531 145, 145, 0, 0, 0, 160, 160, 160, 160, 0,
532 0, 0, 100, 100, 0, 160, 160, 100, 160, 160,
533 160, 160, 160, 160, 160, 0, 0, 160, 0, 0,
534 160, 160, 160, 0, 0, 145, 0, 0, 0, 0,
535 0, 0, 0, 0, 0, 0, 0, 100, 0, 0,
536 0, 0, 0, 0, 0, 115, 115, 115, 115, 0,
537 101, 0, 115, 101, 115, 0, 0, 0, 0, 0,
538 115, 115, 115, 115, 0, 0, 0, 101, 101, 0,
539 115, 115, 101, 115, 115, 115, 115, 115, 115, 115,
540 0, 0, 115, 0, 0, 115, 115, 115, 0, 0,
541 122, 122, 122, 122, 0, 102, 0, 122, 102, 122,
542 0, 0, 101, 0, 0, 122, 122, 122, 122, 0,
543 0, 0, 102, 102, 0, 122, 122, 102, 122, 122,
544 122, 122, 122, 122, 122, 0, 0, 122, 0, 0,
545 122, 122, 122, 106, 106, 106, 106, 0, 98, 0,
546 106, 98, 106, 0, 0, 0, 0, 102, 106, 106,
547 106, 106, 0, 0, 0, 98, 98, 0, 106, 106,
548 98, 106, 106, 106, 106, 106, 106, 106, 0, 0,
549 106, 0, 0, 0, 99, 0, 0, 99, 0, 0,
550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
551 98, 99, 99, 0, 0, 0, 99, 0, 0, 0,
552 0, 0, 0, 0, 145, 145, 145, 145, 0, 0,
553 0, 145, 0, 0, 0, 0, 100, 100, 100, 100,
554 0, 97, 0, 100, 97, 100, 99, 0, 0, 145,
555 145, 100, 100, 100, 100, 0, 0, 0, 97, 97,
556 0, 100, 100, 97, 100, 100, 100, 100, 100, 100,
557 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
558 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,
559 0, 0, 85, 97, 0, 0, 0, 0, 0, 0,
560 0, 101, 101, 101, 101, 0, 85, 85, 101, 0,
561 101, 85, 0, 0, 0, 0, 101, 101, 101, 101,
562 0, 0, 0, 0, 0, 0, 101, 101, 0, 101,
563 101, 101, 101, 101, 101, 101, 0, 0, 0, 0,
564 0, 85, 0, 0, 0, 0, 102, 102, 102, 102,
565 0, 86, 0, 102, 86, 102, 0, 0, 0, 0,
566 0, 102, 102, 102, 102, 0, 0, 0, 86, 86,
567 0, 102, 102, 86, 102, 102, 102, 102, 102, 102,
568 102, 0, 0, 0, 0, 0, 0, 0, 0, 98,
569 98, 98, 98, 0, 87, 0, 98, 87, 98, 0,
570 0, 0, 0, 86, 98, 98, 98, 98, 0, 0,
571 0, 87, 87, 0, 98, 98, 87, 98, 98, 98,
572 98, 98, 98, 98, 0, 99, 99, 99, 99, 0,
573 88, 0, 99, 88, 99, 0, 0, 0, 0, 0,
574 99, 99, 99, 99, 0, 0, 87, 88, 88, 0,
575 99, 99, 88, 99, 99, 99, 99, 99, 99, 99,
576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
577 0, 0, 97, 97, 97, 97, 0, 0, 0, 97,
578 0, 97, 88, 0, 0, 0, 0, 97, 97, 97,
579 97, 149, 0, 0, 149, 0, 0, 97, 97, 0,
580 97, 97, 97, 97, 97, 97, 97, 0, 149, 149,
581 0, 0, 0, 149, 0, 0, 0, 0, 0, 0,
582 85, 85, 85, 85, 0, 0, 0, 85, 0, 85,
583 0, 0, 0, 0, 0, 85, 85, 85, 85, 0,
584 0, 136, 0, 149, 136, 85, 85, 0, 85, 85,
585 85, 85, 85, 85, 85, 0, 0, 0, 136, 136,
586 0, 0, 0, 136, 0, 0, 0, 0, 0, 0,
587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
588 0, 0, 86, 86, 86, 86, 0, 107, 0, 86,
589 107, 86, 0, 136, 0, 0, 0, 86, 86, 86,
590 86, 0, 0, 0, 107, 107, 0, 86, 86, 107,
591 86, 86, 86, 86, 86, 86, 0, 168, 0, 0,
592 92, 0, 0, 92, 0, 87, 87, 87, 87, 0,
593 94, 0, 87, 94, 87, 0, 0, 92, 92, 107,
594 87, 87, 92, 87, 0, 0, 0, 94, 94, 150,
595 87, 87, 94, 87, 87, 87, 87, 87, 87, 0,
596 0, 88, 88, 88, 88, 0, 95, 0, 88, 95,
597 88, 0, 92, 0, 0, 0, 88, 88, 84, 0,
598 0, 84, 94, 95, 95, 0, 88, 88, 95, 88,
599 88, 88, 88, 88, 88, 84, 84, 0, 0, 0,
600 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
601 0, 0, 70, 0, 0, 0, 0, 0, 95, 0,
602 0, 0, 149, 149, 149, 149, 70, 70, 0, 149,
603 84, 149, 0, 0, 0, 0, 0, 149, 149, 0,
604 0, 0, 0, 0, 0, 0, 0, 149, 149, 0,
605 149, 149, 149, 149, 149, 0, 0, 157, 0, 0,
606 0, 70, 0, 0, 0, 0, 0, 0, 0, 0,
607 0, 0, 136, 136, 136, 136, 0, 0, 0, 136,
608 0, 136, 0, 0, 0, 168, 0, 136, 136, 0,
609 0, 0, 0, 0, 0, 157, 0, 136, 136, 0,
610 136, 136, 136, 136, 136, 0, 0, 0, 0, 0,
611 0, 0, 0, 152, 153, 154, 155, 150, 107, 107,
612 107, 107, 0, 168, 0, 107, 0, 107, 159, 160,
613 161, 162, 163, 107, 107, 164, 0, 0, 165, 166,
614 167, 0, 0, 107, 107, 0, 107, 107, 107, 107,
615 107, 92, 92, 92, 92, 150, 0, 0, 92, 0,
616 92, 94, 94, 94, 94, 0, 0, 0, 94, 0,
617 94, 0, 0, 0, 0, 0, 92, 92, 0, 92,
618 92, 92, 92, 168, 0, 0, 94, 94, 0, 94,
619 94, 94, 0, 0, 0, 0, 0, 95, 95, 95,
620 95, 0, 0, 0, 95, 0, 95, 0, 0, 84,
621 84, 84, 84, 0, 0, 150, 84, 0, 0, 0,
622 0, 0, 95, 95, 0, 95, 95, 0, 0, 0,
623 0, 0, 0, 0, 84, 84, 0, 0, 94, 0,
624 70, 70, 70, 70, 0, 0, 104, 70, 0, 0,
625 109, 0, 0, 118, 0, 0, 0, 0, 0, 0,
626 125, 126, 127, 128, 129, 70, 70, 132, 133, 0,
627 0, 0, 0, 0, 140, 151, 0, 0, 0, 0,
628 0, 152, 153, 154, 155, 0, 0, 0, 0, 0,
629 0, 0, 90, 90, 156, 158, 159, 160, 161, 162,
630 163, 184, 0, 164, 103, 0, 165, 166, 167, 0,
631 111, 90, 119, 151, 0, 0, 0, 90, 0, 152,
632 153, 154, 155, 0, 0, 0, 0, 0, 0, 90,
633 90, 90, 90, 158, 159, 160, 161, 162, 163, 0,
634 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0, 0, 219,
636 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
637 230, 231, 232, 0, 111, 0, 0, 0, 0, 152,
638 153, 154, 155, 0, 247, 0, 0, 0, 0, 0,
639 0, 0, 0, 0, 0, 160, 161, 162, 163, 0,
640 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 237, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 266, 0,
646 0, 0, 0, 301, 0, 0, 0, 0, 0, 0,
647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
651 static short yycheck[] = { 13,
652 41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
653 59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
654 58, 59, 91, 40, 257, 63, 41, 297, 298, 257,
655 41, 59, 46, 40, 43, 41, 123, 276, 277, 257,
656 123, 41, 51, 57, 41, 91, 41, 61, 59, 123,
657 362, 44, 40, 59, 123, 93, 328, 329, 0, 40,
658 192, 333, 41, 40, 40, 36, 40, 40, 40, 40,
659 59, 278, 59, 123, 91, 123, 122, 349, 123, 40,
660 59, 353, 91, 123, 97, 98, 99, 100, 101, 102,
661 59, 33, 106, 107, 36, 37, 38, 59, 40, 123,
662 42, 43, 260, 45, 44, 114, 123, 59, 41, 41,
663 41, 257, 40, 122, 40, 125, 40, 59, 41, 41,
664 91, 291, 64, 91, 41, 41, 59, 59, 59, 143,
665 144, 145, 146, 147, 148, 149, 150, 59, 257, 36,
666 91, 273, 59, 93, 91, 41, 298, 125, 44, 91,
667 40, 40, 123, 0, 168, 169, 170, 171, 172, 173,
668 174, 41, 58, 59, 41, 41, 41, 63, 93, 183,
669 41, 41, 123, 187, 188, 307, 190, 91, 192, 125,
670 193, 123, 93, 125, 126, 199, 33, 201, 202, 36,
671 37, 38, 206, 40, 59, 42, 43, 93, 45, 266,
672 267, 268, 59, 270, 271, 251, 289, 290, 257, 123,
673 256, 41, 59, 125, 123, 297, 298, 64, 125, 233,
674 352, 235, 236, 306, 125, 93, 309, 314, 41, 312,
675 313, 314, 125, 257, 272, 273, 274, 275, 262, 41,
676 41, 279, 251, 281, 91, 297, 298, 256, 0, 287,
677 288, 289, 290, 297, 298, 339, 297, 298, 59, 297,
678 298, 296, 300, 301, 302, 303, 304, 305, 306, 59,
679 284, 309, 297, 298, 297, 298, 123, 291, 125, 126,
680 40, 33, 297, 298, 36, 37, 38, 258, 40, 93,
681 42, 43, 93, 45, 93, 309, 41, 297, 298, 41,
682 297, 298, 297, 298, 297, 298, 123, 59, 297, 298,
683 297, 298, 64, 125, 256, 257, 258, 259, 260, 261,
684 123, 263, 264, 265, 266, 267, 268, 269, 270, 271,
685 272, 273, 274, 275, 348, 297, 298, 279, 280, 91,
686 282, 283, 284, 285, 286, 297, 298, 297, 298, 291,
687 292, 293, 294, 295, 296, 306, 91, 299, 309, 41,
688 41, 312, 313, 314, 59, 41, 308, 59, 310, 311,
689 41, 123, 297, 298, 126, 59, 272, 273, 274, 275,
690 41, 8, 32, 279, 13, 281, 297, 298, 123, 144,
691 348, 287, 288, 41, 309, 309, 44, 190, 312, 313,
692 314, 297, 298, 96, 300, 301, 302, 303, 304, 256,
693 257, 258, 259, 260, 261, 63, 263, 264, 265, 266,
694 267, 268, 269, 270, 271, 272, 273, 274, 275, 297,
695 298, -1, 279, 280, -1, 282, 283, 284, 285, 286,
696 -1, -1, -1, 91, 291, 292, 293, 294, 295, 296,
697 125, -1, 299, 91, 266, 267, 268, -1, 270, 271,
698 -1, 308, -1, 310, 311, -1, 41, -1, -1, 44,
699 -1, 272, 273, 274, 275, 123, -1, -1, 279, -1,
700 -1, -1, -1, 58, 59, 123, -1, -1, 63, -1,
701 -1, -1, -1, 297, 298, -1, 297, 298, 297, 298,
702 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
703 -1, 263, 264, 265, -1, -1, 91, 269, 93, -1,
704 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
705 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
706 292, 293, 294, 295, 296, -1, -1, 299, 123, -1,
707 -1, -1, 287, 288, 289, 290, 308, 33, 310, 311,
708 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
709 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
710 -1, -1, 58, 59, -1, -1, -1, 63, 64, -1,
711 -1, 266, 267, 268, -1, 270, 271, -1, -1, -1,
712 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
713 -1, -1, -1, 279, -1, 91, -1, 93, 33, -1,
714 -1, 36, 37, 38, -1, 40, 41, 42, 43, 44,
715 45, 297, 298, 281, -1, -1, -1, -1, -1, 287,
716 288, 289, 290, 58, 59, -1, -1, 123, 63, 64,
717 126, 289, 300, 301, 302, 303, 304, 305, 306, -1,
718 -1, 309, -1, -1, 312, 313, 314, -1, 306, -1,
719 -1, 309, -1, -1, 312, 313, 314, 33, 93, -1,
720 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
721 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
722 275, -1, -1, 59, 279, -1, 281, -1, 64, -1,
723 -1, 126, 287, 288, 289, 290, 304, 305, 306, -1,
724 308, -1, 297, 298, -1, 300, 301, 302, 303, 304,
725 305, 306, -1, -1, 309, 91, -1, 312, 313, 314,
726 -1, -1, 41, -1, -1, 44, -1, 335, -1, -1,
727 -1, -1, -1, -1, 342, -1, -1, -1, 346, -1,
728 59, -1, -1, 91, -1, -1, -1, 123, -1, -1,
729 126, 359, 360, -1, -1, -1, -1, -1, -1, -1,
730 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
731 -1, -1, -1, 269, 93, 123, 272, 273, 274, 275,
732 -1, -1, -1, 279, 280, 281, 282, 283, 284, 285,
733 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
734 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
735 306, -1, 308, 309, 310, 311, 312, 313, 314, -1,
736 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
737 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
738 275, -1, -1, -1, 279, 280, 281, 282, 283, 284,
739 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
740 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
741 305, 306, -1, 308, 309, 310, 311, 312, 313, 314,
742 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
743 -1, -1, -1, 269, -1, 91, 272, 273, 274, 275,
744 -1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
745 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
746 296, 33, -1, 299, 36, 37, 38, 123, 40, -1,
747 42, 43, 308, 45, 310, 311, -1, -1, 13, 287,
748 -1, 289, 290, -1, -1, -1, -1, 59, -1, -1,
749 -1, -1, 64, 272, 273, 274, 275, 305, 306, -1,
750 279, 309, -1, -1, 312, 313, 314, 42, -1, -1,
751 45, -1, -1, -1, -1, -1, -1, 33, 297, 91,
752 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
753 -1, -1, 26, -1, -1, -1, -1, -1, -1, -1,
754 -1, -1, -1, -1, -1, -1, 81, -1, 64, 43,
755 44, 123, -1, -1, 126, -1, 50, -1, -1, -1,
756 95, -1, -1, -1, -1, -1, -1, -1, 62, 63,
757 64, 65, -1, 33, -1, 91, 36, 37, 38, -1,
758 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
759 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
760 -1, -1, -1, -1, 64, -1, 141, 123, -1, -1,
761 126, -1, -1, 107, -1, -1, -1, -1, -1, -1,
762 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
763 -1, 91, -1, 289, 290, -1, 33, -1, -1, 36,
764 37, 38, -1, 40, 179, 42, 43, -1, 45, 305,
765 306, 186, -1, 309, -1, -1, 312, 313, 314, -1,
766 -1, -1, -1, 123, -1, -1, 126, 64, -1, -1,
767 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
768 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
769 -1, 263, 264, 265, 91, -1, -1, 269, -1, -1,
770 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
771 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
772 292, 293, 294, 295, 296, -1, 123, 299, -1, 126,
773 -1, 91, -1, -1, -1, 41, 308, -1, 310, 311,
774 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
775 -1, -1, -1, 269, -1, -1, -1, 63, -1, -1,
776 -1, -1, -1, 123, 280, -1, 282, 283, 284, 285,
777 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
778 296, -1, -1, 299, -1, 91, -1, -1, -1, -1,
779 -1, -1, 308, -1, 310, 311, -1, 257, 258, 259,
780 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
781 58, -1, -1, -1, -1, 63, -1, 123, -1, -1,
782 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
783 -1, 291, 292, 293, 294, 295, 296, -1, -1, 299,
784 -1, -1, -1, 91, -1, -1, -1, -1, 308, -1,
785 310, 311, -1, -1, -1, -1, 41, -1, -1, 44,
786 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
787 -1, -1, 269, 58, 59, 123, -1, -1, 63, -1,
788 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
789 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
790 33, -1, 299, 36, 37, 38, -1, 40, 93, 42,
791 43, 308, 45, 310, 311, -1, -1, -1, -1, -1,
792 -1, -1, -1, -1, -1, -1, 59, 287, 288, 289,
793 290, 64, -1, -1, -1, -1, -1, -1, -1, -1,
794 -1, 301, 302, 303, 304, 305, 306, -1, -1, 309,
795 -1, -1, 312, 313, 314, -1, 33, -1, 91, 36,
796 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
797 -1, -1, -1, -1, -1, 281, -1, -1, -1, -1,
798 -1, 287, 288, 289, 290, -1, -1, 64, -1, -1,
799 -1, -1, -1, 126, 300, 301, 302, 303, 304, 305,
800 306, -1, -1, 309, -1, -1, 312, 313, 314, -1,
801 -1, -1, 33, -1, 91, 36, 37, 38, -1, 40,
802 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
803 -1, -1, -1, 281, -1, -1, -1, -1, -1, 287,
804 288, 289, 290, 64, -1, -1, -1, -1, -1, 126,
805 -1, -1, 300, 301, 302, 303, 304, 305, 306, -1,
806 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
807 91, 33, 93, -1, 36, 37, 38, -1, 40, 41,
808 42, 43, -1, 45, -1, -1, -1, 272, 273, 274,
809 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
810 -1, -1, 64, 288, -1, 126, -1, -1, -1, -1,
811 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
812 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
813 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
814 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
815 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
816 293, 294, 295, 296, 126, -1, 299, -1, -1, -1,
817 -1, -1, 93, -1, -1, 308, 41, 310, 311, 44,
818 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
819 -1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
820 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
821 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
822 -1, -1, 299, -1, -1, -1, -1, -1, 93, -1,
823 -1, 308, -1, 310, 311, -1, 257, 258, 259, 260,
824 261, -1, 263, 264, 265, -1, 33, -1, 269, 36,
825 37, 38, -1, 40, 41, 42, 43, -1, 45, 280,
826 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
827 291, 292, 293, 294, 295, 296, -1, 64, 299, -1,
828 -1, -1, -1, -1, -1, -1, -1, 308, -1, 310,
829 311, -1, -1, -1, -1, 257, 258, 259, 260, 261,
830 -1, 263, 264, 265, 91, 33, -1, 269, 36, 37,
831 38, -1, 40, -1, 42, 43, -1, 45, 280, -1,
832 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
833 292, 293, 294, 295, 296, -1, 64, 299, -1, 126,
834 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
835 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
836 281, 33, -1, 91, 36, 37, 38, -1, 40, 41,
837 42, 43, -1, 45, -1, -1, 297, 298, -1, 300,
838 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
839 -1, -1, 64, -1, -1, -1, -1, -1, 126, -1,
840 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
841 275, -1, -1, -1, 279, -1, 281, 33, -1, 91,
842 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
843 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
844 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
845 -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
846 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
847 257, 258, 259, 260, 261, 91, 263, 264, 265, -1,
848 33, -1, 269, 36, 37, 38, -1, 40, 41, 42,
849 43, -1, 45, 280, -1, 282, 283, 284, 285, 286,
850 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
851 126, 64, 299, -1, -1, -1, -1, -1, -1, -1,
852 -1, 308, -1, 310, 311, -1, -1, -1, 256, 257,
853 258, 259, 260, 261, -1, 263, 264, 265, 91, -1,
854 -1, 269, 41, -1, -1, 44, -1, -1, -1, -1,
855 -1, -1, 280, -1, 282, 283, 284, 285, 286, 58,
856 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
857 -1, 299, -1, 126, -1, -1, -1, -1, -1, -1,
858 308, -1, 310, 311, -1, 257, 258, 259, 260, 261,
859 -1, 263, 264, 265, 93, -1, -1, 269, -1, -1,
860 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
861 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
862 292, 293, 294, 295, 296, -1, -1, 299, -1, -1,
863 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
864 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
865 -1, 33, -1, 269, 36, 37, 38, -1, 40, -1,
866 42, 43, -1, 45, 280, -1, 282, 283, 284, 285,
867 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
868 296, -1, 64, 299, -1, -1, -1, -1, -1, -1,
869 -1, -1, 308, -1, 310, 311, -1, -1, -1, -1,
870 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
871 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
872 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
873 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
874 293, 294, 295, 296, 126, 41, 299, -1, 44, -1,
875 91, -1, 93, -1, -1, 308, -1, 310, 311, -1,
876 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
877 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
878 279, -1, 123, -1, -1, -1, -1, -1, 41, -1,
879 -1, 44, -1, -1, -1, 91, -1, 93, 297, 298,
880 -1, 300, -1, -1, -1, 58, 59, -1, -1, -1,
881 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
882 -1, -1, -1, -1, -1, -1, -1, 123, -1, -1,
883 -1, -1, -1, 41, -1, -1, 44, -1, 91, -1,
884 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
885 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
886 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
887 123, -1, -1, -1, -1, 257, 258, 259, 260, 261,
888 -1, 263, 264, 265, -1, 93, -1, 269, -1, -1,
889 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
890 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
891 292, 293, 294, 295, 296, 123, -1, 299, 91, -1,
892 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
893 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
894 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
895 123, -1, -1, 58, 59, -1, 297, 298, 63, 300,
896 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
897 -1, 312, 313, 314, -1, -1, 272, 273, 274, 275,
898 -1, 41, -1, 279, 44, 281, 91, -1, 93, -1,
899 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
900 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
901 306, -1, -1, 309, -1, -1, 312, 313, 314, 272,
902 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
903 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
904 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
905 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
906 313, 314, -1, 123, 272, 273, 274, 275, -1, 41,
907 -1, 279, -1, 281, -1, -1, 93, -1, -1, 287,
908 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
909 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
910 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
911 -1, -1, 41, -1, 287, 288, 289, 290, -1, 91,
912 -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
913 59, 304, 305, 306, 63, -1, 309, -1, -1, 312,
914 313, 314, -1, -1, -1, -1, -1, -1, -1, -1,
915 -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
916 -1, -1, 91, -1, 93, -1, -1, 272, 273, 274,
917 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
918 -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
919 -1, -1, 297, 298, 123, 300, 301, 302, 303, 304,
920 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
921 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
922 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
923 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
924 300, 301, 302, 303, 304, 305, 306, -1, -1, 309,
925 -1, -1, 312, 313, 314, 272, 273, 274, 275, -1,
926 -1, -1, 279, -1, -1, -1, -1, 41, -1, 93,
927 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
928 297, 298, -1, 300, 58, 59, -1, -1, -1, 63,
929 -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
930 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
931 -1, -1, -1, -1, -1, 287, 288, 289, 290, 93,
932 -1, -1, -1, -1, -1, 297, 298, -1, 300, 301,
933 302, 303, 304, 305, 306, -1, 41, 309, -1, 44,
934 312, 313, 314, 272, 273, 274, 275, -1, 41, 123,
935 279, -1, 281, 58, 59, -1, -1, -1, 287, 288,
936 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
937 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
938 309, -1, -1, 312, 313, 314, -1, -1, 93, -1,
939 -1, -1, -1, 41, -1, -1, 44, -1, 91, -1,
940 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
941 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
942 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
943 123, -1, -1, -1, -1, -1, -1, -1, -1, -1,
944 -1, -1, -1, -1, -1, 93, -1, -1, 272, 273,
945 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
946 -1, -1, -1, 287, 288, 289, 290, -1, -1, 41,
947 -1, -1, 44, 297, 298, 123, 300, 301, 302, 303,
948 304, 305, 306, -1, -1, 309, 58, 59, 312, 313,
949 314, 63, -1, -1, -1, -1, -1, -1, 272, 273,
950 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
951 -1, -1, -1, 287, 288, 289, 290, -1, -1, 41,
952 -1, 93, 44, 297, 298, -1, 300, 301, 302, 303,
953 304, 305, 306, -1, -1, 309, 58, 59, 312, 313,
954 314, 63, -1, -1, -1, -1, -1, -1, -1, -1,
955 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
956 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
957 275, 93, -1, -1, 279, -1, -1, -1, -1, 272,
958 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
959 -1, -1, 297, 298, 287, 288, 289, 290, -1, -1,
960 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
961 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
962 313, 314, -1, -1, 272, 273, 274, 275, -1, 41,
963 -1, 279, 44, 281, -1, -1, 93, -1, -1, 287,
964 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
965 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
966 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
967 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
968 -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
969 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
970 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
971 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
972 -1, -1, -1, -1, 93, 297, 298, -1, 300, 301,
973 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
974 312, 313, 314, 41, -1, -1, 44, -1, -1, -1,
975 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
976 58, 59, -1, -1, -1, 287, 288, 289, 290, -1,
977 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
978 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
979 312, 313, 314, -1, -1, 93, -1, -1, -1, -1,
980 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
981 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
982 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
983 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
984 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
985 -1, -1, 309, -1, -1, 312, 313, 314, -1, -1,
986 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
987 -1, -1, 93, -1, -1, 287, 288, 289, 290, -1,
988 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
989 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
990 312, 313, 314, 272, 273, 274, 275, -1, 41, -1,
991 279, 44, 281, -1, -1, -1, -1, 93, 287, 288,
992 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
993 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
994 309, -1, -1, -1, 41, -1, -1, 44, -1, -1,
995 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
996 93, 58, 59, -1, -1, -1, 63, -1, -1, -1,
997 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
998 -1, 279, -1, -1, -1, -1, 272, 273, 274, 275,
999 -1, 41, -1, 279, 44, 281, 93, -1, -1, 297,
1000 298, 287, 288, 289, 290, -1, -1, -1, 58, 59,
1001 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
1002 306, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1003 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1004 -1, -1, 44, 93, -1, -1, -1, -1, -1, -1,
1005 -1, 272, 273, 274, 275, -1, 58, 59, 279, -1,
1006 281, 63, -1, -1, -1, -1, 287, 288, 289, 290,
1007 -1, -1, -1, -1, -1, -1, 297, 298, -1, 300,
1008 301, 302, 303, 304, 305, 306, -1, -1, -1, -1,
1009 -1, 93, -1, -1, -1, -1, 272, 273, 274, 275,
1010 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1011 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
1012 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
1013 306, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1014 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1015 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
1016 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
1017 303, 304, 305, 306, -1, 272, 273, 274, 275, -1,
1018 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
1019 287, 288, 289, 290, -1, -1, 93, 58, 59, -1,
1020 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
1021 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1022 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1023 -1, 281, 93, -1, -1, -1, -1, 287, 288, 289,
1024 290, 41, -1, -1, 44, -1, -1, 297, 298, -1,
1025 300, 301, 302, 303, 304, 305, 306, -1, 58, 59,
1026 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1027 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1028 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1029 -1, 41, -1, 93, 44, 297, 298, -1, 300, 301,
1030 302, 303, 304, 305, 306, -1, -1, -1, 58, 59,
1031 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1033 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
1034 44, 281, -1, 93, -1, -1, -1, 287, 288, 289,
1035 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
1036 300, 301, 302, 303, 304, 305, -1, 91, -1, -1,
1037 41, -1, -1, 44, -1, 272, 273, 274, 275, -1,
1038 41, -1, 279, 44, 281, -1, -1, 58, 59, 93,
1039 287, 288, 63, 290, -1, -1, -1, 58, 59, 123,
1040 297, 298, 63, 300, 301, 302, 303, 304, 305, -1,
1041 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1042 281, -1, 93, -1, -1, -1, 287, 288, 41, -1,
1043 -1, 44, 93, 58, 59, -1, 297, 298, 63, 300,
1044 301, 302, 303, 304, 305, 58, 59, -1, -1, -1,
1045 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1046 -1, -1, 44, -1, -1, -1, -1, -1, 93, -1,
1047 -1, -1, 272, 273, 274, 275, 58, 59, -1, 279,
1048 93, 281, -1, -1, -1, -1, -1, 287, 288, -1,
1049 -1, -1, -1, -1, -1, -1, -1, 297, 298, -1,
1050 300, 301, 302, 303, 304, -1, -1, 63, -1, -1,
1051 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
1052 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1053 -1, 281, -1, -1, -1, 91, -1, 287, 288, -1,
1054 -1, -1, -1, -1, -1, 63, -1, 297, 298, -1,
1055 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
1056 -1, -1, -1, 287, 288, 289, 290, 123, 272, 273,
1057 274, 275, -1, 91, -1, 279, -1, 281, 302, 303,
1058 304, 305, 306, 287, 288, 309, -1, -1, 312, 313,
1059 314, -1, -1, 297, 298, -1, 300, 301, 302, 303,
1060 304, 272, 273, 274, 275, 123, -1, -1, 279, -1,
1061 281, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1062 281, -1, -1, -1, -1, -1, 297, 298, -1, 300,
1063 301, 302, 303, 91, -1, -1, 297, 298, -1, 300,
1064 301, 302, -1, -1, -1, -1, -1, 272, 273, 274,
1065 275, -1, -1, -1, 279, -1, 281, -1, -1, 272,
1066 273, 274, 275, -1, -1, 123, 279, -1, -1, -1,
1067 -1, -1, 297, 298, -1, 300, 301, -1, -1, -1,
1068 -1, -1, -1, -1, 297, 298, -1, -1, 30, -1,
1069 272, 273, 274, 275, -1, -1, 38, 279, -1, -1,
1070 42, -1, -1, 45, -1, -1, -1, -1, -1, -1,
1071 52, 53, 54, 55, 56, 297, 298, 59, 60, -1,
1072 -1, -1, -1, -1, 66, 281, -1, -1, -1, -1,
1073 -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
1074 -1, -1, 25, 26, 300, 301, 302, 303, 304, 305,
1075 306, 93, -1, 309, 37, -1, 312, 313, 314, -1,
1076 43, 44, 45, 281, -1, -1, -1, 50, -1, 287,
1077 288, 289, 290, -1, -1, -1, -1, -1, -1, 62,
1078 63, 64, 65, 301, 302, 303, 304, 305, 306, -1,
1079 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
1080 -1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
1081 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1082 162, 163, 164, -1, 107, -1, -1, -1, -1, 287,
1083 288, 289, 290, -1, 176, -1, -1, -1, -1, -1,
1084 -1, -1, -1, -1, -1, 303, 304, 305, 306, -1,
1085 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
1086 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1087 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1088 -1, -1, -1, -1, 167, -1, -1, -1, -1, -1,
1089 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1090 -1, -1, -1, -1, -1, -1, -1, -1, 191, -1,
1091 -1, -1, -1, 255, -1, -1, -1, -1, -1, -1,
1092 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1093 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1094 -1, -1, -1, -1, 286,
1100 #define YYMAXTOKEN 314
1102 static char *yyname[] = {
1103 "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,
1104 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1105 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1106 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1107 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1108 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1109 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1110 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",
1111 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1112 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1113 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1114 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1115 "OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP",
1116 "SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
1119 static char *yyrule[] = {
1122 "prog : $$1 lineseq",
1123 "block : '{' remember lineseq '}'",
1125 "mblock : '{' mremember lineseq '}'",
1128 "lineseq : lineseq decl",
1129 "lineseq : lineseq line",
1130 "line : label cond",
1133 "line : label sideff ';'",
1136 "sideff : expr IF expr",
1137 "sideff : expr UNLESS expr",
1138 "sideff : expr WHILE expr",
1139 "sideff : expr UNTIL iexpr",
1140 "sideff : expr FOR expr",
1142 "else : ELSE mblock",
1143 "else : ELSIF '(' mexpr ')' mblock else",
1144 "cond : IF '(' remember mexpr ')' mblock else",
1145 "cond : UNLESS '(' remember miexpr ')' mblock else",
1147 "cont : CONTINUE block",
1148 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1149 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1150 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1151 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1152 "loop : label FOR '(' remember mexpr ')' mblock cont",
1153 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1154 "loop : label block cont",
1170 "format : FORMAT startformsub formname block",
1173 "subrout : SUB startsub subname proto subbody",
1182 "package : PACKAGE WORD ';'",
1183 "package : PACKAGE ';'",
1185 "use : USE startsub $$2 WORD WORD listexpr ';'",
1186 "expr : expr ANDOP expr",
1187 "expr : expr OROP expr",
1189 "argexpr : argexpr ','",
1190 "argexpr : argexpr ',' term",
1192 "listop : LSTOP indirob argexpr",
1193 "listop : FUNC '(' indirob expr ')'",
1194 "listop : term ARROW method '(' listexprcom ')'",
1195 "listop : term ARROW method",
1196 "listop : METHOD indirob listexpr",
1197 "listop : FUNCMETH indirob '(' listexprcom ')'",
1198 "listop : LSTOP listexpr",
1199 "listop : FUNC '(' listexprcom ')'",
1201 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1204 "term : term ASSIGNOP term",
1205 "term : term POWOP term",
1206 "term : term MULOP term",
1207 "term : term ADDOP term",
1208 "term : term SHIFTOP term",
1209 "term : term RELOP term",
1210 "term : term EQOP term",
1211 "term : term BITANDOP term",
1212 "term : term BITOROP term",
1213 "term : term DOTDOT term",
1214 "term : term ANDAND term",
1215 "term : term OROR term",
1216 "term : term '?' term ':' term",
1217 "term : term MATCHOP term",
1222 "term : REFGEN term",
1223 "term : term POSTINC",
1224 "term : term POSTDEC",
1225 "term : PREINC term",
1226 "term : PREDEC term",
1227 "term : local term",
1228 "term : '(' expr ')'",
1230 "term : '[' expr ']'",
1232 "term : HASHBRACK expr ';' '}'",
1233 "term : HASHBRACK ';' '}'",
1234 "term : ANONSUB startanonsub proto block",
1236 "term : star '{' expr ';' '}'",
1238 "term : scalar '[' expr ']'",
1239 "term : term ARROW '[' expr ']'",
1240 "term : term '[' expr ']'",
1244 "term : scalar '{' expr ';' '}'",
1245 "term : term ARROW '{' expr ';' '}'",
1246 "term : term '{' expr ';' '}'",
1247 "term : '(' expr ')' '[' expr ']'",
1248 "term : '(' ')' '[' expr ']'",
1249 "term : ary '[' expr ']'",
1250 "term : ary '{' expr ';' '}'",
1253 "term : amper '(' ')'",
1254 "term : amper '(' expr ')'",
1255 "term : NOAMP WORD listexpr",
1258 "term : DO WORD '(' ')'",
1259 "term : DO WORD '(' expr ')'",
1260 "term : DO scalar '(' ')'",
1261 "term : DO scalar '(' expr ')'",
1262 "term : term ARROW '(' ')'",
1263 "term : term ARROW '(' expr ')'",
1265 "term : LOOPEX term",
1266 "term : NOTOP argexpr",
1268 "term : UNIOP block",
1269 "term : UNIOP term",
1270 "term : UNIOPSUB term",
1272 "term : FUNC0 '(' ')'",
1274 "term : FUNC1 '(' ')'",
1275 "term : FUNC1 '(' expr ')'",
1276 "term : PMFUNC '(' term ')'",
1277 "term : PMFUNC '(' term ',' term ')'",
1281 "listexpr : argexpr",
1283 "listexprcom : expr",
1284 "listexprcom : expr ','",
1287 "my_scalar : scalar",
1288 "amper : '&' indirob",
1289 "scalar : '$' indirob",
1290 "ary : '@' indirob",
1291 "hsh : '%' indirob",
1292 "arylen : DOLSHARP indirob",
1293 "star : '*' indirob",
1297 "indirob : PRIVATEREF",
1300 #define yyclearin (yychar=(-1))
1301 #define yyerrok (yyerrflag=0)
1304 #define YYMAXDEPTH YYSTACKSIZE
1308 #define YYSTACKSIZE YYMAXDEPTH
1310 #define YYSTACKSIZE 500
1311 #define YYMAXDEPTH 500
1316 #line 1318 "perly.c"
1317 #define YYABORT goto yyabort
1318 #define YYACCEPT goto yyaccept
1319 #define YYERROR goto yyerrlab
1333 yydestruct(void *ptr)
1335 struct ysv* ysave = (struct ysv*)ptr;
1336 if (ysave->yyss) Safefree(ysave->yyss);
1337 if (ysave->yyvs) Safefree(ysave->yyvs);
1338 yydebug = ysave->oldyydebug;
1339 yynerrs = ysave->oldyynerrs;
1340 yyerrflag = ysave->oldyyerrflag;
1341 yychar = ysave->oldyychar;
1342 yyval = ysave->oldyyval;
1343 yylval = ysave->oldyylval;
1350 register int yym, yyn, yystate;
1351 register short *yyssp;
1352 register YYSTYPE *yyvsp;
1355 unsigned yystacksize = YYSTACKSIZE;
1361 extern char *getenv();
1367 New(73, ysave, 1, struct ysv);
1368 SAVEDESTRUCTOR(yydestruct, ysave);
1369 ysave->oldyydebug = yydebug;
1370 ysave->oldyynerrs = yynerrs;
1371 ysave->oldyyerrflag = yyerrflag;
1372 ysave->oldyychar = yychar;
1373 ysave->oldyyval = yyval;
1374 ysave->oldyylval = yylval;
1377 if (yys = getenv("YYDEBUG"))
1380 if (yyn >= '0' && yyn <= '9')
1381 yydebug = yyn - '0';
1383 else SETERRNO(0,SS$_NORMAL);
1391 ** Initialize private stacks (yyparse may be called from an action)
1393 New(73, yyss, yystacksize, short);
1394 New(73, yyvs, yystacksize, YYSTYPE);
1402 *yyssp = yystate = 0;
1405 if (yyn = yydefred[yystate]) goto yyreduce;
1408 if ((yychar = yylex()) < 0) yychar = 0;
1413 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1414 if (!yys) yys = "illegal-symbol";
1415 printf("yydebug: state %d, reading %d (%s)\n", yystate,
1420 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1421 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1425 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1426 yystate, yytable[yyn]);
1428 if (yyssp >= yyss + yystacksize - 1)
1431 ** reallocate and recover. Note that pointers
1432 ** have to be reset, or bad things will happen
1434 int yyps_index = (yyssp - yyss);
1435 int yypv_index = (yyvsp - yyvs);
1436 yystacksize += YYSTACKSIZE;
1437 ysave->yyvs = yyvs =
1438 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1439 ysave->yyss = yyss =
1440 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
1443 yyssp = yyss + yyps_index;
1444 yyvsp = yyvs + yypv_index;
1446 *++yyssp = yystate = yytable[yyn];
1449 if (yyerrflag > 0) --yyerrflag;
1452 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1453 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1458 if (yyerrflag) goto yyinrecovery;
1463 yyerror("syntax error");
1475 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1476 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1480 PerlIO_printf(Perl_debug_log,
1481 "yydebug: state %d, error recovery shifting to state %d\n",
1482 *yyssp, yytable[yyn]);
1484 if (yyssp >= yyss + yystacksize - 1)
1487 ** reallocate and recover. Note that pointers
1488 ** have to be reset, or bad things will happen
1490 int yyps_index = (yyssp - yyss);
1491 int yypv_index = (yyvsp - yyvs);
1492 yystacksize += YYSTACKSIZE;
1493 ysave->yyvs = yyvs = (YYSTYPE*)PerlMem_realloc((char*)yyvs,
1494 yystacksize * sizeof(YYSTYPE));
1495 ysave->yyss = yyss = (short*)PerlMem_realloc((char*)yyss,
1496 yystacksize * sizeof(short));
1499 yyssp = yyss + yyps_index;
1500 yyvsp = yyvs + yypv_index;
1502 *++yyssp = yystate = yytable[yyn];
1510 PerlIO_printf(Perl_debug_log,
1511 "yydebug: error recovery discarding state %d\n",
1514 if (yyssp <= yyss) goto yyabort;
1522 if (yychar == 0) goto yyabort;
1527 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1528 if (!yys) yys = "illegal-symbol";
1529 PerlIO_printf(Perl_debug_log,
1530 "yydebug: state %d, error recovery discards token %d (%s)\n",
1531 yystate, yychar, yys);
1540 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1541 yystate, yyn, yyrule[yyn]);
1544 yyval = yyvsp[1-yym];
1550 #if defined(YYDEBUG) && defined(DEBUGGING)
1551 yydebug = (PL_debug & 1);
1558 { newPROG(yyvsp[0].opval); }
1562 { if (PL_copline > (line_t)yyvsp[-3].ival)
1563 PL_copline = yyvsp[-3].ival;
1564 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1568 { yyval.ival = block_start(TRUE); }
1572 { if (PL_copline > (line_t)yyvsp[-3].ival)
1573 PL_copline = yyvsp[-3].ival;
1574 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1578 { yyval.ival = block_start(FALSE); }
1582 { yyval.opval = Nullop; }
1586 { yyval.opval = yyvsp[-1].opval; }
1590 { yyval.opval = append_list(OP_LINESEQ,
1591 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1592 PL_pad_reset_pending = TRUE;
1593 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1597 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1601 { if (yyvsp[-1].pval != Nullch) {
1602 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1605 yyval.opval = Nullop;
1606 PL_copline = NOLINE;
1608 PL_expect = XSTATE; }
1612 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1613 PL_expect = XSTATE; }
1617 { yyval.opval = Nullop; }
1621 { yyval.opval = yyvsp[0].opval; }
1625 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1629 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1633 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1637 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1641 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1642 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1646 { yyval.opval = Nullop; }
1650 { yyval.opval = scope(yyvsp[0].opval); }
1654 { PL_copline = yyvsp[-5].ival;
1655 yyval.opval = newSTATEOP(0, Nullch,
1656 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1657 PL_hints |= HINT_BLOCK_SCOPE; }
1661 { PL_copline = yyvsp[-6].ival;
1662 yyval.opval = block_end(yyvsp[-4].ival,
1663 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1667 { PL_copline = yyvsp[-6].ival;
1668 yyval.opval = block_end(yyvsp[-4].ival,
1669 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1673 { yyval.opval = Nullop; }
1677 { yyval.opval = scope(yyvsp[0].opval); }
1681 { PL_copline = yyvsp[-6].ival;
1682 yyval.opval = block_end(yyvsp[-4].ival,
1683 newSTATEOP(0, yyvsp[-7].pval,
1684 newWHILEOP(0, 1, (LOOP*)Nullop,
1685 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1689 { PL_copline = yyvsp[-6].ival;
1690 yyval.opval = block_end(yyvsp[-4].ival,
1691 newSTATEOP(0, yyvsp[-7].pval,
1692 newWHILEOP(0, 1, (LOOP*)Nullop,
1693 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1697 { yyval.opval = block_end(yyvsp[-6].ival,
1698 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1702 { yyval.opval = block_end(yyvsp[-4].ival,
1703 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1704 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1708 { yyval.opval = block_end(yyvsp[-4].ival,
1709 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1713 { OP *forop = append_elem(OP_LINESEQ,
1714 scalar(yyvsp[-6].opval),
1715 newWHILEOP(0, 1, (LOOP*)Nullop,
1716 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1717 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1718 PL_copline = yyvsp[-9].ival;
1719 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1723 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1724 newWHILEOP(0, 1, (LOOP*)Nullop,
1725 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1729 { yyval.opval = Nullop; }
1733 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1737 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1741 { yyval.opval = yyvsp[0].opval; intro_my(); }
1745 { yyval.opval = yyvsp[0].opval; intro_my(); }
1749 { yyval.opval = yyvsp[0].opval; intro_my(); }
1753 { yyval.opval = yyvsp[0].opval; intro_my(); }
1757 { yyval.pval = Nullch; }
1777 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1781 { yyval.opval = yyvsp[0].opval; }
1785 { yyval.opval = Nullop; }
1789 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1793 { yyval.ival = start_subparse(FALSE, 0); }
1797 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1801 { yyval.ival = start_subparse(TRUE, 0); }
1805 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1806 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1807 || strEQ(name, "INIT"))
1808 CvUNIQUE_on(PL_compcv);
1809 yyval.opval = yyvsp[0].opval; }
1813 { yyval.opval = Nullop; }
1817 { yyval.opval = yyvsp[0].opval; }
1821 { yyval.opval = Nullop; PL_expect = XSTATE; }
1825 { package(yyvsp[-1].opval); }
1829 { package(Nullop); }
1833 { CvUNIQUE_on(PL_compcv); /* It's a BEGIN {} */ }
1837 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1841 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1845 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1849 { yyval.opval = yyvsp[-1].opval; }
1853 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1857 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1858 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1862 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1863 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1867 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1868 append_elem(OP_LIST,
1869 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1870 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1874 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1875 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
1876 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
1880 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1881 append_elem(OP_LIST,
1882 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1883 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1887 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1888 append_elem(OP_LIST,
1889 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1890 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1894 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1898 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1902 { yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1906 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1907 append_elem(OP_LIST,
1908 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1912 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1916 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1920 { if (yyvsp[-1].ival != OP_REPEAT)
1921 scalar(yyvsp[-2].opval);
1922 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1926 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1930 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1934 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1938 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1942 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1946 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1950 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1954 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1958 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1962 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1966 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1970 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1974 { yyval.opval = yyvsp[0].opval; }
1978 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1982 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1986 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1990 { yyval.opval = newUNOP(OP_POSTINC, 0,
1991 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1995 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1996 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2000 { yyval.opval = newUNOP(OP_PREINC, 0,
2001 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2005 { yyval.opval = newUNOP(OP_PREDEC, 0,
2006 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2010 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2014 { yyval.opval = sawparens(yyvsp[-1].opval); }
2018 { yyval.opval = sawparens(newNULLLIST()); }
2022 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2026 { yyval.opval = newANONLIST(Nullop); }
2030 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2034 { yyval.opval = newANONHASH(Nullop); }
2038 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2042 { yyval.opval = yyvsp[0].opval; }
2046 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
2050 { yyval.opval = yyvsp[0].opval; }
2054 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2058 { yyval.opval = newBINOP(OP_AELEM, 0,
2059 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2060 scalar(yyvsp[-1].opval));}
2064 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
2065 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2066 scalar(yyvsp[-1].opval));}
2070 { yyval.opval = yyvsp[0].opval; }
2074 { yyval.opval = yyvsp[0].opval; }
2078 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2082 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2083 PL_expect = XOPERATOR; }
2087 { yyval.opval = newBINOP(OP_HELEM, 0,
2088 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2089 jmaybe(yyvsp[-2].opval));
2090 PL_expect = XOPERATOR; }
2094 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2095 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2096 jmaybe(yyvsp[-2].opval));
2097 PL_expect = XOPERATOR; }
2101 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2105 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2109 { yyval.opval = prepend_elem(OP_ASLICE,
2110 newOP(OP_PUSHMARK, 0),
2111 newLISTOP(OP_ASLICE, 0,
2112 list(yyvsp[-1].opval),
2113 ref(yyvsp[-3].opval, OP_ASLICE))); }
2117 { yyval.opval = prepend_elem(OP_HSLICE,
2118 newOP(OP_PUSHMARK, 0),
2119 newLISTOP(OP_HSLICE, 0,
2120 list(yyvsp[-2].opval),
2121 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2122 PL_expect = XOPERATOR; }
2126 { yyval.opval = yyvsp[0].opval; }
2130 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2134 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2138 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2139 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2143 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2144 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2148 { yyval.opval = dofile(yyvsp[0].opval); }
2152 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2156 { yyval.opval = newUNOP(OP_ENTERSUB,
2157 OPf_SPECIAL|OPf_STACKED,
2158 prepend_elem(OP_LIST,
2160 (OPpENTERSUB_AMPER<<8),
2161 scalar(yyvsp[-2].opval)
2162 )),Nullop)); dep();}
2166 { yyval.opval = newUNOP(OP_ENTERSUB,
2167 OPf_SPECIAL|OPf_STACKED,
2168 append_elem(OP_LIST,
2171 (OPpENTERSUB_AMPER<<8),
2172 scalar(yyvsp[-3].opval)
2177 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2178 prepend_elem(OP_LIST,
2179 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2183 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2184 prepend_elem(OP_LIST,
2186 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2190 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2191 newCVREF(0, scalar(yyvsp[-3].opval))); }
2195 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2196 append_elem(OP_LIST, yyvsp[-1].opval,
2197 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2201 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2202 PL_hints |= HINT_BLOCK_SCOPE; }
2206 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2210 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2214 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2218 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2222 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2226 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2227 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2231 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2235 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2239 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2240 scalar(yyvsp[0].opval)); }
2244 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2248 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2252 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2256 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2260 { yyval.opval = Nullop; }
2264 { yyval.opval = yyvsp[0].opval; }
2268 { yyval.opval = Nullop; }
2272 { yyval.opval = yyvsp[0].opval; }
2276 { yyval.opval = yyvsp[-1].opval; }
2288 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2292 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2296 { yyval.opval = newSVREF(yyvsp[0].opval); }
2300 { yyval.opval = newAVREF(yyvsp[0].opval); }
2304 { yyval.opval = newHVREF(yyvsp[0].opval); }
2308 { yyval.opval = newAVREF(yyvsp[0].opval); }
2312 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2316 { yyval.opval = scalar(yyvsp[0].opval); }
2320 { yyval.opval = scalar(yyvsp[0].opval); }
2324 { yyval.opval = scope(yyvsp[0].opval); }
2328 { yyval.opval = yyvsp[0].opval; }
2330 #line 2329 "perly.c"
2336 if (yystate == 0 && yym == 0)
2340 PerlIO_printf(Perl_debug_log,
2341 "yydebug: after reduction, shifting from state 0 to state %d\n",
2349 if ((yychar = yylex()) < 0) yychar = 0;
2354 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2355 if (!yys) yys = "illegal-symbol";
2356 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2357 YYFINAL, yychar, yys);
2361 if (yychar == 0) goto yyaccept;
2364 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2365 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2366 yystate = yytable[yyn];
2368 yystate = yydgoto[yym];
2371 PerlIO_printf(Perl_debug_log,
2372 "yydebug: after reduction, shifting from state %d to state %d\n",
2375 if (yyssp >= yyss + yystacksize - 1)
2378 ** reallocate and recover. Note that pointers
2379 ** have to be reset, or bad things will happen
2381 int yyps_index = (yyssp - yyss);
2382 int yypv_index = (yyvsp - yyvs);
2383 yystacksize += YYSTACKSIZE;
2384 ysave->yyvs = yyvs =
2385 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2386 ysave->yyss = yyss =
2387 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
2390 yyssp = yyss + yyps_index;
2391 yyvsp = yyvs + yypv_index;
2397 yyerror("Out of memory for yacc stack");