This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
support OE/MVS
[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 30 "perly.y"
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 short *yyssp;
1284 YYSTYPE *yyvsp;
1285 YYSTYPE yyval;
1286 YYSTYPE yylval;
1287 #line 643 "perly.y"
1288  /* PROGRAM */
1289 #line 1353 "perly.c"
1290 #define YYABORT goto yyabort
1291 #define YYACCEPT goto yyaccept
1292 #define YYERROR goto yyerrlab
1293
1294 struct ysv {
1295     short* yyss;
1296     YYSTYPE* yyvs;
1297     int oldyydebug;
1298     int oldyynerrs;
1299     int oldyyerrflag;
1300     int oldyychar;
1301     YYSTYPE oldyyval;
1302     YYSTYPE oldyylval;
1303 };
1304
1305 void
1306 yydestruct(void *ptr)
1307 {
1308     struct ysv* ysave = (struct ysv*)ptr;
1309     if (ysave->yyss) Safefree(ysave->yyss);
1310     if (ysave->yyvs) Safefree(ysave->yyvs);
1311     yydebug     = ysave->oldyydebug;
1312     yynerrs     = ysave->oldyynerrs;
1313     yyerrflag   = ysave->oldyyerrflag;
1314     yychar      = ysave->oldyychar;
1315     yyval       = ysave->oldyyval;
1316     yylval      = ysave->oldyylval;
1317     Safefree(ysave);
1318 }
1319
1320 int
1321 yyparse(void)
1322 {
1323     register int yym, yyn, yystate;
1324     register short *yyssp;
1325     register YYSTYPE *yyvsp;
1326     short* yyss;
1327     YYSTYPE* yyvs;
1328     unsigned yystacksize = YYSTACKSIZE;
1329     int retval = 0;
1330 #if YYDEBUG
1331     register char *yys;
1332 #ifndef __cplusplus
1333     extern char *getenv();
1334 #endif
1335 #endif
1336
1337     struct ysv *ysave;
1338     New(73, ysave, 1, struct ysv);
1339     SAVEDESTRUCTOR(yydestruct, ysave);
1340     ysave->oldyydebug   = yydebug;
1341     ysave->oldyynerrs   = yynerrs;
1342     ysave->oldyyerrflag = yyerrflag;
1343     ysave->oldyychar    = yychar;
1344     ysave->oldyyval     = yyval;
1345     ysave->oldyylval    = yylval;
1346
1347 #if YYDEBUG
1348     if (yys = getenv("YYDEBUG"))
1349     {
1350         yyn = *yys;
1351         if (yyn >= '0' && yyn <= '9')
1352             yydebug = yyn - '0';
1353     }
1354 #endif
1355
1356     yynerrs = 0;
1357     yyerrflag = 0;
1358     yychar = (-1);
1359
1360     /*
1361     ** Initialize private stacks (yyparse may be called from an action)
1362     */
1363     New(73, yyss, yystacksize, short);
1364     New(73, yyvs, yystacksize, YYSTYPE);
1365     ysave->yyss = yyss;
1366     ysave->yyvs = yyvs;
1367     if (!yyvs || !yyss)
1368         goto yyoverflow;
1369
1370     yyssp = yyss;
1371     yyvsp = yyvs;
1372     *yyssp = yystate = 0;
1373
1374 yyloop:
1375     if (yyn = yydefred[yystate]) goto yyreduce;
1376     if (yychar < 0)
1377     {
1378         if ((yychar = yylex()) < 0) yychar = 0;
1379 #if YYDEBUG
1380         if (yydebug)
1381         {
1382             yys = 0;
1383             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1384             if (!yys) yys = "illegal-symbol";
1385             PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1386                     yychar, yys);
1387         }
1388 #endif
1389     }
1390     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1391             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1392     {
1393 #if YYDEBUG
1394         if (yydebug)
1395             PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1396                     yystate, yytable[yyn]);
1397 #endif
1398         if (yyssp >= yyss + yystacksize - 1)
1399         {
1400             /*
1401             ** reallocate and recover.  Note that pointers
1402             ** have to be reset, or bad things will happen
1403             */
1404             int yyps_index = (yyssp - yyss);
1405             int yypv_index = (yyvsp - yyvs);
1406             yystacksize += YYSTACKSIZE;
1407             ysave->yyvs = yyvs =
1408                 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1409             ysave->yyss = yyss =
1410                 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1411             if (!yyvs || !yyss)
1412                 goto yyoverflow;
1413             yyssp = yyss + yyps_index;
1414             yyvsp = yyvs + yypv_index;
1415         }
1416         *++yyssp = yystate = yytable[yyn];
1417         *++yyvsp = yylval;
1418         yychar = (-1);
1419         if (yyerrflag > 0)  --yyerrflag;
1420         goto yyloop;
1421     }
1422     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1423             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1424     {
1425         yyn = yytable[yyn];
1426         goto yyreduce;
1427     }
1428     if (yyerrflag) goto yyinrecovery;
1429 #ifdef lint
1430     goto yynewerror;
1431 #endif
1432 yynewerror:
1433     yyerror("syntax error");
1434 #ifdef lint
1435     goto yyerrlab;
1436 #endif
1437 yyerrlab:
1438     ++yynerrs;
1439 yyinrecovery:
1440     if (yyerrflag < 3)
1441     {
1442         yyerrflag = 3;
1443         for (;;)
1444         {
1445             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1446                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1447             {
1448 #if YYDEBUG
1449                 if (yydebug)
1450                     PerlIO_printf(Perl_debug_log,
1451                      "yydebug: state %d, error recovery shifting to state %d\n",
1452                      *yyssp, yytable[yyn]);
1453 #endif
1454                 if (yyssp >= yyss + yystacksize - 1)
1455                 {
1456                     /*
1457                     ** reallocate and recover.  Note that pointers
1458                     ** have to be reset, or bad things will happen
1459                     */
1460                     int yyps_index = (yyssp - yyss);
1461                     int yypv_index = (yyvsp - yyvs);
1462                     yystacksize += YYSTACKSIZE;
1463                     ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
1464                         yystacksize * sizeof(YYSTYPE));
1465                     ysave->yyss = yyss = (short*)realloc((char*)yyss,
1466                         yystacksize * sizeof(short));
1467                     if (!yyvs || !yyss)
1468                         goto yyoverflow;
1469                     yyssp = yyss + yyps_index;
1470                     yyvsp = yyvs + yypv_index;
1471                 }
1472                 *++yyssp = yystate = yytable[yyn];
1473                 *++yyvsp = yylval;
1474                 goto yyloop;
1475             }
1476             else
1477             {
1478 #if YYDEBUG
1479                 if (yydebug)
1480                     PerlIO_printf(Perl_debug_log,
1481                         "yydebug: error recovery discarding state %d\n",
1482                         *yyssp);
1483 #endif
1484                 if (yyssp <= yyss) goto yyabort;
1485                 --yyssp;
1486                 --yyvsp;
1487             }
1488         }
1489     }
1490     else
1491     {
1492         if (yychar == 0) goto yyabort;
1493 #if YYDEBUG
1494         if (yydebug)
1495         {
1496             yys = 0;
1497             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1498             if (!yys) yys = "illegal-symbol";
1499             PerlIO_printf(Perl_debug_log,
1500                 "yydebug: state %d, error recovery discards token %d (%s)\n",
1501                 yystate, yychar, yys);
1502         }
1503 #endif
1504         yychar = (-1);
1505         goto yyloop;
1506     }
1507 yyreduce:
1508 #if YYDEBUG
1509     if (yydebug)
1510         PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1511                 yystate, yyn, yyrule[yyn]);
1512 #endif
1513     yym = yylen[yyn];
1514     yyval = yyvsp[1-yym];
1515     switch (yyn)
1516     {
1517 case 1:
1518 #line 94 "perly.y"
1519 {
1520 #if defined(YYDEBUG) && defined(DEBUGGING)
1521                     yydebug = (PL_debug & 1);
1522 #endif
1523                     PL_expect = XSTATE;
1524                 }
1525 break;
1526 case 2:
1527 #line 101 "perly.y"
1528 { newPROG(yyvsp[0].opval); }
1529 break;
1530 case 3:
1531 #line 105 "perly.y"
1532 { if (PL_copline > (line_t)yyvsp[-3].ival)
1533                               PL_copline = yyvsp[-3].ival;
1534                           yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1535 break;
1536 case 4:
1537 #line 111 "perly.y"
1538 { yyval.ival = block_start(TRUE); }
1539 break;
1540 case 5:
1541 #line 115 "perly.y"
1542 { if (PL_copline > (line_t)yyvsp[-3].ival)
1543                               PL_copline = yyvsp[-3].ival;
1544                           yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1545 break;
1546 case 6:
1547 #line 121 "perly.y"
1548 { yyval.ival = block_start(FALSE); }
1549 break;
1550 case 7:
1551 #line 125 "perly.y"
1552 { yyval.opval = Nullop; }
1553 break;
1554 case 8:
1555 #line 127 "perly.y"
1556 { yyval.opval = yyvsp[-1].opval; }
1557 break;
1558 case 9:
1559 #line 129 "perly.y"
1560 {   yyval.opval = append_list(OP_LINESEQ,
1561                                 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1562                             PL_pad_reset_pending = TRUE;
1563                             if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1564 break;
1565 case 10:
1566 #line 136 "perly.y"
1567 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1568 break;
1569 case 12:
1570 #line 139 "perly.y"
1571 { if (yyvsp[-1].pval != Nullch) {
1572                               yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1573                             }
1574                             else {
1575                               yyval.opval = Nullop;
1576                               PL_copline = NOLINE;
1577                             }
1578                             PL_expect = XSTATE; }
1579 break;
1580 case 13:
1581 #line 148 "perly.y"
1582 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1583                           PL_expect = XSTATE; }
1584 break;
1585 case 14:
1586 #line 153 "perly.y"
1587 { yyval.opval = Nullop; }
1588 break;
1589 case 15:
1590 #line 155 "perly.y"
1591 { yyval.opval = yyvsp[0].opval; }
1592 break;
1593 case 16:
1594 #line 157 "perly.y"
1595 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1596 break;
1597 case 17:
1598 #line 159 "perly.y"
1599 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1600 break;
1601 case 18:
1602 #line 161 "perly.y"
1603 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1604 break;
1605 case 19:
1606 #line 163 "perly.y"
1607 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1608 break;
1609 case 20:
1610 #line 165 "perly.y"
1611 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1612                                         Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1613 break;
1614 case 21:
1615 #line 170 "perly.y"
1616 { yyval.opval = Nullop; }
1617 break;
1618 case 22:
1619 #line 172 "perly.y"
1620 { yyval.opval = scope(yyvsp[0].opval); }
1621 break;
1622 case 23:
1623 #line 174 "perly.y"
1624 { PL_copline = yyvsp[-5].ival;
1625                             yyval.opval = newSTATEOP(0, Nullch,
1626                                    newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1627                             PL_hints |= HINT_BLOCK_SCOPE; }
1628 break;
1629 case 24:
1630 #line 181 "perly.y"
1631 { PL_copline = yyvsp[-6].ival;
1632                             yyval.opval = block_end(yyvsp[-4].ival,
1633                                    newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1634 break;
1635 case 25:
1636 #line 185 "perly.y"
1637 { PL_copline = yyvsp[-6].ival;
1638                             yyval.opval = block_end(yyvsp[-4].ival,
1639                                    newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1640 break;
1641 case 26:
1642 #line 191 "perly.y"
1643 { yyval.opval = Nullop; }
1644 break;
1645 case 27:
1646 #line 193 "perly.y"
1647 { yyval.opval = scope(yyvsp[0].opval); }
1648 break;
1649 case 28:
1650 #line 197 "perly.y"
1651 { PL_copline = yyvsp[-6].ival;
1652                             yyval.opval = block_end(yyvsp[-4].ival,
1653                                    newSTATEOP(0, yyvsp[-7].pval,
1654                                      newWHILEOP(0, 1, (LOOP*)Nullop,
1655                                                 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1656 break;
1657 case 29:
1658 #line 203 "perly.y"
1659 { PL_copline = yyvsp[-6].ival;
1660                             yyval.opval = block_end(yyvsp[-4].ival,
1661                                    newSTATEOP(0, yyvsp[-7].pval,
1662                                      newWHILEOP(0, 1, (LOOP*)Nullop,
1663                                                 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1664 break;
1665 case 30:
1666 #line 209 "perly.y"
1667 { yyval.opval = block_end(yyvsp[-6].ival,
1668                                  newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1669 break;
1670 case 31:
1671 #line 212 "perly.y"
1672 { yyval.opval = block_end(yyvsp[-4].ival,
1673                                  newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1674                                           yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1675 break;
1676 case 32:
1677 #line 216 "perly.y"
1678 { yyval.opval = block_end(yyvsp[-4].ival,
1679                                  newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1680 break;
1681 case 33:
1682 #line 220 "perly.y"
1683 { OP *forop = append_elem(OP_LINESEQ,
1684                                         scalar(yyvsp[-6].opval),
1685                                         newWHILEOP(0, 1, (LOOP*)Nullop,
1686                                                    yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1687                                                    yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1688                           PL_copline = yyvsp[-9].ival;
1689                           yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1690 break;
1691 case 34:
1692 #line 228 "perly.y"
1693 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1694                                  newWHILEOP(0, 1, (LOOP*)Nullop,
1695                                             NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1696 break;
1697 case 35:
1698 #line 234 "perly.y"
1699 { yyval.opval = Nullop; }
1700 break;
1701 case 37:
1702 #line 239 "perly.y"
1703 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1704 break;
1705 case 39:
1706 #line 244 "perly.y"
1707 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1708 break;
1709 case 40:
1710 #line 248 "perly.y"
1711 { yyval.opval = yyvsp[0].opval; intro_my(); }
1712 break;
1713 case 41:
1714 #line 252 "perly.y"
1715 { yyval.opval = yyvsp[0].opval; intro_my(); }
1716 break;
1717 case 42:
1718 #line 256 "perly.y"
1719 { yyval.opval = yyvsp[0].opval; intro_my(); }
1720 break;
1721 case 43:
1722 #line 260 "perly.y"
1723 { yyval.opval = yyvsp[0].opval; intro_my(); }
1724 break;
1725 case 44:
1726 #line 264 "perly.y"
1727 { yyval.pval = Nullch; }
1728 break;
1729 case 46:
1730 #line 269 "perly.y"
1731 { yyval.ival = 0; }
1732 break;
1733 case 47:
1734 #line 271 "perly.y"
1735 { yyval.ival = 0; }
1736 break;
1737 case 48:
1738 #line 273 "perly.y"
1739 { yyval.ival = 0; }
1740 break;
1741 case 49:
1742 #line 275 "perly.y"
1743 { yyval.ival = 0; }
1744 break;
1745 case 50:
1746 #line 279 "perly.y"
1747 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1748 break;
1749 case 51:
1750 #line 282 "perly.y"
1751 { yyval.opval = yyvsp[0].opval; }
1752 break;
1753 case 52:
1754 #line 283 "perly.y"
1755 { yyval.opval = Nullop; }
1756 break;
1757 case 53:
1758 #line 287 "perly.y"
1759 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1760 break;
1761 case 54:
1762 #line 291 "perly.y"
1763 { yyval.ival = start_subparse(FALSE, 0); }
1764 break;
1765 case 55:
1766 #line 295 "perly.y"
1767 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1768 break;
1769 case 56:
1770 #line 299 "perly.y"
1771 { yyval.ival = start_subparse(TRUE, 0); }
1772 break;
1773 case 57:
1774 #line 302 "perly.y"
1775 { char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv, PL_na);
1776                           if (strEQ(name, "BEGIN") || strEQ(name, "END")
1777                               || strEQ(name, "INIT"))
1778                               CvUNIQUE_on(PL_compcv);
1779                           yyval.opval = yyvsp[0].opval; }
1780 break;
1781 case 58:
1782 #line 310 "perly.y"
1783 { yyval.opval = Nullop; }
1784 break;
1785 case 60:
1786 #line 314 "perly.y"
1787 { yyval.opval = yyvsp[0].opval; }
1788 break;
1789 case 61:
1790 #line 315 "perly.y"
1791 { yyval.opval = Nullop; PL_expect = XSTATE; }
1792 break;
1793 case 62:
1794 #line 319 "perly.y"
1795 { package(yyvsp[-1].opval); }
1796 break;
1797 case 63:
1798 #line 321 "perly.y"
1799 { package(Nullop); }
1800 break;
1801 case 64:
1802 #line 325 "perly.y"
1803 { CvUNIQUE_on(PL_compcv); /* It's a BEGIN {} */ }
1804 break;
1805 case 65:
1806 #line 327 "perly.y"
1807 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1808 break;
1809 case 66:
1810 #line 331 "perly.y"
1811 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1812 break;
1813 case 67:
1814 #line 333 "perly.y"
1815 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1816 break;
1817 case 69:
1818 #line 338 "perly.y"
1819 { yyval.opval = yyvsp[-1].opval; }
1820 break;
1821 case 70:
1822 #line 340 "perly.y"
1823 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1824 break;
1825 case 72:
1826 #line 345 "perly.y"
1827 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1828                                 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1829 break;
1830 case 73:
1831 #line 348 "perly.y"
1832 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1833                                 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1834 break;
1835 case 74:
1836 #line 351 "perly.y"
1837 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1838                                 append_elem(OP_LIST,
1839                                     prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1840                                     newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1841 break;
1842 case 75:
1843 #line 356 "perly.y"
1844 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1845                                 append_elem(OP_LIST,
1846                                     prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1847                                     newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1848 break;
1849 case 76:
1850 #line 361 "perly.y"
1851 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1852                                 append_elem(OP_LIST,
1853                                     prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1854                                     newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1855 break;
1856 case 77:
1857 #line 366 "perly.y"
1858 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1859 break;
1860 case 78:
1861 #line 368 "perly.y"
1862 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1863 break;
1864 case 79:
1865 #line 370 "perly.y"
1866 { yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1867 break;
1868 case 80:
1869 #line 372 "perly.y"
1870 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1871                                  append_elem(OP_LIST,
1872                                    prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1873 break;
1874 case 83:
1875 #line 382 "perly.y"
1876 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1877 break;
1878 case 84:
1879 #line 384 "perly.y"
1880 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1881 break;
1882 case 85:
1883 #line 386 "perly.y"
1884 {   if (yyvsp[-1].ival != OP_REPEAT)
1885                                 scalar(yyvsp[-2].opval);
1886                             yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1887 break;
1888 case 86:
1889 #line 390 "perly.y"
1890 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1891 break;
1892 case 87:
1893 #line 392 "perly.y"
1894 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1895 break;
1896 case 88:
1897 #line 394 "perly.y"
1898 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1899 break;
1900 case 89:
1901 #line 396 "perly.y"
1902 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1903 break;
1904 case 90:
1905 #line 398 "perly.y"
1906 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1907 break;
1908 case 91:
1909 #line 400 "perly.y"
1910 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1911 break;
1912 case 92:
1913 #line 402 "perly.y"
1914 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1915 break;
1916 case 93:
1917 #line 404 "perly.y"
1918 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1919 break;
1920 case 94:
1921 #line 406 "perly.y"
1922 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1923 break;
1924 case 95:
1925 #line 408 "perly.y"
1926 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1927 break;
1928 case 96:
1929 #line 410 "perly.y"
1930 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1931 break;
1932 case 97:
1933 #line 413 "perly.y"
1934 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1935 break;
1936 case 98:
1937 #line 415 "perly.y"
1938 { yyval.opval = yyvsp[0].opval; }
1939 break;
1940 case 99:
1941 #line 417 "perly.y"
1942 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1943 break;
1944 case 100:
1945 #line 419 "perly.y"
1946 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1947 break;
1948 case 101:
1949 #line 421 "perly.y"
1950 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1951 break;
1952 case 102:
1953 #line 423 "perly.y"
1954 { yyval.opval = newUNOP(OP_POSTINC, 0,
1955                                         mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1956 break;
1957 case 103:
1958 #line 426 "perly.y"
1959 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1960                                         mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1961 break;
1962 case 104:
1963 #line 429 "perly.y"
1964 { yyval.opval = newUNOP(OP_PREINC, 0,
1965                                         mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1966 break;
1967 case 105:
1968 #line 432 "perly.y"
1969 { yyval.opval = newUNOP(OP_PREDEC, 0,
1970                                         mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1971 break;
1972 case 106:
1973 #line 435 "perly.y"
1974 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1975 break;
1976 case 107:
1977 #line 437 "perly.y"
1978 { yyval.opval = sawparens(yyvsp[-1].opval); }
1979 break;
1980 case 108:
1981 #line 439 "perly.y"
1982 { yyval.opval = sawparens(newNULLLIST()); }
1983 break;
1984 case 109:
1985 #line 441 "perly.y"
1986 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
1987 break;
1988 case 110:
1989 #line 443 "perly.y"
1990 { yyval.opval = newANONLIST(Nullop); }
1991 break;
1992 case 111:
1993 #line 445 "perly.y"
1994 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
1995 break;
1996 case 112:
1997 #line 447 "perly.y"
1998 { yyval.opval = newANONHASH(Nullop); }
1999 break;
2000 case 113:
2001 #line 449 "perly.y"
2002 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2003 break;
2004 case 114:
2005 #line 451 "perly.y"
2006 { yyval.opval = yyvsp[0].opval; }
2007 break;
2008 case 115:
2009 #line 453 "perly.y"
2010 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
2011 break;
2012 case 116:
2013 #line 455 "perly.y"
2014 { yyval.opval = yyvsp[0].opval; }
2015 break;
2016 case 117:
2017 #line 457 "perly.y"
2018 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2019 break;
2020 case 118:
2021 #line 459 "perly.y"
2022 { yyval.opval = newBINOP(OP_AELEM, 0,
2023                                         ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2024                                         scalar(yyvsp[-1].opval));}
2025 break;
2026 case 119:
2027 #line 463 "perly.y"
2028 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
2029                                         ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2030                                         scalar(yyvsp[-1].opval));}
2031 break;
2032 case 120:
2033 #line 467 "perly.y"
2034 { yyval.opval = yyvsp[0].opval; }
2035 break;
2036 case 121:
2037 #line 469 "perly.y"
2038 { yyval.opval = yyvsp[0].opval; }
2039 break;
2040 case 122:
2041 #line 471 "perly.y"
2042 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2043 break;
2044 case 123:
2045 #line 473 "perly.y"
2046 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2047                             PL_expect = XOPERATOR; }
2048 break;
2049 case 124:
2050 #line 476 "perly.y"
2051 { yyval.opval = newBINOP(OP_HELEM, 0,
2052                                         ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2053                                         jmaybe(yyvsp[-2].opval));
2054                             PL_expect = XOPERATOR; }
2055 break;
2056 case 125:
2057 #line 481 "perly.y"
2058 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2059                                         ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2060                                         jmaybe(yyvsp[-2].opval));
2061                             PL_expect = XOPERATOR; }
2062 break;
2063 case 126:
2064 #line 486 "perly.y"
2065 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2066 break;
2067 case 127:
2068 #line 488 "perly.y"
2069 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2070 break;
2071 case 128:
2072 #line 490 "perly.y"
2073 { yyval.opval = prepend_elem(OP_ASLICE,
2074                                 newOP(OP_PUSHMARK, 0),
2075                                     newLISTOP(OP_ASLICE, 0,
2076                                         list(yyvsp[-1].opval),
2077                                         ref(yyvsp[-3].opval, OP_ASLICE))); }
2078 break;
2079 case 129:
2080 #line 496 "perly.y"
2081 { yyval.opval = prepend_elem(OP_HSLICE,
2082                                 newOP(OP_PUSHMARK, 0),
2083                                     newLISTOP(OP_HSLICE, 0,
2084                                         list(yyvsp[-2].opval),
2085                                         ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2086                             PL_expect = XOPERATOR; }
2087 break;
2088 case 130:
2089 #line 503 "perly.y"
2090 { yyval.opval = yyvsp[0].opval; }
2091 break;
2092 case 131:
2093 #line 505 "perly.y"
2094 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2095 break;
2096 case 132:
2097 #line 507 "perly.y"
2098 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2099 break;
2100 case 133:
2101 #line 509 "perly.y"
2102 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2103                             append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2104 break;
2105 case 134:
2106 #line 512 "perly.y"
2107 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2108                             append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2109 break;
2110 case 135:
2111 #line 515 "perly.y"
2112 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2113 break;
2114 case 136:
2115 #line 517 "perly.y"
2116 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2117 break;
2118 case 137:
2119 #line 519 "perly.y"
2120 { yyval.opval = newUNOP(OP_ENTERSUB,
2121                             OPf_SPECIAL|OPf_STACKED,
2122                             prepend_elem(OP_LIST,
2123                                 scalar(newCVREF(
2124                                     (OPpENTERSUB_AMPER<<8),
2125                                     scalar(yyvsp[-2].opval)
2126                                 )),Nullop)); dep();}
2127 break;
2128 case 138:
2129 #line 527 "perly.y"
2130 { yyval.opval = newUNOP(OP_ENTERSUB,
2131                             OPf_SPECIAL|OPf_STACKED,
2132                             append_elem(OP_LIST,
2133                                 yyvsp[-1].opval,
2134                                 scalar(newCVREF(
2135                                     (OPpENTERSUB_AMPER<<8),
2136                                     scalar(yyvsp[-3].opval)
2137                                 )))); dep();}
2138 break;
2139 case 139:
2140 #line 536 "perly.y"
2141 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2142                             prepend_elem(OP_LIST,
2143                                 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2144 break;
2145 case 140:
2146 #line 540 "perly.y"
2147 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2148                             prepend_elem(OP_LIST,
2149                                 yyvsp[-1].opval,
2150                                 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2151 break;
2152 case 141:
2153 #line 545 "perly.y"
2154 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2155                                    newCVREF(0, scalar(yyvsp[-3].opval))); }
2156 break;
2157 case 142:
2158 #line 548 "perly.y"
2159 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2160                                    append_elem(OP_LIST, yyvsp[-1].opval,
2161                                        newCVREF(0, scalar(yyvsp[-4].opval)))); }
2162 break;
2163 case 143:
2164 #line 552 "perly.y"
2165 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2166                             PL_hints |= HINT_BLOCK_SCOPE; }
2167 break;
2168 case 144:
2169 #line 555 "perly.y"
2170 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2171 break;
2172 case 145:
2173 #line 557 "perly.y"
2174 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2175 break;
2176 case 146:
2177 #line 559 "perly.y"
2178 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2179 break;
2180 case 147:
2181 #line 561 "perly.y"
2182 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2183 break;
2184 case 148:
2185 #line 563 "perly.y"
2186 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2187 break;
2188 case 149:
2189 #line 565 "perly.y"
2190 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2191                             append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2192 break;
2193 case 150:
2194 #line 568 "perly.y"
2195 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2196 break;
2197 case 151:
2198 #line 570 "perly.y"
2199 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2200 break;
2201 case 152:
2202 #line 572 "perly.y"
2203 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2204                                 scalar(yyvsp[0].opval)); }
2205 break;
2206 case 153:
2207 #line 575 "perly.y"
2208 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2209 break;
2210 case 154:
2211 #line 577 "perly.y"
2212 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2213 break;
2214 case 155:
2215 #line 579 "perly.y"
2216 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2217 break;
2218 case 156:
2219 #line 581 "perly.y"
2220 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2221 break;
2222 case 159:
2223 #line 587 "perly.y"
2224 { yyval.opval = Nullop; }
2225 break;
2226 case 160:
2227 #line 589 "perly.y"
2228 { yyval.opval = yyvsp[0].opval; }
2229 break;
2230 case 161:
2231 #line 593 "perly.y"
2232 { yyval.opval = Nullop; }
2233 break;
2234 case 162:
2235 #line 595 "perly.y"
2236 { yyval.opval = yyvsp[0].opval; }
2237 break;
2238 case 163:
2239 #line 597 "perly.y"
2240 { yyval.opval = yyvsp[-1].opval; }
2241 break;
2242 case 164:
2243 #line 600 "perly.y"
2244 { yyval.ival = 0; }
2245 break;
2246 case 165:
2247 #line 601 "perly.y"
2248 { yyval.ival = 1; }
2249 break;
2250 case 166:
2251 #line 605 "perly.y"
2252 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2253 break;
2254 case 167:
2255 #line 609 "perly.y"
2256 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2257 break;
2258 case 168:
2259 #line 613 "perly.y"
2260 { yyval.opval = newSVREF(yyvsp[0].opval); }
2261 break;
2262 case 169:
2263 #line 617 "perly.y"
2264 { yyval.opval = newAVREF(yyvsp[0].opval); }
2265 break;
2266 case 170:
2267 #line 621 "perly.y"
2268 { yyval.opval = newHVREF(yyvsp[0].opval); }
2269 break;
2270 case 171:
2271 #line 625 "perly.y"
2272 { yyval.opval = newAVREF(yyvsp[0].opval); }
2273 break;
2274 case 172:
2275 #line 629 "perly.y"
2276 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2277 break;
2278 case 173:
2279 #line 633 "perly.y"
2280 { yyval.opval = scalar(yyvsp[0].opval); }
2281 break;
2282 case 174:
2283 #line 635 "perly.y"
2284 { yyval.opval = scalar(yyvsp[0].opval);  }
2285 break;
2286 case 175:
2287 #line 637 "perly.y"
2288 { yyval.opval = scope(yyvsp[0].opval); }
2289 break;
2290 case 176:
2291 #line 640 "perly.y"
2292 { yyval.opval = yyvsp[0].opval; }
2293 break;
2294 #line 2270 "perly.c"
2295     }
2296     yyssp -= yym;
2297     yystate = *yyssp;
2298     yyvsp -= yym;
2299     yym = yylhs[yyn];
2300     if (yystate == 0 && yym == 0)
2301     {
2302 #if YYDEBUG
2303         if (yydebug)
2304             PerlIO_printf(Perl_debug_log,
2305                 "yydebug: after reduction, shifting from state 0 to state %d\n",
2306                 YYFINAL);
2307 #endif
2308         yystate = YYFINAL;
2309         *++yyssp = YYFINAL;
2310         *++yyvsp = yyval;
2311         if (yychar < 0)
2312         {
2313             if ((yychar = yylex()) < 0) yychar = 0;
2314 #if YYDEBUG
2315             if (yydebug)
2316             {
2317                 yys = 0;
2318                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2319                 if (!yys) yys = "illegal-symbol";
2320                 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2321                         YYFINAL, yychar, yys);
2322             }
2323 #endif
2324         }
2325         if (yychar == 0) goto yyaccept;
2326         goto yyloop;
2327     }
2328     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2329             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2330         yystate = yytable[yyn];
2331     else
2332         yystate = yydgoto[yym];
2333 #if YYDEBUG
2334     if (yydebug)
2335         PerlIO_printf(Perl_debug_log,
2336             "yydebug: after reduction, shifting from state %d to state %d\n",
2337             *yyssp, yystate);
2338 #endif
2339     if (yyssp >= yyss + yystacksize - 1)
2340     {
2341         /*
2342         ** reallocate and recover.  Note that pointers
2343         ** have to be reset, or bad things will happen
2344         */
2345         int yyps_index = (yyssp - yyss);
2346         int yypv_index = (yyvsp - yyvs);
2347         yystacksize += YYSTACKSIZE;
2348         ysave->yyvs = yyvs =
2349             (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2350         ysave->yyss = yyss =
2351             (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2352         if (!yyvs || !yyss)
2353             goto yyoverflow;
2354         yyssp = yyss + yyps_index;
2355         yyvsp = yyvs + yypv_index;
2356     }
2357     *++yyssp = yystate;
2358     *++yyvsp = yyval;
2359     goto yyloop;
2360 yyoverflow:
2361     yyerror("Out of memory for yacc stack");
2362 yyabort:
2363     retval = 1;
2364 yyaccept:
2365     return retval;
2366 }