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