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