*.pod changes based on the FAQ
[p5sagit/p5-mst-13.2.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 #   ifndef getenv
1290     extern char *getenv();
1291 #   endif
1292 #endif
1293
1294     struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
1295     SAVEDESTRUCTOR(yydestruct, ysave);
1296     ysave->oldyydebug   = yydebug;
1297     ysave->oldyynerrs   = yynerrs;
1298     ysave->oldyyerrflag = yyerrflag;
1299     ysave->oldyychar    = yychar;
1300     ysave->oldyyval     = yyval;
1301     ysave->oldyylval    = yylval;
1302
1303 #if YYDEBUG
1304     if (yys = getenv("YYDEBUG"))
1305     {
1306         yyn = *yys;
1307         if (yyn >= '0' && yyn <= '9')
1308             yydebug = yyn - '0';
1309     }
1310 #endif
1311
1312     yynerrs = 0;
1313     yyerrflag = 0;
1314     yychar = (-1);
1315
1316     /*
1317     ** Initialize private stacks (yyparse may be called from an action)
1318     */
1319     ysave->yyss = yyss = (short*)safemalloc(yystacksize*sizeof(short));
1320     ysave->yyvs = yyvs = (YYSTYPE*)safemalloc(yystacksize*sizeof(YYSTYPE));
1321     if (!yyvs || !yyss)
1322         goto yyoverflow;
1323
1324     yyssp = yyss;
1325     yyvsp = yyvs;
1326     *yyssp = yystate = 0;
1327
1328 yyloop:
1329     if (yyn = yydefred[yystate]) goto yyreduce;
1330     if (yychar < 0)
1331     {
1332         if ((yychar = yylex()) < 0) yychar = 0;
1333 #if YYDEBUG
1334         if (yydebug)
1335         {
1336             yys = 0;
1337             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1338             if (!yys) yys = "illegal-symbol";
1339             PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1340                     yychar, yys);
1341         }
1342 #endif
1343     }
1344     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1345             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1346     {
1347 #if YYDEBUG
1348         if (yydebug)
1349             PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1350                     yystate, yytable[yyn]);
1351 #endif
1352         if (yyssp >= yyss + yystacksize - 1)
1353         {
1354             /*
1355             ** reallocate and recover.  Note that pointers
1356             ** have to be reset, or bad things will happen
1357             */
1358             int yyps_index = (yyssp - yyss);
1359             int yypv_index = (yyvsp - yyvs);
1360             yystacksize += YYSTACKSIZE;
1361             ysave->yyvs = yyvs =
1362                 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1363             ysave->yyss = yyss =
1364                 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1365             if (!yyvs || !yyss)
1366                 goto yyoverflow;
1367             yyssp = yyss + yyps_index;
1368             yyvsp = yyvs + yypv_index;
1369         }
1370         *++yyssp = yystate = yytable[yyn];
1371         *++yyvsp = yylval;
1372         yychar = (-1);
1373         if (yyerrflag > 0)  --yyerrflag;
1374         goto yyloop;
1375     }
1376     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1377             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1378     {
1379         yyn = yytable[yyn];
1380         goto yyreduce;
1381     }
1382     if (yyerrflag) goto yyinrecovery;
1383 #ifdef lint
1384     goto yynewerror;
1385 #endif
1386 yynewerror:
1387     yyerror("syntax error");
1388 #ifdef lint
1389     goto yyerrlab;
1390 #endif
1391 yyerrlab:
1392     ++yynerrs;
1393 yyinrecovery:
1394     if (yyerrflag < 3)
1395     {
1396         yyerrflag = 3;
1397         for (;;)
1398         {
1399             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1400                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1401             {
1402 #if YYDEBUG
1403                 if (yydebug)
1404                     PerlIO_printf(Perl_debug_log,
1405                      "yydebug: state %d, error recovery shifting to state %d\n",
1406                      *yyssp, yytable[yyn]);
1407 #endif
1408                 if (yyssp >= yyss + yystacksize - 1)
1409                 {
1410                     /*
1411                     ** reallocate and recover.  Note that pointers
1412                     ** have to be reset, or bad things will happen
1413                     */
1414                     int yyps_index = (yyssp - yyss);
1415                     int yypv_index = (yyvsp - yyvs);
1416                     yystacksize += YYSTACKSIZE;
1417                     ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
1418                         yystacksize * sizeof(YYSTYPE));
1419                     ysave->yyss = yyss = (short*)realloc((char*)yyss,
1420                         yystacksize * sizeof(short));
1421                     if (!yyvs || !yyss)
1422                         goto yyoverflow;
1423                     yyssp = yyss + yyps_index;
1424                     yyvsp = yyvs + yypv_index;
1425                 }
1426                 *++yyssp = yystate = yytable[yyn];
1427                 *++yyvsp = yylval;
1428                 goto yyloop;
1429             }
1430             else
1431             {
1432 #if YYDEBUG
1433                 if (yydebug)
1434                     PerlIO_printf(Perl_debug_log,
1435                         "yydebug: error recovery discarding state %d\n",
1436                         *yyssp);
1437 #endif
1438                 if (yyssp <= yyss) goto yyabort;
1439                 --yyssp;
1440                 --yyvsp;
1441             }
1442         }
1443     }
1444     else
1445     {
1446         if (yychar == 0) goto yyabort;
1447 #if YYDEBUG
1448         if (yydebug)
1449         {
1450             yys = 0;
1451             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1452             if (!yys) yys = "illegal-symbol";
1453             PerlIO_printf(Perl_debug_log,
1454                 "yydebug: state %d, error recovery discards token %d (%s)\n",
1455                 yystate, yychar, yys);
1456         }
1457 #endif
1458         yychar = (-1);
1459         goto yyloop;
1460     }
1461 yyreduce:
1462 #if YYDEBUG
1463     if (yydebug)
1464         PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1465                 yystate, yyn, yyrule[yyn]);
1466 #endif
1467     yym = yylen[yyn];
1468     yyval = yyvsp[1-yym];
1469     switch (yyn)
1470     {
1471 case 1:
1472 #line 86 "perly.y"
1473 {
1474 #if defined(YYDEBUG) && defined(DEBUGGING)
1475                     yydebug = (debug & 1);
1476 #endif
1477                     expect = XSTATE;
1478                 }
1479 break;
1480 case 2:
1481 #line 93 "perly.y"
1482 { newPROG(yyvsp[0].opval); }
1483 break;
1484 case 3:
1485 #line 97 "perly.y"
1486 { if (copline > (line_t)yyvsp[-3].ival)
1487                               copline = yyvsp[-3].ival;
1488                           yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1489 break;
1490 case 4:
1491 #line 103 "perly.y"
1492 { yyval.ival = block_start(TRUE); }
1493 break;
1494 case 5:
1495 #line 107 "perly.y"
1496 { if (copline > (line_t)yyvsp[-3].ival)
1497                               copline = yyvsp[-3].ival;
1498                           yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1499 break;
1500 case 6:
1501 #line 113 "perly.y"
1502 { yyval.ival = block_start(FALSE); }
1503 break;
1504 case 7:
1505 #line 117 "perly.y"
1506 { yyval.opval = Nullop; }
1507 break;
1508 case 8:
1509 #line 119 "perly.y"
1510 { yyval.opval = yyvsp[-1].opval; }
1511 break;
1512 case 9:
1513 #line 121 "perly.y"
1514 {   yyval.opval = append_list(OP_LINESEQ,
1515                                 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1516                             pad_reset_pending = TRUE;
1517                             if (yyvsp[-1].opval && yyvsp[0].opval) hints |= HINT_BLOCK_SCOPE; }
1518 break;
1519 case 10:
1520 #line 128 "perly.y"
1521 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1522 break;
1523 case 12:
1524 #line 131 "perly.y"
1525 { if (yyvsp[-1].pval != Nullch) {
1526                               yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1527                             }
1528                             else {
1529                               yyval.opval = Nullop;
1530                               copline = NOLINE;
1531                             }
1532                             expect = XSTATE; }
1533 break;
1534 case 13:
1535 #line 140 "perly.y"
1536 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1537                           expect = XSTATE; }
1538 break;
1539 case 14:
1540 #line 145 "perly.y"
1541 { yyval.opval = Nullop; }
1542 break;
1543 case 15:
1544 #line 147 "perly.y"
1545 { yyval.opval = yyvsp[0].opval; }
1546 break;
1547 case 16:
1548 #line 149 "perly.y"
1549 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1550 break;
1551 case 17:
1552 #line 151 "perly.y"
1553 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1554 break;
1555 case 18:
1556 #line 153 "perly.y"
1557 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1558 break;
1559 case 19:
1560 #line 155 "perly.y"
1561 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1562 break;
1563 case 20:
1564 #line 159 "perly.y"
1565 { yyval.opval = Nullop; }
1566 break;
1567 case 21:
1568 #line 161 "perly.y"
1569 { yyval.opval = scope(yyvsp[0].opval); }
1570 break;
1571 case 22:
1572 #line 163 "perly.y"
1573 { copline = yyvsp[-5].ival;
1574                             yyval.opval = newSTATEOP(0, Nullch,
1575                                    newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1576                             hints |= HINT_BLOCK_SCOPE; }
1577 break;
1578 case 23:
1579 #line 170 "perly.y"
1580 { copline = yyvsp[-6].ival;
1581                             yyval.opval = block_end(yyvsp[-4].ival,
1582                                    newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1583 break;
1584 case 24:
1585 #line 174 "perly.y"
1586 { copline = yyvsp[-6].ival;
1587                             yyval.opval = block_end(yyvsp[-4].ival,
1588                                    newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1589 break;
1590 case 25:
1591 #line 180 "perly.y"
1592 { yyval.opval = Nullop; }
1593 break;
1594 case 26:
1595 #line 182 "perly.y"
1596 { yyval.opval = scope(yyvsp[0].opval); }
1597 break;
1598 case 27:
1599 #line 186 "perly.y"
1600 { copline = yyvsp[-6].ival;
1601                             yyval.opval = block_end(yyvsp[-4].ival,
1602                                    newSTATEOP(0, yyvsp[-7].pval,
1603                                      newWHILEOP(0, 1, (LOOP*)Nullop,
1604                                                 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1605 break;
1606 case 28:
1607 #line 192 "perly.y"
1608 { copline = yyvsp[-6].ival;
1609                             yyval.opval = block_end(yyvsp[-4].ival,
1610                                    newSTATEOP(0, yyvsp[-7].pval,
1611                                      newWHILEOP(0, 1, (LOOP*)Nullop,
1612                                                 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1613 break;
1614 case 29:
1615 #line 198 "perly.y"
1616 { yyval.opval = block_end(yyvsp[-6].ival,
1617                                  newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1618 break;
1619 case 30:
1620 #line 201 "perly.y"
1621 { yyval.opval = block_end(yyvsp[-4].ival,
1622                                  newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1623                                           yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1624 break;
1625 case 31:
1626 #line 205 "perly.y"
1627 { yyval.opval = block_end(yyvsp[-4].ival,
1628                                  newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1629 break;
1630 case 32:
1631 #line 209 "perly.y"
1632 { copline = yyvsp[-9].ival;
1633                             yyval.opval = block_end(yyvsp[-7].ival,
1634                                    append_elem(OP_LINESEQ, scalar(yyvsp[-6].opval),
1635                                      newSTATEOP(0, yyvsp[-10].pval,
1636                                        newWHILEOP(0, 1, (LOOP*)Nullop,
1637                                                   scalar(yyvsp[-4].opval),
1638                                                   yyvsp[0].opval, scalar(yyvsp[-2].opval))))); }
1639 break;
1640 case 33:
1641 #line 217 "perly.y"
1642 { yyval.opval = newSTATEOP(0,
1643                                 yyvsp[-2].pval, newWHILEOP(0, 1, (LOOP*)Nullop,
1644                                         Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1645 break;
1646 case 34:
1647 #line 223 "perly.y"
1648 { yyval.opval = Nullop; }
1649 break;
1650 case 36:
1651 #line 228 "perly.y"
1652 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1653 break;
1654 case 38:
1655 #line 233 "perly.y"
1656 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1657 break;
1658 case 39:
1659 #line 237 "perly.y"
1660 { yyval.opval = yyvsp[0].opval; intro_my(); }
1661 break;
1662 case 40:
1663 #line 241 "perly.y"
1664 { yyval.opval = yyvsp[0].opval; intro_my(); }
1665 break;
1666 case 41:
1667 #line 245 "perly.y"
1668 { yyval.opval = yyvsp[0].opval; intro_my(); }
1669 break;
1670 case 42:
1671 #line 249 "perly.y"
1672 { yyval.opval = yyvsp[0].opval; intro_my(); }
1673 break;
1674 case 43:
1675 #line 253 "perly.y"
1676 { yyval.pval = Nullch; }
1677 break;
1678 case 45:
1679 #line 258 "perly.y"
1680 { yyval.ival = 0; }
1681 break;
1682 case 46:
1683 #line 260 "perly.y"
1684 { yyval.ival = 0; }
1685 break;
1686 case 47:
1687 #line 262 "perly.y"
1688 { yyval.ival = 0; }
1689 break;
1690 case 48:
1691 #line 264 "perly.y"
1692 { yyval.ival = 0; }
1693 break;
1694 case 49:
1695 #line 268 "perly.y"
1696 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1697 break;
1698 case 50:
1699 #line 271 "perly.y"
1700 { yyval.opval = yyvsp[0].opval; }
1701 break;
1702 case 51:
1703 #line 272 "perly.y"
1704 { yyval.opval = Nullop; }
1705 break;
1706 case 52:
1707 #line 276 "perly.y"
1708 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1709 break;
1710 case 53:
1711 #line 280 "perly.y"
1712 { yyval.ival = start_subparse(FALSE, 0); }
1713 break;
1714 case 54:
1715 #line 284 "perly.y"
1716 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1717 break;
1718 case 55:
1719 #line 288 "perly.y"
1720 { yyval.ival = start_subparse(TRUE, 0); }
1721 break;
1722 case 56:
1723 #line 291 "perly.y"
1724 { char *name = SvPVx(((SVOP*)yyvsp[0].opval)->op_sv, na);
1725                           if (strEQ(name, "BEGIN") || strEQ(name, "END"))
1726                               CvUNIQUE_on(compcv);
1727                           yyval.opval = yyvsp[0].opval; }
1728 break;
1729 case 57:
1730 #line 298 "perly.y"
1731 { yyval.opval = Nullop; }
1732 break;
1733 case 59:
1734 #line 302 "perly.y"
1735 { yyval.opval = yyvsp[0].opval; }
1736 break;
1737 case 60:
1738 #line 303 "perly.y"
1739 { yyval.opval = Nullop; expect = XSTATE; }
1740 break;
1741 case 61:
1742 #line 307 "perly.y"
1743 { package(yyvsp[-1].opval); }
1744 break;
1745 case 62:
1746 #line 309 "perly.y"
1747 { package(Nullop); }
1748 break;
1749 case 63:
1750 #line 313 "perly.y"
1751 { CvUNIQUE_on(compcv); /* It's a BEGIN {} */ }
1752 break;
1753 case 64:
1754 #line 315 "perly.y"
1755 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1756 break;
1757 case 65:
1758 #line 319 "perly.y"
1759 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1760 break;
1761 case 66:
1762 #line 321 "perly.y"
1763 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1764 break;
1765 case 68:
1766 #line 326 "perly.y"
1767 { yyval.opval = yyvsp[-1].opval; }
1768 break;
1769 case 69:
1770 #line 328 "perly.y"
1771 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1772 break;
1773 case 71:
1774 #line 333 "perly.y"
1775 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1776                                 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1777 break;
1778 case 72:
1779 #line 336 "perly.y"
1780 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1781                                 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1782 break;
1783 case 73:
1784 #line 339 "perly.y"
1785 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1786                                 append_elem(OP_LIST,
1787                                     prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1788                                     newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1789 break;
1790 case 74:
1791 #line 344 "perly.y"
1792 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1793                                 append_elem(OP_LIST,
1794                                     prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1795                                     newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1796 break;
1797 case 75:
1798 #line 349 "perly.y"
1799 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1800                                 append_elem(OP_LIST,
1801                                     prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1802                                     newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1803 break;
1804 case 76:
1805 #line 354 "perly.y"
1806 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1807 break;
1808 case 77:
1809 #line 356 "perly.y"
1810 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1811 break;
1812 case 78:
1813 #line 358 "perly.y"
1814 { yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1815 break;
1816 case 79:
1817 #line 360 "perly.y"
1818 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1819                                  append_elem(OP_LIST,
1820                                    prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1821 break;
1822 case 82:
1823 #line 370 "perly.y"
1824 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1825 break;
1826 case 83:
1827 #line 372 "perly.y"
1828 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1829 break;
1830 case 84:
1831 #line 374 "perly.y"
1832 {   if (yyvsp[-1].ival != OP_REPEAT)
1833                                 scalar(yyvsp[-2].opval);
1834                             yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1835 break;
1836 case 85:
1837 #line 378 "perly.y"
1838 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1839 break;
1840 case 86:
1841 #line 380 "perly.y"
1842 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1843 break;
1844 case 87:
1845 #line 382 "perly.y"
1846 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1847 break;
1848 case 88:
1849 #line 384 "perly.y"
1850 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1851 break;
1852 case 89:
1853 #line 386 "perly.y"
1854 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1855 break;
1856 case 90:
1857 #line 388 "perly.y"
1858 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1859 break;
1860 case 91:
1861 #line 390 "perly.y"
1862 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1863 break;
1864 case 92:
1865 #line 392 "perly.y"
1866 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1867 break;
1868 case 93:
1869 #line 394 "perly.y"
1870 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1871 break;
1872 case 94:
1873 #line 396 "perly.y"
1874 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1875 break;
1876 case 95:
1877 #line 398 "perly.y"
1878 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1879 break;
1880 case 96:
1881 #line 401 "perly.y"
1882 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1883 break;
1884 case 97:
1885 #line 403 "perly.y"
1886 { yyval.opval = yyvsp[0].opval; }
1887 break;
1888 case 98:
1889 #line 405 "perly.y"
1890 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1891 break;
1892 case 99:
1893 #line 407 "perly.y"
1894 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1895 break;
1896 case 100:
1897 #line 409 "perly.y"
1898 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1899 break;
1900 case 101:
1901 #line 411 "perly.y"
1902 { yyval.opval = newUNOP(OP_POSTINC, 0,
1903                                         mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1904 break;
1905 case 102:
1906 #line 414 "perly.y"
1907 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1908                                         mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1909 break;
1910 case 103:
1911 #line 417 "perly.y"
1912 { yyval.opval = newUNOP(OP_PREINC, 0,
1913                                         mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1914 break;
1915 case 104:
1916 #line 420 "perly.y"
1917 { yyval.opval = newUNOP(OP_PREDEC, 0,
1918                                         mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1919 break;
1920 case 105:
1921 #line 423 "perly.y"
1922 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1923 break;
1924 case 106:
1925 #line 425 "perly.y"
1926 { yyval.opval = sawparens(yyvsp[-1].opval); }
1927 break;
1928 case 107:
1929 #line 427 "perly.y"
1930 { yyval.opval = sawparens(newNULLLIST()); }
1931 break;
1932 case 108:
1933 #line 429 "perly.y"
1934 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
1935 break;
1936 case 109:
1937 #line 431 "perly.y"
1938 { yyval.opval = newANONLIST(Nullop); }
1939 break;
1940 case 110:
1941 #line 433 "perly.y"
1942 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
1943 break;
1944 case 111:
1945 #line 435 "perly.y"
1946 { yyval.opval = newANONHASH(Nullop); }
1947 break;
1948 case 112:
1949 #line 437 "perly.y"
1950 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1951 break;
1952 case 113:
1953 #line 439 "perly.y"
1954 { yyval.opval = yyvsp[0].opval; }
1955 break;
1956 case 114:
1957 #line 441 "perly.y"
1958 { yyval.opval = newBINOP(OP_GELEM, 0, newGVREF(0,yyvsp[-4].opval), yyvsp[-2].opval); }
1959 break;
1960 case 115:
1961 #line 443 "perly.y"
1962 { yyval.opval = yyvsp[0].opval; }
1963 break;
1964 case 116:
1965 #line 445 "perly.y"
1966 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
1967 break;
1968 case 117:
1969 #line 447 "perly.y"
1970 { yyval.opval = newBINOP(OP_AELEM, 0,
1971                                         ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
1972                                         scalar(yyvsp[-1].opval));}
1973 break;
1974 case 118:
1975 #line 451 "perly.y"
1976 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
1977                                         ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
1978                                         scalar(yyvsp[-1].opval));}
1979 break;
1980 case 119:
1981 #line 455 "perly.y"
1982 { yyval.opval = yyvsp[0].opval; }
1983 break;
1984 case 120:
1985 #line 457 "perly.y"
1986 { yyval.opval = yyvsp[0].opval; }
1987 break;
1988 case 121:
1989 #line 459 "perly.y"
1990 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
1991 break;
1992 case 122:
1993 #line 461 "perly.y"
1994 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
1995                             expect = XOPERATOR; }
1996 break;
1997 case 123:
1998 #line 464 "perly.y"
1999 { yyval.opval = newBINOP(OP_HELEM, 0,
2000                                         ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2001                                         jmaybe(yyvsp[-2].opval));
2002                             expect = XOPERATOR; }
2003 break;
2004 case 124:
2005 #line 469 "perly.y"
2006 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2007                                         ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2008                                         jmaybe(yyvsp[-2].opval));
2009                             expect = XOPERATOR; }
2010 break;
2011 case 125:
2012 #line 474 "perly.y"
2013 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2014 break;
2015 case 126:
2016 #line 476 "perly.y"
2017 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2018 break;
2019 case 127:
2020 #line 478 "perly.y"
2021 { yyval.opval = prepend_elem(OP_ASLICE,
2022                                 newOP(OP_PUSHMARK, 0),
2023                                     newLISTOP(OP_ASLICE, 0,
2024                                         list(yyvsp[-1].opval),
2025                                         ref(yyvsp[-3].opval, OP_ASLICE))); }
2026 break;
2027 case 128:
2028 #line 484 "perly.y"
2029 { yyval.opval = prepend_elem(OP_HSLICE,
2030                                 newOP(OP_PUSHMARK, 0),
2031                                     newLISTOP(OP_HSLICE, 0,
2032                                         list(yyvsp[-2].opval),
2033                                         ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2034                             expect = XOPERATOR; }
2035 break;
2036 case 129:
2037 #line 491 "perly.y"
2038 { yyval.opval = yyvsp[0].opval; }
2039 break;
2040 case 130:
2041 #line 493 "perly.y"
2042 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2043 break;
2044 case 131:
2045 #line 495 "perly.y"
2046 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2047 break;
2048 case 132:
2049 #line 497 "perly.y"
2050 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2051                             append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2052 break;
2053 case 133:
2054 #line 500 "perly.y"
2055 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2056                             append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2057 break;
2058 case 134:
2059 #line 503 "perly.y"
2060 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2061 break;
2062 case 135:
2063 #line 505 "perly.y"
2064 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2065 break;
2066 case 136:
2067 #line 507 "perly.y"
2068 { yyval.opval = newUNOP(OP_ENTERSUB,
2069                             OPf_SPECIAL|OPf_STACKED,
2070                             prepend_elem(OP_LIST,
2071                                 scalar(newCVREF(
2072                                     (OPpENTERSUB_AMPER<<8),
2073                                     scalar(yyvsp[-2].opval)
2074                                 )),Nullop)); dep();}
2075 break;
2076 case 137:
2077 #line 515 "perly.y"
2078 { yyval.opval = newUNOP(OP_ENTERSUB,
2079                             OPf_SPECIAL|OPf_STACKED,
2080                             append_elem(OP_LIST,
2081                                 yyvsp[-1].opval,
2082                                 scalar(newCVREF(
2083                                     (OPpENTERSUB_AMPER<<8),
2084                                     scalar(yyvsp[-3].opval)
2085                                 )))); dep();}
2086 break;
2087 case 138:
2088 #line 524 "perly.y"
2089 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2090                             prepend_elem(OP_LIST,
2091                                 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2092 break;
2093 case 139:
2094 #line 528 "perly.y"
2095 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2096                             prepend_elem(OP_LIST,
2097                                 yyvsp[-1].opval,
2098                                 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2099 break;
2100 case 140:
2101 #line 533 "perly.y"
2102 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2103                             hints |= HINT_BLOCK_SCOPE; }
2104 break;
2105 case 141:
2106 #line 536 "perly.y"
2107 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2108 break;
2109 case 142:
2110 #line 538 "perly.y"
2111 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2112 break;
2113 case 143:
2114 #line 540 "perly.y"
2115 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2116 break;
2117 case 144:
2118 #line 542 "perly.y"
2119 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2120 break;
2121 case 145:
2122 #line 544 "perly.y"
2123 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2124 break;
2125 case 146:
2126 #line 546 "perly.y"
2127 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2128                             append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2129 break;
2130 case 147:
2131 #line 549 "perly.y"
2132 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2133 break;
2134 case 148:
2135 #line 551 "perly.y"
2136 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2137 break;
2138 case 149:
2139 #line 553 "perly.y"
2140 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2141                                 scalar(yyvsp[0].opval)); }
2142 break;
2143 case 150:
2144 #line 556 "perly.y"
2145 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2146 break;
2147 case 151:
2148 #line 558 "perly.y"
2149 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2150 break;
2151 case 152:
2152 #line 560 "perly.y"
2153 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2154 break;
2155 case 153:
2156 #line 562 "perly.y"
2157 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2158 break;
2159 case 156:
2160 #line 568 "perly.y"
2161 { yyval.opval = Nullop; }
2162 break;
2163 case 157:
2164 #line 570 "perly.y"
2165 { yyval.opval = yyvsp[0].opval; }
2166 break;
2167 case 158:
2168 #line 574 "perly.y"
2169 { yyval.opval = Nullop; }
2170 break;
2171 case 159:
2172 #line 576 "perly.y"
2173 { yyval.opval = yyvsp[0].opval; }
2174 break;
2175 case 160:
2176 #line 578 "perly.y"
2177 { yyval.opval = yyvsp[-1].opval; }
2178 break;
2179 case 161:
2180 #line 581 "perly.y"
2181 { yyval.ival = 0; }
2182 break;
2183 case 162:
2184 #line 582 "perly.y"
2185 { yyval.ival = 1; }
2186 break;
2187 case 163:
2188 #line 586 "perly.y"
2189 { in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2190 break;
2191 case 164:
2192 #line 590 "perly.y"
2193 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2194 break;
2195 case 165:
2196 #line 594 "perly.y"
2197 { yyval.opval = newSVREF(yyvsp[0].opval); }
2198 break;
2199 case 166:
2200 #line 598 "perly.y"
2201 { yyval.opval = newAVREF(yyvsp[0].opval); }
2202 break;
2203 case 167:
2204 #line 602 "perly.y"
2205 { yyval.opval = newHVREF(yyvsp[0].opval); }
2206 break;
2207 case 168:
2208 #line 606 "perly.y"
2209 { yyval.opval = newAVREF(yyvsp[0].opval); }
2210 break;
2211 case 169:
2212 #line 610 "perly.y"
2213 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2214 break;
2215 case 170:
2216 #line 614 "perly.y"
2217 { yyval.opval = scalar(yyvsp[0].opval); }
2218 break;
2219 case 171:
2220 #line 616 "perly.y"
2221 { yyval.opval = scalar(yyvsp[0].opval);  }
2222 break;
2223 case 172:
2224 #line 618 "perly.y"
2225 { yyval.opval = scope(yyvsp[0].opval); }
2226 break;
2227 case 173:
2228 #line 621 "perly.y"
2229 { yyval.opval = yyvsp[0].opval; }
2230 break;
2231 #line 2215 "perly.c"
2232     }
2233     yyssp -= yym;
2234     yystate = *yyssp;
2235     yyvsp -= yym;
2236     yym = yylhs[yyn];
2237     if (yystate == 0 && yym == 0)
2238     {
2239 #if YYDEBUG
2240         if (yydebug)
2241             PerlIO_printf(Perl_debug_log,
2242                 "yydebug: after reduction, shifting from state 0 to state %d\n",
2243                 YYFINAL);
2244 #endif
2245         yystate = YYFINAL;
2246         *++yyssp = YYFINAL;
2247         *++yyvsp = yyval;
2248         if (yychar < 0)
2249         {
2250             if ((yychar = yylex()) < 0) yychar = 0;
2251 #if YYDEBUG
2252             if (yydebug)
2253             {
2254                 yys = 0;
2255                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2256                 if (!yys) yys = "illegal-symbol";
2257                 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2258                         YYFINAL, yychar, yys);
2259             }
2260 #endif
2261         }
2262         if (yychar == 0) goto yyaccept;
2263         goto yyloop;
2264     }
2265     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2266             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2267         yystate = yytable[yyn];
2268     else
2269         yystate = yydgoto[yym];
2270 #if YYDEBUG
2271     if (yydebug)
2272         PerlIO_printf(Perl_debug_log,
2273             "yydebug: after reduction, shifting from state %d to state %d\n",
2274             *yyssp, yystate);
2275 #endif
2276     if (yyssp >= yyss + yystacksize - 1)
2277     {
2278         /*
2279         ** reallocate and recover.  Note that pointers
2280         ** have to be reset, or bad things will happen
2281         */
2282         int yyps_index = (yyssp - yyss);
2283         int yypv_index = (yyvsp - yyvs);
2284         yystacksize += YYSTACKSIZE;
2285         ysave->yyvs = yyvs =
2286             (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2287         ysave->yyss = yyss =
2288             (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2289         if (!yyvs || !yyss)
2290             goto yyoverflow;
2291         yyssp = yyss + yyps_index;
2292         yyvsp = yyvs + yypv_index;
2293     }
2294     *++yyssp = yystate;
2295     *++yyvsp = yyval;
2296     goto yyloop;
2297 yyoverflow:
2298     yyerror("Out of memory for yacc stack");
2299 yyabort:
2300     retval = 1;
2301 yyaccept:
2302     return retval;
2303 }