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