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