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