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