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