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