source: trunk/third/perl/vms/perly_c.vms @ 20075

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