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