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