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