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