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