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