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