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