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