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