pod/perlipc.pod patch
[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 620 "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                             yyval.opval = newWHILEOP(0, 1, (LOOP*)Nullop,
1662                                             scope(yyvsp[-2].opval), yyvsp[-1].opval, yyvsp[0].opval); }
1663 break;
1664 case 32:
1665 #line 210 "perly.y"
1666 { copline = yyvsp[-3].ival;
1667                             yyval.opval = newWHILEOP(0, 1, (LOOP*)Nullop,
1668                                             invert(scalar(scope(yyvsp[-2].opval))),
1669                                             yyvsp[-1].opval, yyvsp[0].opval); }
1670 break;
1671 case 33:
1672 #line 215 "perly.y"
1673 { yyval.opval = block_end(yyvsp[-6].ival,
1674                                  newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1675 break;
1676 case 34:
1677 #line 218 "perly.y"
1678 { yyval.opval = block_end(yyvsp[-4].ival,
1679                                  newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1680                                           yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1681 break;
1682 case 35:
1683 #line 222 "perly.y"
1684 { yyval.opval = block_end(yyvsp[-4].ival,
1685                                  newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1686 break;
1687 case 36:
1688 #line 226 "perly.y"
1689 { copline = yyvsp[-9].ival;
1690                             yyval.opval = block_end(yyvsp[-7].ival,
1691                                    append_elem(OP_LINESEQ, scalar(yyvsp[-6].opval),
1692                                      newSTATEOP(0, yyvsp[-10].pval,
1693                                        newWHILEOP(0, 1, (LOOP*)Nullop,
1694                                                   scalar(yyvsp[-4].opval),
1695                                                   yyvsp[0].opval, scalar(yyvsp[-2].opval))))); }
1696 break;
1697 case 37:
1698 #line 234 "perly.y"
1699 { yyval.opval = newSTATEOP(0,
1700                                 yyvsp[-2].pval, newWHILEOP(0, 1, (LOOP*)Nullop,
1701                                         Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1702 break;
1703 case 38:
1704 #line 240 "perly.y"
1705 { yyval.opval = Nullop; }
1706 break;
1707 case 40:
1708 #line 245 "perly.y"
1709 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1710 break;
1711 case 42:
1712 #line 250 "perly.y"
1713 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1714 break;
1715 case 43:
1716 #line 254 "perly.y"
1717 { yyval.opval = yyvsp[0].opval; intro_my(); }
1718 break;
1719 case 44:
1720 #line 258 "perly.y"
1721 { yyval.opval = yyvsp[0].opval; intro_my(); }
1722 break;
1723 case 45:
1724 #line 262 "perly.y"
1725 { yyval.opval = yyvsp[0].opval; intro_my(); }
1726 break;
1727 case 46:
1728 #line 266 "perly.y"
1729 { yyval.opval = yyvsp[0].opval; intro_my(); }
1730 break;
1731 case 47:
1732 #line 270 "perly.y"
1733 { yyval.pval = Nullch; }
1734 break;
1735 case 49:
1736 #line 275 "perly.y"
1737 { yyval.ival = 0; }
1738 break;
1739 case 50:
1740 #line 277 "perly.y"
1741 { yyval.ival = 0; }
1742 break;
1743 case 51:
1744 #line 279 "perly.y"
1745 { yyval.ival = 0; }
1746 break;
1747 case 52:
1748 #line 281 "perly.y"
1749 { yyval.ival = 0; }
1750 break;
1751 case 53:
1752 #line 285 "perly.y"
1753 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1754 break;
1755 case 54:
1756 #line 287 "perly.y"
1757 { newFORM(yyvsp[-1].ival, Nullop, yyvsp[0].opval); }
1758 break;
1759 case 55:
1760 #line 291 "perly.y"
1761 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1762 break;
1763 case 56:
1764 #line 293 "perly.y"
1765 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, Nullop); expect = XSTATE; }
1766 break;
1767 case 57:
1768 #line 297 "perly.y"
1769 { yyval.opval = Nullop; }
1770 break;
1771 case 59:
1772 #line 302 "perly.y"
1773 { yyval.ival = start_subparse(); }
1774 break;
1775 case 60:
1776 #line 306 "perly.y"
1777 { package(yyvsp[-1].opval); }
1778 break;
1779 case 61:
1780 #line 308 "perly.y"
1781 { package(Nullop); }
1782 break;
1783 case 62:
1784 #line 312 "perly.y"
1785 { utilize(yyvsp[-5].ival, yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1786 break;
1787 case 63:
1788 #line 316 "perly.y"
1789 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1790 break;
1791 case 64:
1792 #line 318 "perly.y"
1793 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1794 break;
1795 case 66:
1796 #line 323 "perly.y"
1797 { yyval.opval = yyvsp[-1].opval; }
1798 break;
1799 case 67:
1800 #line 325 "perly.y"
1801 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1802 break;
1803 case 69:
1804 #line 330 "perly.y"
1805 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1806                                 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1807 break;
1808 case 70:
1809 #line 333 "perly.y"
1810 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1811                                 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1812 break;
1813 case 71:
1814 #line 336 "perly.y"
1815 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1816                                 append_elem(OP_LIST,
1817                                     prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1818                                     newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1819 break;
1820 case 72:
1821 #line 341 "perly.y"
1822 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1823                                 append_elem(OP_LIST,
1824                                     prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1825                                     newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1826 break;
1827 case 73:
1828 #line 346 "perly.y"
1829 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1830                                 append_elem(OP_LIST,
1831                                     prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1832                                     newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1833 break;
1834 case 74:
1835 #line 351 "perly.y"
1836 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1837 break;
1838 case 75:
1839 #line 353 "perly.y"
1840 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1841 break;
1842 case 76:
1843 #line 355 "perly.y"
1844 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1845                             append_elem(OP_LIST,
1846                               prepend_elem(OP_LIST, newANONSUB(yyvsp[-2].ival, 0, yyvsp[-1].opval), yyvsp[0].opval),
1847                               yyvsp[-3].opval)); }
1848 break;
1849 case 79:
1850 #line 366 "perly.y"
1851 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1852 break;
1853 case 80:
1854 #line 368 "perly.y"
1855 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1856 break;
1857 case 81:
1858 #line 370 "perly.y"
1859 {   if (yyvsp[-1].ival != OP_REPEAT)
1860                                 scalar(yyvsp[-2].opval);
1861                             yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1862 break;
1863 case 82:
1864 #line 374 "perly.y"
1865 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1866 break;
1867 case 83:
1868 #line 376 "perly.y"
1869 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1870 break;
1871 case 84:
1872 #line 378 "perly.y"
1873 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1874 break;
1875 case 85:
1876 #line 380 "perly.y"
1877 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1878 break;
1879 case 86:
1880 #line 382 "perly.y"
1881 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1882 break;
1883 case 87:
1884 #line 384 "perly.y"
1885 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1886 break;
1887 case 88:
1888 #line 386 "perly.y"
1889 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1890 break;
1891 case 89:
1892 #line 388 "perly.y"
1893 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1894 break;
1895 case 90:
1896 #line 390 "perly.y"
1897 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1898 break;
1899 case 91:
1900 #line 392 "perly.y"
1901 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1902 break;
1903 case 92:
1904 #line 394 "perly.y"
1905 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1906 break;
1907 case 93:
1908 #line 397 "perly.y"
1909 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1910 break;
1911 case 94:
1912 #line 399 "perly.y"
1913 { yyval.opval = yyvsp[0].opval; }
1914 break;
1915 case 95:
1916 #line 401 "perly.y"
1917 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1918 break;
1919 case 96:
1920 #line 403 "perly.y"
1921 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1922 break;
1923 case 97:
1924 #line 405 "perly.y"
1925 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1926 break;
1927 case 98:
1928 #line 407 "perly.y"
1929 { yyval.opval = newUNOP(OP_POSTINC, 0,
1930                                         mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1931 break;
1932 case 99:
1933 #line 410 "perly.y"
1934 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1935                                         mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1936 break;
1937 case 100:
1938 #line 413 "perly.y"
1939 { yyval.opval = newUNOP(OP_PREINC, 0,
1940                                         mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1941 break;
1942 case 101:
1943 #line 416 "perly.y"
1944 { yyval.opval = newUNOP(OP_PREDEC, 0,
1945                                         mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1946 break;
1947 case 102:
1948 #line 419 "perly.y"
1949 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1950 break;
1951 case 103:
1952 #line 421 "perly.y"
1953 { yyval.opval = sawparens(yyvsp[-1].opval); }
1954 break;
1955 case 104:
1956 #line 423 "perly.y"
1957 { yyval.opval = sawparens(newNULLLIST()); }
1958 break;
1959 case 105:
1960 #line 425 "perly.y"
1961 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
1962 break;
1963 case 106:
1964 #line 427 "perly.y"
1965 { yyval.opval = newANONLIST(Nullop); }
1966 break;
1967 case 107:
1968 #line 429 "perly.y"
1969 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
1970 break;
1971 case 108:
1972 #line 431 "perly.y"
1973 { yyval.opval = newANONHASH(Nullop); }
1974 break;
1975 case 109:
1976 #line 433 "perly.y"
1977 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1978 break;
1979 case 110:
1980 #line 435 "perly.y"
1981 { yyval.opval = yyvsp[0].opval; }
1982 break;
1983 case 111:
1984 #line 437 "perly.y"
1985 { yyval.opval = newBINOP(OP_GELEM, 0, newGVREF(0,yyvsp[-4].opval), yyvsp[-2].opval); }
1986 break;
1987 case 112:
1988 #line 439 "perly.y"
1989 { yyval.opval = yyvsp[0].opval; }
1990 break;
1991 case 113:
1992 #line 441 "perly.y"
1993 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
1994 break;
1995 case 114:
1996 #line 443 "perly.y"
1997 { yyval.opval = newBINOP(OP_AELEM, 0,
1998                                         ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
1999                                         scalar(yyvsp[-1].opval));}
2000 break;
2001 case 115:
2002 #line 447 "perly.y"
2003 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
2004                                         ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2005                                         scalar(yyvsp[-1].opval));}
2006 break;
2007 case 116:
2008 #line 451 "perly.y"
2009 { yyval.opval = yyvsp[0].opval; }
2010 break;
2011 case 117:
2012 #line 453 "perly.y"
2013 { yyval.opval = yyvsp[0].opval; }
2014 break;
2015 case 118:
2016 #line 455 "perly.y"
2017 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2018 break;
2019 case 119:
2020 #line 457 "perly.y"
2021 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2022                             expect = XOPERATOR; }
2023 break;
2024 case 120:
2025 #line 460 "perly.y"
2026 { yyval.opval = newBINOP(OP_HELEM, 0,
2027                                         ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2028                                         jmaybe(yyvsp[-2].opval));
2029                             expect = XOPERATOR; }
2030 break;
2031 case 121:
2032 #line 465 "perly.y"
2033 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2034                                         ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2035                                         jmaybe(yyvsp[-2].opval));
2036                             expect = XOPERATOR; }
2037 break;
2038 case 122:
2039 #line 470 "perly.y"
2040 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2041 break;
2042 case 123:
2043 #line 472 "perly.y"
2044 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2045 break;
2046 case 124:
2047 #line 474 "perly.y"
2048 { yyval.opval = prepend_elem(OP_ASLICE,
2049                                 newOP(OP_PUSHMARK, 0),
2050                                     newLISTOP(OP_ASLICE, 0,
2051                                         list(yyvsp[-1].opval),
2052                                         ref(yyvsp[-3].opval, OP_ASLICE))); }
2053 break;
2054 case 125:
2055 #line 480 "perly.y"
2056 { yyval.opval = prepend_elem(OP_HSLICE,
2057                                 newOP(OP_PUSHMARK, 0),
2058                                     newLISTOP(OP_HSLICE, 0,
2059                                         list(yyvsp[-2].opval),
2060                                         ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2061                             expect = XOPERATOR; }
2062 break;
2063 case 126:
2064 #line 487 "perly.y"
2065 { yyval.opval = yyvsp[0].opval; }
2066 break;
2067 case 127:
2068 #line 489 "perly.y"
2069 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2070 break;
2071 case 128:
2072 #line 491 "perly.y"
2073 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2074 break;
2075 case 129:
2076 #line 493 "perly.y"
2077 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2078                             append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2079 break;
2080 case 130:
2081 #line 496 "perly.y"
2082 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2083                             append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2084 break;
2085 case 131:
2086 #line 499 "perly.y"
2087 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2088 break;
2089 case 132:
2090 #line 501 "perly.y"
2091 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2092 break;
2093 case 133:
2094 #line 503 "perly.y"
2095 { yyval.opval = newUNOP(OP_ENTERSUB,
2096                             OPf_SPECIAL|OPf_STACKED,
2097                             prepend_elem(OP_LIST,
2098                                 scalar(newCVREF(
2099                                     (OPpENTERSUB_AMPER<<8),
2100                                     scalar(yyvsp[-2].opval)
2101                                 )),Nullop)); dep();}
2102 break;
2103 case 134:
2104 #line 511 "perly.y"
2105 { yyval.opval = newUNOP(OP_ENTERSUB,
2106                             OPf_SPECIAL|OPf_STACKED,
2107                             append_elem(OP_LIST,
2108                                 yyvsp[-1].opval,
2109                                 scalar(newCVREF(
2110                                     (OPpENTERSUB_AMPER<<8),
2111                                     scalar(yyvsp[-3].opval)
2112                                 )))); dep();}
2113 break;
2114 case 135:
2115 #line 520 "perly.y"
2116 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2117                             prepend_elem(OP_LIST,
2118                                 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2119 break;
2120 case 136:
2121 #line 524 "perly.y"
2122 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2123                             prepend_elem(OP_LIST,
2124                                 yyvsp[-1].opval,
2125                                 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2126 break;
2127 case 137:
2128 #line 529 "perly.y"
2129 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2130                             hints |= HINT_BLOCK_SCOPE; }
2131 break;
2132 case 138:
2133 #line 532 "perly.y"
2134 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2135 break;
2136 case 139:
2137 #line 534 "perly.y"
2138 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2139 break;
2140 case 140:
2141 #line 536 "perly.y"
2142 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2143 break;
2144 case 141:
2145 #line 538 "perly.y"
2146 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2147 break;
2148 case 142:
2149 #line 540 "perly.y"
2150 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2151 break;
2152 case 143:
2153 #line 542 "perly.y"
2154 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2155                             append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2156 break;
2157 case 144:
2158 #line 545 "perly.y"
2159 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2160 break;
2161 case 145:
2162 #line 547 "perly.y"
2163 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2164 break;
2165 case 146:
2166 #line 549 "perly.y"
2167 { yyval.opval = newUNOP(OP_ENTERSUB, 0,
2168                                 scalar(yyvsp[0].opval)); }
2169 break;
2170 case 147:
2171 #line 552 "perly.y"
2172 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2173 break;
2174 case 148:
2175 #line 554 "perly.y"
2176 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2177 break;
2178 case 149:
2179 #line 556 "perly.y"
2180 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2181 break;
2182 case 150:
2183 #line 558 "perly.y"
2184 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2185 break;
2186 case 153:
2187 #line 564 "perly.y"
2188 { yyval.opval = Nullop; }
2189 break;
2190 case 154:
2191 #line 566 "perly.y"
2192 { yyval.opval = yyvsp[0].opval; }
2193 break;
2194 case 155:
2195 #line 570 "perly.y"
2196 { yyval.opval = Nullop; }
2197 break;
2198 case 156:
2199 #line 572 "perly.y"
2200 { yyval.opval = yyvsp[0].opval; }
2201 break;
2202 case 157:
2203 #line 574 "perly.y"
2204 { yyval.opval = yyvsp[-1].opval; }
2205 break;
2206 case 158:
2207 #line 577 "perly.y"
2208 { yyval.ival = 0; }
2209 break;
2210 case 159:
2211 #line 578 "perly.y"
2212 { yyval.ival = 1; }
2213 break;
2214 case 160:
2215 #line 582 "perly.y"
2216 { in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2217 break;
2218 case 161:
2219 #line 586 "perly.y"
2220 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2221 break;
2222 case 162:
2223 #line 590 "perly.y"
2224 { yyval.opval = newSVREF(yyvsp[0].opval); }
2225 break;
2226 case 163:
2227 #line 594 "perly.y"
2228 { yyval.opval = newAVREF(yyvsp[0].opval); }
2229 break;
2230 case 164:
2231 #line 598 "perly.y"
2232 { yyval.opval = newHVREF(yyvsp[0].opval); }
2233 break;
2234 case 165:
2235 #line 602 "perly.y"
2236 { yyval.opval = newAVREF(yyvsp[0].opval); }
2237 break;
2238 case 166:
2239 #line 606 "perly.y"
2240 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2241 break;
2242 case 167:
2243 #line 610 "perly.y"
2244 { yyval.opval = scalar(yyvsp[0].opval); }
2245 break;
2246 case 168:
2247 #line 612 "perly.y"
2248 { yyval.opval = scalar(yyvsp[0].opval);  }
2249 break;
2250 case 169:
2251 #line 614 "perly.y"
2252 { yyval.opval = scope(yyvsp[0].opval); }
2253 break;
2254 case 170:
2255 #line 617 "perly.y"
2256 { yyval.opval = yyvsp[0].opval; }
2257 break;
2258 #line 2245 "perly.c"
2259     }
2260     yyssp -= yym;
2261     yystate = *yyssp;
2262     yyvsp -= yym;
2263     yym = yylhs[yyn];
2264     if (yystate == 0 && yym == 0)
2265     {
2266 #if YYDEBUG
2267         if (yydebug)
2268             PerlIO_printf(Perl_debug_log,
2269                 "yydebug: after reduction, shifting from state 0 to state %d\n",
2270                 YYFINAL);
2271 #endif
2272         yystate = YYFINAL;
2273         *++yyssp = YYFINAL;
2274         *++yyvsp = yyval;
2275         if (yychar < 0)
2276         {
2277             if ((yychar = yylex()) < 0) yychar = 0;
2278 #if YYDEBUG
2279             if (yydebug)
2280             {
2281                 yys = 0;
2282                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2283                 if (!yys) yys = "illegal-symbol";
2284                 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2285                         YYFINAL, yychar, yys);
2286             }
2287 #endif
2288         }
2289         if (yychar == 0) goto yyaccept;
2290         goto yyloop;
2291     }
2292     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2293             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2294         yystate = yytable[yyn];
2295     else
2296         yystate = yydgoto[yym];
2297 #if YYDEBUG
2298     if (yydebug)
2299         PerlIO_printf(Perl_debug_log,
2300             "yydebug: after reduction, shifting from state %d to state %d\n",
2301             *yyssp, yystate);
2302 #endif
2303     if (yyssp >= yyss + yystacksize - 1)
2304     {
2305         /*
2306         ** reallocate and recover.  Note that pointers
2307         ** have to be reset, or bad things will happen
2308         */
2309         int yyps_index = (yyssp - yyss);
2310         int yypv_index = (yyvsp - yyvs);
2311         yystacksize += YYSTACKSIZE;
2312         ysave->yyvs = yyvs =
2313             (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2314         ysave->yyss = yyss =
2315             (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2316         if (!yyvs || !yyss)
2317             goto yyoverflow;
2318         yyssp = yyss + yyps_index;
2319         yyvsp = yyvs + yypv_index;
2320     }
2321     *++yyssp = yystate;
2322     *++yyvsp = yyval;
2323     goto yyloop;
2324 yyoverflow:
2325     yyerror("Out of memory for yacc stack");
2326 yyabort:
2327     retval = 1;
2328 yyaccept:
2329     return retval;
2330 }