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