[inseparable changes from patch from perl5.003_20 to perl5.003_21]
[p5sagit/p5-mst-13.2.git] / perly.c
CommitLineData
93a17b20 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 6#include "EXTERN.h"
7#include "perl.h"
8
a0d0e21e 9static void
10dep()
11{
12 deprecate("\"do\" to call subroutines");
13}
79072805 14
36477c24 15#line 16 "perly.c"
93a17b20 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 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 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 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 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 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 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 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 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 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 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 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 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 1042"SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
1043"POSTDEC","ARROW",
79072805 1044};
93a17b20 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 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 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 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 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 1103"proto :",
1104"proto : THING",
28757baa 1105"subbody : block",
1106"subbody : ';'",
93a17b20 1107"package : PACKAGE WORD ';'",
1108"package : PACKAGE ';'",
28757baa 1109"$$2 :",
1110"use : USE startsub $$2 WORD WORD listexpr ';'",
a0d0e21e 1111"expr : expr ANDOP expr",
1112"expr : expr OROP expr",
a0d0e21e 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 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 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 1161"term : star",
1162"term : scalar '[' expr ']'",
1163"term : term ARROW '[' expr ']'",
463ee0b2 1164"term : term '[' expr ']'",
93a17b20 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 1172"term : '(' ')' '[' expr ']'",
1173"term : ary '[' expr ']'",
1174"term : ary '{' expr ';' '}'",
93a17b20 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 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 1189"term : UNIOP",
1190"term : UNIOP block",
a0d0e21e 1191"term : UNIOP term",
4633a7c4 1192"term : UNIOPSUB term",
93a17b20 1193"term : FUNC0",
1194"term : FUNC0 '(' ')'",
4633a7c4 1195"term : FUNC0SUB",
93a17b20 1196"term : FUNC1 '(' ')'",
1197"term : FUNC1 '(' expr ')'",
a0d0e21e 1198"term : PMFUNC '(' term ')'",
1199"term : PMFUNC '(' term ',' term ')'",
93a17b20 1200"term : WORD",
1201"term : listop",
1202"listexpr :",
a0d0e21e 1203"listexpr : argexpr",
1204"listexprcom :",
1205"listexprcom : expr",
1206"listexprcom : expr ','",
55497cff 1207"local : LOCAL",
1208"local : MY",
1209"my_scalar : scalar",
93a17b20 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 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;
44a8e56a 1242#line 626 "perly.y"
93a17b20 1243 /* PROGRAM */
44a8e56a 1244#line 1315 "perly.c"
93a17b20 1245#define YYABORT goto yyabort
1246#define YYACCEPT goto yyaccept
1247#define YYERROR goto yyerrlab
a0d0e21e 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 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 1274}
1275
79072805 1276int
1277yyparse()
1278{
93a17b20 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 1286#if YYDEBUG
1287 register char *yys;
1288 extern char *getenv();
a0d0e21e 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 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 1309 yynerrs = 0;
1310 yyerrflag = 0;
1311 yychar = (-1);
79072805 1312
93a17b20 1313 /*
1314 ** Initialize private stacks (yyparse may be called from an action)
1315 */
a0d0e21e 1316 ysave->yyss = yyss = (short*)safemalloc(yystacksize*sizeof(short));
1317 ysave->yyvs = yyvs = (YYSTYPE*)safemalloc(yystacksize*sizeof(YYSTYPE));
93a17b20 1318 if (!yyvs || !yyss)
1319 goto yyoverflow;
79072805 1320
93a17b20 1321 yyssp = yyss;
1322 yyvsp = yyvs;
1323 *yyssp = yystate = 0;
79072805 1324
93a17b20 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 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 1337 yychar, yys);
1338 }
79072805 1339#endif
93a17b20 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 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 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 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 1402 "yydebug: state %d, error recovery shifting to state %d\n",
1403 *yyssp, yytable[yyn]);
93a17b20 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 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 1432 "yydebug: error recovery discarding state %d\n",
1433 *yyssp);
79072805 1434#endif
93a17b20 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 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 1451 "yydebug: state %d, error recovery discards token %d (%s)\n",
1452 yystate, yychar, yys);
93a17b20 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 1464 yym = yylen[yyn];
1465 yyval = yyvsp[1-yym];
1466 switch (yyn)
1467 {
79072805 1468case 1:
28757baa 1469#line 86 "perly.y"
79072805 1470{
1471#if defined(YYDEBUG) && defined(DEBUGGING)
1472 yydebug = (debug & 1);
1473#endif
8990e307 1474 expect = XSTATE;
93a17b20 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 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 1518{ yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1519break;
bbce6d69 1520case 12:
28757baa 1521#line 131 "perly.y"
93a17b20 1522{ if (yyvsp[-1].pval != Nullch) {
1523 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
79072805 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 1538{ yyval.opval = Nullop; }
1539break;
bbce6d69 1540case 15:
28757baa 1541#line 147 "perly.y"
93a17b20 1542{ yyval.opval = yyvsp[0].opval; }
1543break;
bbce6d69 1544case 16:
28757baa 1545#line 149 "perly.y"
93a17b20 1546{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1547break;
bbce6d69 1548case 17:
28757baa 1549#line 151 "perly.y"
93a17b20 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 1562{ yyval.opval = Nullop; }
1563break;
bbce6d69 1564case 21:
28757baa 1565#line 161 "perly.y"
93a17b20 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 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 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 1645{ yyval.opval = Nullop; }
1646break;
71be2cbc 1647case 36:
28757baa 1648#line 228 "perly.y"
93a17b20 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 1685{ yyval.ival = 0; }
1686break;
71be2cbc 1687case 48:
28757baa 1688#line 264 "perly.y"
93a17b20 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"
1709{ yyval.ival = start_subparse(); }
1710break;
1711case 54:
1712#line 284 "perly.y"
28757baa 1713{ yyval.ival = start_subparse();
1714 CvANON_on(compcv); }
4633a7c4 1715break;
44a8e56a 1716case 55:
1717#line 289 "perly.y"
1718{ yyval.ival = start_subparse();
1719 CvFORMAT_on(compcv); }
1720break;
1721case 56:
1722#line 293 "perly.y"
28757baa 1723{ char *name = SvPVx(((SVOP*)yyvsp[0].opval)->op_sv, na);
1724 if (strEQ(name, "BEGIN") || strEQ(name, "END"))
1725 CvUNIQUE_on(compcv);
1726 yyval.opval = yyvsp[0].opval; }
93a17b20 1727break;
44a8e56a 1728case 57:
1729#line 300 "perly.y"
28757baa 1730{ yyval.opval = Nullop; }
85e6fe83 1731break;
44a8e56a 1732case 59:
1733#line 304 "perly.y"
28757baa 1734{ yyval.opval = yyvsp[0].opval; }
93a17b20 1735break;
44a8e56a 1736case 60:
1737#line 305 "perly.y"
28757baa 1738{ yyval.opval = Nullop; expect = XSTATE; }
85e6fe83 1739break;
44a8e56a 1740case 61:
1741#line 309 "perly.y"
28757baa 1742{ package(yyvsp[-1].opval); }
85e6fe83 1743break;
44a8e56a 1744case 62:
1745#line 311 "perly.y"
28757baa 1746{ package(Nullop); }
1747break;
44a8e56a 1748case 63:
1749#line 315 "perly.y"
28757baa 1750{ CvUNIQUE_on(compcv); /* It's a BEGIN {} */ }
93a17b20 1751break;
44a8e56a 1752case 64:
1753#line 317 "perly.y"
28757baa 1754{ utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
93a17b20 1755break;
44a8e56a 1756case 65:
1757#line 321 "perly.y"
28757baa 1758{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1759break;
44a8e56a 1760case 66:
1761#line 323 "perly.y"
28757baa 1762{ yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1763break;
44a8e56a 1764case 68:
1765#line 328 "perly.y"
28757baa 1766{ yyval.opval = yyvsp[-1].opval; }
1767break;
44a8e56a 1768case 69:
1769#line 330 "perly.y"
a0d0e21e 1770{ yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 1771break;
44a8e56a 1772case 71:
1773#line 335 "perly.y"
a0d0e21e 1774{ yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1775 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
93a17b20 1776break;
44a8e56a 1777case 72:
1778#line 338 "perly.y"
a0d0e21e 1779{ yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1780 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
93a17b20 1781break;
44a8e56a 1782case 73:
1783#line 341 "perly.y"
4633a7c4 1784{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
a0d0e21e 1785 append_elem(OP_LIST,
55497cff 1786 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
a0d0e21e 1787 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
93a17b20 1788break;
44a8e56a 1789case 74:
1790#line 346 "perly.y"
4633a7c4 1791{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
a0d0e21e 1792 append_elem(OP_LIST,
4633a7c4 1793 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
a0d0e21e 1794 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
93a17b20 1795break;
44a8e56a 1796case 75:
1797#line 351 "perly.y"
4633a7c4 1798{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
a0d0e21e 1799 append_elem(OP_LIST,
4633a7c4 1800 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
a0d0e21e 1801 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
93a17b20 1802break;
44a8e56a 1803case 76:
1804#line 356 "perly.y"
c07a80fd 1805{ yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1806break;
44a8e56a 1807case 77:
1808#line 358 "perly.y"
c07a80fd 1809{ yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
93a17b20 1810break;
44a8e56a 1811case 78:
1812#line 360 "perly.y"
28757baa 1813{ yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1814break;
44a8e56a 1815case 79:
1816#line 362 "perly.y"
4633a7c4 1817{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
28757baa 1818 append_elem(OP_LIST,
1819 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
4633a7c4 1820break;
44a8e56a 1821case 82:
1822#line 372 "perly.y"
c07a80fd 1823{ yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1824break;
44a8e56a 1825case 83:
1826#line 374 "perly.y"
c07a80fd 1827{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
93a17b20 1828break;
44a8e56a 1829case 84:
1830#line 376 "perly.y"
a0d0e21e 1831{ if (yyvsp[-1].ival != OP_REPEAT)
1832 scalar(yyvsp[-2].opval);
1833 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
93a17b20 1834break;
28757baa 1835case 85:
44a8e56a 1836#line 380 "perly.y"
c07a80fd 1837{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1838break;
28757baa 1839case 86:
44a8e56a 1840#line 382 "perly.y"
93a17b20 1841{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1842break;
28757baa 1843case 87:
44a8e56a 1844#line 384 "perly.y"
a0d0e21e 1845{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
93a17b20 1846break;
28757baa 1847case 88:
44a8e56a 1848#line 386 "perly.y"
93a17b20 1849{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1850break;
28757baa 1851case 89:
44a8e56a 1852#line 388 "perly.y"
1853{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
93a17b20 1854break;
28757baa 1855case 90:
44a8e56a 1856#line 390 "perly.y"
1857{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
93a17b20 1858break;
28757baa 1859case 91:
44a8e56a 1860#line 392 "perly.y"
1861{ yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
93a17b20 1862break;
28757baa 1863case 92:
44a8e56a 1864#line 394 "perly.y"
1865{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 1866break;
28757baa 1867case 93:
44a8e56a 1868#line 396 "perly.y"
1869{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 1870break;
28757baa 1871case 94:
44a8e56a 1872#line 398 "perly.y"
1873{ yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 1874break;
28757baa 1875case 95:
44a8e56a 1876#line 400 "perly.y"
1877{ yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 1878break;
28757baa 1879case 96:
44a8e56a 1880#line 403 "perly.y"
1881{ yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
93a17b20 1882break;
28757baa 1883case 97:
44a8e56a 1884#line 405 "perly.y"
1885{ yyval.opval = yyvsp[0].opval; }
93a17b20 1886break;
28757baa 1887case 98:
44a8e56a 1888#line 407 "perly.y"
1889{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
93a17b20 1890break;
28757baa 1891case 99:
44a8e56a 1892#line 409 "perly.y"
1893{ yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1894break;
1895case 100:
1896#line 411 "perly.y"
1897{ yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1898break;
1899case 101:
1900#line 413 "perly.y"
463ee0b2 1901{ yyval.opval = newUNOP(OP_POSTINC, 0,
1902 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
93a17b20 1903break;
44a8e56a 1904case 102:
1905#line 416 "perly.y"
463ee0b2 1906{ yyval.opval = newUNOP(OP_POSTDEC, 0,
1907 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
93a17b20 1908break;
44a8e56a 1909case 103:
1910#line 419 "perly.y"
463ee0b2 1911{ yyval.opval = newUNOP(OP_PREINC, 0,
1912 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
93a17b20 1913break;
44a8e56a 1914case 104:
1915#line 422 "perly.y"
463ee0b2 1916{ yyval.opval = newUNOP(OP_PREDEC, 0,
1917 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
93a17b20 1918break;
44a8e56a 1919case 105:
1920#line 425 "perly.y"
c07a80fd 1921{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1922break;
44a8e56a 1923case 106:
1924#line 427 "perly.y"
c07a80fd 1925{ yyval.opval = sawparens(yyvsp[-1].opval); }
93a17b20 1926break;
44a8e56a 1927case 107:
1928#line 429 "perly.y"
c07a80fd 1929{ yyval.opval = sawparens(newNULLLIST()); }
93a17b20 1930break;
44a8e56a 1931case 108:
1932#line 431 "perly.y"
c07a80fd 1933{ yyval.opval = newANONLIST(yyvsp[-1].opval); }
93a17b20 1934break;
44a8e56a 1935case 109:
1936#line 433 "perly.y"
c07a80fd 1937{ yyval.opval = newANONLIST(Nullop); }
93a17b20 1938break;
44a8e56a 1939case 110:
1940#line 435 "perly.y"
c07a80fd 1941{ yyval.opval = newANONHASH(yyvsp[-2].opval); }
93a17b20 1942break;
44a8e56a 1943case 111:
1944#line 437 "perly.y"
c07a80fd 1945{ yyval.opval = newANONHASH(Nullop); }
93a17b20 1946break;
44a8e56a 1947case 112:
1948#line 439 "perly.y"
c07a80fd 1949{ yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
93a17b20 1950break;
44a8e56a 1951case 113:
1952#line 441 "perly.y"
c07a80fd 1953{ yyval.opval = yyvsp[0].opval; }
a0d0e21e 1954break;
44a8e56a 1955case 114:
1956#line 443 "perly.y"
c07a80fd 1957{ yyval.opval = newBINOP(OP_GELEM, 0, newGVREF(0,yyvsp[-4].opval), yyvsp[-2].opval); }
93a17b20 1958break;
44a8e56a 1959case 115:
1960#line 445 "perly.y"
463ee0b2 1961{ yyval.opval = yyvsp[0].opval; }
1962break;
44a8e56a 1963case 116:
1964#line 447 "perly.y"
463ee0b2 1965{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
1966break;
44a8e56a 1967case 117:
1968#line 449 "perly.y"
93a17b20 1969{ yyval.opval = newBINOP(OP_AELEM, 0,
8990e307 1970 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
93a17b20 1971 scalar(yyvsp[-1].opval));}
1972break;
44a8e56a 1973case 118:
1974#line 453 "perly.y"
a0d0e21e 1975{ assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
8990e307 1976 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
463ee0b2 1977 scalar(yyvsp[-1].opval));}
1978break;
44a8e56a 1979case 119:
1980#line 457 "perly.y"
93a17b20 1981{ yyval.opval = yyvsp[0].opval; }
1982break;
44a8e56a 1983case 120:
1984#line 459 "perly.y"
93a17b20 1985{ yyval.opval = yyvsp[0].opval; }
1986break;
44a8e56a 1987case 121:
1988#line 461 "perly.y"
93a17b20 1989{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
1990break;
44a8e56a 1991case 122:
1992#line 463 "perly.y"
93a17b20 1993{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
1994 expect = XOPERATOR; }
1995break;
44a8e56a 1996case 123:
1997#line 466 "perly.y"
93a17b20 1998{ yyval.opval = newBINOP(OP_HELEM, 0,
8990e307 1999 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
93a17b20 2000 jmaybe(yyvsp[-2].opval));
2001 expect = XOPERATOR; }
2002break;
44a8e56a 2003case 124:
2004#line 471 "perly.y"
a0d0e21e 2005{ assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
8990e307 2006 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
463ee0b2 2007 jmaybe(yyvsp[-2].opval));
2008 expect = XOPERATOR; }
2009break;
44a8e56a 2010case 125:
2011#line 476 "perly.y"
93a17b20 2012{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2013break;
44a8e56a 2014case 126:
2015#line 478 "perly.y"
93a17b20 2016{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2017break;
44a8e56a 2018case 127:
2019#line 480 "perly.y"
79072805 2020{ yyval.opval = prepend_elem(OP_ASLICE,
2021 newOP(OP_PUSHMARK, 0),
79072805 2022 newLISTOP(OP_ASLICE, 0,
93a17b20 2023 list(yyvsp[-1].opval),
a0d0e21e 2024 ref(yyvsp[-3].opval, OP_ASLICE))); }
93a17b20 2025break;
44a8e56a 2026case 128:
2027#line 486 "perly.y"
79072805 2028{ yyval.opval = prepend_elem(OP_HSLICE,
2029 newOP(OP_PUSHMARK, 0),
79072805 2030 newLISTOP(OP_HSLICE, 0,
93a17b20 2031 list(yyvsp[-2].opval),
a0d0e21e 2032 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
93a17b20 2033 expect = XOPERATOR; }
2034break;
44a8e56a 2035case 129:
2036#line 493 "perly.y"
a0d0e21e 2037{ yyval.opval = yyvsp[0].opval; }
2038break;
44a8e56a 2039case 130:
2040#line 495 "perly.y"
c07a80fd 2041{ yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
a0d0e21e 2042break;
44a8e56a 2043case 131:
2044#line 497 "perly.y"
a0d0e21e 2045{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2046break;
44a8e56a 2047case 132:
2048#line 499 "perly.y"
a0d0e21e 2049{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
4633a7c4 2050 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
a0d0e21e 2051break;
44a8e56a 2052case 133:
2053#line 502 "perly.y"
a0d0e21e 2054{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
a5f75d66 2055 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
93a17b20 2056break;
44a8e56a 2057case 134:
2058#line 505 "perly.y"
a0d0e21e 2059{ yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
93a17b20 2060break;
44a8e56a 2061case 135:
2062#line 507 "perly.y"
a0d0e21e 2063{ yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
93a17b20 2064break;
44a8e56a 2065case 136:
2066#line 509 "perly.y"
c07a80fd 2067{ yyval.opval = newUNOP(OP_ENTERSUB,
2068 OPf_SPECIAL|OPf_STACKED,
4633a7c4 2069 prepend_elem(OP_LIST,
c07a80fd 2070 scalar(newCVREF(
2071 (OPpENTERSUB_AMPER<<8),
2072 scalar(yyvsp[-2].opval)
2073 )),Nullop)); dep();}
93a17b20 2074break;
44a8e56a 2075case 137:
2076#line 517 "perly.y"
c07a80fd 2077{ yyval.opval = newUNOP(OP_ENTERSUB,
2078 OPf_SPECIAL|OPf_STACKED,
4633a7c4 2079 append_elem(OP_LIST,
a0d0e21e 2080 yyvsp[-1].opval,
c07a80fd 2081 scalar(newCVREF(
2082 (OPpENTERSUB_AMPER<<8),
2083 scalar(yyvsp[-3].opval)
2084 )))); dep();}
93a17b20 2085break;
44a8e56a 2086case 138:
2087#line 526 "perly.y"
a0d0e21e 2088{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
4633a7c4 2089 prepend_elem(OP_LIST,
c07a80fd 2090 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
93a17b20 2091break;
44a8e56a 2092case 139:
2093#line 530 "perly.y"
a0d0e21e 2094{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
4633a7c4 2095 prepend_elem(OP_LIST,
a0d0e21e 2096 yyvsp[-1].opval,
c07a80fd 2097 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
93a17b20 2098break;
44a8e56a 2099case 140:
2100#line 535 "perly.y"
a0d0e21e 2101{ yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2102 hints |= HINT_BLOCK_SCOPE; }
93a17b20 2103break;
44a8e56a 2104case 141:
2105#line 538 "perly.y"
a0d0e21e 2106{ yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
463ee0b2 2107break;
44a8e56a 2108case 142:
2109#line 540 "perly.y"
c07a80fd 2110{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
93a17b20 2111break;
44a8e56a 2112case 143:
2113#line 542 "perly.y"
c07a80fd 2114{ yyval.opval = newOP(yyvsp[0].ival, 0); }
93a17b20 2115break;
44a8e56a 2116case 144:
2117#line 544 "perly.y"
a0d0e21e 2118{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
93a17b20 2119break;
44a8e56a 2120case 145:
2121#line 546 "perly.y"
c07a80fd 2122{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2123break;
44a8e56a 2124case 146:
2125#line 548 "perly.y"
4633a7c4 2126{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2127 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2128break;
44a8e56a 2129case 147:
2130#line 551 "perly.y"
a0d0e21e 2131{ yyval.opval = newOP(yyvsp[0].ival, 0); }
93a17b20 2132break;
44a8e56a 2133case 148:
2134#line 553 "perly.y"
a0d0e21e 2135{ yyval.opval = newOP(yyvsp[-2].ival, 0); }
93a17b20 2136break;
44a8e56a 2137case 149:
2138#line 555 "perly.y"
28757baa 2139{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
4633a7c4 2140 scalar(yyvsp[0].opval)); }
2141break;
44a8e56a 2142case 150:
2143#line 558 "perly.y"
a0d0e21e 2144{ yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
93a17b20 2145break;
44a8e56a 2146case 151:
2147#line 560 "perly.y"
a0d0e21e 2148{ yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
93a17b20 2149break;
44a8e56a 2150case 152:
2151#line 562 "perly.y"
a0d0e21e 2152{ yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
93a17b20 2153break;
44a8e56a 2154case 153:
2155#line 564 "perly.y"
a0d0e21e 2156{ yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
93a17b20 2157break;
28757baa 2158case 156:
44a8e56a 2159#line 570 "perly.y"
c07a80fd 2160{ yyval.opval = Nullop; }
93a17b20 2161break;
28757baa 2162case 157:
44a8e56a 2163#line 572 "perly.y"
c07a80fd 2164{ yyval.opval = yyvsp[0].opval; }
93a17b20 2165break;
28757baa 2166case 158:
44a8e56a 2167#line 576 "perly.y"
2168{ yyval.opval = Nullop; }
93a17b20 2169break;
28757baa 2170case 159:
44a8e56a 2171#line 578 "perly.y"
2172{ yyval.opval = yyvsp[0].opval; }
55497cff 2173break;
28757baa 2174case 160:
44a8e56a 2175#line 580 "perly.y"
2176{ yyval.opval = yyvsp[-1].opval; }
55497cff 2177break;
28757baa 2178case 161:
44a8e56a 2179#line 583 "perly.y"
2180{ yyval.ival = 0; }
55497cff 2181break;
28757baa 2182case 162:
44a8e56a 2183#line 584 "perly.y"
2184{ yyval.ival = 1; }
93a17b20 2185break;
28757baa 2186case 163:
44a8e56a 2187#line 588 "perly.y"
2188{ in_my = 0; yyval.opval = my(yyvsp[0].opval); }
93a17b20 2189break;
28757baa 2190case 164:
44a8e56a 2191#line 592 "perly.y"
2192{ yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
93a17b20 2193break;
28757baa 2194case 165:
44a8e56a 2195#line 596 "perly.y"
2196{ yyval.opval = newSVREF(yyvsp[0].opval); }
93a17b20 2197break;
28757baa 2198case 166:
44a8e56a 2199#line 600 "perly.y"
c07a80fd 2200{ yyval.opval = newAVREF(yyvsp[0].opval); }
93a17b20 2201break;
28757baa 2202case 167:
44a8e56a 2203#line 604 "perly.y"
2204{ yyval.opval = newHVREF(yyvsp[0].opval); }
93a17b20 2205break;
28757baa 2206case 168:
44a8e56a 2207#line 608 "perly.y"
2208{ yyval.opval = newAVREF(yyvsp[0].opval); }
93a17b20 2209break;
28757baa 2210case 169:
44a8e56a 2211#line 612 "perly.y"
2212{ yyval.opval = newGVREF(0,yyvsp[0].opval); }
93a17b20 2213break;
28757baa 2214case 170:
44a8e56a 2215#line 616 "perly.y"
2216{ yyval.opval = scalar(yyvsp[0].opval); }
c07a80fd 2217break;
28757baa 2218case 171:
44a8e56a 2219#line 618 "perly.y"
2220{ yyval.opval = scalar(yyvsp[0].opval); }
2221break;
2222case 172:
2223#line 620 "perly.y"
2224{ yyval.opval = scope(yyvsp[0].opval); }
2225break;
2226case 173:
2227#line 623 "perly.y"
85e6fe83 2228{ yyval.opval = yyvsp[0].opval; }
93a17b20 2229break;
44a8e56a 2230#line 2217 "perly.c"
93a17b20 2231 }
2232 yyssp -= yym;
2233 yystate = *yyssp;
2234 yyvsp -= yym;
2235 yym = yylhs[yyn];
2236 if (yystate == 0 && yym == 0)
2237 {
2238#if YYDEBUG
2239 if (yydebug)
760ac839 2240 PerlIO_printf(Perl_debug_log,
ed6116ce 2241 "yydebug: after reduction, shifting from state 0 to state %d\n",
2242 YYFINAL);
93a17b20 2243#endif
2244 yystate = YYFINAL;
2245 *++yyssp = YYFINAL;
2246 *++yyvsp = yyval;
2247 if (yychar < 0)
2248 {
2249 if ((yychar = yylex()) < 0) yychar = 0;
2250#if YYDEBUG
2251 if (yydebug)
2252 {
2253 yys = 0;
2254 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2255 if (!yys) yys = "illegal-symbol";
760ac839 2256 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
93a17b20 2257 YYFINAL, yychar, yys);
2258 }
2259#endif
2260 }
2261 if (yychar == 0) goto yyaccept;
2262 goto yyloop;
2263 }
2264 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2265 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2266 yystate = yytable[yyn];
2267 else
2268 yystate = yydgoto[yym];
2269#if YYDEBUG
2270 if (yydebug)
760ac839 2271 PerlIO_printf(Perl_debug_log,
ed6116ce 2272 "yydebug: after reduction, shifting from state %d to state %d\n",
2273 *yyssp, yystate);
93a17b20 2274#endif
2275 if (yyssp >= yyss + yystacksize - 1)
2276 {
2277 /*
2278 ** reallocate and recover. Note that pointers
2279 ** have to be reset, or bad things will happen
2280 */
2281 int yyps_index = (yyssp - yyss);
2282 int yypv_index = (yyvsp - yyvs);
2283 yystacksize += YYSTACKSIZE;
a0d0e21e 2284 ysave->yyvs = yyvs =
2285 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2286 ysave->yyss = yyss =
2287 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
93a17b20 2288 if (!yyvs || !yyss)
2289 goto yyoverflow;
2290 yyssp = yyss + yyps_index;
2291 yyvsp = yyvs + yypv_index;
2292 }
2293 *++yyssp = yystate;
2294 *++yyvsp = yyval;
2295 goto yyloop;
2296yyoverflow:
2297 yyerror("Out of memory for yacc stack");
2298yyabort:
2299 retval = 1;
2300yyaccept:
93a17b20 2301 return retval;
79072805 2302}