Introduced thr->threadsvp and THREADSV() for faster per-thread
[p5sagit/p5-mst-13.2.git] / perly.c
1 #ifndef lint
2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
3 #endif
4 #define YYBYACC 1
5 #line 16 "perly.y"
6 #include "EXTERN.h"
7 #include "perl.h"
8
9 static void
10 dep(void)
11 {
12     deprecate("\"do\" to call subroutines");
13 }
14
15 #line 16 "perly.c"
16 #define YYERRCODE 256
17 short yylhs[] = {                                        -1,
18    45,    0,    9,    7,   10,    8,   11,   11,   11,   12,
19    12,   12,   12,   24,   24,   24,   24,   24,   24,   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 632 "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(void *ptr)
1307 {
1308     struct ysv* ysave = (struct ysv*)ptr;
1309     if (ysave->yyss) Safefree(ysave->yyss);
1310     if (ysave->yyvs) Safefree(ysave->yyvs);
1311     yydebug     = ysave->oldyydebug;
1312     yynerrs     = ysave->oldyynerrs;
1313     yyerrflag   = ysave->oldyyerrflag;
1314     yychar      = ysave->oldyychar;
1315     yyval       = ysave->oldyyval;
1316     yylval      = ysave->oldyylval;
1317     Safefree(ysave);
1318 }
1319
1320 int
1321 yyparse(void)
1322 {
1323     register int yym, yyn, yystate;
1324     register short *yyssp;
1325     register YYSTYPE *yyvsp;
1326     short* yyss;
1327     YYSTYPE* yyvs;
1328     unsigned yystacksize = YYSTACKSIZE;
1329     int retval = 0;
1330 #if YYDEBUG
1331     register char *yys;
1332 #ifndef __cplusplus
1333     extern char *getenv();
1334 #endif
1335 #endif
1336
1337     struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
1338     SAVEDESTRUCTOR(yydestruct, ysave);
1339     ysave->oldyydebug   = yydebug;
1340     ysave->oldyynerrs   = yynerrs;
1341     ysave->oldyyerrflag = yyerrflag;
1342     ysave->oldyychar    = yychar;
1343     ysave->oldyyval     = yyval;
1344     ysave->oldyylval    = yylval;
1345
1346 #if YYDEBUG
1347     if (yys = getenv("YYDEBUG"))
1348     {
1349         yyn = *yys;
1350         if (yyn >= '0' && yyn <= '9')
1351             yydebug = yyn - '0';
1352     }
1353 #endif
1354
1355     yynerrs = 0;
1356     yyerrflag = 0;
1357     yychar = (-1);
1358
1359     /*
1360     ** Initialize private stacks (yyparse may be called from an action)
1361     */
1362     ysave->yyss = yyss = (short*)safemalloc(yystacksize*sizeof(short));
1363     ysave->yyvs = yyvs = (YYSTYPE*)safemalloc(yystacksize*sizeof(YYSTYPE));
1364     if (!yyvs || !yyss)
1365         goto yyoverflow;
1366
1367     yyssp = yyss;
1368     yyvsp = yyvs;
1369     *yyssp = yystate = 0;
1370
1371 yyloop:
1372     if (yyn = yydefred[yystate]) goto yyreduce;
1373     if (yychar < 0)
1374     {
1375         if ((yychar = yylex()) < 0) yychar = 0;
1376 #if YYDEBUG
1377         if (yydebug)
1378         {
1379             yys = 0;
1380             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1381             if (!yys) yys = "illegal-symbol";
1382             PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1383                     yychar, yys);
1384         }
1385 #endif
1386     }
1387     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1388             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1389     {
1390 #if YYDEBUG
1391         if (yydebug)
1392             PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1393                     yystate, yytable[yyn]);
1394 #endif
1395         if (yyssp >= yyss + yystacksize - 1)
1396         {
1397             /*
1398             ** reallocate and recover.  Note that pointers
1399             ** have to be reset, or bad things will happen
1400             */
1401             int yyps_index = (yyssp - yyss);
1402             int yypv_index = (yyvsp - yyvs);
1403             yystacksize += YYSTACKSIZE;
1404             ysave->yyvs = yyvs =
1405                 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1406             ysave->yyss = yyss =
1407                 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1408             if (!yyvs || !yyss)
1409                 goto yyoverflow;
1410             yyssp = yyss + yyps_index;
1411             yyvsp = yyvs + yypv_index;
1412         }
1413         *++yyssp = yystate = yytable[yyn];
1414         *++yyvsp = yylval;
1415         yychar = (-1);
1416         if (yyerrflag > 0)  --yyerrflag;
1417         goto yyloop;
1418     }
1419     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1420             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1421     {
1422         yyn = yytable[yyn];
1423         goto yyreduce;
1424     }
1425     if (yyerrflag) goto yyinrecovery;
1426 #ifdef lint
1427     goto yynewerror;
1428 #endif
1429 yynewerror:
1430     yyerror("syntax error");
1431 #ifdef lint
1432     goto yyerrlab;
1433 #endif
1434 yyerrlab:
1435     ++yynerrs;
1436 yyinrecovery:
1437     if (yyerrflag < 3)
1438     {
1439         yyerrflag = 3;
1440         for (;;)
1441         {
1442             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1443                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1444             {
1445 #if YYDEBUG
1446                 if (yydebug)
1447                     PerlIO_printf(Perl_debug_log,
1448                      "yydebug: state %d, error recovery shifting to state %d\n",
1449                      *yyssp, yytable[yyn]);
1450 #endif
1451                 if (yyssp >= yyss + yystacksize - 1)
1452                 {
1453                     /*
1454                     ** reallocate and recover.  Note that pointers
1455                     ** have to be reset, or bad things will happen
1456                     */
1457                     int yyps_index = (yyssp - yyss);
1458                     int yypv_index = (yyvsp - yyvs);
1459                     yystacksize += YYSTACKSIZE;
1460                     ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
1461                         yystacksize * sizeof(YYSTYPE));
1462                     ysave->yyss = yyss = (short*)realloc((char*)yyss,
1463                         yystacksize * sizeof(short));
1464                     if (!yyvs || !yyss)
1465                         goto yyoverflow;
1466                     yyssp = yyss + yyps_index;
1467                     yyvsp = yyvs + yypv_index;
1468                 }
1469                 *++yyssp = yystate = yytable[yyn];
1470                 *++yyvsp = yylval;
1471                 goto yyloop;
1472             }
1473             else
1474             {
1475 #if YYDEBUG
1476                 if (yydebug)
1477                     PerlIO_printf(Perl_debug_log,
1478                         "yydebug: error recovery discarding state %d\n",
1479                         *yyssp);
1480 #endif
1481                 if (yyssp <= yyss) goto yyabort;
1482                 --yyssp;
1483                 --yyvsp;
1484             }
1485         }
1486     }
1487     else
1488     {
1489         if (yychar == 0) goto yyabort;
1490 #if YYDEBUG
1491         if (yydebug)
1492         {
1493             yys = 0;
1494             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1495             if (!yys) yys = "illegal-symbol";
1496             PerlIO_printf(Perl_debug_log,
1497                 "yydebug: state %d, error recovery discards token %d (%s)\n",
1498                 yystate, yychar, yys);
1499         }
1500 #endif
1501         yychar = (-1);
1502         goto yyloop;
1503     }
1504 yyreduce:
1505 #if YYDEBUG
1506     if (yydebug)
1507         PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1508                 yystate, yyn, yyrule[yyn]);
1509 #endif
1510     yym = yylen[yyn];
1511     yyval = yyvsp[1-yym];
1512     switch (yyn)
1513     {
1514 case 1:
1515 #line 86 "perly.y"
1516 {
1517 #if defined(YYDEBUG) && defined(DEBUGGING)
1518                     yydebug = (debug & 1);
1519 #endif
1520                     expect = XSTATE;
1521                 }
1522 break;
1523 case 2:
1524 #line 93 "perly.y"
1525 { newPROG(yyvsp[0].opval); }
1526 break;
1527 case 3:
1528 #line 97 "perly.y"
1529 { if (copline > (line_t)yyvsp[-3].ival)
1530                               copline = yyvsp[-3].ival;
1531                           yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1532 break;
1533 case 4:
1534 #line 103 "perly.y"
1535 { yyval.ival = block_start(TRUE); }
1536 break;
1537 case 5:
1538 #line 107 "perly.y"
1539 { if (copline > (line_t)yyvsp[-3].ival)
1540                               copline = yyvsp[-3].ival;
1541                           yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1542 break;
1543 case 6:
1544 #line 113 "perly.y"
1545 { yyval.ival = block_start(FALSE); }
1546 break;
1547 case 7:
1548 #line 117 "perly.y"
1549 { yyval.opval = Nullop; }
1550 break;
1551 case 8:
1552 #line 119 "perly.y"
1553 { yyval.opval = yyvsp[-1].opval; }
1554 break;
1555 case 9:
1556 #line 121 "perly.y"
1557 {   yyval.opval = append_list(OP_LINESEQ,
1558                                 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1559                             pad_reset_pending = TRUE;
1560                             if (yyvsp[-1].opval && yyvsp[0].opval) hints |= HINT_BLOCK_SCOPE; }
1561 break;
1562 case 10:
1563 #line 128 "perly.y"
1564 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1565 break;
1566 case 12:
1567 #line 131 "perly.y"
1568 { if (yyvsp[-1].pval != Nullch) {
1569                               yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1570                             }
1571                             else {
1572                               yyval.opval = Nullop;
1573                               copline = NOLINE;
1574                             }
1575                             expect = XSTATE; }
1576 break;
1577 case 13:
1578 #line 140 "perly.y"
1579 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1580                           expect = XSTATE; }
1581 break;
1582 case 14:
1583 #line 145 "perly.y"
1584 { yyval.opval = Nullop; }
1585 break;
1586 case 15:
1587 #line 147 "perly.y"
1588 { yyval.opval = yyvsp[0].opval; }
1589 break;
1590 case 16:
1591 #line 149 "perly.y"
1592 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1593 break;
1594 case 17:
1595 #line 151 "perly.y"
1596 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1597 break;
1598 case 18:
1599 #line 153 "perly.y"
1600 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1601 break;
1602 case 19:
1603 #line 155 "perly.y"
1604 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1605 break;
1606 case 20:
1607 #line 159 "perly.y"
1608 { yyval.opval = Nullop; }
1609 break;
1610 case 21:
1611 #line 161 "perly.y"
1612 { yyval.opval = scope(yyvsp[0].opval); }
1613 break;
1614 case 22:
1615 #line 163 "perly.y"
1616 { copline = yyvsp[-5].ival;
1617                             yyval.opval = newSTATEOP(0, Nullch,
1618                                    newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1619                             hints |= HINT_BLOCK_SCOPE; }
1620 break;
1621 case 23:
1622 #line 170 "perly.y"
1623 { copline = yyvsp[-6].ival;
1624                             yyval.opval = block_end(yyvsp[-4].ival,
1625                                    newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1626 break;
1627 case 24:
1628 #line 174 "perly.y"
1629 { copline = yyvsp[-6].ival;
1630                             yyval.opval = block_end(yyvsp[-4].ival,
1631                                    newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1632 break;
1633 case 25:
1634 #line 180 "perly.y"
1635 { yyval.opval = Nullop; }
1636 break;
1637 case 26:
1638 #line 182 "perly.y"
1639 { yyval.opval = scope(yyvsp[0].opval); }
1640 break;
1641 case 27:
1642 #line 186 "perly.y"
1643 { copline = yyvsp[-6].ival;
1644                             yyval.opval = block_end(yyvsp[-4].ival,
1645                                    newSTATEOP(0, yyvsp[-7].pval,
1646                                      newWHILEOP(0, 1, (LOOP*)Nullop,
1647                                                 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1648 break;
1649 case 28:
1650 #line 192 "perly.y"
1651 { copline = yyvsp[-6].ival;
1652                             yyval.opval = block_end(yyvsp[-4].ival,
1653                                    newSTATEOP(0, yyvsp[-7].pval,
1654                                      newWHILEOP(0, 1, (LOOP*)Nullop,
1655                                                 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1656 break;
1657 case 29:
1658 #line 198 "perly.y"
1659 { yyval.opval = block_end(yyvsp[-6].ival,
1660                                  newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1661 break;
1662 case 30:
1663 #line 201 "perly.y"
1664 { yyval.opval = block_end(yyvsp[-4].ival,
1665                                  newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1666                                           yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1667 break;
1668 case 31:
1669 #line 205 "perly.y"
1670 { yyval.opval = block_end(yyvsp[-4].ival,
1671                                  newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1672 break;
1673 case 32:
1674 #line 209 "perly.y"
1675 { OP *forop = append_elem(OP_LINESEQ,
1676                                         scalar(yyvsp[-6].opval),
1677                                         newWHILEOP(0, 1, (LOOP*)Nullop,
1678                                                    yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1679                                                    yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1680                           copline = yyvsp[-9].ival;
1681                           yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1682 break;
1683 case 33:
1684 #line 217 "perly.y"
1685 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1686                                  newWHILEOP(0, 1, (LOOP*)Nullop,
1687                                             NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1688 break;
1689 case 34:
1690 #line 223 "perly.y"
1691 { yyval.opval = Nullop; }
1692 break;
1693 case 36:
1694 #line 228 "perly.y"
1695 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1696 break;
1697 case 38:
1698 #line 233 "perly.y"
1699 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1700 break;
1701 case 39:
1702 #line 237 "perly.y"
1703 { yyval.opval = yyvsp[0].opval; intro_my(); }
1704 break;
1705 case 40:
1706 #line 241 "perly.y"
1707 { yyval.opval = yyvsp[0].opval; intro_my(); }
1708 break;
1709 case 41:
1710 #line 245 "perly.y"
1711 { yyval.opval = yyvsp[0].opval; intro_my(); }
1712 break;
1713 case 42:
1714 #line 249 "perly.y"
1715 { yyval.opval = yyvsp[0].opval; intro_my(); }
1716 break;
1717 case 43:
1718 #line 253 "perly.y"
1719 { yyval.pval = Nullch; }
1720 break;
1721 case 45:
1722 #line 258 "perly.y"
1723 { yyval.ival = 0; }
1724 break;
1725 case 46:
1726 #line 260 "perly.y"
1727 { yyval.ival = 0; }
1728 break;
1729 case 47:
1730 #line 262 "perly.y"
1731 { yyval.ival = 0; }
1732 break;
1733 case 48:
1734 #line 264 "perly.y"
1735 { yyval.ival = 0; }
1736 break;
1737 case 49:
1738 #line 268 "perly.y"
1739 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1740 break;
1741 case 50:
1742 #line 271 "perly.y"
1743 { yyval.opval = yyvsp[0].opval; }
1744 break;
1745 case 51:
1746 #line 272 "perly.y"
1747 { yyval.opval = Nullop; }
1748 break;
1749 case 52:
1750 #line 276 "perly.y"
1751 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1752 break;
1753 case 53:
1754 #line 280 "perly.y"
1755 { yyval.ival = start_subparse(FALSE, 0); }
1756 break;
1757 case 54:
1758 #line 284 "perly.y"
1759 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1760 break;
1761 case 55:
1762 #line 288 "perly.y"
1763 { yyval.ival = start_subparse(TRUE, 0); }
1764 break;
1765 case 56:
1766 #line 291 "perly.y"
1767 { char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv, na);
1768                           if (strEQ(name, "BEGIN") || strEQ(name, "END")
1769                               || strEQ(name, "INIT"))
1770                               CvUNIQUE_on(compcv);
1771                           yyval.opval = yyvsp[0].opval; }
1772 break;
1773 case 57:
1774 #line 299 "perly.y"
1775 { yyval.opval = Nullop; }
1776 break;
1777 case 59:
1778 #line 303 "perly.y"
1779 { yyval.opval = yyvsp[0].opval; }
1780 break;
1781 case 60:
1782 #line 304 "perly.y"
1783 { yyval.opval = Nullop; expect = XSTATE; }
1784 break;
1785 case 61:
1786 #line 308 "perly.y"
1787 { package(yyvsp[-1].opval); }
1788 break;
1789 case 62:
1790 #line 310 "perly.y"
1791 { package(Nullop); }
1792 break;
1793 case 63:
1794 #line 314 "perly.y"
1795 { CvUNIQUE_on(compcv); /* It's a BEGIN {} */ }
1796 break;
1797 case 64:
1798 #line 316 "perly.y"
1799 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1800 break;
1801 case 65:
1802 #line 320 "perly.y"
1803 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1804 break;
1805 case 66:
1806 #line 322 "perly.y"
1807 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1808 break;
1809 case 68:
1810 #line 327 "perly.y"
1811 { yyval.opval = yyvsp[-1].opval; }
1812 break;
1813 case 69:
1814 #line 329 "perly.y"
1815 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1816 break;
1817 case 71:
1818 #line 334 "perly.y"
1819 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1820                                 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1821 break;
1822 case 72:
1823 #line 337 "perly.y"
1824 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1825                                 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1826 break;
1827 case 73:
1828 #line 340 "perly.y"
1829 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1830                                 append_elem(OP_LIST,
1831                                     prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1832                                     newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1833 break;
1834 case 74:
1835 #line 345 "perly.y"
1836 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1837                                 append_elem(OP_LIST,
1838                                     prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1839                                     newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1840 break;
1841 case 75:
1842 #line 350 "perly.y"
1843 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1844                                 append_elem(OP_LIST,
1845                                     prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1846                                     newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1847 break;
1848 case 76:
1849 #line 355 "perly.y"
1850 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1851 break;
1852 case 77:
1853 #line 357 "perly.y"
1854 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1855 break;
1856 case 78:
1857 #line 359 "perly.y"
1858 { yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1859 break;
1860 case 79:
1861 #line 361 "perly.y"
1862 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1863                                  append_elem(OP_LIST,
1864                                    prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1865 break;
1866 case 82:
1867 #line 371 "perly.y"
1868 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1869 break;
1870 case 83:
1871 #line 373 "perly.y"
1872 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1873 break;
1874 case 84:
1875 #line 375 "perly.y"
1876 {   if (yyvsp[-1].ival != OP_REPEAT)
1877                                 scalar(yyvsp[-2].opval);
1878                             yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1879 break;
1880 case 85:
1881 #line 379 "perly.y"
1882 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1883 break;
1884 case 86:
1885 #line 381 "perly.y"
1886 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1887 break;
1888 case 87:
1889 #line 383 "perly.y"
1890 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1891 break;
1892 case 88:
1893 #line 385 "perly.y"
1894 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1895 break;
1896 case 89:
1897 #line 387 "perly.y"
1898 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1899 break;
1900 case 90:
1901 #line 389 "perly.y"
1902 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1903 break;
1904 case 91:
1905 #line 391 "perly.y"
1906 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1907 break;
1908 case 92:
1909 #line 393 "perly.y"
1910 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1911 break;
1912 case 93:
1913 #line 395 "perly.y"
1914 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1915 break;
1916 case 94:
1917 #line 397 "perly.y"
1918 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1919 break;
1920 case 95:
1921 #line 399 "perly.y"
1922 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1923 break;
1924 case 96:
1925 #line 402 "perly.y"
1926 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1927 break;
1928 case 97:
1929 #line 404 "perly.y"
1930 { yyval.opval = yyvsp[0].opval; }
1931 break;
1932 case 98:
1933 #line 406 "perly.y"
1934 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1935 break;
1936 case 99:
1937 #line 408 "perly.y"
1938 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1939 break;
1940 case 100:
1941 #line 410 "perly.y"
1942 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1943 break;
1944 case 101:
1945 #line 412 "perly.y"
1946 { yyval.opval = newUNOP(OP_POSTINC, 0,
1947                                         mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1948 break;
1949 case 102:
1950 #line 415 "perly.y"
1951 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1952                                         mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1953 break;
1954 case 103:
1955 #line 418 "perly.y"
1956 { yyval.opval = newUNOP(OP_PREINC, 0,
1957                                         mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1958 break;
1959 case 104:
1960 #line 421 "perly.y"
1961 { yyval.opval = newUNOP(OP_PREDEC, 0,
1962                                         mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1963 break;
1964 case 105:
1965 #line 424 "perly.y"
1966 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1967 break;
1968 case 106:
1969 #line 426 "perly.y"
1970 { yyval.opval = sawparens(yyvsp[-1].opval); }
1971 break;
1972 case 107:
1973 #line 428 "perly.y"
1974 { yyval.opval = sawparens(newNULLLIST()); }
1975 break;
1976 case 108:
1977 #line 430 "perly.y"
1978 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
1979 break;
1980 case 109:
1981 #line 432 "perly.y"
1982 { yyval.opval = newANONLIST(Nullop); }
1983 break;
1984 case 110:
1985 #line 434 "perly.y"
1986 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
1987 break;
1988 case 111:
1989 #line 436 "perly.y"
1990 { yyval.opval = newANONHASH(Nullop); }
1991 break;
1992 case 112:
1993 #line 438 "perly.y"
1994 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1995 break;
1996 case 113:
1997 #line 440 "perly.y"
1998 { yyval.opval = yyvsp[0].opval; }
1999 break;
2000 case 114:
2001 #line 442 "perly.y"
2002 { yyval.opval = newBINOP(OP_GELEM, 0, newGVREF(0,yyvsp[-4].opval), yyvsp[-2].opval); }
2003 break;
2004 case 115:
2005 #line 444 "perly.y"
2006 { yyval.opval = yyvsp[0].opval; }
2007 break;
2008 case 116:
2009 #line 446 "perly.y"
2010 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2011 break;
2012 case 117:
2013 #line 448 "perly.y"
2014 { yyval.opval = newBINOP(OP_AELEM, 0,
2015                                         ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2016                                         scalar(yyvsp[-1].opval));}
2017 break;
2018 case 118:
2019 #line 452 "perly.y"
2020 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
2021                                         ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2022                                         scalar(yyvsp[-1].opval));}
2023 break;
2024 case 119:
2025 #line 456 "perly.y"
2026 { yyval.opval = yyvsp[0].opval; }
2027 break;
2028 case 120:
2029 #line 458 "perly.y"
2030 { yyval.opval = yyvsp[0].opval; }
2031 break;
2032 case 121:
2033 #line 460 "perly.y"
2034 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2035 break;
2036 case 122:
2037 #line 462 "perly.y"
2038 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2039                             expect = XOPERATOR; }
2040 break;
2041 case 123:
2042 #line 465 "perly.y"
2043 { yyval.opval = newBINOP(OP_HELEM, 0,
2044                                         ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2045                                         jmaybe(yyvsp[-2].opval));
2046                             expect = XOPERATOR; }
2047 break;
2048 case 124:
2049 #line 470 "perly.y"
2050 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2051                                         ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2052                                         jmaybe(yyvsp[-2].opval));
2053                             expect = XOPERATOR; }
2054 break;
2055 case 125:
2056 #line 475 "perly.y"
2057 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2058 break;
2059 case 126:
2060 #line 477 "perly.y"
2061 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2062 break;
2063 case 127:
2064 #line 479 "perly.y"
2065 { yyval.opval = prepend_elem(OP_ASLICE,
2066                                 newOP(OP_PUSHMARK, 0),
2067                                     newLISTOP(OP_ASLICE, 0,
2068                                         list(yyvsp[-1].opval),
2069                                         ref(yyvsp[-3].opval, OP_ASLICE))); }
2070 break;
2071 case 128:
2072 #line 485 "perly.y"
2073 { yyval.opval = prepend_elem(OP_HSLICE,
2074                                 newOP(OP_PUSHMARK, 0),
2075                                     newLISTOP(OP_HSLICE, 0,
2076                                         list(yyvsp[-2].opval),
2077                                         ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2078                             expect = XOPERATOR; }
2079 break;
2080 case 129:
2081 #line 492 "perly.y"
2082 { yyval.opval = yyvsp[0].opval; }
2083 break;
2084 case 130:
2085 #line 494 "perly.y"
2086 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2087 break;
2088 case 131:
2089 #line 496 "perly.y"
2090 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2091 break;
2092 case 132:
2093 #line 498 "perly.y"
2094 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2095                             append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2096 break;
2097 case 133:
2098 #line 501 "perly.y"
2099 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2100                             append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2101 break;
2102 case 134:
2103 #line 504 "perly.y"
2104 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2105 break;
2106 case 135:
2107 #line 506 "perly.y"
2108 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2109 break;
2110 case 136:
2111 #line 508 "perly.y"
2112 { yyval.opval = newUNOP(OP_ENTERSUB,
2113                             OPf_SPECIAL|OPf_STACKED,
2114                             prepend_elem(OP_LIST,
2115                                 scalar(newCVREF(
2116                                     (OPpENTERSUB_AMPER<<8),
2117                                     scalar(yyvsp[-2].opval)
2118                                 )),Nullop)); dep();}
2119 break;
2120 case 137:
2121 #line 516 "perly.y"
2122 { yyval.opval = newUNOP(OP_ENTERSUB,
2123                             OPf_SPECIAL|OPf_STACKED,
2124                             append_elem(OP_LIST,
2125                                 yyvsp[-1].opval,
2126                                 scalar(newCVREF(
2127                                     (OPpENTERSUB_AMPER<<8),
2128                                     scalar(yyvsp[-3].opval)
2129                                 )))); dep();}
2130 break;
2131 case 138:
2132 #line 525 "perly.y"
2133 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2134                             prepend_elem(OP_LIST,
2135                                 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2136 break;
2137 case 139:
2138 #line 529 "perly.y"
2139 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2140                             prepend_elem(OP_LIST,
2141                                 yyvsp[-1].opval,
2142                                 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2143 break;
2144 case 140:
2145 #line 534 "perly.y"
2146 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2147                                    newCVREF(0, scalar(yyvsp[-3].opval))); }
2148 break;
2149 case 141:
2150 #line 537 "perly.y"
2151 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2152                                    append_elem(OP_LIST, yyvsp[-1].opval,
2153                                        newCVREF(0, scalar(yyvsp[-4].opval)))); }
2154 break;
2155 case 142:
2156 #line 541 "perly.y"
2157 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2158                             hints |= HINT_BLOCK_SCOPE; }
2159 break;
2160 case 143:
2161 #line 544 "perly.y"
2162 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2163 break;
2164 case 144:
2165 #line 546 "perly.y"
2166 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2167 break;
2168 case 145:
2169 #line 548 "perly.y"
2170 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2171 break;
2172 case 146:
2173 #line 550 "perly.y"
2174 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2175 break;
2176 case 147:
2177 #line 552 "perly.y"
2178 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2179 break;
2180 case 148:
2181 #line 554 "perly.y"
2182 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2183                             append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2184 break;
2185 case 149:
2186 #line 557 "perly.y"
2187 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2188 break;
2189 case 150:
2190 #line 559 "perly.y"
2191 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2192 break;
2193 case 151:
2194 #line 561 "perly.y"
2195 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2196                                 scalar(yyvsp[0].opval)); }
2197 break;
2198 case 152:
2199 #line 564 "perly.y"
2200 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2201 break;
2202 case 153:
2203 #line 566 "perly.y"
2204 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2205 break;
2206 case 154:
2207 #line 568 "perly.y"
2208 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2209 break;
2210 case 155:
2211 #line 570 "perly.y"
2212 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2213 break;
2214 case 158:
2215 #line 576 "perly.y"
2216 { yyval.opval = Nullop; }
2217 break;
2218 case 159:
2219 #line 578 "perly.y"
2220 { yyval.opval = yyvsp[0].opval; }
2221 break;
2222 case 160:
2223 #line 582 "perly.y"
2224 { yyval.opval = Nullop; }
2225 break;
2226 case 161:
2227 #line 584 "perly.y"
2228 { yyval.opval = yyvsp[0].opval; }
2229 break;
2230 case 162:
2231 #line 586 "perly.y"
2232 { yyval.opval = yyvsp[-1].opval; }
2233 break;
2234 case 163:
2235 #line 589 "perly.y"
2236 { yyval.ival = 0; }
2237 break;
2238 case 164:
2239 #line 590 "perly.y"
2240 { yyval.ival = 1; }
2241 break;
2242 case 165:
2243 #line 594 "perly.y"
2244 { in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2245 break;
2246 case 166:
2247 #line 598 "perly.y"
2248 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2249 break;
2250 case 167:
2251 #line 602 "perly.y"
2252 { yyval.opval = newSVREF(yyvsp[0].opval); }
2253 break;
2254 case 168:
2255 #line 606 "perly.y"
2256 { yyval.opval = newAVREF(yyvsp[0].opval); }
2257 break;
2258 case 169:
2259 #line 610 "perly.y"
2260 { yyval.opval = newHVREF(yyvsp[0].opval); }
2261 break;
2262 case 170:
2263 #line 614 "perly.y"
2264 { yyval.opval = newAVREF(yyvsp[0].opval); }
2265 break;
2266 case 171:
2267 #line 618 "perly.y"
2268 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2269 break;
2270 case 172:
2271 #line 622 "perly.y"
2272 { yyval.opval = scalar(yyvsp[0].opval); }
2273 break;
2274 case 173:
2275 #line 624 "perly.y"
2276 { yyval.opval = scalar(yyvsp[0].opval);  }
2277 break;
2278 case 174:
2279 #line 626 "perly.y"
2280 { yyval.opval = scope(yyvsp[0].opval); }
2281 break;
2282 case 175:
2283 #line 629 "perly.y"
2284 { yyval.opval = yyvsp[0].opval; }
2285 break;
2286 #line 2272 "perly.c"
2287     }
2288     yyssp -= yym;
2289     yystate = *yyssp;
2290     yyvsp -= yym;
2291     yym = yylhs[yyn];
2292     if (yystate == 0 && yym == 0)
2293     {
2294 #if YYDEBUG
2295         if (yydebug)
2296             PerlIO_printf(Perl_debug_log,
2297                 "yydebug: after reduction, shifting from state 0 to state %d\n",
2298                 YYFINAL);
2299 #endif
2300         yystate = YYFINAL;
2301         *++yyssp = YYFINAL;
2302         *++yyvsp = yyval;
2303         if (yychar < 0)
2304         {
2305             if ((yychar = yylex()) < 0) yychar = 0;
2306 #if YYDEBUG
2307             if (yydebug)
2308             {
2309                 yys = 0;
2310                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2311                 if (!yys) yys = "illegal-symbol";
2312                 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2313                         YYFINAL, yychar, yys);
2314             }
2315 #endif
2316         }
2317         if (yychar == 0) goto yyaccept;
2318         goto yyloop;
2319     }
2320     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2321             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2322         yystate = yytable[yyn];
2323     else
2324         yystate = yydgoto[yym];
2325 #if YYDEBUG
2326     if (yydebug)
2327         PerlIO_printf(Perl_debug_log,
2328             "yydebug: after reduction, shifting from state %d to state %d\n",
2329             *yyssp, yystate);
2330 #endif
2331     if (yyssp >= yyss + yystacksize - 1)
2332     {
2333         /*
2334         ** reallocate and recover.  Note that pointers
2335         ** have to be reset, or bad things will happen
2336         */
2337         int yyps_index = (yyssp - yyss);
2338         int yypv_index = (yyvsp - yyvs);
2339         yystacksize += YYSTACKSIZE;
2340         ysave->yyvs = yyvs =
2341             (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2342         ysave->yyss = yyss =
2343             (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2344         if (!yyvs || !yyss)
2345             goto yyoverflow;
2346         yyssp = yyss + yyps_index;
2347         yyvsp = yyvs + yypv_index;
2348     }
2349     *++yyssp = yystate;
2350     *++yyvsp = yyval;
2351     goto yyloop;
2352 yyoverflow:
2353     yyerror("Out of memory for yacc stack");
2354 yyabort:
2355     retval = 1;
2356 yyaccept:
2357     return retval;
2358 }