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