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