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