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