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