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