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