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