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