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