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