This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
"more doc for perldoc", #F103
[perl5.git] / perly.c
... / ...
CommitLineData
1#ifndef lint
2static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
3#endif
4#define YYBYACC 1
5#line 16 "perly.y"
6#include "EXTERN.h"
7#include "perl.h"
8
9static void
10dep()
11{
12 deprecate("\"do\" to call subroutines");
13}
14
15#line 16 "perly.c"
16#define YYERRCODE 256
17short yylhs[] = { -1,
18 45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
19 12, 12, 12, 24, 24, 24, 24, 24, 24, 24,
20 15, 15, 15, 14, 14, 42, 42, 13, 13, 13,
21 13, 13, 13, 13, 26, 26, 27, 27, 28, 29,
22 30, 31, 32, 44, 44, 1, 1, 1, 1, 3,
23 38, 38, 46, 4, 5, 6, 39, 40, 40, 41,
24 41, 47, 47, 49, 48, 16, 16, 16, 25, 25,
25 25, 36, 36, 36, 36, 36, 36, 36, 50, 36,
26 37, 37, 17, 17, 17, 17, 17, 17, 17, 17,
27 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
28 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
29 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
30 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
31 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
32 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
33 17, 17, 17, 17, 17, 17, 17, 17, 33, 33,
34 34, 34, 34, 2, 2, 43, 23, 18, 19, 20,
35 21, 22, 35, 35, 35, 35,
36};
37short yylen[] = { 2,
38 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
39 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
40 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
41 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
42 1, 1, 1, 0, 1, 1, 1, 1, 1, 4,
43 1, 0, 5, 0, 0, 0, 1, 0, 1, 1,
44 1, 3, 2, 0, 7, 3, 3, 1, 2, 3,
45 1, 3, 5, 6, 3, 5, 2, 4, 0, 5,
46 1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
47 3, 3, 3, 3, 5, 3, 2, 2, 2, 2,
48 2, 2, 2, 2, 2, 2, 3, 2, 3, 2,
49 4, 3, 4, 1, 5, 1, 4, 5, 4, 1,
50 1, 1, 5, 6, 5, 6, 5, 4, 5, 1,
51 1, 3, 4, 3, 2, 2, 4, 5, 4, 5,
52 4, 5, 1, 2, 2, 1, 2, 2, 2, 1,
53 3, 1, 3, 4, 4, 6, 1, 1, 0, 1,
54 0, 1, 2, 1, 1, 1, 2, 2, 2, 2,
55 2, 2, 1, 1, 1, 1,
56};
57short yydefred[] = { 1,
58 0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
59 9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
60 64, 14, 4, 157, 0, 0, 130, 0, 152, 0,
61 55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
62 0, 0, 0, 0, 0, 0, 0, 164, 165, 0,
63 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
64 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
65 0, 0, 120, 122, 0, 0, 0, 0, 158, 51,
66 0, 57, 0, 62, 0, 7, 173, 176, 175, 174,
67 0, 0, 0, 0, 0, 0, 4, 4, 4, 4,
68 4, 4, 0, 0, 0, 0, 0, 147, 0, 0,
69 0, 0, 77, 0, 171, 0, 136, 0, 0, 0,
70 0, 0, 167, 0, 0, 0, 0, 0, 0, 0,
71 0, 0, 0, 110, 0, 168, 169, 170, 172, 0,
72 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
73 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
74 0, 0, 0, 0, 102, 103, 0, 0, 0, 0,
75 0, 0, 0, 0, 13, 0, 50, 59, 0, 0,
76 0, 75, 0, 0, 79, 0, 0, 0, 0, 0,
77 0, 0, 4, 151, 153, 0, 0, 0, 0, 0,
78 0, 0, 112, 0, 134, 0, 0, 109, 27, 0,
79 0, 19, 0, 0, 0, 0, 66, 0, 0, 0,
80 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
81 0, 0, 0, 81, 0, 0, 82, 0, 0, 0,
82 0, 0, 0, 0, 132, 0, 0, 61, 60, 53,
83 0, 3, 0, 155, 0, 0, 113, 0, 42, 0,
84 43, 0, 0, 0, 0, 166, 0, 0, 36, 41,
85 0, 0, 0, 154, 163, 78, 0, 137, 0, 139,
86 0, 111, 0, 0, 0, 0, 0, 141, 0, 0,
87 0, 119, 0, 117, 0, 128, 0, 133, 0, 76,
88 0, 80, 0, 0, 0, 0, 0, 0, 0, 0,
89 73, 138, 140, 127, 0, 125, 0, 0, 142, 118,
90 0, 123, 129, 115, 65, 156, 6, 0, 0, 0,
91 0, 0, 0, 0, 0, 126, 124, 74, 7, 28,
92 29, 0, 0, 24, 25, 0, 32, 0, 0, 0,
93 22, 0, 0, 0, 31, 5, 0, 30, 0, 0,
94 33, 0, 23,
95};
96short yydgoto[] = { 1,
97 9, 66, 10, 18, 95, 17, 86, 339, 89, 328,
98 3, 11, 12, 68, 344, 263, 70, 71, 72, 73,
99 74, 75, 76, 269, 78, 270, 259, 261, 264, 272,
100 260, 262, 113, 198, 91, 79, 238, 81, 83, 179,
101 250, 142, 267, 13, 2, 14, 15, 16, 85, 256,
102};
103short yysindex[] = { 0,
104 0, 0, -66, 0, 0, 0, -48, 0, 0, 0,
105 0, 0, 645, 0, 0, 0, -232, -227, -27, 0,
106 0, 0, 0, 0, -23, -23, 0, -6, 0, 2099,
107 0, 0, 13, 20, 24, 25, -34, 2099, 27, 28,
108 29, 1021, 965, -23, 1084, 1348, -217, 0, 0, -23,
109 2099, 2099, 2099, 2099, 2099, 2099, 1404, 0, 2099, 2099,
110 1460, -23, -23, -23, -23, 2099, -206, 0, 335, 3814,
111 -73, -68, 0, 0, -47, 40, 32, 61, 0, 0,
112 -39, 0, -157, 0, -145, 0, 0, 0, 0, 0,
113 2099, 73, 2099, 825, -39, -157, 0, 0, 0, 0,
114 0, 0, 75, 3814, 78, 1519, 965, 0, 825, 0,
115 -73, 61, 0, 2099, 0, 77, 0, 825, -16, -9,
116 -51, 2099, 0, 61, 87, 87, 87, -86, -86, 33,
117 -40, 87, 87, 0, -81, 0, 0, 0, 0, 825,
118 -39, 0, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
119 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
120 2099, 2099, 2099, 2099, 0, 0, 30, 2099, 2099, 2099,
121 2099, 2099, 2099, 1694, 0, 2099, 0, 0, -49, -118,
122 189, 0, 2099, 353, 0, -39, 2099, 2099, 2099, 2099,
123 104, 1753, 0, 0, 0, -24, 8, 85, 2099, 61,
124 1809, 1865, 0, 23, 0, 2099, 54, 0, 0, -269,
125 -269, 0, -269, -269, -269, -151, 0, -43, 1121, 825,
126 673, 50, 363, 3814, 1233, 2459, 3640, 2309, 266, -82,
127 87, 87, 2099, 0, 1928, 2099, 0, 111, 51, 12,
128 76, 14, 90, 39, 0, -22, 3814, 0, 0, 0,
129 2099, 0, 121, 0, 2099, 2099, 0, -269, 0, 124,
130 0, 125, -269, 126, 130, 0, 112, 335, 0, 0,
131 131, 136, 2099, 0, 0, 0, -14, 0, 1, 0,
132 4, 0, 133, 2099, 55, 2099, 49, 0, 6, 197,
133 2099, 0, 89, 0, 94, 0, 100, 0, 144, 0,
134 1175, 0, 92, 92, 92, 92, 2099, 92, 2099, 171,
135 0, 0, 0, 0, 202, 0, 3900, 108, 0, 0,
136 188, 0, 0, 0, 0, 0, 0, -206, -206, -238,
137 -238, 199, -206, 211, 92, 0, 0, 0, 0, 0,
138 0, 92, 241, 0, 0, 92, 0, 1753, -206, 326,
139 0, 2099, -206, 256, 0, 0, 259, 0, 92, 92,
140 0, -238, 0,
141};
142short yyrindex[] = { 0,
143 0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
144 0, 0, 0, 0, 0, 0, 184, 0, 0, 0,
145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
146 0, 0, 0, 0, 0, 0, 0, 2228, 426, 0,
147 0, 2833, 2876, 0, 0, 0, 0, 0, 0, 0,
148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149 0, 0, 0, 0, 0, 0, 59, 0, -10, 2038,
150 2952, 2995, 0, 0, 2274, 2140, 0, 200, 0, 0,
151 0, 0, -44, 0, 0, 0, 0, 0, 0, 0,
152 2421, 0, 0, 105, 0, 198, 0, 0, 0, 0,
153 0, 0, 0, 3753, 0, 0, 319, 0, 3505, 525,
154 586, 2510, 0, 0, 0, 2185, 0, 3541, 2952, 0,
155 0, 2421, 0, 2553, 3112, 3150, 3188, -37, 3069, 2597,
156 0, 3231, 3269, 0, 0, 0, 0, 0, 0, 3584,
157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
160 0, 0, 0, 0, 0, 2673, 0, 0, 0, 0,
161 909, 0, 319, 0, 0, 0, 320, 0, 0, 0,
162 0, 306, 0, 0, 0, 0, 325, 0, 0, 2789,
163 0, 0, 0, 0, 0, 0, 2716, 0, 0, -5,
164 22, 0, 68, 69, 70, 702, 0, 0, 3741, 1296,
165 1560, 3386, 3424, 3796, 0, 3703, 3660, 3622, 1616, 3467,
166 3305, 3348, 0, 0, 0, 0, 0, 0, 0, 0,
167 0, 0, 0, 0, 0, 0, 3809, 0, 0, 0,
168 309, 0, 0, 0, 0, 2421, 0, 79, 0, 0,
169 0, 0, 330, 0, 0, 0, 0, 84, 0, 0,
170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
172 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
173 0, 0, 0, 0, 0, 0, 0, 0, 317, 0,
174 0, 0, 0, 0, 0, 0, 1982, 0, 0, 0,
175 0, 0, 0, 0, 0, 0, 0, 59, 59, 154,
176 154, 0, 59, 0, 0, 0, 0, 0, 0, 0,
177 0, 0, 0, 0, 0, 0, 0, 340, 59, 909,
178 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
179 0, 154, 0,
180};
181short yygindex[] = { 0,
182 0, 0, 0, 374, 351, 0, -12, 0, 946, 413,
183 -83, 0, 0, 0, -311, -13, 4007, 2893, 0, 0,
184 0, 0, 0, 372, -8, 0, 0, 246, -131, 43,
185 86, 208, -45, -169, 987, 0, 0, 0, 0, 308,
186 0, -271, 0, 0, 0, 0, 0, 0, 0, 0,
187};
188#define YYTABLESIZE 4293
189short yytable[] = { 69,
190 207, 62, 181, 104, 168, 102, 104, 204, 168, 248,
191 20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
192 104, 104, 172, 202, 80, 104, 311, 148, 149, 82,
193 15, 84, 121, 93, 112, 18, 150, 342, 343, 122,
194 150, 312, 124, 131, 313, 182, 319, 135, 15, 169,
195 363, 275, 97, 18, 171, 104, 340, 341, 26, 98,
196 271, 347, 39, 99, 100, 62, 105, 106, 107, 235,
197 293, 141, 295, 23, 170, 173, 205, 355, 58, 174,
198 39, 358, 112, 23, 187, 188, 189, 190, 191, 192,
199 175, 26, 196, 197, 26, 26, 26, 297, 26, 23,
200 26, 26, 178, 26, 176, 200, 169, 318, 16, 17,
201 20, 180, 183, 112, 193, 203, 201, 26, 194, 38,
202 236, 321, 26, 206, 40, 276, 16, 17, 20, 210,
203 211, 213, 214, 215, 216, 217, 218, 38, 251, 62,
204 168, 310, 15, 292, 284, 149, 149, 282, 149, 26,
205 291, 307, 233, 21, 239, 240, 241, 242, 243, 244,
206 246, 300, 149, 149, 303, 304, 305, 149, 294, 197,
207 306, 308, 150, 258, 211, 332, 211, 168, 268, 316,
208 273, 26, 296, 26, 26, 277, 21, 279, 281, 21,
209 21, 21, 283, 21, 309, 21, 21, 149, 21, 4,
210 5, 6, 325, 7, 8, 299, 154, 155, 19, 150,
211 302, 335, 21, 322, 327, 148, 149, 21, 323, 287,
212 357, 289, 290, 163, 324, 314, 164, 167, 338, 165,
213 166, 167, 337, 87, 104, 104, 104, 104, 88, 346,
214 68, 104, 112, 104, 21, 148, 149, 112, 2, 104,
215 104, 104, 104, 148, 149, 350, 148, 149, 68, 104,
216 104, 101, 104, 104, 104, 104, 104, 104, 104, 348,
217 315, 104, 148, 149, 148, 149, 21, 197, 21, 21,
218 352, 44, 148, 149, 44, 44, 44, 234, 44, 320,
219 44, 44, 68, 44, 336, 258, 359, 148, 149, 360,
220 148, 149, 148, 149, 148, 149, 52, 44, 148, 149,
221 148, 149, 44, 252, 26, 26, 26, 26, 26, 26,
222 58, 26, 26, 26, 26, 26, 26, 26, 26, 26,
223 26, 26, 26, 26, 69, 148, 149, 26, 26, 44,
224 26, 26, 26, 26, 26, 148, 149, 148, 149, 26,
225 26, 26, 26, 26, 26, 163, 168, 26, 164, 161,
226 37, 165, 166, 167, 35, 162, 26, 159, 26, 26,
227 40, 44, 148, 149, 44, 37, 149, 149, 149, 149,
228 35, 21, 96, 149, 77, 149, 148, 149, 150, 212,
229 354, 149, 149, 254, 334, 164, 255, 265, 165, 166,
230 167, 149, 149, 186, 149, 149, 149, 149, 149, 21,
231 21, 21, 21, 21, 21, 157, 21, 21, 21, 21,
232 21, 21, 21, 21, 21, 21, 21, 21, 21, 148,
233 149, 0, 21, 21, 0, 21, 21, 21, 21, 21,
234 0, 0, 0, 168, 21, 21, 21, 21, 21, 21,
235 356, 0, 21, 168, 4, 5, 6, 0, 7, 8,
236 0, 21, 0, 21, 21, 0, 150, 0, 0, 150,
237 0, 68, 68, 68, 68, 150, 0, 0, 68, 0,
238 0, 0, 0, 150, 150, 150, 0, 0, 150, 0,
239 0, 0, 0, 148, 149, 0, 68, 68, 148, 149,
240 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
241 0, 44, 44, 44, 0, 0, 150, 44, 150, 0,
242 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
243 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
244 44, 44, 44, 44, 44, 0, 0, 44, 150, 0,
245 0, 0, 152, 153, 154, 155, 44, 173, 44, 44,
246 173, 173, 173, 0, 173, 157, 173, 173, 157, 173,
247 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
248 0, 0, 157, 157, 0, 0, 0, 157, 173, 0,
249 0, 4, 5, 6, 0, 7, 8, 0, 0, 0,
250 0, 0, 0, 0, 0, 0, 143, 144, 145, 146,
251 0, 0, 0, 147, 0, 157, 0, 157, 174, 0,
252 0, 174, 174, 174, 0, 174, 114, 174, 174, 114,
253 174, 148, 149, 151, 0, 0, 0, 0, 0, 152,
254 153, 154, 155, 114, 114, 0, 0, 157, 114, 174,
255 173, 154, 156, 158, 159, 160, 161, 162, 163, 0,
256 0, 164, 0, 0, 165, 166, 167, 0, 163, 0,
257 0, 164, 0, 0, 165, 166, 167, 52, 114, 0,
258 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
259 0, 0, 0, 0, 0, 0, 0, 150, 150, 150,
260 150, 0, 0, 58, 150, 0, 150, 0, 63, 0,
261 0, 174, 150, 150, 150, 150, 329, 330, 331, 0,
262 333, 0, 150, 150, 0, 150, 150, 150, 150, 150,
263 150, 150, 0, 0, 150, 61, 0, 150, 150, 150,
264 0, 0, 67, 0, 0, 67, 0, 349, 0, 0,
265 0, 0, 0, 0, 351, 0, 0, 0, 353, 0,
266 67, 0, 0, 168, 0, 0, 0, 23, 0, 0,
267 53, 361, 362, 0, 0, 0, 0, 0, 0, 0,
268 0, 173, 173, 173, 173, 173, 0, 173, 173, 173,
269 0, 0, 0, 173, 67, 150, 157, 157, 157, 157,
270 0, 0, 0, 157, 173, 157, 173, 173, 173, 173,
271 173, 157, 157, 157, 157, 173, 173, 173, 173, 173,
272 173, 157, 157, 173, 157, 157, 157, 157, 157, 157,
273 157, 0, 173, 157, 173, 173, 157, 157, 157, 0,
274 0, 0, 174, 174, 174, 174, 174, 0, 174, 174,
275 174, 0, 0, 0, 174, 0, 0, 114, 114, 114,
276 114, 0, 0, 0, 114, 174, 114, 174, 174, 174,
277 174, 174, 114, 114, 114, 114, 174, 174, 174, 174,
278 174, 174, 114, 114, 174, 114, 114, 114, 114, 114,
279 114, 114, 0, 174, 114, 174, 174, 114, 114, 114,
280 22, 24, 25, 26, 27, 28, 0, 29, 30, 31,
281 0, 0, 0, 32, 0, 168, 33, 34, 35, 36,
282 0, 0, 0, 37, 38, 0, 39, 40, 41, 42,
283 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
284 49, 44, 0, 51, 44, 44, 44, 150, 44, 0,
285 44, 44, 54, 44, 55, 56, 0, 0, 67, 152,
286 0, 154, 155, 0, 0, 0, 0, 44, 0, 0,
287 0, 0, 44, 67, 67, 67, 67, 162, 163, 0,
288 67, 164, 0, 0, 165, 166, 167, 108, 0, 0,
289 117, 0, 0, 0, 0, 0, 0, 52, 67, 44,
290 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
291 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
292 0, 0, 0, 0, 0, 0, 177, 0, 63, 114,
293 115, 44, 0, 0, 44, 0, 123, 0, 0, 0,
294 185, 0, 0, 0, 0, 0, 0, 0, 136, 137,
295 138, 139, 0, 52, 0, 61, 62, 64, 50, 0,
296 57, 0, 65, 60, 0, 59, 0, 0, 0, 0,
297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
298 0, 0, 0, 0, 63, 0, 209, 23, 0, 0,
299 53, 0, 0, 199, 0, 0, 0, 0, 0, 0,
300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
301 0, 61, 0, 154, 155, 0, 52, 0, 0, 62,
302 64, 50, 0, 57, 249, 65, 60, 0, 59, 162,
303 163, 257, 0, 164, 0, 0, 165, 166, 167, 0,
304 0, 0, 0, 23, 0, 0, 53, 63, 0, 0,
305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
306 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
307 0, 44, 44, 44, 61, 0, 0, 44, 0, 0,
308 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
309 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
310 44, 44, 44, 44, 44, 0, 23, 44, 0, 53,
311 0, 168, 0, 0, 0, 326, 44, 0, 44, 44,
312 0, 110, 25, 26, 27, 28, 88, 29, 30, 31,
313 0, 0, 0, 32, 0, 0, 0, 157, 0, 0,
314 0, 0, 0, 150, 38, 0, 39, 40, 41, 42,
315 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
316 49, 0, 0, 51, 0, 168, 0, 0, 0, 0,
317 0, 0, 54, 0, 55, 56, 0, 24, 25, 26,
318 27, 28, 0, 29, 30, 31, 0, 0, 0, 32,
319 286, 0, 0, 0, 0, 157, 0, 150, 0, 0,
320 38, 0, 39, 40, 41, 42, 43, 0, 0, 0,
321 0, 44, 45, 46, 47, 48, 49, 0, 0, 51,
322 0, 0, 0, 168, 0, 0, 0, 0, 54, 0,
323 55, 56, 0, 0, 0, 0, 88, 0, 0, 88,
324 116, 25, 26, 27, 28, 0, 29, 30, 31, 0,
325 0, 0, 32, 88, 88, 150, 0, 0, 88, 0,
326 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
327 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
328 52, 0, 51, 62, 64, 50, 0, 57, 88, 65,
329 60, 54, 59, 55, 56, 0, 0, 0, 0, 0,
330 0, 0, 0, 0, 0, 0, 120, 152, 153, 154,
331 155, 63, 0, 0, 0, 0, 0, 0, 0, 0,
332 0, 158, 159, 160, 161, 162, 163, 0, 0, 164,
333 0, 0, 165, 166, 167, 0, 52, 0, 61, 62,
334 64, 50, 0, 57, 130, 65, 60, 0, 59, 0,
335 0, 0, 0, 0, 0, 151, 0, 0, 0, 0,
336 0, 152, 153, 154, 155, 0, 0, 63, 0, 0,
337 0, 0, 0, 53, 156, 158, 159, 160, 161, 162,
338 163, 0, 0, 164, 0, 0, 165, 166, 167, 0,
339 0, 0, 52, 0, 61, 62, 64, 50, 0, 57,
340 0, 65, 60, 0, 59, 0, 0, 0, 0, 0,
341 0, 0, 0, 151, 0, 0, 0, 0, 0, 152,
342 153, 154, 155, 63, 0, 0, 0, 0, 0, 53,
343 0, 0, 156, 158, 159, 160, 161, 162, 163, 0,
344 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
345 61, 52, 134, 0, 62, 64, 50, 0, 57, 195,
346 65, 60, 0, 59, 0, 0, 0, 88, 88, 88,
347 88, 0, 0, 0, 88, 0, 88, 0, 0, 0,
348 0, 0, 63, 88, 0, 53, 0, 0, 0, 0,
349 0, 0, 88, 88, 0, 88, 88, 88, 88, 88,
350 89, 0, 0, 89, 24, 25, 26, 27, 28, 61,
351 29, 30, 31, 0, 0, 0, 32, 89, 89, 0,
352 0, 0, 89, 0, 0, 0, 0, 38, 0, 39,
353 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
354 46, 47, 48, 49, 53, 0, 51, 0, 0, 0,
355 0, 0, 89, 0, 0, 54, 90, 55, 56, 90,
356 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
357 0, 0, 32, 90, 90, 0, 0, 0, 90, 0,
358 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
359 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
360 0, 0, 51, 0, 0, 0, 0, 0, 90, 0,
361 0, 54, 0, 55, 56, 0, 24, 25, 26, 27,
362 28, 0, 29, 30, 31, 0, 52, 0, 32, 62,
363 64, 50, 0, 57, 245, 65, 60, 0, 59, 38,
364 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
365 44, 45, 46, 47, 48, 49, 0, 63, 51, 0,
366 0, 0, 0, 0, 0, 0, 0, 54, 0, 55,
367 56, 0, 0, 0, 0, 24, 25, 26, 27, 28,
368 0, 29, 30, 31, 61, 52, 0, 32, 62, 64,
369 50, 0, 57, 0, 65, 60, 0, 59, 38, 0,
370 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
371 45, 46, 47, 48, 49, 0, 63, 51, 0, 53,
372 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
373 0, 89, 89, 89, 89, 0, 0, 0, 89, 0,
374 89, 52, 0, 61, 62, 64, 50, 0, 57, 278,
375 65, 60, 0, 59, 0, 0, 89, 89, 0, 89,
376 89, 89, 89, 89, 0, 0, 0, 0, 0, 0,
377 0, 0, 63, 0, 0, 0, 0, 0, 53, 0,
378 0, 0, 0, 0, 0, 0, 0, 90, 90, 90,
379 90, 0, 0, 0, 90, 0, 90, 52, 0, 61,
380 62, 64, 50, 0, 57, 280, 65, 60, 0, 59,
381 0, 0, 90, 90, 0, 90, 90, 90, 90, 90,
382 0, 0, 0, 0, 0, 0, 0, 0, 63, 0,
383 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
385 24, 25, 26, 27, 28, 61, 29, 30, 31, 0,
386 52, 0, 32, 62, 64, 50, 0, 57, 288, 65,
387 60, 0, 59, 38, 0, 39, 40, 41, 42, 43,
388 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
389 53, 63, 51, 0, 0, 0, 0, 0, 0, 0,
390 0, 54, 0, 55, 56, 0, 0, 0, 22, 24,
391 25, 26, 27, 28, 0, 29, 30, 31, 61, 0,
392 0, 32, 95, 0, 0, 95, 0, 0, 0, 0,
393 0, 0, 38, 0, 39, 40, 41, 42, 43, 95,
394 95, 0, 0, 44, 45, 46, 47, 48, 49, 0,
395 0, 51, 0, 53, 0, 0, 0, 0, 0, 0,
396 54, 0, 55, 56, 0, 24, 25, 26, 27, 28,
397 0, 29, 30, 31, 95, 0, 0, 32, 71, 0,
398 0, 71, 0, 0, 0, 0, 0, 0, 38, 0,
399 39, 40, 41, 42, 43, 71, 71, 0, 0, 44,
400 45, 46, 47, 48, 49, 0, 0, 51, 0, 0,
401 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
402 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
403 71, 52, 0, 32, 62, 64, 50, 0, 57, 0,
404 65, 60, 0, 59, 38, 0, 39, 40, 41, 42,
405 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
406 49, 0, 63, 51, 0, 0, 0, 0, 0, 0,
407 0, 0, 54, 0, 55, 56, 0, 0, 0, 0,
408 131, 0, 0, 131, 24, 25, 26, 27, 28, 61,
409 29, 30, 31, 0, 0, 0, 32, 131, 131, 0,
410 0, 0, 131, 0, 0, 0, 0, 38, 0, 39,
411 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
412 46, 47, 48, 49, 53, 157, 51, 0, 157, 0,
413 131, 0, 131, 0, 0, 54, 0, 55, 56, 0,
414 0, 0, 157, 157, 0, 0, 0, 157, 0, 0,
415 0, 0, 0, 95, 95, 95, 95, 0, 0, 0,
416 95, 0, 131, 0, 0, 0, 0, 0, 143, 0,
417 0, 143, 0, 0, 0, 157, 0, 157, 95, 95,
418 0, 95, 0, 0, 0, 143, 143, 0, 0, 0,
419 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 157, 0, 71,
421 71, 71, 71, 0, 116, 0, 71, 116, 0, 0,
422 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 116, 116, 0, 71, 71, 116, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 143, 0, 0, 0, 0, 24, 25, 26, 27, 28,
426 0, 29, 30, 31, 116, 0, 116, 32, 0, 0,
427 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
428 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
429 45, 46, 47, 48, 49, 0, 0, 51, 0, 168,
430 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
431 0, 131, 131, 131, 131, 0, 0, 0, 131, 0,
432 131, 0, 0, 0, 0, 0, 131, 131, 131, 131,
433 0, 150, 0, 0, 0, 0, 131, 131, 0, 131,
434 131, 131, 131, 131, 131, 131, 0, 0, 131, 0,
435 0, 131, 131, 131, 0, 0, 157, 157, 157, 157,
436 0, 159, 0, 157, 159, 157, 0, 0, 0, 0,
437 0, 157, 157, 157, 157, 0, 0, 0, 159, 159,
438 0, 157, 157, 159, 157, 157, 157, 157, 157, 157,
439 157, 0, 0, 157, 0, 0, 157, 157, 157, 143,
440 143, 143, 143, 0, 0, 0, 143, 0, 143, 0,
441 0, 0, 0, 159, 143, 143, 143, 143, 0, 0,
442 0, 0, 0, 0, 143, 143, 0, 143, 143, 143,
443 143, 143, 143, 143, 0, 0, 143, 0, 0, 143,
444 143, 143, 0, 159, 0, 116, 116, 116, 116, 168,
445 160, 0, 116, 0, 116, 0, 0, 0, 0, 0,
446 116, 116, 116, 116, 0, 0, 0, 160, 160, 0,
447 116, 116, 160, 116, 116, 116, 116, 116, 116, 116,
448 0, 150, 116, 0, 0, 116, 116, 116, 0, 0,
449 0, 0, 0, 145, 0, 152, 153, 154, 155, 0,
450 160, 0, 160, 0, 0, 0, 0, 0, 0, 0,
451 145, 145, 161, 162, 163, 145, 0, 164, 0, 0,
452 165, 166, 167, 0, 0, 0, 0, 0, 0, 0,
453 0, 0, 160, 0, 0, 0, 0, 108, 0, 0,
454 108, 0, 0, 145, 0, 145, 0, 0, 0, 0,
455 0, 0, 0, 0, 108, 108, 0, 0, 0, 108,
456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
457 0, 0, 0, 0, 0, 145, 0, 0, 0, 0,
458 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
459 0, 0, 159, 159, 159, 159, 0, 0, 0, 159,
460 0, 159, 0, 0, 0, 0, 0, 159, 159, 159,
461 159, 0, 0, 69, 0, 0, 69, 159, 159, 108,
462 159, 159, 159, 159, 159, 159, 159, 0, 0, 159,
463 69, 69, 159, 159, 159, 69, 0, 0, 0, 0,
464 0, 0, 0, 0, 0, 152, 153, 154, 155, 0,
465 0, 0, 0, 0, 0, 0, 107, 0, 0, 107,
466 159, 160, 161, 162, 163, 69, 0, 164, 0, 0,
467 165, 166, 167, 107, 107, 0, 0, 0, 107, 0,
468 0, 160, 160, 160, 160, 0, 0, 0, 160, 0,
469 160, 0, 0, 0, 0, 69, 160, 160, 160, 160,
470 0, 0, 0, 0, 0, 0, 160, 160, 107, 160,
471 160, 160, 160, 160, 160, 160, 0, 0, 160, 0,
472 0, 160, 160, 160, 145, 145, 145, 145, 0, 72,
473 0, 145, 0, 145, 0, 0, 0, 0, 107, 145,
474 145, 145, 145, 0, 0, 0, 72, 72, 0, 145,
475 145, 72, 145, 145, 145, 145, 145, 145, 145, 0,
476 0, 145, 0, 0, 145, 145, 145, 0, 108, 108,
477 108, 108, 0, 146, 0, 108, 146, 108, 0, 72,
478 0, 72, 0, 108, 108, 108, 108, 0, 0, 0,
479 146, 146, 0, 108, 108, 146, 108, 108, 108, 108,
480 108, 108, 108, 0, 0, 108, 0, 0, 108, 108,
481 108, 72, 0, 0, 0, 0, 159, 90, 90, 159,
482 0, 0, 0, 0, 0, 146, 0, 0, 0, 103,
483 0, 0, 0, 159, 159, 111, 90, 119, 159, 0,
484 0, 0, 90, 0, 69, 69, 69, 69, 0, 0,
485 0, 69, 0, 69, 90, 90, 90, 90, 0, 69,
486 69, 69, 69, 0, 0, 0, 0, 0, 159, 69,
487 69, 0, 69, 69, 69, 69, 69, 69, 69, 0,
488 0, 69, 0, 0, 69, 69, 69, 107, 107, 107,
489 107, 0, 114, 0, 107, 114, 107, 0, 0, 111,
490 0, 0, 107, 107, 107, 107, 0, 0, 0, 114,
491 114, 0, 107, 107, 114, 107, 107, 107, 107, 107,
492 107, 107, 0, 0, 107, 0, 0, 107, 107, 107,
493 0, 0, 0, 0, 0, 121, 0, 0, 121, 0,
494 0, 0, 0, 0, 114, 0, 0, 0, 0, 0,
495 0, 0, 121, 121, 0, 0, 0, 121, 0, 237,
496 72, 72, 72, 72, 0, 0, 0, 72, 0, 72,
497 0, 0, 0, 0, 0, 72, 72, 72, 72, 0,
498 0, 0, 0, 266, 0, 72, 72, 121, 72, 72,
499 72, 72, 72, 72, 72, 0, 0, 72, 0, 0,
500 72, 72, 72, 0, 146, 146, 146, 146, 0, 105,
501 0, 146, 105, 146, 0, 0, 0, 0, 0, 146,
502 146, 146, 146, 0, 0, 0, 105, 105, 0, 146,
503 146, 105, 146, 146, 146, 146, 146, 146, 146, 0,
504 0, 146, 0, 0, 146, 146, 146, 159, 159, 159,
505 159, 0, 99, 0, 159, 99, 159, 0, 0, 0,
506 0, 105, 159, 159, 159, 159, 0, 0, 0, 99,
507 99, 0, 159, 159, 99, 159, 159, 159, 159, 159,
508 159, 159, 0, 0, 159, 0, 0, 159, 159, 159,
509 100, 0, 0, 100, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 99, 0, 0, 100, 100, 0,
511 0, 0, 100, 0, 0, 0, 0, 0, 0, 0,
512 0, 0, 0, 114, 114, 114, 114, 0, 101, 0,
513 114, 101, 114, 0, 0, 0, 0, 0, 114, 114,
514 114, 114, 100, 0, 0, 101, 101, 0, 114, 114,
515 101, 114, 114, 114, 114, 114, 114, 114, 0, 0,
516 114, 0, 0, 114, 114, 114, 121, 121, 121, 121,
517 0, 97, 0, 121, 97, 121, 0, 0, 0, 0,
518 101, 121, 121, 121, 121, 0, 0, 0, 97, 97,
519 0, 121, 121, 97, 121, 121, 121, 121, 121, 121,
520 121, 0, 0, 121, 0, 0, 121, 121, 121, 98,
521 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
522 0, 0, 0, 97, 0, 0, 98, 98, 0, 0,
523 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
524 105, 105, 105, 105, 0, 96, 0, 105, 96, 105,
525 0, 0, 0, 0, 0, 105, 105, 105, 105, 0,
526 0, 98, 96, 96, 0, 105, 105, 96, 105, 105,
527 105, 105, 105, 105, 105, 0, 0, 105, 0, 0,
528 0, 0, 0, 99, 99, 99, 99, 0, 84, 0,
529 99, 84, 99, 0, 0, 0, 0, 96, 99, 99,
530 99, 99, 0, 0, 0, 84, 84, 0, 99, 99,
531 84, 99, 99, 99, 99, 99, 99, 99, 0, 0,
532 0, 100, 100, 100, 100, 0, 85, 0, 100, 85,
533 100, 0, 0, 0, 0, 0, 100, 100, 100, 100,
534 84, 0, 0, 85, 85, 0, 100, 100, 85, 100,
535 100, 100, 100, 100, 100, 100, 0, 0, 0, 101,
536 101, 101, 101, 0, 86, 0, 101, 86, 101, 0,
537 0, 0, 0, 0, 101, 101, 101, 101, 85, 0,
538 0, 86, 86, 0, 101, 101, 86, 101, 101, 101,
539 101, 101, 101, 101, 0, 0, 0, 0, 0, 0,
540 0, 0, 97, 97, 97, 97, 0, 87, 0, 97,
541 87, 97, 0, 0, 0, 0, 86, 97, 97, 97,
542 97, 0, 0, 0, 87, 87, 0, 97, 97, 87,
543 97, 97, 97, 97, 97, 97, 97, 0, 0, 0,
544 98, 98, 98, 98, 0, 148, 0, 98, 148, 98,
545 0, 0, 0, 0, 0, 98, 98, 98, 98, 87,
546 0, 0, 148, 148, 0, 98, 98, 148, 98, 98,
547 98, 98, 98, 98, 98, 0, 96, 96, 96, 96,
548 0, 135, 0, 96, 135, 96, 0, 0, 0, 0,
549 0, 96, 96, 96, 96, 0, 0, 148, 135, 135,
550 0, 96, 96, 135, 96, 96, 96, 96, 96, 96,
551 96, 0, 0, 0, 0, 0, 0, 0, 0, 84,
552 84, 84, 84, 0, 106, 0, 84, 106, 84, 0,
553 0, 0, 0, 135, 84, 84, 84, 84, 0, 0,
554 0, 106, 106, 0, 84, 84, 106, 84, 84, 84,
555 84, 84, 84, 84, 0, 0, 0, 85, 85, 85,
556 85, 0, 91, 0, 85, 91, 85, 0, 0, 0,
557 0, 0, 85, 85, 85, 85, 106, 0, 0, 91,
558 91, 0, 85, 85, 91, 85, 85, 85, 85, 85,
559 85, 0, 0, 0, 0, 86, 86, 86, 86, 0,
560 93, 0, 86, 93, 86, 0, 0, 0, 0, 0,
561 86, 86, 0, 86, 91, 0, 0, 93, 93, 0,
562 86, 86, 93, 86, 86, 86, 86, 86, 86, 0,
563 168, 0, 0, 0, 0, 0, 0, 0, 87, 87,
564 87, 87, 0, 94, 0, 87, 94, 87, 0, 0,
565 0, 0, 93, 87, 87, 0, 0, 0, 0, 0,
566 94, 94, 150, 87, 87, 94, 87, 87, 87, 87,
567 87, 87, 0, 0, 0, 0, 148, 148, 148, 148,
568 0, 92, 0, 148, 92, 148, 0, 0, 0, 0,
569 0, 148, 148, 144, 0, 94, 144, 0, 92, 92,
570 0, 148, 148, 92, 148, 148, 148, 148, 148, 0,
571 144, 144, 135, 135, 135, 135, 0, 0, 0, 135,
572 0, 135, 0, 0, 0, 0, 0, 135, 135, 0,
573 0, 0, 0, 92, 0, 0, 83, 135, 135, 83,
574 135, 135, 135, 135, 135, 144, 0, 0, 0, 70,
575 0, 0, 70, 83, 83, 106, 106, 106, 106, 0,
576 0, 0, 106, 0, 106, 0, 70, 70, 0, 0,
577 106, 106, 0, 0, 0, 0, 157, 0, 0, 0,
578 106, 106, 0, 106, 106, 106, 106, 106, 83, 0,
579 0, 0, 0, 91, 91, 91, 91, 0, 0, 0,
580 91, 70, 91, 0, 168, 0, 0, 0, 0, 0,
581 0, 0, 0, 0, 0, 0, 0, 0, 91, 91,
582 0, 91, 91, 91, 91, 0, 152, 153, 154, 155,
583 0, 93, 93, 93, 93, 0, 150, 0, 93, 0,
584 93, 0, 160, 161, 162, 163, 0, 0, 164, 0,
585 0, 165, 166, 167, 0, 0, 93, 93, 0, 93,
586 93, 93, 157, 0, 0, 0, 0, 0, 0, 0,
587 0, 0, 0, 0, 94, 94, 94, 94, 0, 0,
588 0, 94, 0, 94, 0, 0, 0, 0, 0, 0,
589 168, 0, 0, 0, 0, 0, 0, 0, 0, 94,
590 94, 0, 94, 94, 0, 0, 0, 0, 0, 0,
591 0, 0, 92, 92, 92, 92, 0, 0, 0, 92,
592 0, 0, 150, 0, 144, 144, 144, 144, 0, 0,
593 0, 144, 0, 0, 0, 0, 94, 92, 92, 0,
594 92, 0, 0, 0, 104, 0, 0, 0, 109, 144,
595 144, 118, 0, 0, 0, 0, 0, 0, 125, 126,
596 127, 128, 129, 0, 0, 132, 133, 83, 83, 83,
597 83, 0, 140, 0, 83, 0, 0, 0, 0, 0,
598 70, 70, 70, 70, 0, 0, 0, 70, 0, 0,
599 0, 0, 83, 83, 151, 0, 0, 0, 0, 184,
600 152, 153, 154, 155, 0, 70, 70, 0, 0, 0,
601 0, 0, 0, 156, 158, 159, 160, 161, 162, 163,
602 0, 0, 164, 0, 0, 165, 166, 167, 0, 0,
603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
605 0, 0, 0, 0, 0, 0, 0, 219, 220, 221,
606 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
607 232, 0, 0, 0, 0, 0, 0, 0, 0, 0,
608 151, 0, 247, 0, 0, 0, 152, 153, 154, 155,
609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
610 158, 159, 160, 161, 162, 163, 0, 0, 164, 0,
611 0, 165, 166, 167, 0, 0, 0, 0, 0, 0,
612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
616 0, 301, 0, 0, 0, 0, 0, 0, 0, 0,
617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
619 0, 0, 317,
620};
621short yycheck[] = { 13,
622 41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
623 59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
624 58, 59, 91, 40, 257, 63, 41, 297, 298, 257,
625 41, 59, 46, 40, 43, 41, 123, 276, 277, 257,
626 123, 41, 51, 57, 41, 91, 41, 61, 59, 123,
627 362, 44, 40, 59, 123, 93, 328, 329, 0, 40,
628 192, 333, 41, 40, 40, 36, 40, 40, 40, 40,
629 59, 278, 59, 123, 91, 123, 122, 349, 123, 40,
630 59, 353, 91, 123, 97, 98, 99, 100, 101, 102,
631 59, 33, 106, 107, 36, 37, 38, 59, 40, 123,
632 42, 43, 260, 45, 44, 114, 123, 59, 41, 41,
633 41, 257, 40, 122, 40, 125, 40, 59, 41, 41,
634 91, 291, 64, 91, 41, 41, 59, 59, 59, 143,
635 144, 145, 146, 147, 148, 149, 150, 59, 257, 36,
636 91, 273, 59, 93, 91, 41, 298, 125, 44, 91,
637 40, 40, 123, 0, 168, 169, 170, 171, 172, 173,
638 174, 41, 58, 59, 41, 41, 41, 63, 93, 183,
639 41, 41, 123, 187, 188, 307, 190, 91, 192, 125,
640 193, 123, 93, 125, 126, 199, 33, 201, 202, 36,
641 37, 38, 206, 40, 59, 42, 43, 93, 45, 266,
642 267, 268, 59, 270, 271, 251, 289, 290, 257, 123,
643 256, 41, 59, 125, 123, 297, 298, 64, 125, 233,
644 352, 235, 236, 306, 125, 93, 309, 314, 41, 312,
645 313, 314, 125, 257, 272, 273, 274, 275, 262, 41,
646 41, 279, 251, 281, 91, 297, 298, 256, 0, 287,
647 288, 289, 290, 297, 298, 339, 297, 298, 59, 297,
648 298, 296, 300, 301, 302, 303, 304, 305, 306, 59,
649 284, 309, 297, 298, 297, 298, 123, 291, 125, 126,
650 40, 33, 297, 298, 36, 37, 38, 258, 40, 93,
651 42, 43, 93, 45, 93, 309, 41, 297, 298, 41,
652 297, 298, 297, 298, 297, 298, 123, 59, 297, 298,
653 297, 298, 64, 125, 256, 257, 258, 259, 260, 261,
654 123, 263, 264, 265, 266, 267, 268, 269, 270, 271,
655 272, 273, 274, 275, 348, 297, 298, 279, 280, 91,
656 282, 283, 284, 285, 286, 297, 298, 297, 298, 291,
657 292, 293, 294, 295, 296, 306, 91, 299, 309, 41,
658 41, 312, 313, 314, 59, 41, 308, 59, 310, 311,
659 41, 123, 297, 298, 126, 59, 272, 273, 274, 275,
660 41, 8, 32, 279, 13, 281, 297, 298, 123, 144,
661 348, 287, 288, 41, 309, 309, 44, 190, 312, 313,
662 314, 297, 298, 96, 300, 301, 302, 303, 304, 256,
663 257, 258, 259, 260, 261, 63, 263, 264, 265, 266,
664 267, 268, 269, 270, 271, 272, 273, 274, 275, 297,
665 298, -1, 279, 280, -1, 282, 283, 284, 285, 286,
666 -1, -1, -1, 91, 291, 292, 293, 294, 295, 296,
667 125, -1, 299, 91, 266, 267, 268, -1, 270, 271,
668 -1, 308, -1, 310, 311, -1, 41, -1, -1, 44,
669 -1, 272, 273, 274, 275, 123, -1, -1, 279, -1,
670 -1, -1, -1, 58, 59, 123, -1, -1, 63, -1,
671 -1, -1, -1, 297, 298, -1, 297, 298, 297, 298,
672 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
673 -1, 263, 264, 265, -1, -1, 91, 269, 93, -1,
674 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
675 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
676 292, 293, 294, 295, 296, -1, -1, 299, 123, -1,
677 -1, -1, 287, 288, 289, 290, 308, 33, 310, 311,
678 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
679 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
680 -1, -1, 58, 59, -1, -1, -1, 63, 64, -1,
681 -1, 266, 267, 268, -1, 270, 271, -1, -1, -1,
682 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
683 -1, -1, -1, 279, -1, 91, -1, 93, 33, -1,
684 -1, 36, 37, 38, -1, 40, 41, 42, 43, 44,
685 45, 297, 298, 281, -1, -1, -1, -1, -1, 287,
686 288, 289, 290, 58, 59, -1, -1, 123, 63, 64,
687 126, 289, 300, 301, 302, 303, 304, 305, 306, -1,
688 -1, 309, -1, -1, 312, 313, 314, -1, 306, -1,
689 -1, 309, -1, -1, 312, 313, 314, 33, 93, -1,
690 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
691 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
692 275, -1, -1, 59, 279, -1, 281, -1, 64, -1,
693 -1, 126, 287, 288, 289, 290, 304, 305, 306, -1,
694 308, -1, 297, 298, -1, 300, 301, 302, 303, 304,
695 305, 306, -1, -1, 309, 91, -1, 312, 313, 314,
696 -1, -1, 41, -1, -1, 44, -1, 335, -1, -1,
697 -1, -1, -1, -1, 342, -1, -1, -1, 346, -1,
698 59, -1, -1, 91, -1, -1, -1, 123, -1, -1,
699 126, 359, 360, -1, -1, -1, -1, -1, -1, -1,
700 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
701 -1, -1, -1, 269, 93, 123, 272, 273, 274, 275,
702 -1, -1, -1, 279, 280, 281, 282, 283, 284, 285,
703 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
704 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
705 306, -1, 308, 309, 310, 311, 312, 313, 314, -1,
706 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
707 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
708 275, -1, -1, -1, 279, 280, 281, 282, 283, 284,
709 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
710 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
711 305, 306, -1, 308, 309, 310, 311, 312, 313, 314,
712 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
713 -1, -1, -1, 269, -1, 91, 272, 273, 274, 275,
714 -1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
715 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
716 296, 33, -1, 299, 36, 37, 38, 123, 40, -1,
717 42, 43, 308, 45, 310, 311, -1, -1, 13, 287,
718 -1, 289, 290, -1, -1, -1, -1, 59, -1, -1,
719 -1, -1, 64, 272, 273, 274, 275, 305, 306, -1,
720 279, 309, -1, -1, 312, 313, 314, 42, -1, -1,
721 45, -1, -1, -1, -1, -1, -1, 33, 297, 91,
722 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
723 -1, -1, 26, -1, -1, -1, -1, -1, -1, -1,
724 -1, -1, -1, -1, -1, -1, 81, -1, 64, 43,
725 44, 123, -1, -1, 126, -1, 50, -1, -1, -1,
726 95, -1, -1, -1, -1, -1, -1, -1, 62, 63,
727 64, 65, -1, 33, -1, 91, 36, 37, 38, -1,
728 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
729 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
730 -1, -1, -1, -1, 64, -1, 141, 123, -1, -1,
731 126, -1, -1, 107, -1, -1, -1, -1, -1, -1,
732 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
733 -1, 91, -1, 289, 290, -1, 33, -1, -1, 36,
734 37, 38, -1, 40, 179, 42, 43, -1, 45, 305,
735 306, 186, -1, 309, -1, -1, 312, 313, 314, -1,
736 -1, -1, -1, 123, -1, -1, 126, 64, -1, -1,
737 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
738 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
739 -1, 263, 264, 265, 91, -1, -1, 269, -1, -1,
740 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
741 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
742 292, 293, 294, 295, 296, -1, 123, 299, -1, 126,
743 -1, 91, -1, -1, -1, 41, 308, -1, 310, 311,
744 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
745 -1, -1, -1, 269, -1, -1, -1, 63, -1, -1,
746 -1, -1, -1, 123, 280, -1, 282, 283, 284, 285,
747 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
748 296, -1, -1, 299, -1, 91, -1, -1, -1, -1,
749 -1, -1, 308, -1, 310, 311, -1, 257, 258, 259,
750 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
751 58, -1, -1, -1, -1, 63, -1, 123, -1, -1,
752 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
753 -1, 291, 292, 293, 294, 295, 296, -1, -1, 299,
754 -1, -1, -1, 91, -1, -1, -1, -1, 308, -1,
755 310, 311, -1, -1, -1, -1, 41, -1, -1, 44,
756 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
757 -1, -1, 269, 58, 59, 123, -1, -1, 63, -1,
758 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
759 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
760 33, -1, 299, 36, 37, 38, -1, 40, 93, 42,
761 43, 308, 45, 310, 311, -1, -1, -1, -1, -1,
762 -1, -1, -1, -1, -1, -1, 59, 287, 288, 289,
763 290, 64, -1, -1, -1, -1, -1, -1, -1, -1,
764 -1, 301, 302, 303, 304, 305, 306, -1, -1, 309,
765 -1, -1, 312, 313, 314, -1, 33, -1, 91, 36,
766 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
767 -1, -1, -1, -1, -1, 281, -1, -1, -1, -1,
768 -1, 287, 288, 289, 290, -1, -1, 64, -1, -1,
769 -1, -1, -1, 126, 300, 301, 302, 303, 304, 305,
770 306, -1, -1, 309, -1, -1, 312, 313, 314, -1,
771 -1, -1, 33, -1, 91, 36, 37, 38, -1, 40,
772 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
773 -1, -1, -1, 281, -1, -1, -1, -1, -1, 287,
774 288, 289, 290, 64, -1, -1, -1, -1, -1, 126,
775 -1, -1, 300, 301, 302, 303, 304, 305, 306, -1,
776 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
777 91, 33, 93, -1, 36, 37, 38, -1, 40, 41,
778 42, 43, -1, 45, -1, -1, -1, 272, 273, 274,
779 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
780 -1, -1, 64, 288, -1, 126, -1, -1, -1, -1,
781 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
782 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
783 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
784 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
785 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
786 293, 294, 295, 296, 126, -1, 299, -1, -1, -1,
787 -1, -1, 93, -1, -1, 308, 41, 310, 311, 44,
788 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
789 -1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
790 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
791 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
792 -1, -1, 299, -1, -1, -1, -1, -1, 93, -1,
793 -1, 308, -1, 310, 311, -1, 257, 258, 259, 260,
794 261, -1, 263, 264, 265, -1, 33, -1, 269, 36,
795 37, 38, -1, 40, 41, 42, 43, -1, 45, 280,
796 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
797 291, 292, 293, 294, 295, 296, -1, 64, 299, -1,
798 -1, -1, -1, -1, -1, -1, -1, 308, -1, 310,
799 311, -1, -1, -1, -1, 257, 258, 259, 260, 261,
800 -1, 263, 264, 265, 91, 33, -1, 269, 36, 37,
801 38, -1, 40, -1, 42, 43, -1, 45, 280, -1,
802 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
803 292, 293, 294, 295, 296, -1, 64, 299, -1, 126,
804 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
805 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
806 281, 33, -1, 91, 36, 37, 38, -1, 40, 41,
807 42, 43, -1, 45, -1, -1, 297, 298, -1, 300,
808 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
809 -1, -1, 64, -1, -1, -1, -1, -1, 126, -1,
810 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
811 275, -1, -1, -1, 279, -1, 281, 33, -1, 91,
812 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
813 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
814 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
815 -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
816 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
817 257, 258, 259, 260, 261, 91, 263, 264, 265, -1,
818 33, -1, 269, 36, 37, 38, -1, 40, 41, 42,
819 43, -1, 45, 280, -1, 282, 283, 284, 285, 286,
820 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
821 126, 64, 299, -1, -1, -1, -1, -1, -1, -1,
822 -1, 308, -1, 310, 311, -1, -1, -1, 256, 257,
823 258, 259, 260, 261, -1, 263, 264, 265, 91, -1,
824 -1, 269, 41, -1, -1, 44, -1, -1, -1, -1,
825 -1, -1, 280, -1, 282, 283, 284, 285, 286, 58,
826 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
827 -1, 299, -1, 126, -1, -1, -1, -1, -1, -1,
828 308, -1, 310, 311, -1, 257, 258, 259, 260, 261,
829 -1, 263, 264, 265, 93, -1, -1, 269, 41, -1,
830 -1, 44, -1, -1, -1, -1, -1, -1, 280, -1,
831 282, 283, 284, 285, 286, 58, 59, -1, -1, 291,
832 292, 293, 294, 295, 296, -1, -1, 299, -1, -1,
833 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
834 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
835 93, 33, -1, 269, 36, 37, 38, -1, 40, -1,
836 42, 43, -1, 45, 280, -1, 282, 283, 284, 285,
837 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
838 296, -1, 64, 299, -1, -1, -1, -1, -1, -1,
839 -1, -1, 308, -1, 310, 311, -1, -1, -1, -1,
840 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
841 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
842 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
843 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
844 293, 294, 295, 296, 126, 41, 299, -1, 44, -1,
845 91, -1, 93, -1, -1, 308, -1, 310, 311, -1,
846 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
847 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
848 279, -1, 123, -1, -1, -1, -1, -1, 41, -1,
849 -1, 44, -1, -1, -1, 91, -1, 93, 297, 298,
850 -1, 300, -1, -1, -1, 58, 59, -1, -1, -1,
851 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
852 -1, -1, -1, -1, -1, -1, -1, 123, -1, 272,
853 273, 274, 275, -1, 41, -1, 279, 44, -1, -1,
854 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
855 -1, 58, 59, -1, 297, 298, 63, -1, -1, -1,
856 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
857 123, -1, -1, -1, -1, 257, 258, 259, 260, 261,
858 -1, 263, 264, 265, 91, -1, 93, 269, -1, -1,
859 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
860 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
861 292, 293, 294, 295, 296, -1, -1, 299, -1, 91,
862 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
863 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
864 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
865 -1, 123, -1, -1, -1, -1, 297, 298, -1, 300,
866 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
867 -1, 312, 313, 314, -1, -1, 272, 273, 274, 275,
868 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
869 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
870 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
871 306, -1, -1, 309, -1, -1, 312, 313, 314, 272,
872 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
873 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
874 -1, -1, -1, -1, 297, 298, -1, 300, 301, 302,
875 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
876 313, 314, -1, 123, -1, 272, 273, 274, 275, 91,
877 41, -1, 279, -1, 281, -1, -1, -1, -1, -1,
878 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
879 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
880 -1, 123, 309, -1, -1, 312, 313, 314, -1, -1,
881 -1, -1, -1, 41, -1, 287, 288, 289, 290, -1,
882 91, -1, 93, -1, -1, -1, -1, -1, -1, -1,
883 58, 59, 304, 305, 306, 63, -1, 309, -1, -1,
884 312, 313, 314, -1, -1, -1, -1, -1, -1, -1,
885 -1, -1, 123, -1, -1, -1, -1, 41, -1, -1,
886 44, -1, -1, 91, -1, 93, -1, -1, -1, -1,
887 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
888 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
889 -1, -1, -1, -1, -1, 123, -1, -1, -1, -1,
890 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
891 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
892 -1, 281, -1, -1, -1, -1, -1, 287, 288, 289,
893 290, -1, -1, 41, -1, -1, 44, 297, 298, 123,
894 300, 301, 302, 303, 304, 305, 306, -1, -1, 309,
895 58, 59, 312, 313, 314, 63, -1, -1, -1, -1,
896 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
897 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
898 302, 303, 304, 305, 306, 93, -1, 309, -1, -1,
899 312, 313, 314, 58, 59, -1, -1, -1, 63, -1,
900 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
901 281, -1, -1, -1, -1, 123, 287, 288, 289, 290,
902 -1, -1, -1, -1, -1, -1, 297, 298, 93, 300,
903 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
904 -1, 312, 313, 314, 272, 273, 274, 275, -1, 41,
905 -1, 279, -1, 281, -1, -1, -1, -1, 123, 287,
906 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
907 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
908 -1, 309, -1, -1, 312, 313, 314, -1, 272, 273,
909 274, 275, -1, 41, -1, 279, 44, 281, -1, 91,
910 -1, 93, -1, 287, 288, 289, 290, -1, -1, -1,
911 58, 59, -1, 297, 298, 63, 300, 301, 302, 303,
912 304, 305, 306, -1, -1, 309, -1, -1, 312, 313,
913 314, 123, -1, -1, -1, -1, 41, 25, 26, 44,
914 -1, -1, -1, -1, -1, 93, -1, -1, -1, 37,
915 -1, -1, -1, 58, 59, 43, 44, 45, 63, -1,
916 -1, -1, 50, -1, 272, 273, 274, 275, -1, -1,
917 -1, 279, -1, 281, 62, 63, 64, 65, -1, 287,
918 288, 289, 290, -1, -1, -1, -1, -1, 93, 297,
919 298, -1, 300, 301, 302, 303, 304, 305, 306, -1,
920 -1, 309, -1, -1, 312, 313, 314, 272, 273, 274,
921 275, -1, 41, -1, 279, 44, 281, -1, -1, 107,
922 -1, -1, 287, 288, 289, 290, -1, -1, -1, 58,
923 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
924 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
925 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
926 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
927 -1, -1, 58, 59, -1, -1, -1, 63, -1, 167,
928 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
929 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
930 -1, -1, -1, 191, -1, 297, 298, 93, 300, 301,
931 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
932 312, 313, 314, -1, 272, 273, 274, 275, -1, 41,
933 -1, 279, 44, 281, -1, -1, -1, -1, -1, 287,
934 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
935 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
936 -1, 309, -1, -1, 312, 313, 314, 272, 273, 274,
937 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
938 -1, 93, 287, 288, 289, 290, -1, -1, -1, 58,
939 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
940 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
941 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
942 -1, -1, -1, -1, 93, -1, -1, 58, 59, -1,
943 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
944 -1, -1, -1, 272, 273, 274, 275, -1, 41, -1,
945 279, 44, 281, -1, -1, -1, -1, -1, 287, 288,
946 289, 290, 93, -1, -1, 58, 59, -1, 297, 298,
947 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
948 309, -1, -1, 312, 313, 314, 272, 273, 274, 275,
949 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
950 93, 287, 288, 289, 290, -1, -1, -1, 58, 59,
951 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
952 306, -1, -1, 309, -1, -1, 312, 313, 314, 41,
953 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
954 -1, -1, -1, 93, -1, -1, 58, 59, -1, -1,
955 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
956 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
957 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
958 -1, 93, 58, 59, -1, 297, 298, 63, 300, 301,
959 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
960 -1, -1, -1, 272, 273, 274, 275, -1, 41, -1,
961 279, 44, 281, -1, -1, -1, -1, 93, 287, 288,
962 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
963 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
964 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
965 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
966 93, -1, -1, 58, 59, -1, 297, 298, 63, 300,
967 301, 302, 303, 304, 305, 306, -1, -1, -1, 272,
968 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
969 -1, -1, -1, -1, 287, 288, 289, 290, 93, -1,
970 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
971 303, 304, 305, 306, -1, -1, -1, -1, -1, -1,
972 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
973 44, 281, -1, -1, -1, -1, 93, 287, 288, 289,
974 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
975 300, 301, 302, 303, 304, 305, 306, -1, -1, -1,
976 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
977 -1, -1, -1, -1, -1, 287, 288, 289, 290, 93,
978 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
979 302, 303, 304, 305, 306, -1, 272, 273, 274, 275,
980 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
981 -1, 287, 288, 289, 290, -1, -1, 93, 58, 59,
982 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
983 306, -1, -1, -1, -1, -1, -1, -1, -1, 272,
984 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
985 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
986 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
987 303, 304, 305, 306, -1, -1, -1, 272, 273, 274,
988 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
989 -1, -1, 287, 288, 289, 290, 93, -1, -1, 58,
990 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
991 305, -1, -1, -1, -1, 272, 273, 274, 275, -1,
992 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
993 287, 288, -1, 290, 93, -1, -1, 58, 59, -1,
994 297, 298, 63, 300, 301, 302, 303, 304, 305, -1,
995 91, -1, -1, -1, -1, -1, -1, -1, 272, 273,
996 274, 275, -1, 41, -1, 279, 44, 281, -1, -1,
997 -1, -1, 93, 287, 288, -1, -1, -1, -1, -1,
998 58, 59, 123, 297, 298, 63, 300, 301, 302, 303,
999 304, 305, -1, -1, -1, -1, 272, 273, 274, 275,
1000 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1001 -1, 287, 288, 41, -1, 93, 44, -1, 58, 59,
1002 -1, 297, 298, 63, 300, 301, 302, 303, 304, -1,
1003 58, 59, 272, 273, 274, 275, -1, -1, -1, 279,
1004 -1, 281, -1, -1, -1, -1, -1, 287, 288, -1,
1005 -1, -1, -1, 93, -1, -1, 41, 297, 298, 44,
1006 300, 301, 302, 303, 304, 93, -1, -1, -1, 41,
1007 -1, -1, 44, 58, 59, 272, 273, 274, 275, -1,
1008 -1, -1, 279, -1, 281, -1, 58, 59, -1, -1,
1009 287, 288, -1, -1, -1, -1, 63, -1, -1, -1,
1010 297, 298, -1, 300, 301, 302, 303, 304, 93, -1,
1011 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1012 279, 93, 281, -1, 91, -1, -1, -1, -1, -1,
1013 -1, -1, -1, -1, -1, -1, -1, -1, 297, 298,
1014 -1, 300, 301, 302, 303, -1, 287, 288, 289, 290,
1015 -1, 272, 273, 274, 275, -1, 123, -1, 279, -1,
1016 281, -1, 303, 304, 305, 306, -1, -1, 309, -1,
1017 -1, 312, 313, 314, -1, -1, 297, 298, -1, 300,
1018 301, 302, 63, -1, -1, -1, -1, -1, -1, -1,
1019 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1020 -1, 279, -1, 281, -1, -1, -1, -1, -1, -1,
1021 91, -1, -1, -1, -1, -1, -1, -1, -1, 297,
1022 298, -1, 300, 301, -1, -1, -1, -1, -1, -1,
1023 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1024 -1, -1, 123, -1, 272, 273, 274, 275, -1, -1,
1025 -1, 279, -1, -1, -1, -1, 30, 297, 298, -1,
1026 300, -1, -1, -1, 38, -1, -1, -1, 42, 297,
1027 298, 45, -1, -1, -1, -1, -1, -1, 52, 53,
1028 54, 55, 56, -1, -1, 59, 60, 272, 273, 274,
1029 275, -1, 66, -1, 279, -1, -1, -1, -1, -1,
1030 272, 273, 274, 275, -1, -1, -1, 279, -1, -1,
1031 -1, -1, 297, 298, 281, -1, -1, -1, -1, 93,
1032 287, 288, 289, 290, -1, 297, 298, -1, -1, -1,
1033 -1, -1, -1, 300, 301, 302, 303, 304, 305, 306,
1034 -1, -1, 309, -1, -1, 312, 313, 314, -1, -1,
1035 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1036 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1037 -1, -1, -1, -1, -1, -1, -1, 151, 152, 153,
1038 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1039 164, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1040 281, -1, 176, -1, -1, -1, 287, 288, 289, 290,
1041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1042 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
1043 -1, 312, 313, 314, -1, -1, -1, -1, -1, -1,
1044 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1045 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1046 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1047 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1048 -1, 255, -1, -1, -1, -1, -1, -1, -1, -1,
1049 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1051 -1, -1, 286,
1052};
1053#define YYFINAL 1
1054#ifndef YYDEBUG
1055#define YYDEBUG 0
1056#endif
1057#define YYMAXTOKEN 314
1058#if YYDEBUG
1059char *yyname[] = {
1060"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1061"'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
10620,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
10630,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
10640,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
10650,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
10660,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
10670,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","METHOD","FUNCMETH","THING",
1068"PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1069"ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1070"CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1071"RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1072"OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP",
1073"SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
1074"POSTDEC","ARROW",
1075};
1076char *yyrule[] = {
1077"$accept : prog",
1078"$$1 :",
1079"prog : $$1 lineseq",
1080"block : '{' remember lineseq '}'",
1081"remember :",
1082"mblock : '{' mremember lineseq '}'",
1083"mremember :",
1084"lineseq :",
1085"lineseq : lineseq decl",
1086"lineseq : lineseq line",
1087"line : label cond",
1088"line : loop",
1089"line : label ';'",
1090"line : label sideff ';'",
1091"sideff : error",
1092"sideff : expr",
1093"sideff : expr IF expr",
1094"sideff : expr UNLESS expr",
1095"sideff : expr WHILE expr",
1096"sideff : expr UNTIL iexpr",
1097"sideff : expr FOR expr",
1098"else :",
1099"else : ELSE mblock",
1100"else : ELSIF '(' mexpr ')' mblock else",
1101"cond : IF '(' remember mexpr ')' mblock else",
1102"cond : UNLESS '(' remember miexpr ')' mblock else",
1103"cont :",
1104"cont : CONTINUE block",
1105"loop : label WHILE '(' remember mtexpr ')' mblock cont",
1106"loop : label UNTIL '(' remember miexpr ')' mblock cont",
1107"loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1108"loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1109"loop : label FOR '(' remember mexpr ')' mblock cont",
1110"loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1111"loop : label block cont",
1112"nexpr :",
1113"nexpr : sideff",
1114"texpr :",
1115"texpr : expr",
1116"iexpr : expr",
1117"mexpr : expr",
1118"mnexpr : nexpr",
1119"mtexpr : texpr",
1120"miexpr : iexpr",
1121"label :",
1122"label : LABEL",
1123"decl : format",
1124"decl : subrout",
1125"decl : package",
1126"decl : use",
1127"format : FORMAT startformsub formname block",
1128"formname : WORD",
1129"formname :",
1130"subrout : SUB startsub subname proto subbody",
1131"startsub :",
1132"startanonsub :",
1133"startformsub :",
1134"subname : WORD",
1135"proto :",
1136"proto : THING",
1137"subbody : block",
1138"subbody : ';'",
1139"package : PACKAGE WORD ';'",
1140"package : PACKAGE ';'",
1141"$$2 :",
1142"use : USE startsub $$2 WORD WORD listexpr ';'",
1143"expr : expr ANDOP expr",
1144"expr : expr OROP expr",
1145"expr : argexpr",
1146"argexpr : argexpr ','",
1147"argexpr : argexpr ',' term",
1148"argexpr : term",
1149"listop : LSTOP indirob argexpr",
1150"listop : FUNC '(' indirob expr ')'",
1151"listop : term ARROW method '(' listexprcom ')'",
1152"listop : METHOD indirob listexpr",
1153"listop : FUNCMETH indirob '(' listexprcom ')'",
1154"listop : LSTOP listexpr",
1155"listop : FUNC '(' listexprcom ')'",
1156"$$3 :",
1157"listop : LSTOPSUB startanonsub block $$3 listexpr",
1158"method : METHOD",
1159"method : scalar",
1160"term : term ASSIGNOP term",
1161"term : term POWOP term",
1162"term : term MULOP term",
1163"term : term ADDOP term",
1164"term : term SHIFTOP term",
1165"term : term RELOP term",
1166"term : term EQOP term",
1167"term : term BITANDOP term",
1168"term : term BITOROP term",
1169"term : term DOTDOT term",
1170"term : term ANDAND term",
1171"term : term OROR term",
1172"term : term '?' term ':' term",
1173"term : term MATCHOP term",
1174"term : '-' term",
1175"term : '+' term",
1176"term : '!' term",
1177"term : '~' term",
1178"term : REFGEN term",
1179"term : term POSTINC",
1180"term : term POSTDEC",
1181"term : PREINC term",
1182"term : PREDEC term",
1183"term : local term",
1184"term : '(' expr ')'",
1185"term : '(' ')'",
1186"term : '[' expr ']'",
1187"term : '[' ']'",
1188"term : HASHBRACK expr ';' '}'",
1189"term : HASHBRACK ';' '}'",
1190"term : ANONSUB startanonsub proto block",
1191"term : scalar",
1192"term : star '{' expr ';' '}'",
1193"term : star",
1194"term : scalar '[' expr ']'",
1195"term : term ARROW '[' expr ']'",
1196"term : term '[' expr ']'",
1197"term : hsh",
1198"term : ary",
1199"term : arylen",
1200"term : scalar '{' expr ';' '}'",
1201"term : term ARROW '{' expr ';' '}'",
1202"term : term '{' expr ';' '}'",
1203"term : '(' expr ')' '[' expr ']'",
1204"term : '(' ')' '[' expr ']'",
1205"term : ary '[' expr ']'",
1206"term : ary '{' expr ';' '}'",
1207"term : THING",
1208"term : amper",
1209"term : amper '(' ')'",
1210"term : amper '(' expr ')'",
1211"term : NOAMP WORD listexpr",
1212"term : DO term",
1213"term : DO block",
1214"term : DO WORD '(' ')'",
1215"term : DO WORD '(' expr ')'",
1216"term : DO scalar '(' ')'",
1217"term : DO scalar '(' expr ')'",
1218"term : term ARROW '(' ')'",
1219"term : term ARROW '(' expr ')'",
1220"term : LOOPEX",
1221"term : LOOPEX term",
1222"term : NOTOP argexpr",
1223"term : UNIOP",
1224"term : UNIOP block",
1225"term : UNIOP term",
1226"term : UNIOPSUB term",
1227"term : FUNC0",
1228"term : FUNC0 '(' ')'",
1229"term : FUNC0SUB",
1230"term : FUNC1 '(' ')'",
1231"term : FUNC1 '(' expr ')'",
1232"term : PMFUNC '(' term ')'",
1233"term : PMFUNC '(' term ',' term ')'",
1234"term : WORD",
1235"term : listop",
1236"listexpr :",
1237"listexpr : argexpr",
1238"listexprcom :",
1239"listexprcom : expr",
1240"listexprcom : expr ','",
1241"local : LOCAL",
1242"local : MY",
1243"my_scalar : scalar",
1244"amper : '&' indirob",
1245"scalar : '$' indirob",
1246"ary : '@' indirob",
1247"hsh : '%' indirob",
1248"arylen : DOLSHARP indirob",
1249"star : '*' indirob",
1250"indirob : WORD",
1251"indirob : scalar",
1252"indirob : block",
1253"indirob : PRIVATEREF",
1254};
1255#endif
1256#define yyclearin (yychar=(-1))
1257#define yyerrok (yyerrflag=0)
1258#ifdef YYSTACKSIZE
1259#ifndef YYMAXDEPTH
1260#define YYMAXDEPTH YYSTACKSIZE
1261#endif
1262#else
1263#ifdef YYMAXDEPTH
1264#define YYSTACKSIZE YYMAXDEPTH
1265#else
1266#define YYSTACKSIZE 500
1267#define YYMAXDEPTH 500
1268#endif
1269#endif
1270int yydebug;
1271int yynerrs;
1272int yyerrflag;
1273int yychar;
1274YYSTYPE yyval;
1275YYSTYPE yylval;
1276#line 635 "perly.y"
1277 /* PROGRAM */
1278#line 1349 "perly.c"
1279#define YYABORT goto yyabort
1280#define YYACCEPT goto yyaccept
1281#define YYERROR goto yyerrlab
1282
1283struct ysv {
1284 short* yyss;
1285 YYSTYPE* yyvs;
1286 int oldyydebug;
1287 int oldyynerrs;
1288 int oldyyerrflag;
1289 int oldyychar;
1290 YYSTYPE oldyyval;
1291 YYSTYPE oldyylval;
1292};
1293
1294void
1295yydestruct(ptr)
1296void* ptr;
1297{
1298 struct ysv* ysave = (struct ysv*)ptr;
1299 if (ysave->yyss) Safefree(ysave->yyss);
1300 if (ysave->yyvs) Safefree(ysave->yyvs);
1301 yydebug = ysave->oldyydebug;
1302 yynerrs = ysave->oldyynerrs;
1303 yyerrflag = ysave->oldyyerrflag;
1304 yychar = ysave->oldyychar;
1305 yyval = ysave->oldyyval;
1306 yylval = ysave->oldyylval;
1307 Safefree(ysave);
1308}
1309
1310int
1311yyparse()
1312{
1313 register int yym, yyn, yystate;
1314 register short *yyssp;
1315 register YYSTYPE *yyvsp;
1316 short* yyss;
1317 YYSTYPE* yyvs;
1318 unsigned yystacksize = YYSTACKSIZE;
1319 int retval = 0;
1320#if YYDEBUG
1321 register char *yys;
1322 extern char *getenv();
1323#endif
1324
1325 struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
1326 SAVEDESTRUCTOR(yydestruct, ysave);
1327 ysave->oldyydebug = yydebug;
1328 ysave->oldyynerrs = yynerrs;
1329 ysave->oldyyerrflag = yyerrflag;
1330 ysave->oldyychar = yychar;
1331 ysave->oldyyval = yyval;
1332 ysave->oldyylval = yylval;
1333
1334#if YYDEBUG
1335 if (yys = getenv("YYDEBUG"))
1336 {
1337 yyn = *yys;
1338 if (yyn >= '0' && yyn <= '9')
1339 yydebug = yyn - '0';
1340 }
1341#endif
1342
1343 yynerrs = 0;
1344 yyerrflag = 0;
1345 yychar = (-1);
1346
1347 /*
1348 ** Initialize private stacks (yyparse may be called from an action)
1349 */
1350 ysave->yyss = yyss = (short*)safemalloc(yystacksize*sizeof(short));
1351 ysave->yyvs = yyvs = (YYSTYPE*)safemalloc(yystacksize*sizeof(YYSTYPE));
1352 if (!yyvs || !yyss)
1353 goto yyoverflow;
1354
1355 yyssp = yyss;
1356 yyvsp = yyvs;
1357 *yyssp = yystate = 0;
1358
1359yyloop:
1360 if (yyn = yydefred[yystate]) goto yyreduce;
1361 if (yychar < 0)
1362 {
1363 if ((yychar = yylex()) < 0) yychar = 0;
1364#if YYDEBUG
1365 if (yydebug)
1366 {
1367 yys = 0;
1368 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1369 if (!yys) yys = "illegal-symbol";
1370 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1371 yychar, yys);
1372 }
1373#endif
1374 }
1375 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1376 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1377 {
1378#if YYDEBUG
1379 if (yydebug)
1380 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1381 yystate, yytable[yyn]);
1382#endif
1383 if (yyssp >= yyss + yystacksize - 1)
1384 {
1385 /*
1386 ** reallocate and recover. Note that pointers
1387 ** have to be reset, or bad things will happen
1388 */
1389 int yyps_index = (yyssp - yyss);
1390 int yypv_index = (yyvsp - yyvs);
1391 yystacksize += YYSTACKSIZE;
1392 ysave->yyvs = yyvs =
1393 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1394 ysave->yyss = yyss =
1395 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1396 if (!yyvs || !yyss)
1397 goto yyoverflow;
1398 yyssp = yyss + yyps_index;
1399 yyvsp = yyvs + yypv_index;
1400 }
1401 *++yyssp = yystate = yytable[yyn];
1402 *++yyvsp = yylval;
1403 yychar = (-1);
1404 if (yyerrflag > 0) --yyerrflag;
1405 goto yyloop;
1406 }
1407 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1408 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1409 {
1410 yyn = yytable[yyn];
1411 goto yyreduce;
1412 }
1413 if (yyerrflag) goto yyinrecovery;
1414#ifdef lint
1415 goto yynewerror;
1416#endif
1417yynewerror:
1418 yyerror("syntax error");
1419#ifdef lint
1420 goto yyerrlab;
1421#endif
1422yyerrlab:
1423 ++yynerrs;
1424yyinrecovery:
1425 if (yyerrflag < 3)
1426 {
1427 yyerrflag = 3;
1428 for (;;)
1429 {
1430 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1431 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1432 {
1433#if YYDEBUG
1434 if (yydebug)
1435 PerlIO_printf(Perl_debug_log,
1436 "yydebug: state %d, error recovery shifting to state %d\n",
1437 *yyssp, yytable[yyn]);
1438#endif
1439 if (yyssp >= yyss + yystacksize - 1)
1440 {
1441 /*
1442 ** reallocate and recover. Note that pointers
1443 ** have to be reset, or bad things will happen
1444 */
1445 int yyps_index = (yyssp - yyss);
1446 int yypv_index = (yyvsp - yyvs);
1447 yystacksize += YYSTACKSIZE;
1448 ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
1449 yystacksize * sizeof(YYSTYPE));
1450 ysave->yyss = yyss = (short*)realloc((char*)yyss,
1451 yystacksize * sizeof(short));
1452 if (!yyvs || !yyss)
1453 goto yyoverflow;
1454 yyssp = yyss + yyps_index;
1455 yyvsp = yyvs + yypv_index;
1456 }
1457 *++yyssp = yystate = yytable[yyn];
1458 *++yyvsp = yylval;
1459 goto yyloop;
1460 }
1461 else
1462 {
1463#if YYDEBUG
1464 if (yydebug)
1465 PerlIO_printf(Perl_debug_log,
1466 "yydebug: error recovery discarding state %d\n",
1467 *yyssp);
1468#endif
1469 if (yyssp <= yyss) goto yyabort;
1470 --yyssp;
1471 --yyvsp;
1472 }
1473 }
1474 }
1475 else
1476 {
1477 if (yychar == 0) goto yyabort;
1478#if YYDEBUG
1479 if (yydebug)
1480 {
1481 yys = 0;
1482 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1483 if (!yys) yys = "illegal-symbol";
1484 PerlIO_printf(Perl_debug_log,
1485 "yydebug: state %d, error recovery discards token %d (%s)\n",
1486 yystate, yychar, yys);
1487 }
1488#endif
1489 yychar = (-1);
1490 goto yyloop;
1491 }
1492yyreduce:
1493#if YYDEBUG
1494 if (yydebug)
1495 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1496 yystate, yyn, yyrule[yyn]);
1497#endif
1498 yym = yylen[yyn];
1499 yyval = yyvsp[1-yym];
1500 switch (yyn)
1501 {
1502case 1:
1503#line 86 "perly.y"
1504{
1505#if defined(YYDEBUG) && defined(DEBUGGING)
1506 yydebug = (debug & 1);
1507#endif
1508 expect = XSTATE;
1509 }
1510break;
1511case 2:
1512#line 93 "perly.y"
1513{ newPROG(yyvsp[0].opval); }
1514break;
1515case 3:
1516#line 97 "perly.y"
1517{ if (copline > (line_t)yyvsp[-3].ival)
1518 copline = yyvsp[-3].ival;
1519 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1520break;
1521case 4:
1522#line 103 "perly.y"
1523{ yyval.ival = block_start(TRUE); }
1524break;
1525case 5:
1526#line 107 "perly.y"
1527{ if (copline > (line_t)yyvsp[-3].ival)
1528 copline = yyvsp[-3].ival;
1529 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1530break;
1531case 6:
1532#line 113 "perly.y"
1533{ yyval.ival = block_start(FALSE); }
1534break;
1535case 7:
1536#line 117 "perly.y"
1537{ yyval.opval = Nullop; }
1538break;
1539case 8:
1540#line 119 "perly.y"
1541{ yyval.opval = yyvsp[-1].opval; }
1542break;
1543case 9:
1544#line 121 "perly.y"
1545{ yyval.opval = append_list(OP_LINESEQ,
1546 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1547 pad_reset_pending = TRUE;
1548 if (yyvsp[-1].opval && yyvsp[0].opval) hints |= HINT_BLOCK_SCOPE; }
1549break;
1550case 10:
1551#line 128 "perly.y"
1552{ yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1553break;
1554case 12:
1555#line 131 "perly.y"
1556{ if (yyvsp[-1].pval != Nullch) {
1557 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1558 }
1559 else {
1560 yyval.opval = Nullop;
1561 copline = NOLINE;
1562 }
1563 expect = XSTATE; }
1564break;
1565case 13:
1566#line 140 "perly.y"
1567{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1568 expect = XSTATE; }
1569break;
1570case 14:
1571#line 145 "perly.y"
1572{ yyval.opval = Nullop; }
1573break;
1574case 15:
1575#line 147 "perly.y"
1576{ yyval.opval = yyvsp[0].opval; }
1577break;
1578case 16:
1579#line 149 "perly.y"
1580{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1581break;
1582case 17:
1583#line 151 "perly.y"
1584{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1585break;
1586case 18:
1587#line 153 "perly.y"
1588{ yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1589break;
1590case 19:
1591#line 155 "perly.y"
1592{ yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1593break;
1594case 20:
1595#line 157 "perly.y"
1596{ yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1597 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1598break;
1599case 21:
1600#line 162 "perly.y"
1601{ yyval.opval = Nullop; }
1602break;
1603case 22:
1604#line 164 "perly.y"
1605{ yyval.opval = scope(yyvsp[0].opval); }
1606break;
1607case 23:
1608#line 166 "perly.y"
1609{ copline = yyvsp[-5].ival;
1610 yyval.opval = newSTATEOP(0, Nullch,
1611 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1612 hints |= HINT_BLOCK_SCOPE; }
1613break;
1614case 24:
1615#line 173 "perly.y"
1616{ copline = yyvsp[-6].ival;
1617 yyval.opval = block_end(yyvsp[-4].ival,
1618 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1619break;
1620case 25:
1621#line 177 "perly.y"
1622{ copline = yyvsp[-6].ival;
1623 yyval.opval = block_end(yyvsp[-4].ival,
1624 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1625break;
1626case 26:
1627#line 183 "perly.y"
1628{ yyval.opval = Nullop; }
1629break;
1630case 27:
1631#line 185 "perly.y"
1632{ yyval.opval = scope(yyvsp[0].opval); }
1633break;
1634case 28:
1635#line 189 "perly.y"
1636{ copline = yyvsp[-6].ival;
1637 yyval.opval = block_end(yyvsp[-4].ival,
1638 newSTATEOP(0, yyvsp[-7].pval,
1639 newWHILEOP(0, 1, (LOOP*)Nullop,
1640 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1641break;
1642case 29:
1643#line 195 "perly.y"
1644{ copline = yyvsp[-6].ival;
1645 yyval.opval = block_end(yyvsp[-4].ival,
1646 newSTATEOP(0, yyvsp[-7].pval,
1647 newWHILEOP(0, 1, (LOOP*)Nullop,
1648 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1649break;
1650case 30:
1651#line 201 "perly.y"
1652{ yyval.opval = block_end(yyvsp[-6].ival,
1653 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1654break;
1655case 31:
1656#line 204 "perly.y"
1657{ yyval.opval = block_end(yyvsp[-4].ival,
1658 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1659 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1660break;
1661case 32:
1662#line 208 "perly.y"
1663{ yyval.opval = block_end(yyvsp[-4].ival,
1664 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1665break;
1666case 33:
1667#line 212 "perly.y"
1668{ OP *forop = append_elem(OP_LINESEQ,
1669 scalar(yyvsp[-6].opval),
1670 newWHILEOP(0, 1, (LOOP*)Nullop,
1671 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1672 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1673 copline = yyvsp[-9].ival;
1674 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1675break;
1676case 34:
1677#line 220 "perly.y"
1678{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1679 newWHILEOP(0, 1, (LOOP*)Nullop,
1680 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1681break;
1682case 35:
1683#line 226 "perly.y"
1684{ yyval.opval = Nullop; }
1685break;
1686case 37:
1687#line 231 "perly.y"
1688{ (void)scan_num("1"); yyval.opval = yylval.opval; }
1689break;
1690case 39:
1691#line 236 "perly.y"
1692{ yyval.opval = invert(scalar(yyvsp[0].opval)); }
1693break;
1694case 40:
1695#line 240 "perly.y"
1696{ yyval.opval = yyvsp[0].opval; intro_my(); }
1697break;
1698case 41:
1699#line 244 "perly.y"
1700{ yyval.opval = yyvsp[0].opval; intro_my(); }
1701break;
1702case 42:
1703#line 248 "perly.y"
1704{ yyval.opval = yyvsp[0].opval; intro_my(); }
1705break;
1706case 43:
1707#line 252 "perly.y"
1708{ yyval.opval = yyvsp[0].opval; intro_my(); }
1709break;
1710case 44:
1711#line 256 "perly.y"
1712{ yyval.pval = Nullch; }
1713break;
1714case 46:
1715#line 261 "perly.y"
1716{ yyval.ival = 0; }
1717break;
1718case 47:
1719#line 263 "perly.y"
1720{ yyval.ival = 0; }
1721break;
1722case 48:
1723#line 265 "perly.y"
1724{ yyval.ival = 0; }
1725break;
1726case 49:
1727#line 267 "perly.y"
1728{ yyval.ival = 0; }
1729break;
1730case 50:
1731#line 271 "perly.y"
1732{ newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1733break;
1734case 51:
1735#line 274 "perly.y"
1736{ yyval.opval = yyvsp[0].opval; }
1737break;
1738case 52:
1739#line 275 "perly.y"
1740{ yyval.opval = Nullop; }
1741break;
1742case 53:
1743#line 279 "perly.y"
1744{ newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1745break;
1746case 54:
1747#line 283 "perly.y"
1748{ yyval.ival = start_subparse(FALSE, 0); }
1749break;
1750case 55:
1751#line 287 "perly.y"
1752{ yyval.ival = start_subparse(FALSE, CVf_ANON); }
1753break;
1754case 56:
1755#line 291 "perly.y"
1756{ yyval.ival = start_subparse(TRUE, 0); }
1757break;
1758case 57:
1759#line 294 "perly.y"
1760{ char *name = SvPVx(((SVOP*)yyvsp[0].opval)->op_sv, na);
1761 if (strEQ(name, "BEGIN") || strEQ(name, "END"))
1762 CvUNIQUE_on(compcv);
1763 yyval.opval = yyvsp[0].opval; }
1764break;
1765case 58:
1766#line 301 "perly.y"
1767{ yyval.opval = Nullop; }
1768break;
1769case 60:
1770#line 305 "perly.y"
1771{ yyval.opval = yyvsp[0].opval; }
1772break;
1773case 61:
1774#line 306 "perly.y"
1775{ yyval.opval = Nullop; expect = XSTATE; }
1776break;
1777case 62:
1778#line 310 "perly.y"
1779{ package(yyvsp[-1].opval); }
1780break;
1781case 63:
1782#line 312 "perly.y"
1783{ package(Nullop); }
1784break;
1785case 64:
1786#line 316 "perly.y"
1787{ CvUNIQUE_on(compcv); /* It's a BEGIN {} */ }
1788break;
1789case 65:
1790#line 318 "perly.y"
1791{ utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1792break;
1793case 66:
1794#line 322 "perly.y"
1795{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1796break;
1797case 67:
1798#line 324 "perly.y"
1799{ yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1800break;
1801case 69:
1802#line 329 "perly.y"
1803{ yyval.opval = yyvsp[-1].opval; }
1804break;
1805case 70:
1806#line 331 "perly.y"
1807{ yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1808break;
1809case 72:
1810#line 336 "perly.y"
1811{ yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1812 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1813break;
1814case 73:
1815#line 339 "perly.y"
1816{ yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1817 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1818break;
1819case 74:
1820#line 342 "perly.y"
1821{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1822 append_elem(OP_LIST,
1823 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1824 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1825break;
1826case 75:
1827#line 347 "perly.y"
1828{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1829 append_elem(OP_LIST,
1830 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1831 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1832break;
1833case 76:
1834#line 352 "perly.y"
1835{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1836 append_elem(OP_LIST,
1837 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1838 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1839break;
1840case 77:
1841#line 357 "perly.y"
1842{ yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1843break;
1844case 78:
1845#line 359 "perly.y"
1846{ yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1847break;
1848case 79:
1849#line 361 "perly.y"
1850{ yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1851break;
1852case 80:
1853#line 363 "perly.y"
1854{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1855 append_elem(OP_LIST,
1856 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1857break;
1858case 83:
1859#line 373 "perly.y"
1860{ yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1861break;
1862case 84:
1863#line 375 "perly.y"
1864{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1865break;
1866case 85:
1867#line 377 "perly.y"
1868{ if (yyvsp[-1].ival != OP_REPEAT)
1869 scalar(yyvsp[-2].opval);
1870 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1871break;
1872case 86:
1873#line 381 "perly.y"
1874{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1875break;
1876case 87:
1877#line 383 "perly.y"
1878{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1879break;
1880case 88:
1881#line 385 "perly.y"
1882{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1883break;
1884case 89:
1885#line 387 "perly.y"
1886{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1887break;
1888case 90:
1889#line 389 "perly.y"
1890{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1891break;
1892case 91:
1893#line 391 "perly.y"
1894{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1895break;
1896case 92:
1897#line 393 "perly.y"
1898{ yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1899break;
1900case 93:
1901#line 395 "perly.y"
1902{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1903break;
1904case 94:
1905#line 397 "perly.y"
1906{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1907break;
1908case 95:
1909#line 399 "perly.y"
1910{ yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1911break;
1912case 96:
1913#line 401 "perly.y"
1914{ yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1915break;
1916case 97:
1917#line 404 "perly.y"
1918{ yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1919break;
1920case 98:
1921#line 406 "perly.y"
1922{ yyval.opval = yyvsp[0].opval; }
1923break;
1924case 99:
1925#line 408 "perly.y"
1926{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1927break;
1928case 100:
1929#line 410 "perly.y"
1930{ yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1931break;
1932case 101:
1933#line 412 "perly.y"
1934{ yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1935break;
1936case 102:
1937#line 414 "perly.y"
1938{ yyval.opval = newUNOP(OP_POSTINC, 0,
1939 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1940break;
1941case 103:
1942#line 417 "perly.y"
1943{ yyval.opval = newUNOP(OP_POSTDEC, 0,
1944 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1945break;
1946case 104:
1947#line 420 "perly.y"
1948{ yyval.opval = newUNOP(OP_PREINC, 0,
1949 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1950break;
1951case 105:
1952#line 423 "perly.y"
1953{ yyval.opval = newUNOP(OP_PREDEC, 0,
1954 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1955break;
1956case 106:
1957#line 426 "perly.y"
1958{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1959break;
1960case 107:
1961#line 428 "perly.y"
1962{ yyval.opval = sawparens(yyvsp[-1].opval); }
1963break;
1964case 108:
1965#line 430 "perly.y"
1966{ yyval.opval = sawparens(newNULLLIST()); }
1967break;
1968case 109:
1969#line 432 "perly.y"
1970{ yyval.opval = newANONLIST(yyvsp[-1].opval); }
1971break;
1972case 110:
1973#line 434 "perly.y"
1974{ yyval.opval = newANONLIST(Nullop); }
1975break;
1976case 111:
1977#line 436 "perly.y"
1978{ yyval.opval = newANONHASH(yyvsp[-2].opval); }
1979break;
1980case 112:
1981#line 438 "perly.y"
1982{ yyval.opval = newANONHASH(Nullop); }
1983break;
1984case 113:
1985#line 440 "perly.y"
1986{ yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1987break;
1988case 114:
1989#line 442 "perly.y"
1990{ yyval.opval = yyvsp[0].opval; }
1991break;
1992case 115:
1993#line 444 "perly.y"
1994{ yyval.opval = newBINOP(OP_GELEM, 0, newGVREF(0,yyvsp[-4].opval),
1995 scalar(yyvsp[-2].opval)); }
1996break;
1997case 116:
1998#line 447 "perly.y"
1999{ yyval.opval = yyvsp[0].opval; }
2000break;
2001case 117:
2002#line 449 "perly.y"
2003{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2004break;
2005case 118:
2006#line 451 "perly.y"
2007{ yyval.opval = newBINOP(OP_AELEM, 0,
2008 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2009 scalar(yyvsp[-1].opval));}
2010break;
2011case 119:
2012#line 455 "perly.y"
2013{ assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
2014 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2015 scalar(yyvsp[-1].opval));}
2016break;
2017case 120:
2018#line 459 "perly.y"
2019{ yyval.opval = yyvsp[0].opval; }
2020break;
2021case 121:
2022#line 461 "perly.y"
2023{ yyval.opval = yyvsp[0].opval; }
2024break;
2025case 122:
2026#line 463 "perly.y"
2027{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2028break;
2029case 123:
2030#line 465 "perly.y"
2031{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2032 expect = XOPERATOR; }
2033break;
2034case 124:
2035#line 468 "perly.y"
2036{ yyval.opval = newBINOP(OP_HELEM, 0,
2037 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2038 jmaybe(yyvsp[-2].opval));
2039 expect = XOPERATOR; }
2040break;
2041case 125:
2042#line 473 "perly.y"
2043{ assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2044 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2045 jmaybe(yyvsp[-2].opval));
2046 expect = XOPERATOR; }
2047break;
2048case 126:
2049#line 478 "perly.y"
2050{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2051break;
2052case 127:
2053#line 480 "perly.y"
2054{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2055break;
2056case 128:
2057#line 482 "perly.y"
2058{ yyval.opval = prepend_elem(OP_ASLICE,
2059 newOP(OP_PUSHMARK, 0),
2060 newLISTOP(OP_ASLICE, 0,
2061 list(yyvsp[-1].opval),
2062 ref(yyvsp[-3].opval, OP_ASLICE))); }
2063break;
2064case 129:
2065#line 488 "perly.y"
2066{ yyval.opval = prepend_elem(OP_HSLICE,
2067 newOP(OP_PUSHMARK, 0),
2068 newLISTOP(OP_HSLICE, 0,
2069 list(yyvsp[-2].opval),
2070 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2071 expect = XOPERATOR; }
2072break;
2073case 130:
2074#line 495 "perly.y"
2075{ yyval.opval = yyvsp[0].opval; }
2076break;
2077case 131:
2078#line 497 "perly.y"
2079{ yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2080break;
2081case 132:
2082#line 499 "perly.y"
2083{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2084break;
2085case 133:
2086#line 501 "perly.y"
2087{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2088 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2089break;
2090case 134:
2091#line 504 "perly.y"
2092{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2093 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2094break;
2095case 135:
2096#line 507 "perly.y"
2097{ yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2098break;
2099case 136:
2100#line 509 "perly.y"
2101{ yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2102break;
2103case 137:
2104#line 511 "perly.y"
2105{ yyval.opval = newUNOP(OP_ENTERSUB,
2106 OPf_SPECIAL|OPf_STACKED,
2107 prepend_elem(OP_LIST,
2108 scalar(newCVREF(
2109 (OPpENTERSUB_AMPER<<8),
2110 scalar(yyvsp[-2].opval)
2111 )),Nullop)); dep();}
2112break;
2113case 138:
2114#line 519 "perly.y"
2115{ yyval.opval = newUNOP(OP_ENTERSUB,
2116 OPf_SPECIAL|OPf_STACKED,
2117 append_elem(OP_LIST,
2118 yyvsp[-1].opval,
2119 scalar(newCVREF(
2120 (OPpENTERSUB_AMPER<<8),
2121 scalar(yyvsp[-3].opval)
2122 )))); dep();}
2123break;
2124case 139:
2125#line 528 "perly.y"
2126{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2127 prepend_elem(OP_LIST,
2128 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2129break;
2130case 140:
2131#line 532 "perly.y"
2132{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2133 prepend_elem(OP_LIST,
2134 yyvsp[-1].opval,
2135 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2136break;
2137case 141:
2138#line 537 "perly.y"
2139{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2140 newCVREF(0, scalar(yyvsp[-3].opval))); }
2141break;
2142case 142:
2143#line 540 "perly.y"
2144{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2145 append_elem(OP_LIST, yyvsp[-1].opval,
2146 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2147break;
2148case 143:
2149#line 544 "perly.y"
2150{ yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2151 hints |= HINT_BLOCK_SCOPE; }
2152break;
2153case 144:
2154#line 547 "perly.y"
2155{ yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2156break;
2157case 145:
2158#line 549 "perly.y"
2159{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2160break;
2161case 146:
2162#line 551 "perly.y"
2163{ yyval.opval = newOP(yyvsp[0].ival, 0); }
2164break;
2165case 147:
2166#line 553 "perly.y"
2167{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2168break;
2169case 148:
2170#line 555 "perly.y"
2171{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2172break;
2173case 149:
2174#line 557 "perly.y"
2175{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2176 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2177break;
2178case 150:
2179#line 560 "perly.y"
2180{ yyval.opval = newOP(yyvsp[0].ival, 0); }
2181break;
2182case 151:
2183#line 562 "perly.y"
2184{ yyval.opval = newOP(yyvsp[-2].ival, 0); }
2185break;
2186case 152:
2187#line 564 "perly.y"
2188{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2189 scalar(yyvsp[0].opval)); }
2190break;
2191case 153:
2192#line 567 "perly.y"
2193{ yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2194break;
2195case 154:
2196#line 569 "perly.y"
2197{ yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2198break;
2199case 155:
2200#line 571 "perly.y"
2201{ yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2202break;
2203case 156:
2204#line 573 "perly.y"
2205{ yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2206break;
2207case 159:
2208#line 579 "perly.y"
2209{ yyval.opval = Nullop; }
2210break;
2211case 160:
2212#line 581 "perly.y"
2213{ yyval.opval = yyvsp[0].opval; }
2214break;
2215case 161:
2216#line 585 "perly.y"
2217{ yyval.opval = Nullop; }
2218break;
2219case 162:
2220#line 587 "perly.y"
2221{ yyval.opval = yyvsp[0].opval; }
2222break;
2223case 163:
2224#line 589 "perly.y"
2225{ yyval.opval = yyvsp[-1].opval; }
2226break;
2227case 164:
2228#line 592 "perly.y"
2229{ yyval.ival = 0; }
2230break;
2231case 165:
2232#line 593 "perly.y"
2233{ yyval.ival = 1; }
2234break;
2235case 166:
2236#line 597 "perly.y"
2237{ in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2238break;
2239case 167:
2240#line 601 "perly.y"
2241{ yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2242break;
2243case 168:
2244#line 605 "perly.y"
2245{ yyval.opval = newSVREF(yyvsp[0].opval); }
2246break;
2247case 169:
2248#line 609 "perly.y"
2249{ yyval.opval = newAVREF(yyvsp[0].opval); }
2250break;
2251case 170:
2252#line 613 "perly.y"
2253{ yyval.opval = newHVREF(yyvsp[0].opval); }
2254break;
2255case 171:
2256#line 617 "perly.y"
2257{ yyval.opval = newAVREF(yyvsp[0].opval); }
2258break;
2259case 172:
2260#line 621 "perly.y"
2261{ yyval.opval = newGVREF(0,yyvsp[0].opval); }
2262break;
2263case 173:
2264#line 625 "perly.y"
2265{ yyval.opval = scalar(yyvsp[0].opval); }
2266break;
2267case 174:
2268#line 627 "perly.y"
2269{ yyval.opval = scalar(yyvsp[0].opval); }
2270break;
2271case 175:
2272#line 629 "perly.y"
2273{ yyval.opval = scope(yyvsp[0].opval); }
2274break;
2275case 176:
2276#line 632 "perly.y"
2277{ yyval.opval = yyvsp[0].opval; }
2278break;
2279#line 2266 "perly.c"
2280 }
2281 yyssp -= yym;
2282 yystate = *yyssp;
2283 yyvsp -= yym;
2284 yym = yylhs[yyn];
2285 if (yystate == 0 && yym == 0)
2286 {
2287#if YYDEBUG
2288 if (yydebug)
2289 PerlIO_printf(Perl_debug_log,
2290 "yydebug: after reduction, shifting from state 0 to state %d\n",
2291 YYFINAL);
2292#endif
2293 yystate = YYFINAL;
2294 *++yyssp = YYFINAL;
2295 *++yyvsp = yyval;
2296 if (yychar < 0)
2297 {
2298 if ((yychar = yylex()) < 0) yychar = 0;
2299#if YYDEBUG
2300 if (yydebug)
2301 {
2302 yys = 0;
2303 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2304 if (!yys) yys = "illegal-symbol";
2305 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2306 YYFINAL, yychar, yys);
2307 }
2308#endif
2309 }
2310 if (yychar == 0) goto yyaccept;
2311 goto yyloop;
2312 }
2313 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2314 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2315 yystate = yytable[yyn];
2316 else
2317 yystate = yydgoto[yym];
2318#if YYDEBUG
2319 if (yydebug)
2320 PerlIO_printf(Perl_debug_log,
2321 "yydebug: after reduction, shifting from state %d to state %d\n",
2322 *yyssp, yystate);
2323#endif
2324 if (yyssp >= yyss + yystacksize - 1)
2325 {
2326 /*
2327 ** reallocate and recover. Note that pointers
2328 ** have to be reset, or bad things will happen
2329 */
2330 int yyps_index = (yyssp - yyss);
2331 int yypv_index = (yyvsp - yyvs);
2332 yystacksize += YYSTACKSIZE;
2333 ysave->yyvs = yyvs =
2334 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2335 ysave->yyss = yyss =
2336 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2337 if (!yyvs || !yyss)
2338 goto yyoverflow;
2339 yyssp = yyss + yyps_index;
2340 yyvsp = yyvs + yypv_index;
2341 }
2342 *++yyssp = yystate;
2343 *++yyvsp = yyval;
2344 goto yyloop;
2345yyoverflow:
2346 yyerror("Out of memory for yacc stack");
2347yyabort:
2348 retval = 1;
2349yyaccept:
2350 return retval;
2351}