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