source: trunk/third/perl/perly.c @ 10724

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