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