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