-#ifndef lint
-/* static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91"; */
-#endif
-#define YYBYACC 1
-#line 16 "perly.y"
+/* perly.c
+ *
+ * Copyright (c) 2004 Larry Wall
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ * Note that this file was originally generated as an output from
+ * GNU bison version 1.875, but now the code is statically maintained
+ * and edited; the bits that are dependent on perly.y are now #included
+ * from the files perly.tab and perly.act.
+ *
+ * Here is an important copyright statement from the original, generated
+ * file:
+ *
+ * As a special exception, when this file is copied by Bison into a
+ * Bison output file, you may use that output file without
+ * restriction. This special exception was added by the Free
+ * Software Foundation in version 1.24 of Bison.
+ */
+
+
+/* allow stack size to grow effectively without limit */
+#define YYMAXDEPTH 10000000
+
#include "EXTERN.h"
#define PERL_IN_PERLY_C
#include "perl.h"
-#ifdef EBCDIC
-#undef YYDEBUG
-#endif
-#define dep() deprecate_old("\"do\" to call subroutines")
-
-/* stuff included here to make perly_c.diff apply better */
-
-#define yydebug PL_yydebug
-#define yynerrs PL_yynerrs
-#define yyerrflag PL_yyerrflag
-#define yychar PL_yychar
-#define yyval PL_yyval
-#define yylval PL_yylval
-
-struct ysv {
- short* yyss;
- YYSTYPE* yyvs;
- int oldyydebug;
- int oldyynerrs;
- int oldyyerrflag;
- int oldyychar;
- YYSTYPE oldyyval;
- YYSTYPE oldyylval;
-};
-
-static void yydestruct(pTHX_ void *ptr);
-
-#line 51 "perly.y"
-#if 0 /* get this from perly.h instead */
-#line 54 "perly.y"
-typedef union {
- I32 ival;
- char *pval;
- OP *opval;
- GV *gvval;
-} YYSTYPE;
-#line 62 "perly.y"
-#endif /* 0 */
-
-#ifdef USE_PURE_BISON
-#define YYLEX_PARAM (&yychar)
-#define yylex yylex_r
-#endif
-#line 54 "perly.c"
-#define YYERRCODE 256
-static short yylhs[] = { -1,
- 0, 9, 7, 6, 10, 8, 11, 11, 11, 12,
- 12, 12, 12, 25, 25, 25, 25, 25, 25, 25,
- 15, 15, 15, 14, 14, 43, 43, 13, 13, 13,
- 13, 13, 13, 13, 27, 27, 28, 28, 29, 30,
- 31, 32, 33, 54, 54, 1, 1, 1, 1, 1,
- 2, 39, 39, 47, 55, 3, 4, 5, 40, 41,
- 41, 45, 45, 45, 46, 46, 42, 42, 56, 58,
- 57, 16, 16, 16, 16, 26, 26, 26, 37, 37,
- 37, 37, 37, 37, 37, 37, 59, 37, 38, 38,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 50, 50, 50, 50, 50, 50, 50, 50, 50,
- 50, 50, 50, 50, 50, 51, 51, 51, 51, 51,
- 51, 51, 51, 52, 52, 52, 52, 52, 53, 53,
- 53, 53, 53, 53, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 48, 48, 49, 49, 49,
- 49, 49, 34, 34, 35, 35, 35, 44, 24, 19,
- 20, 21, 22, 23, 36, 36, 36, 36,
-};
-static short yylen[] = { 2,
- 2, 4, 0, 0, 4, 0, 0, 2, 2, 2,
- 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
- 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
- 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
- 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
- 4, 1, 0, 6, 6, 0, 0, 0, 1, 0,
- 1, 0, 2, 1, 2, 1, 1, 1, 3, 0,
- 7, 3, 3, 3, 1, 2, 3, 1, 3, 5,
- 6, 3, 3, 5, 2, 4, 0, 5, 1, 1,
- 5, 4, 5, 4, 5, 6, 5, 4, 5, 4,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 2, 2, 2, 2, 2,
- 2, 2, 2, 3, 2, 4, 3, 5, 2, 2,
- 4, 5, 4, 5, 1, 1, 1, 1, 5, 2,
- 1, 2, 3, 2, 1, 1, 1, 1, 1, 1,
- 6, 5, 4, 5, 1, 1, 3, 4, 3, 1,
- 2, 2, 1, 2, 2, 2, 1, 3, 1, 3,
- 4, 4, 6, 1, 1, 3, 2, 3, 2, 1,
- 1, 1, 0, 1, 0, 1, 2, 1, 2, 2,
- 2, 2, 2, 2, 1, 1, 1, 1,
-};
-static short yydefred[] = { 4,
- 0, 7, 0, 45, 58, 56, 0, 56, 56, 8,
- 46, 9, 11, 48, 0, 47, 49, 50, 0, 0,
- 0, 70, 0, 14, 3, 174, 0, 0, 155, 0,
- 169, 0, 57, 57, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 12, 0, 0, 0, 0, 0, 0, 0, 10, 0,
- 0, 0, 0, 0, 147, 149, 0, 0, 0, 0,
- 175, 141, 135, 136, 137, 138, 52, 0, 59, 0,
- 69, 0, 0, 7, 195, 198, 197, 196, 0, 0,
- 0, 0, 0, 0, 3, 3, 3, 3, 3, 3,
- 0, 0, 0, 0, 0, 164, 0, 0, 0, 0,
- 85, 0, 193, 0, 130, 0, 0, 0, 0, 0,
- 0, 0, 180, 182, 181, 0, 189, 0, 0, 0,
- 0, 0, 0, 0, 0, 125, 0, 0, 0, 190,
- 191, 192, 194, 0, 34, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 120, 121,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 13, 0, 51, 61, 0, 0, 0, 0, 83, 0,
- 0, 87, 0, 0, 0, 0, 0, 0, 0, 3,
- 168, 170, 0, 0, 0, 0, 0, 0, 0, 127,
- 0, 159, 179, 0, 0, 176, 0, 0, 124, 27,
- 0, 0, 19, 0, 0, 0, 0, 0, 72, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 89, 0, 0, 90, 0,
- 0, 101, 0, 0, 0, 0, 0, 0, 0, 157,
- 0, 0, 0, 0, 0, 0, 2, 0, 0, 172,
- 0, 0, 0, 42, 0, 43, 0, 0, 0, 0,
- 188, 0, 0, 36, 41, 0, 0, 0, 171, 187,
- 86, 0, 131, 0, 133, 0, 126, 178, 65, 0,
- 0, 0, 0, 98, 0, 0, 0, 0, 100, 94,
- 0, 92, 0, 153, 0, 158, 63, 68, 67, 55,
- 0, 54, 84, 0, 88, 128, 0, 0, 0, 0,
- 0, 0, 0, 0, 80, 132, 134, 152, 0, 0,
- 0, 99, 93, 0, 97, 95, 154, 91, 71, 173,
- 6, 0, 0, 0, 0, 0, 0, 0, 0, 151,
- 96, 81, 7, 28, 29, 0, 0, 24, 25, 0,
- 32, 0, 0, 0, 22, 0, 0, 0, 31, 5,
- 0, 30, 0, 0, 33, 0, 23,
-};
-static short yydgoto[] = { 1,
- 10, 11, 20, 103, 19, 2, 94, 373, 97, 362,
- 3, 12, 13, 69, 378, 288, 71, 72, 73, 74,
- 75, 76, 77, 78, 294, 80, 295, 284, 286, 289,
- 297, 285, 287, 121, 215, 99, 81, 260, 88, 90,
- 195, 330, 155, 292, 274, 226, 14, 82, 136, 83,
- 84, 85, 86, 15, 16, 17, 18, 92, 281,
-};
-static short yysindex[] = { 0,
- 0, 0, -236, 0, 0, 0, -231, 0, 0, 0,
- 0, 0, 0, 0, 819, 0, 0, 0, -211, -209,
- 3, 0, -209, 0, 0, 0, -32, -32, 0, 23,
- 0, 2213, 0, 0, 28, 30, 32, 33, -18, 2213,
- 42, 52, 64, 1004, 940, -32, 1149, 1268, -168, 2213,
- 174, -32, 2213, 2213, 2213, 2213, 2213, 2213, 1328, 1413,
- 0, 2213, 2213, -32, -32, -32, -32, -173, 0, 607,
- 404, -27, -71, -67, 0, 0, -12, 68, 66, 94,
- 0, 0, 0, 0, 0, 0, 0, 27, 0, -108,
- 0, -100, -108, 0, 0, 0, 0, 0, 2213, 122,
- 2213, 743, 27, -108, 0, 0, 0, 0, 0, 0,
- 125, 404, 135, 1454, 940, 0, 743, 0, -71, 94,
- 0, 2213, 0, 140, 0, 743, -25, 38, -8, 2213,
- 743, 1562, 0, 0, 0, -114, 0, 94, 245, 245,
- 245, -123, -123, 106, -34, 0, -53, 245, 245, 0,
- 0, 0, 0, 27, 0, 2213, 2213, 2213, 2213, 2213,
- 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213,
- 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 0, 0,
- -26, 2213, 1723, 2213, 2213, 2213, 2213, 2213, 2213, 1796,
- 0, 2213, 0, 0, -90, -48, -90, 285, 0, 2213,
- -35, 0, -90, 2213, 2213, 2213, 2213, 182, 1859, 0,
- 0, 0, -2, -42, 180, 2213, 94, 1932, 2004, 0,
- 102, 0, 0, 13, -21, 0, 2213, 142, 0, 0,
- 184, 184, 0, 184, 184, 184, -51, -51, 0, 296,
- 743, 386, 683, -158, 404, 643, 1034, 1034, 1067, 1345,
- 960, -112, 245, 245, 2213, 0, 2140, 2213, 0, 216,
- 120, 0, 40, 127, 123, 214, 132, 217, 136, 0,
- 77, 404, -3, -47, 2213, -47, 0, 220, 2213, 0,
- 2213, 27, 184, 0, 224, 0, 240, 184, 244, 246,
- 0, 261, 607, 0, 0, 267, 227, 2213, 0, 0,
- 0, 88, 0, 95, 0, 98, 0, 0, 0, 236,
- 2213, 2213, 139, 0, 117, 239, 2213, 194, 0, 0,
- 206, 0, 213, 0, 218, 0, 0, 0, 0, 0,
- 293, 0, 0, 585, 0, 0, 221, 221, 221, 221,
- 2213, 221, 2213, 325, 0, 0, 0, 0, 243, 703,
- 255, 0, 0, 327, 0, 0, 0, 0, 0, 0,
- 0, -173, -173, -240, -240, 351, -173, 332, 221, 0,
- 0, 0, 0, 0, 0, 221, 354, 0, 0, 221,
- 0, 1859, -173, 350, 0, 2213, -173, 360, 0, 0,
- 361, 0, 221, 221, 0, -240, 0,
-};
-static short yyrindex[] = { 0,
- 0, 0, 371, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 289, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 2282, 0, 0, 2401, 2566, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 90, 0, -16,
- 1607, 2620, 2673, 2721, 0, 0, 2769, 2856, 0, -38,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, -54,
- 0, 0, -54, 0, 0, 0, 0, 0, 2566, 0,
- 0, 4274, 0, -115, 0, 0, 0, 0, 0, 0,
- 0, 1886, 0, 0, 374, 0, 4339, 467, 532, 3224,
- 0, 0, 0, 3005, 0, 4394, 2673, 0, 0, 2566,
- 4404, 0, 0, 0, 0, 3055, 0, 3459, 3695, 3746,
- 3801, 3582, 3630, 3127, 0, 0, 0, 3866, 3914, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3175, 0, 0, -43, 0, -43, 880, 0, 374,
- 0, 0, 303, 390, 0, 0, 0, 0, 389, 0,
- 0, 0, 0, 422, 0, 0, 3510, 0, 0, 0,
- 0, 0, 0, 0, 3291, 0, 0, 3346, 0, 0,
- 8, 12, 0, 61, 62, 65, 1479, 1642, 0, 2274,
- 4445, 4493, 4120, 4168, 2421, 0, 4697, 4745, 4630, 4591,
- 4543, 4219, 4000, 4055, 0, 0, 0, 0, 0, 3411,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2474, -30, 0, 405, 0, 0, 0, 0, 0,
- 2566, 0, 78, 0, 0, 0, 0, 432, 0, 0,
- 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 374, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 415, 0, 0, 0, 0, 0, 0, 1201,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 90, 90, 186, 186, 0, 90, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 435, 90, 880, 0, 0, 90, 0, 0, 0,
- 0, 0, 0, 0, 0, 186, 0,
-};
-static short yygindex[] = { 0,
- 0, 0, 50, 453, 0, 0, -22, 0, 63, 153,
- -93, 0, 0, 0, -346, -15, 2480, 0, 1744, 437,
- 439, 0, 0, 0, 481, 755, 0, 0, 341, -186,
- 124, 170, 313, -88, -183, 49, 0, 0, 0, 498,
- -66, 247, 225, 0, -156, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,
-};
-#define YYTABLESIZE 5051
-static short yytable[] = { 70,
- 198, 300, 75, 64, 60, 280, 228, 60, 279, 64,
- 199, 328, 183, 257, 219, 62, 278, 64, 379, 186,
- 75, 110, 296, 188, 15, 21, 197, 170, 64, 4,
- 5, 6, 129, 7, 8, 376, 377, 203, 299, 229,
- 276, 222, 15, 145, 147, 87, 282, 89, 18, 397,
- 221, 185, 39, 308, 75, 187, 160, 22, 23, 160,
- 9, 91, 101, 184, 258, 186, 18, 105, 60, 106,
- 39, 107, 108, 160, 160, 25, 100, 68, 160, 62,
- 319, 113, 204, 205, 206, 207, 208, 209, 130, 26,
- 25, 114, 64, 122, 123, 182, 255, 185, 213, 214,
- 137, 16, 17, 115, 154, 20, 116, 190, 160, 125,
- 189, 344, 150, 151, 152, 153, 224, 326, 38, 16,
- 17, 40, 26, 20, 191, 26, 26, 26, 345, 26,
- 167, 26, 26, 354, 26, 346, 38, 192, 347, 15,
- 231, 232, 234, 235, 236, 237, 238, 239, 26, 25,
- 193, 194, 177, 26, 366, 178, 196, 352, 179, 180,
- 181, 200, 220, 216, 210, 202, 261, 263, 264, 265,
- 266, 267, 268, 269, 271, 211, 167, 168, 318, 218,
- 26, 321, 60, 225, 214, 21, 331, 298, 283, 232,
- 323, 232, 335, 293, 325, 181, 227, 351, 177, 391,
- 302, 178, 304, 306, 179, 180, 181, 273, 275, 64,
- 66, 310, 26, 132, 26, 26, 230, 64, 21, 320,
- 301, 21, 21, 21, 95, 21, 307, 21, 21, 96,
- 21, 256, 311, 75, 75, 75, 75, 65, 309, 313,
- 75, 315, 316, 60, 21, 164, 161, 162, 163, 21,
- 163, 165, 166, 167, 168, 317, 327, 161, 162, 163,
- 333, 75, 75, 75, 337, 161, 162, 163, 169, 171,
- 172, 173, 174, 175, 176, 177, 21, 109, 178, 384,
- 338, 179, 180, 181, 339, 343, 340, 160, 160, 160,
- 160, 161, 162, 163, 160, 349, 160, 161, 162, 163,
- 341, 214, 160, 160, 160, 160, 322, 342, 21, 324,
- 21, 21, 161, 162, 163, 160, 160, 160, 355, 160,
- 160, 160, 160, 160, 160, 160, 160, 283, 348, 160,
- 356, 353, 160, 160, 160, 370, 329, 357, 329, 161,
- 162, 163, 358, 361, 336, 26, 26, 26, 26, 26,
- 26, 359, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 369, 70, 372, 26, 26,
- 1, 26, 26, 26, 26, 26, 161, 162, 163, 371,
- 26, 26, 26, 26, 26, 26, 26, 161, 162, 163,
- 382, 380, 26, 386, 161, 162, 163, 161, 162, 163,
- 393, 394, 26, 44, 26, 26, 44, 44, 44, 277,
- 44, 53, 44, 44, 185, 44, 161, 162, 163, 161,
- 162, 163, 161, 162, 163, 62, 161, 162, 163, 44,
- 37, 161, 162, 163, 44, 161, 162, 163, 161, 162,
- 163, 21, 21, 21, 21, 21, 21, 35, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 44, 186, 183, 21, 21, 170, 21, 21, 21,
- 21, 21, 40, 37, 390, 35, 21, 21, 21, 21,
- 21, 21, 21, 161, 162, 163, 104, 134, 21, 135,
- 363, 364, 365, 44, 367, 79, 44, 233, 21, 195,
- 21, 21, 195, 195, 195, 388, 195, 174, 195, 195,
- 174, 195, 368, 161, 162, 163, 161, 162, 163, 290,
- 93, 383, 332, 0, 174, 174, 0, 0, 385, 174,
- 195, 0, 387, 0, 0, 161, 162, 163, 161, 162,
- 163, 0, 161, 162, 163, 395, 396, 0, 0, 0,
- 4, 5, 6, 0, 7, 8, 0, 195, 178, 174,
- 0, 179, 180, 181, 196, 0, 0, 196, 196, 196,
- 0, 196, 145, 196, 196, 145, 196, 0, 0, 0,
- 0, 9, 165, 166, 167, 168, 374, 375, 0, 145,
- 145, 381, 195, 0, 145, 196, 0, 0, 0, 0,
- 171, 172, 173, 174, 175, 176, 177, 389, 0, 178,
- 0, 392, 179, 180, 181, 4, 5, 6, 0, 7,
- 8, 0, 0, 0, 145, 360, 44, 44, 44, 44,
- 44, 44, 0, 44, 44, 44, 0, 0, 0, 44,
- 0, 0, 44, 44, 44, 44, 9, 170, 0, 44,
- 44, 0, 44, 44, 44, 44, 44, 196, 0, 0,
- 0, 44, 44, 44, 44, 44, 44, 0, 0, 0,
- 0, 0, 165, 44, 167, 168, 0, 0, 0, 0,
- 0, 0, 0, 44, 164, 44, 44, 0, 0, 0,
- 165, 166, 167, 168, 0, 176, 177, 0, 0, 178,
- 312, 0, 179, 180, 181, 170, 0, 169, 171, 172,
- 173, 174, 175, 176, 177, 0, 0, 178, 0, 0,
- 179, 180, 181, 195, 195, 195, 195, 195, 0, 195,
- 195, 195, 0, 0, 0, 195, 0, 0, 174, 174,
- 174, 174, 0, 0, 0, 174, 195, 174, 195, 195,
- 195, 195, 195, 174, 174, 174, 174, 195, 195, 195,
- 195, 195, 195, 0, 0, 170, 174, 174, 174, 195,
- 174, 174, 174, 174, 174, 174, 174, 174, 0, 195,
- 174, 195, 195, 174, 174, 174, 0, 0, 196, 196,
- 196, 196, 196, 0, 196, 196, 196, 0, 0, 120,
- 196, 0, 0, 145, 145, 145, 145, 138, 0, 0,
- 145, 196, 145, 196, 196, 196, 196, 196, 145, 145,
- 145, 145, 196, 196, 196, 196, 196, 196, 0, 0,
- 0, 145, 145, 145, 196, 145, 145, 145, 145, 145,
- 145, 145, 145, 0, 196, 145, 196, 196, 145, 145,
- 145, 54, 0, 120, 64, 66, 52, 0, 59, 0,
- 67, 63, 0, 62, 0, 164, 0, 0, 0, 0,
- 0, 165, 166, 167, 168, 0, 217, 61, 156, 157,
- 158, 159, 65, 0, 120, 160, 0, 0, 169, 171,
- 172, 173, 174, 175, 176, 177, 0, 0, 178, 0,
- 0, 179, 180, 181, 0, 0, 161, 162, 163, 60,
- 0, 0, 44, 0, 0, 44, 44, 44, 0, 44,
- 0, 44, 44, 164, 44, 0, 0, 0, 0, 165,
- 166, 167, 168, 0, 0, 0, 0, 0, 44, 0,
- 0, 25, 0, 44, 55, 0, 169, 171, 172, 173,
- 174, 175, 176, 177, 0, 0, 178, 0, 0, 179,
- 180, 181, 0, 0, 0, 0, 0, 0, 0, 0,
- 44, 0, 54, 0, 0, 64, 66, 52, 0, 59,
- 0, 67, 63, 164, 62, 0, 0, 0, 0, 165,
- 166, 167, 168, 177, 0, 0, 178, 0, 0, 179,
- 180, 181, 44, 65, 0, 44, 0, 171, 172, 173,
- 174, 175, 176, 177, 0, 0, 178, 0, 0, 179,
- 180, 181, 0, 0, 0, 0, 0, 0, 0, 120,
- 60, 167, 168, 0, 0, 120, 54, 0, 0, 64,
- 66, 52, 0, 59, 0, 67, 63, 0, 62, 0,
- 0, 0, 176, 177, 0, 0, 178, 0, 0, 179,
- 180, 181, 25, 0, 0, 55, 0, 65, 0, 0,
- 0, 0, 0, 0, 24, 26, 27, 28, 29, 30,
- 0, 31, 32, 33, 0, 0, 0, 34, 0, 0,
- 35, 36, 37, 38, 60, 0, 0, 39, 40, 0,
- 41, 42, 43, 44, 45, 0, 0, 0, 0, 46,
- 47, 48, 49, 50, 51, 0, 0, 0, 0, 0,
- 0, 53, 0, 0, 0, 0, 25, 0, 0, 55,
- 0, 56, 0, 57, 58, 44, 44, 44, 44, 44,
- 44, 0, 44, 44, 44, 0, 0, 0, 44, 0,
- 0, 44, 44, 44, 44, 0, 0, 0, 44, 44,
- 0, 44, 44, 44, 44, 44, 0, 0, 0, 0,
- 44, 44, 44, 44, 44, 44, 0, 0, 0, 0,
- 0, 54, 44, 0, 64, 66, 52, 0, 59, 0,
- 67, 63, 44, 62, 44, 44, 118, 27, 28, 29,
- 30, 96, 31, 32, 33, 0, 0, 0, 34, 0,
- 0, 0, 65, 0, 0, 0, 0, 0, 0, 40,
- 0, 41, 42, 43, 44, 45, 0, 0, 0, 0,
- 46, 47, 48, 49, 50, 51, 0, 0, 0, 60,
- 0, 139, 53, 0, 139, 0, 165, 166, 167, 168,
- 0, 0, 56, 0, 57, 58, 0, 0, 139, 139,
- 26, 27, 28, 29, 30, 0, 31, 32, 33, 176,
- 177, 25, 34, 178, 55, 0, 179, 180, 181, 0,
- 0, 0, 0, 40, 0, 41, 42, 43, 44, 45,
- 0, 0, 0, 139, 46, 47, 48, 49, 50, 51,
- 54, 0, 0, 64, 66, 52, 53, 59, 0, 67,
- 63, 0, 62, 0, 0, 0, 56, 0, 57, 58,
- 165, 166, 167, 168, 0, 0, 128, 0, 0, 0,
- 0, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 173, 174, 175, 176, 177, 0, 0, 178, 0, 0,
- 179, 180, 181, 165, 166, 167, 168, 0, 60, 0,
- 54, 0, 0, 64, 66, 52, 0, 59, 144, 67,
- 63, 0, 62, 0, 174, 175, 176, 177, 0, 0,
- 178, 0, 0, 179, 180, 181, 0, 0, 0, 0,
- 0, 65, 0, 55, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 124, 27, 28, 29, 30,
- 0, 31, 32, 33, 0, 0, 0, 34, 60, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 40, 0,
- 41, 42, 43, 44, 45, 0, 0, 0, 0, 46,
- 47, 48, 49, 50, 51, 54, 0, 0, 64, 66,
- 52, 53, 59, 55, 67, 63, 0, 62, 0, 0,
- 0, 56, 0, 57, 58, 0, 0, 0, 0, 0,
- 0, 0, 139, 139, 139, 139, 65, 0, 0, 139,
- 0, 0, 0, 0, 0, 0, 54, 0, 0, 64,
- 66, 52, 0, 59, 212, 67, 63, 0, 62, 0,
- 139, 139, 139, 60, 139, 146, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 65, 0, 73,
- 0, 0, 73, 0, 26, 27, 28, 29, 30, 0,
- 31, 32, 33, 0, 0, 0, 34, 73, 55, 0,
- 0, 0, 0, 0, 60, 0, 0, 40, 0, 41,
- 42, 43, 44, 45, 0, 0, 0, 0, 46, 47,
- 48, 49, 50, 51, 0, 0, 0, 0, 0, 0,
- 53, 73, 0, 0, 0, 0, 0, 0, 0, 55,
- 56, 0, 57, 58, 26, 27, 28, 29, 30, 0,
- 31, 32, 33, 0, 54, 0, 34, 64, 66, 52,
- 0, 59, 223, 67, 63, 0, 62, 40, 0, 41,
- 42, 43, 44, 45, 0, 0, 0, 0, 46, 47,
- 48, 49, 50, 51, 0, 65, 0, 0, 0, 0,
- 53, 165, 166, 167, 168, 0, 0, 0, 0, 0,
- 56, 0, 57, 58, 0, 0, 0, 78, 0, 0,
- 78, 0, 60, 175, 176, 177, 0, 0, 178, 0,
- 0, 179, 180, 181, 78, 78, 0, 0, 0, 26,
- 27, 28, 29, 30, 0, 31, 32, 33, 0, 0,
- 0, 34, 74, 0, 0, 74, 0, 55, 0, 0,
- 0, 0, 40, 0, 41, 42, 43, 44, 45, 78,
- 74, 0, 0, 46, 47, 48, 49, 50, 51, 0,
- 26, 27, 28, 29, 30, 53, 31, 32, 33, 0,
- 0, 0, 34, 0, 0, 56, 0, 57, 58, 0,
- 0, 0, 0, 40, 74, 41, 42, 43, 44, 45,
- 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
- 73, 73, 73, 73, 0, 54, 53, 73, 64, 66,
- 52, 0, 59, 262, 67, 63, 56, 62, 57, 58,
- 98, 98, 0, 0, 0, 0, 0, 0, 73, 73,
- 0, 0, 111, 0, 0, 0, 65, 0, 119, 98,
- 127, 0, 0, 0, 133, 98, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 98, 98, 98,
- 98, 0, 0, 60, 0, 0, 0, 0, 26, 27,
- 28, 29, 30, 0, 31, 32, 33, 0, 54, 0,
- 34, 64, 66, 52, 0, 59, 270, 67, 63, 0,
- 62, 40, 0, 41, 42, 43, 44, 45, 55, 0,
- 0, 0, 46, 47, 48, 49, 50, 51, 119, 65,
- 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56, 0, 57, 58, 78, 78,
- 78, 78, 0, 0, 0, 78, 60, 0, 0, 0,
- 0, 54, 0, 0, 64, 66, 52, 0, 59, 0,
- 67, 63, 0, 62, 0, 0, 78, 78, 78, 0,
- 0, 0, 0, 74, 74, 74, 74, 0, 0, 0,
- 74, 55, 65, 0, 259, 0, 161, 0, 0, 161,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 74, 74, 161, 161, 0, 0, 0, 0, 60,
- 0, 291, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 54, 0, 0, 64, 66, 52,
- 0, 59, 303, 67, 63, 0, 62, 0, 161, 26,
- 27, 28, 29, 30, 55, 31, 32, 33, 0, 0,
- 0, 34, 0, 0, 0, 65, 0, 0, 0, 0,
- 0, 0, 40, 0, 41, 42, 43, 44, 45, 0,
- 0, 0, 0, 46, 47, 48, 49, 50, 51, 0,
- 0, 0, 60, 0, 0, 53, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 56, 54, 57, 58, 64,
- 66, 52, 0, 59, 305, 67, 63, 0, 62, 0,
- 0, 0, 26, 27, 28, 29, 30, 55, 31, 32,
- 33, 0, 0, 0, 34, 0, 0, 65, 0, 0,
- 0, 0, 0, 0, 0, 40, 0, 41, 42, 43,
- 44, 45, 0, 0, 0, 0, 46, 47, 48, 49,
- 50, 51, 0, 0, 60, 0, 0, 0, 53, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
- 57, 58, 0, 0, 24, 26, 27, 28, 29, 30,
- 0, 31, 32, 33, 0, 0, 0, 34, 0, 55,
- 0, 0, 0, 0, 0, 0, 0, 0, 40, 0,
- 41, 42, 43, 44, 45, 0, 0, 0, 0, 46,
- 47, 48, 49, 50, 51, 0, 0, 161, 161, 161,
- 161, 53, 0, 0, 161, 0, 0, 0, 0, 0,
- 0, 56, 54, 57, 58, 64, 66, 52, 0, 59,
- 314, 67, 63, 0, 62, 161, 161, 161, 26, 27,
- 28, 29, 30, 0, 31, 32, 33, 0, 0, 0,
- 34, 0, 0, 65, 0, 0, 0, 0, 0, 0,
- 0, 40, 0, 41, 42, 43, 44, 45, 0, 0,
- 0, 0, 46, 47, 48, 49, 50, 51, 0, 0,
- 60, 0, 0, 0, 53, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56, 54, 57, 58, 64, 66,
- 52, 0, 59, 0, 67, 63, 0, 62, 0, 0,
- 26, 27, 28, 29, 30, 55, 31, 32, 33, 0,
- 0, 0, 34, 0, 0, 0, 65, 0, 0, 0,
- 0, 0, 0, 40, 0, 41, 42, 43, 44, 45,
- 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
- 0, 0, 0, 60, 0, 0, 53, 0, 0, 0,
- 0, 0, 0, 0, 111, 0, 56, 111, 57, 58,
- 0, 0, 167, 0, 0, 167, 0, 0, 0, 0,
- 0, 111, 111, 0, 0, 0, 111, 0, 55, 167,
- 167, 0, 0, 0, 167, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 111, 0, 0, 0,
- 0, 0, 0, 0, 167, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 26, 27, 28, 29,
- 30, 0, 31, 32, 33, 0, 0, 0, 34, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,
- 0, 41, 42, 43, 44, 45, 0, 0, 0, 0,
- 46, 47, 48, 49, 50, 51, 0, 0, 0, 0,
- 0, 163, 53, 0, 163, 0, 0, 0, 0, 0,
- 0, 0, 56, 0, 57, 58, 0, 0, 163, 163,
- 0, 102, 0, 163, 102, 0, 0, 0, 0, 26,
- 27, 28, 29, 30, 0, 31, 32, 33, 102, 102,
- 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 40, 163, 41, 42, 43, 44, 45, 0,
- 0, 0, 0, 46, 47, 48, 49, 50, 51, 0,
- 0, 102, 0, 102, 77, 53, 0, 77, 0, 112,
- 0, 0, 0, 117, 0, 56, 126, 57, 58, 131,
- 0, 77, 77, 139, 140, 141, 142, 143, 0, 0,
- 0, 148, 149, 0, 0, 111, 111, 111, 111, 0,
- 0, 0, 111, 167, 167, 167, 167, 0, 0, 0,
- 167, 0, 167, 0, 0, 0, 77, 0, 167, 167,
- 167, 167, 0, 111, 111, 111, 0, 111, 0, 0,
- 201, 167, 167, 167, 0, 167, 167, 167, 167, 167,
- 167, 167, 167, 0, 0, 167, 0, 0, 167, 167,
- 167, 0, 0, 0, 0, 0, 183, 0, 0, 183,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 183, 183, 0, 0, 0, 183, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 183, 0,
- 150, 0, 0, 150, 0, 0, 0, 0, 0, 0,
- 0, 272, 163, 163, 163, 163, 0, 150, 150, 163,
- 0, 163, 150, 0, 0, 0, 0, 163, 163, 163,
- 163, 0, 102, 102, 102, 102, 0, 0, 0, 102,
- 163, 163, 163, 0, 163, 163, 163, 163, 163, 163,
- 163, 163, 150, 145, 163, 0, 145, 163, 163, 163,
- 102, 102, 102, 0, 0, 0, 0, 0, 0, 0,
- 145, 145, 0, 0, 0, 145, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 77, 77, 77, 77, 0,
- 0, 0, 77, 0, 0, 0, 0, 0, 334, 0,
- 0, 148, 0, 0, 148, 145, 0, 0, 0, 0,
- 0, 0, 0, 77, 77, 77, 0, 0, 148, 148,
- 0, 0, 0, 148, 0, 0, 0, 0, 0, 0,
- 0, 350, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 146,
- 0, 0, 146, 148, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 146, 146, 0, 0,
- 0, 146, 0, 0, 0, 0, 0, 183, 183, 183,
- 183, 0, 0, 0, 183, 0, 183, 0, 0, 0,
- 0, 0, 183, 183, 183, 183, 0, 0, 0, 0,
- 0, 146, 0, 0, 0, 183, 183, 183, 0, 183,
- 183, 183, 183, 183, 183, 183, 183, 0, 0, 183,
- 0, 0, 183, 183, 183, 0, 0, 0, 0, 0,
- 0, 150, 150, 150, 150, 0, 156, 0, 150, 156,
- 150, 0, 0, 0, 0, 0, 150, 150, 150, 150,
- 0, 0, 0, 156, 156, 0, 0, 0, 156, 150,
- 150, 150, 0, 150, 150, 150, 150, 150, 150, 150,
- 150, 0, 0, 150, 0, 0, 150, 150, 150, 0,
- 0, 0, 0, 0, 145, 145, 145, 145, 156, 0,
- 0, 145, 0, 145, 0, 0, 0, 0, 0, 145,
- 145, 145, 145, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 145, 145, 145, 0, 145, 145, 145, 145,
- 145, 145, 145, 145, 0, 0, 145, 0, 0, 145,
- 145, 145, 148, 148, 148, 148, 0, 0, 0, 148,
- 0, 148, 0, 0, 0, 0, 0, 148, 148, 148,
- 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 148, 148, 148, 0, 148, 148, 148, 148, 148, 148,
- 148, 148, 0, 0, 148, 0, 0, 148, 148, 148,
- 146, 146, 146, 146, 0, 174, 0, 146, 174, 146,
- 0, 0, 0, 0, 0, 146, 146, 146, 146, 0,
- 0, 0, 174, 174, 0, 0, 0, 174, 146, 146,
- 146, 0, 146, 146, 146, 146, 146, 146, 146, 146,
- 0, 0, 146, 0, 0, 146, 146, 146, 0, 0,
- 0, 0, 0, 0, 0, 177, 0, 174, 177, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 177, 177, 0, 0, 0, 177, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 156, 156, 156,
- 156, 0, 0, 0, 156, 0, 156, 0, 0, 0,
- 0, 0, 156, 156, 156, 156, 0, 177, 0, 0,
- 0, 0, 0, 0, 0, 156, 156, 156, 0, 156,
- 156, 156, 156, 156, 156, 156, 156, 144, 0, 156,
- 144, 0, 156, 156, 156, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 144, 144, 0, 0, 0, 144,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 76, 0, 0, 76, 144,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 76, 76, 0, 0, 0, 76, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 184, 0, 0, 76, 0, 0,
- 0, 0, 0, 0, 0, 0, 174, 174, 174, 174,
- 0, 184, 184, 174, 0, 174, 184, 0, 0, 0,
- 0, 174, 174, 174, 174, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 174, 174, 174, 0, 174, 174,
- 174, 174, 174, 174, 174, 174, 184, 0, 174, 0,
- 0, 174, 174, 174, 0, 0, 177, 177, 177, 177,
- 0, 66, 0, 177, 66, 177, 0, 0, 0, 0,
- 0, 177, 177, 177, 177, 0, 0, 0, 66, 66,
- 0, 0, 0, 66, 177, 177, 177, 0, 177, 177,
- 177, 177, 177, 177, 177, 177, 0, 0, 177, 0,
- 0, 177, 177, 177, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 66, 0, 0, 143, 0, 0, 143,
- 0, 0, 0, 0, 0, 0, 0, 0, 144, 144,
- 144, 144, 0, 143, 143, 144, 0, 144, 143, 0,
- 0, 0, 0, 144, 144, 144, 144, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 144, 144, 144, 0,
- 144, 144, 144, 144, 144, 144, 144, 144, 143, 0,
- 144, 0, 0, 144, 144, 144, 76, 76, 76, 76,
- 0, 82, 0, 76, 82, 76, 0, 0, 0, 0,
- 0, 76, 76, 76, 76, 0, 0, 0, 82, 82,
- 0, 0, 0, 82, 76, 76, 76, 0, 76, 76,
- 76, 76, 76, 76, 76, 76, 0, 0, 76, 0,
- 0, 76, 76, 76, 0, 184, 184, 184, 184, 162,
- 0, 0, 184, 82, 184, 0, 0, 0, 0, 0,
- 184, 184, 184, 184, 0, 0, 162, 162, 0, 0,
- 0, 162, 0, 184, 184, 184, 0, 184, 184, 184,
- 184, 184, 184, 184, 184, 0, 0, 184, 0, 0,
- 184, 184, 184, 0, 0, 0, 0, 0, 0, 0,
- 79, 162, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 66, 66, 66, 66, 0, 79, 79, 66,
- 0, 66, 79, 0, 0, 0, 0, 66, 66, 66,
- 66, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 66, 66, 66, 0, 66, 66, 66, 66, 66, 66,
- 66, 66, 79, 0, 66, 0, 0, 66, 66, 66,
- 0, 0, 0, 0, 0, 0, 0, 143, 143, 143,
- 143, 0, 122, 0, 143, 122, 143, 0, 0, 0,
- 0, 0, 143, 143, 143, 143, 0, 0, 0, 122,
- 122, 0, 0, 0, 122, 143, 143, 143, 0, 143,
- 143, 143, 143, 143, 143, 143, 143, 0, 0, 143,
- 0, 0, 143, 143, 143, 0, 0, 0, 0, 0,
- 123, 0, 0, 123, 122, 0, 0, 0, 0, 0,
- 0, 0, 82, 82, 82, 82, 0, 123, 123, 82,
- 0, 82, 123, 0, 0, 0, 0, 82, 82, 82,
- 82, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 82, 82, 0, 82, 82, 82, 82, 82, 82,
- 82, 82, 123, 0, 82, 0, 0, 82, 82, 82,
- 162, 162, 162, 162, 0, 118, 0, 162, 118, 162,
- 0, 0, 0, 0, 0, 162, 162, 162, 162, 0,
- 0, 0, 118, 118, 0, 0, 0, 118, 162, 162,
- 162, 0, 162, 162, 162, 162, 162, 162, 162, 162,
- 0, 0, 162, 0, 0, 162, 162, 162, 0, 0,
- 0, 79, 79, 79, 79, 0, 119, 118, 79, 119,
- 79, 0, 0, 0, 0, 0, 79, 79, 79, 79,
- 0, 0, 0, 119, 119, 0, 0, 0, 119, 79,
- 79, 79, 0, 79, 79, 79, 79, 79, 79, 79,
- 79, 0, 0, 79, 0, 0, 79, 79, 79, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 119, 0,
- 0, 140, 0, 0, 140, 0, 0, 0, 0, 0,
- 0, 0, 0, 122, 122, 122, 122, 0, 140, 140,
- 122, 0, 122, 140, 0, 0, 0, 0, 122, 122,
- 122, 122, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 122, 122, 122, 0, 122, 122, 122, 122, 122,
- 122, 122, 122, 140, 0, 122, 0, 0, 0, 0,
- 0, 123, 123, 123, 123, 0, 116, 0, 123, 116,
- 123, 0, 0, 0, 0, 0, 123, 123, 123, 123,
- 0, 0, 0, 116, 116, 0, 0, 0, 116, 123,
- 123, 123, 0, 123, 123, 123, 123, 123, 123, 123,
- 123, 0, 0, 123, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 117, 0, 0, 117, 116, 0,
- 0, 0, 0, 0, 0, 0, 118, 118, 118, 118,
- 0, 117, 117, 118, 0, 118, 117, 0, 0, 0,
- 0, 118, 118, 118, 118, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 118, 118, 118, 0, 118, 118,
- 118, 118, 118, 118, 118, 118, 117, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 119, 119, 119,
- 119, 0, 0, 0, 119, 0, 119, 0, 0, 0,
- 0, 0, 119, 119, 119, 119, 0, 0, 0, 0,
- 115, 0, 0, 115, 0, 119, 119, 119, 0, 119,
- 119, 119, 119, 119, 119, 119, 119, 115, 115, 0,
- 0, 0, 115, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 140, 140, 140, 140, 0, 0, 0, 140,
- 0, 140, 0, 0, 0, 0, 0, 140, 140, 140,
- 140, 0, 115, 0, 0, 103, 0, 0, 103, 0,
- 140, 140, 140, 0, 140, 140, 140, 140, 140, 140,
- 140, 140, 103, 103, 0, 0, 0, 103, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 116, 116, 116,
- 116, 0, 0, 0, 116, 0, 116, 103, 0, 0,
- 0, 0, 116, 116, 116, 116, 0, 0, 0, 0,
- 104, 0, 0, 104, 0, 116, 116, 116, 0, 116,
- 116, 116, 116, 116, 116, 116, 116, 104, 104, 0,
- 0, 0, 104, 0, 0, 117, 117, 117, 117, 0,
- 0, 0, 117, 0, 117, 0, 0, 0, 0, 0,
- 117, 117, 117, 117, 0, 0, 0, 0, 105, 0,
- 0, 105, 104, 117, 117, 117, 0, 117, 117, 117,
- 117, 117, 117, 117, 117, 105, 105, 0, 0, 0,
- 105, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 106,
- 105, 0, 106, 0, 0, 0, 0, 0, 0, 0,
- 0, 115, 115, 115, 115, 0, 106, 106, 115, 0,
- 115, 106, 0, 0, 0, 0, 115, 115, 115, 115,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 115,
- 115, 115, 0, 115, 115, 115, 115, 115, 115, 115,
- 115, 106, 0, 0, 166, 0, 0, 166, 0, 0,
- 0, 0, 0, 0, 0, 0, 103, 103, 103, 103,
- 0, 166, 166, 103, 0, 103, 166, 0, 0, 0,
- 0, 103, 103, 103, 103, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 103, 103, 103, 0, 103, 103,
- 103, 103, 103, 103, 103, 103, 166, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 165,
- 0, 0, 165, 0, 0, 0, 0, 0, 0, 0,
- 0, 104, 104, 104, 104, 0, 165, 165, 104, 0,
- 104, 165, 0, 0, 0, 0, 104, 104, 104, 104,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
- 104, 104, 0, 104, 104, 104, 104, 104, 104, 104,
- 0, 165, 0, 0, 129, 0, 0, 129, 0, 105,
- 105, 105, 105, 0, 142, 0, 105, 142, 105, 0,
- 0, 129, 129, 0, 105, 105, 129, 105, 0, 0,
- 0, 142, 142, 0, 0, 0, 142, 105, 105, 105,
- 0, 105, 105, 105, 105, 105, 105, 105, 0, 0,
- 0, 0, 0, 0, 0, 107, 129, 0, 107, 0,
- 106, 106, 106, 106, 0, 0, 142, 106, 0, 106,
- 0, 0, 107, 107, 0, 106, 106, 107, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 106, 106,
- 106, 0, 106, 106, 106, 106, 106, 106, 106, 0,
- 0, 0, 0, 108, 0, 0, 108, 107, 0, 0,
- 0, 0, 0, 0, 0, 166, 166, 166, 166, 0,
- 108, 108, 166, 0, 166, 108, 0, 0, 0, 0,
- 166, 166, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 166, 166, 166, 0, 166, 166, 166,
- 166, 166, 166, 109, 0, 108, 109, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 109, 109, 0, 0, 0, 109, 0, 0, 0, 0,
- 165, 165, 165, 165, 0, 0, 0, 165, 0, 165,
- 0, 0, 0, 0, 0, 165, 165, 0, 0, 0,
- 0, 110, 0, 0, 110, 109, 0, 0, 165, 165,
- 165, 0, 165, 165, 165, 165, 165, 165, 110, 110,
- 0, 0, 0, 110, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 129, 129, 129, 129, 0,
- 112, 0, 129, 112, 129, 142, 142, 142, 142, 0,
- 129, 129, 142, 110, 142, 0, 0, 112, 112, 0,
- 142, 142, 112, 129, 129, 129, 0, 129, 129, 129,
- 129, 129, 129, 142, 142, 142, 0, 142, 142, 142,
- 142, 142, 142, 0, 0, 0, 107, 107, 107, 107,
- 0, 0, 112, 107, 0, 107, 0, 0, 0, 0,
- 0, 0, 107, 0, 0, 0, 0, 113, 0, 0,
- 113, 0, 0, 0, 107, 107, 107, 0, 107, 107,
- 107, 107, 107, 107, 113, 113, 0, 0, 0, 113,
- 0, 0, 0, 0, 108, 108, 108, 108, 0, 0,
- 0, 108, 0, 108, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 114, 0, 0, 114, 113,
- 0, 0, 108, 108, 108, 0, 108, 108, 108, 108,
- 108, 108, 114, 114, 0, 0, 0, 114, 0, 0,
- 0, 0, 0, 0, 109, 109, 109, 109, 0, 0,
- 0, 109, 0, 109, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 114, 0, 0,
- 0, 0, 109, 109, 109, 0, 109, 109, 109, 109,
- 109, 109, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 110, 110, 110, 110, 0, 0, 0, 110,
- 0, 110, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 110, 110, 110, 0, 110, 110, 110, 110, 110, 0,
- 0, 112, 112, 112, 112, 0, 0, 0, 112, 0,
- 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 112,
- 112, 112, 0, 112, 112, 112, 112, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 113, 113,
- 113, 113, 0, 0, 0, 113, 0, 113, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 113, 113, 113, 0,
- 113, 113, 113, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 114, 114, 114, 114,
- 0, 0, 0, 114, 0, 114, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 114, 114, 114, 0, 114, 114,
- 114,
-};
-static short yycheck[] = { 15,
- 94, 44, 41, 36, 59, 41, 41, 123, 44, 36,
- 99, 59, 40, 40, 40, 59, 200, 36, 365, 91,
- 59, 40, 209, 91, 41, 257, 93, 63, 59, 266,
- 267, 268, 48, 270, 271, 276, 277, 104, 41, 93,
- 197, 130, 59, 59, 60, 257, 203, 257, 41, 396,
- 59, 123, 41, 41, 93, 123, 41, 8, 9, 44,
- 297, 59, 40, 91, 91, 91, 59, 40, 123, 40,
- 59, 40, 40, 58, 59, 123, 28, 15, 63, 123,
- 41, 40, 105, 106, 107, 108, 109, 110, 257, 0,
- 123, 40, 123, 45, 46, 123, 123, 123, 114, 115,
- 52, 41, 41, 40, 278, 41, 44, 40, 93, 47,
- 123, 298, 64, 65, 66, 67, 132, 41, 41, 59,
- 59, 41, 33, 59, 59, 36, 37, 38, 41, 40,
- 289, 42, 43, 317, 45, 41, 59, 44, 41, 59,
- 156, 157, 158, 159, 160, 161, 162, 163, 59, 123,
- 88, 260, 311, 64, 341, 314, 257, 41, 317, 318,
- 319, 40, 125, 115, 40, 103, 182, 183, 184, 185,
- 186, 187, 188, 189, 190, 41, 289, 290, 59, 40,
- 91, 59, 298, 298, 200, 0, 275, 210, 204, 205,
- 59, 207, 281, 209, 59, 319, 91, 59, 311, 386,
- 216, 314, 218, 219, 317, 318, 319, 298, 257, 36,
- 37, 227, 123, 40, 125, 126, 154, 36, 33, 93,
- 41, 36, 37, 38, 257, 40, 125, 42, 43, 262,
- 45, 258, 91, 272, 273, 274, 275, 64, 260, 255,
- 279, 257, 258, 298, 59, 281, 300, 301, 302, 64,
- 302, 287, 288, 289, 290, 40, 260, 300, 301, 302,
- 41, 300, 301, 302, 41, 300, 301, 302, 304, 305,
- 306, 307, 308, 309, 310, 311, 91, 296, 314, 373,
- 41, 317, 318, 319, 41, 59, 41, 272, 273, 274,
- 275, 300, 301, 302, 279, 311, 281, 300, 301, 302,
- 40, 317, 287, 288, 289, 290, 93, 41, 123, 93,
- 125, 126, 300, 301, 302, 300, 301, 302, 125, 304,
- 305, 306, 307, 308, 309, 310, 311, 343, 93, 314,
- 125, 93, 317, 318, 319, 93, 274, 125, 276, 300,
- 301, 302, 125, 123, 282, 256, 257, 258, 259, 260,
- 261, 59, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 41, 382, 41, 279, 280,
- 0, 282, 283, 284, 285, 286, 300, 301, 302, 125,
- 291, 292, 293, 294, 295, 296, 297, 300, 301, 302,
- 59, 41, 303, 40, 300, 301, 302, 300, 301, 302,
- 41, 41, 313, 33, 315, 316, 36, 37, 38, 125,
- 40, 123, 42, 43, 41, 45, 300, 301, 302, 300,
- 301, 302, 300, 301, 302, 123, 300, 301, 302, 59,
- 41, 300, 301, 302, 64, 300, 301, 302, 300, 301,
- 302, 256, 257, 258, 259, 260, 261, 59, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 91, 41, 59, 279, 280, 63, 282, 283, 284,
- 285, 286, 41, 59, 125, 41, 291, 292, 293, 294,
- 295, 296, 297, 300, 301, 302, 34, 51, 303, 51,
- 338, 339, 340, 123, 342, 15, 126, 157, 313, 33,
- 315, 316, 36, 37, 38, 382, 40, 41, 42, 43,
- 44, 45, 343, 300, 301, 302, 300, 301, 302, 207,
- 23, 369, 276, -1, 58, 59, -1, -1, 376, 63,
- 64, -1, 380, -1, -1, 300, 301, 302, 300, 301,
- 302, -1, 300, 301, 302, 393, 394, -1, -1, -1,
- 266, 267, 268, -1, 270, 271, -1, 91, 314, 93,
- -1, 317, 318, 319, 33, -1, -1, 36, 37, 38,
- -1, 40, 41, 42, 43, 44, 45, -1, -1, -1,
- -1, 297, 287, 288, 289, 290, 362, 363, -1, 58,
- 59, 367, 126, -1, 63, 64, -1, -1, -1, -1,
- 305, 306, 307, 308, 309, 310, 311, 383, -1, 314,
- -1, 387, 317, 318, 319, 266, 267, 268, -1, 270,
- 271, -1, -1, -1, 93, 41, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
- -1, -1, 272, 273, 274, 275, 297, 63, -1, 279,
- 280, -1, 282, 283, 284, 285, 286, 126, -1, -1,
- -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
- -1, -1, 287, 303, 289, 290, -1, -1, -1, -1,
- -1, -1, -1, 313, 281, 315, 316, -1, -1, -1,
- 287, 288, 289, 290, -1, 310, 311, -1, -1, 314,
- 58, -1, 317, 318, 319, 63, -1, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, -1, 314, -1, -1,
- 317, 318, 319, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, -1, -1, -1, 269, -1, -1, 272, 273,
- 274, 275, -1, -1, -1, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, -1, -1, 63, 300, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
- 314, 315, 316, 317, 318, 319, -1, -1, 257, 258,
- 259, 260, 261, -1, 263, 264, 265, -1, -1, 45,
- 269, -1, -1, 272, 273, 274, 275, 53, -1, -1,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, -1,
- -1, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
- 319, 33, -1, 99, 36, 37, 38, -1, 40, -1,
- 42, 43, -1, 45, -1, 281, -1, -1, -1, -1,
- -1, 287, 288, 289, 290, -1, 122, 59, 272, 273,
- 274, 275, 64, -1, 130, 279, -1, -1, 304, 305,
- 306, 307, 308, 309, 310, 311, -1, -1, 314, -1,
- -1, 317, 318, 319, -1, -1, 300, 301, 302, 91,
- -1, -1, 33, -1, -1, 36, 37, 38, -1, 40,
- -1, 42, 43, 281, 45, -1, -1, -1, -1, 287,
- 288, 289, 290, -1, -1, -1, -1, -1, 59, -1,
- -1, 123, -1, 64, 126, -1, 304, 305, 306, 307,
- 308, 309, 310, 311, -1, -1, 314, -1, -1, 317,
- 318, 319, -1, -1, -1, -1, -1, -1, -1, -1,
- 91, -1, 33, -1, -1, 36, 37, 38, -1, 40,
- -1, 42, 43, 281, 45, -1, -1, -1, -1, 287,
- 288, 289, 290, 311, -1, -1, 314, -1, -1, 317,
- 318, 319, 123, 64, -1, 126, -1, 305, 306, 307,
- 308, 309, 310, 311, -1, -1, 314, -1, -1, 317,
- 318, 319, -1, -1, -1, -1, -1, -1, -1, 275,
- 91, 289, 290, -1, -1, 281, 33, -1, -1, 36,
- 37, 38, -1, 40, -1, 42, 43, -1, 45, -1,
- -1, -1, 310, 311, -1, -1, 314, -1, -1, 317,
- 318, 319, 123, -1, -1, 126, -1, 64, -1, -1,
- -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, -1, -1, -1, 269, -1, -1,
- 272, 273, 274, 275, 91, -1, -1, 279, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, -1, -1, -1, -1, -1,
- -1, 303, -1, -1, -1, -1, 123, -1, -1, 126,
- -1, 313, -1, 315, 316, 256, 257, 258, 259, 260,
- 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
- -1, 272, 273, 274, 275, -1, -1, -1, 279, 280,
- -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, 295, 296, -1, -1, -1, -1,
- -1, 33, 303, -1, 36, 37, 38, -1, 40, -1,
- 42, 43, 313, 45, 315, 316, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, -1, -1, -1, 269, -1,
- -1, -1, 64, -1, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, 295, 296, -1, -1, -1, 91,
- -1, 41, 303, -1, 44, -1, 287, 288, 289, 290,
- -1, -1, 313, -1, 315, 316, -1, -1, 58, 59,
- 257, 258, 259, 260, 261, -1, 263, 264, 265, 310,
- 311, 123, 269, 314, 126, -1, 317, 318, 319, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, -1, -1, 93, 291, 292, 293, 294, 295, 296,
- 33, -1, -1, 36, 37, 38, 303, 40, -1, 42,
- 43, -1, 45, -1, -1, -1, 313, -1, 315, 316,
- 287, 288, 289, 290, -1, -1, 59, -1, -1, -1,
- -1, 64, -1, -1, -1, -1, -1, -1, -1, -1,
- 307, 308, 309, 310, 311, -1, -1, 314, -1, -1,
- 317, 318, 319, 287, 288, 289, 290, -1, 91, -1,
- 33, -1, -1, 36, 37, 38, -1, 40, 41, 42,
- 43, -1, 45, -1, 308, 309, 310, 311, -1, -1,
- 314, -1, -1, 317, 318, 319, -1, -1, -1, -1,
- -1, 64, -1, 126, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, -1, -1, -1, 269, 91, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, 33, -1, -1, 36, 37,
- 38, 303, 40, 126, 42, 43, -1, 45, -1, -1,
- -1, 313, -1, 315, 316, -1, -1, -1, -1, -1,
- -1, -1, 272, 273, 274, 275, 64, -1, -1, 279,
- -1, -1, -1, -1, -1, -1, 33, -1, -1, 36,
- 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
- 300, 301, 302, 91, 304, 93, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 64, -1, 41,
- -1, -1, 44, -1, 257, 258, 259, 260, 261, -1,
- 263, 264, 265, -1, -1, -1, 269, 59, 126, -1,
- -1, -1, -1, -1, 91, -1, -1, 280, -1, 282,
- 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, 295, 296, -1, -1, -1, -1, -1, -1,
- 303, 93, -1, -1, -1, -1, -1, -1, -1, 126,
- 313, -1, 315, 316, 257, 258, 259, 260, 261, -1,
- 263, 264, 265, -1, 33, -1, 269, 36, 37, 38,
- -1, 40, 41, 42, 43, -1, 45, 280, -1, 282,
- 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, 295, 296, -1, 64, -1, -1, -1, -1,
- 303, 287, 288, 289, 290, -1, -1, -1, -1, -1,
- 313, -1, 315, 316, -1, -1, -1, 41, -1, -1,
- 44, -1, 91, 309, 310, 311, -1, -1, 314, -1,
- -1, 317, 318, 319, 58, 59, -1, -1, -1, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
- -1, 269, 41, -1, -1, 44, -1, 126, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, 285, 286, 93,
- 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
- 257, 258, 259, 260, 261, 303, 263, 264, 265, -1,
- -1, -1, 269, -1, -1, 313, -1, 315, 316, -1,
- -1, -1, -1, 280, 93, 282, 283, 284, 285, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
- 272, 273, 274, 275, -1, 33, 303, 279, 36, 37,
- 38, -1, 40, 41, 42, 43, 313, 45, 315, 316,
- 27, 28, -1, -1, -1, -1, -1, -1, 300, 301,
- -1, -1, 39, -1, -1, -1, 64, -1, 45, 46,
- 47, -1, -1, -1, 51, 52, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 64, 65, 66,
- 67, -1, -1, 91, -1, -1, -1, -1, 257, 258,
- 259, 260, 261, -1, 263, 264, 265, -1, 33, -1,
- 269, 36, 37, 38, -1, 40, 41, 42, 43, -1,
- 45, 280, -1, 282, 283, 284, 285, 286, 126, -1,
- -1, -1, 291, 292, 293, 294, 295, 296, 115, 64,
- -1, -1, -1, -1, 303, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 313, -1, 315, 316, 272, 273,
- 274, 275, -1, -1, -1, 279, 91, -1, -1, -1,
- -1, 33, -1, -1, 36, 37, 38, -1, 40, -1,
- 42, 43, -1, 45, -1, -1, 300, 301, 302, -1,
- -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
- 279, 126, 64, -1, 181, -1, 41, -1, -1, 44,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 300, 301, 58, 59, -1, -1, -1, -1, 91,
- -1, 208, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 33, -1, -1, 36, 37, 38,
- -1, 40, 41, 42, 43, -1, 45, -1, 93, 257,
- 258, 259, 260, 261, 126, 263, 264, 265, -1, -1,
- -1, 269, -1, -1, -1, 64, -1, -1, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
- -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
- -1, -1, 91, -1, -1, 303, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 313, 33, 315, 316, 36,
- 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
- -1, -1, 257, 258, 259, 260, 261, 126, 263, 264,
- 265, -1, -1, -1, 269, -1, -1, 64, -1, -1,
- -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
- 295, 296, -1, -1, 91, -1, -1, -1, 303, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 313, -1,
- 315, 316, -1, -1, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, -1, -1, -1, 269, -1, 126,
- -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, -1, -1, 272, 273, 274,
- 275, 303, -1, -1, 279, -1, -1, -1, -1, -1,
- -1, 313, 33, 315, 316, 36, 37, 38, -1, 40,
- 41, 42, 43, -1, 45, 300, 301, 302, 257, 258,
- 259, 260, 261, -1, 263, 264, 265, -1, -1, -1,
- 269, -1, -1, 64, -1, -1, -1, -1, -1, -1,
- -1, 280, -1, 282, 283, 284, 285, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, 295, 296, -1, -1,
- 91, -1, -1, -1, 303, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 313, 33, 315, 316, 36, 37,
- 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
- 257, 258, 259, 260, 261, 126, 263, 264, 265, -1,
- -1, -1, 269, -1, -1, -1, 64, -1, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
- -1, -1, -1, 91, -1, -1, 303, -1, -1, -1,
- -1, -1, -1, -1, 41, -1, 313, 44, 315, 316,
- -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
- -1, 58, 59, -1, -1, -1, 63, -1, 126, 58,
- 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 93, -1, -1, -1,
- -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
- 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, 295, 296, -1, -1, -1, -1,
- -1, 41, 303, -1, 44, -1, -1, -1, -1, -1,
- -1, -1, 313, -1, 315, 316, -1, -1, 58, 59,
- -1, 41, -1, 63, 44, -1, -1, -1, -1, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 58, 59,
- -1, 269, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 280, 93, 282, 283, 284, 285, 286, -1,
- -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
- -1, 32, -1, 93, 41, 303, -1, 44, -1, 40,
- -1, -1, -1, 44, -1, 313, 47, 315, 316, 50,
- -1, 58, 59, 54, 55, 56, 57, 58, -1, -1,
- -1, 62, 63, -1, -1, 272, 273, 274, 275, -1,
- -1, -1, 279, 272, 273, 274, 275, -1, -1, -1,
- 279, -1, 281, -1, -1, -1, 93, -1, 287, 288,
- 289, 290, -1, 300, 301, 302, -1, 304, -1, -1,
- 101, 300, 301, 302, -1, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, -1, 314, -1, -1, 317, 318,
- 319, -1, -1, -1, -1, -1, 41, -1, -1, 44,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 93, -1,
- 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
- -1, 192, 272, 273, 274, 275, -1, 58, 59, 279,
- -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
- 290, -1, 272, 273, 274, 275, -1, -1, -1, 279,
- 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
- 310, 311, 93, 41, 314, -1, 44, 317, 318, 319,
- 300, 301, 302, -1, -1, -1, -1, -1, -1, -1,
- 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
- -1, -1, 279, -1, -1, -1, -1, -1, 279, -1,
- -1, 41, -1, -1, 44, 93, -1, -1, -1, -1,
- -1, -1, -1, 300, 301, 302, -1, -1, 58, 59,
- -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
- -1, 312, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
- -1, -1, 44, 93, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
- -1, 63, -1, -1, -1, -1, -1, 272, 273, 274,
- 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
- -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
- -1, 93, -1, -1, -1, 300, 301, 302, -1, 304,
- 305, 306, 307, 308, 309, 310, 311, -1, -1, 314,
- -1, -1, 317, 318, 319, -1, -1, -1, -1, -1,
- -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
- 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
- -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
- 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
- 311, -1, -1, 314, -1, -1, 317, 318, 319, -1,
- -1, -1, -1, -1, 272, 273, 274, 275, 93, -1,
- -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
- 288, 289, 290, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 300, 301, 302, -1, 304, 305, 306, 307,
- 308, 309, 310, 311, -1, -1, 314, -1, -1, 317,
- 318, 319, 272, 273, 274, 275, -1, -1, -1, 279,
- -1, 281, -1, -1, -1, -1, -1, 287, 288, 289,
- 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
- 310, 311, -1, -1, 314, -1, -1, 317, 318, 319,
- 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
- -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
- -1, -1, 58, 59, -1, -1, -1, 63, 300, 301,
- 302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
- -1, -1, 314, -1, -1, 317, 318, 319, -1, -1,
- -1, -1, -1, -1, -1, 41, -1, 93, 44, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
- 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
- -1, -1, 287, 288, 289, 290, -1, 93, -1, -1,
- -1, -1, -1, -1, -1, 300, 301, 302, -1, 304,
- 305, 306, 307, 308, 309, 310, 311, 41, -1, 314,
- 44, -1, 317, 318, 319, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 41, -1, -1, 44, 93,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 41, -1, -1, 93, -1, -1,
- -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
- -1, 58, 59, 279, -1, 281, 63, -1, -1, -1,
- -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 300, 301, 302, -1, 304, 305,
- 306, 307, 308, 309, 310, 311, 93, -1, 314, -1,
- -1, 317, 318, 319, -1, -1, 272, 273, 274, 275,
- -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
- -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
- -1, -1, -1, 63, 300, 301, 302, -1, 304, 305,
- 306, 307, 308, 309, 310, 311, -1, -1, 314, -1,
- -1, 317, 318, 319, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 93, -1, -1, 41, -1, -1, 44,
- -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
- 274, 275, -1, 58, 59, 279, -1, 281, 63, -1,
- -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 300, 301, 302, -1,
- 304, 305, 306, 307, 308, 309, 310, 311, 93, -1,
- 314, -1, -1, 317, 318, 319, 272, 273, 274, 275,
- -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
- -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
- -1, -1, -1, 63, 300, 301, 302, -1, 304, 305,
- 306, 307, 308, 309, 310, 311, -1, -1, 314, -1,
- -1, 317, 318, 319, -1, 272, 273, 274, 275, 41,
- -1, -1, 279, 93, 281, -1, -1, -1, -1, -1,
- 287, 288, 289, 290, -1, -1, 58, 59, -1, -1,
- -1, 63, -1, 300, 301, 302, -1, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, -1, 314, -1, -1,
- 317, 318, 319, -1, -1, -1, -1, -1, -1, -1,
- 41, 93, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
- -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
- 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
- 310, 311, 93, -1, 314, -1, -1, 317, 318, 319,
- -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
- 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
- -1, -1, 287, 288, 289, 290, -1, -1, -1, 58,
- 59, -1, -1, -1, 63, 300, 301, 302, -1, 304,
- 305, 306, 307, 308, 309, 310, 311, -1, -1, 314,
- -1, -1, 317, 318, 319, -1, -1, -1, -1, -1,
- 41, -1, -1, 44, 93, -1, -1, -1, -1, -1,
- -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
- -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
- 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
- 310, 311, 93, -1, 314, -1, -1, 317, 318, 319,
- 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
- -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
- -1, -1, 58, 59, -1, -1, -1, 63, 300, 301,
- 302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
- -1, -1, 314, -1, -1, 317, 318, 319, -1, -1,
- -1, 272, 273, 274, 275, -1, 41, 93, 279, 44,
- 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
- -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
- 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
- 311, -1, -1, 314, -1, -1, 317, 318, 319, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
- -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
- -1, -1, -1, 272, 273, 274, 275, -1, 58, 59,
- 279, -1, 281, 63, -1, -1, -1, -1, 287, 288,
- 289, 290, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 300, 301, 302, -1, 304, 305, 306, 307, 308,
- 309, 310, 311, 93, -1, 314, -1, -1, -1, -1,
- -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
- 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
- -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
- 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
- 311, -1, -1, 314, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 41, -1, -1, 44, 93, -1,
- -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
- -1, 58, 59, 279, -1, 281, 63, -1, -1, -1,
- -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 300, 301, 302, -1, 304, 305,
- 306, 307, 308, 309, 310, 311, 93, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
- 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
- -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
- 41, -1, -1, 44, -1, 300, 301, 302, -1, 304,
- 305, 306, 307, 308, 309, 310, 311, 58, 59, -1,
- -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
- -1, 281, -1, -1, -1, -1, -1, 287, 288, 289,
- 290, -1, 93, -1, -1, 41, -1, -1, 44, -1,
- 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
- 310, 311, 58, 59, -1, -1, -1, 63, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
- 275, -1, -1, -1, 279, -1, 281, 93, -1, -1,
- -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
- 41, -1, -1, 44, -1, 300, 301, 302, -1, 304,
- 305, 306, 307, 308, 309, 310, 311, 58, 59, -1,
- -1, -1, 63, -1, -1, 272, 273, 274, 275, -1,
- -1, -1, 279, -1, 281, -1, -1, -1, -1, -1,
- 287, 288, 289, 290, -1, -1, -1, -1, 41, -1,
- -1, 44, 93, 300, 301, 302, -1, 304, 305, 306,
- 307, 308, 309, 310, 311, 58, 59, -1, -1, -1,
- 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
- 93, -1, 44, -1, -1, -1, -1, -1, -1, -1,
- -1, 272, 273, 274, 275, -1, 58, 59, 279, -1,
- 281, 63, -1, -1, -1, -1, 287, 288, 289, 290,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
- 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
- 311, 93, -1, -1, 41, -1, -1, 44, -1, -1,
- -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
- -1, 58, 59, 279, -1, 281, 63, -1, -1, -1,
- -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 300, 301, 302, -1, 304, 305,
- 306, 307, 308, 309, 310, 311, 93, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
- -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
- -1, 272, 273, 274, 275, -1, 58, 59, 279, -1,
- 281, 63, -1, -1, -1, -1, 287, 288, 289, 290,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
- 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
- -1, 93, -1, -1, 41, -1, -1, 44, -1, 272,
- 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
- -1, 58, 59, -1, 287, 288, 63, 290, -1, -1,
- -1, 58, 59, -1, -1, -1, 63, 300, 301, 302,
- -1, 304, 305, 306, 307, 308, 309, 310, -1, -1,
- -1, -1, -1, -1, -1, 41, 93, -1, 44, -1,
- 272, 273, 274, 275, -1, -1, 93, 279, -1, 281,
- -1, -1, 58, 59, -1, 287, 288, 63, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 300, 301,
- 302, -1, 304, 305, 306, 307, 308, 309, 310, -1,
- -1, -1, -1, 41, -1, -1, 44, 93, -1, -1,
- -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
- 58, 59, 279, -1, 281, 63, -1, -1, -1, -1,
- 287, 288, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 300, 301, 302, -1, 304, 305, 306,
- 307, 308, 309, 41, -1, 93, 44, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
- 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
- -1, -1, -1, -1, -1, 287, 288, -1, -1, -1,
- -1, 41, -1, -1, 44, 93, -1, -1, 300, 301,
- 302, -1, 304, 305, 306, 307, 308, 309, 58, 59,
- -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
- 41, -1, 279, 44, 281, 272, 273, 274, 275, -1,
- 287, 288, 279, 93, 281, -1, -1, 58, 59, -1,
- 287, 288, 63, 300, 301, 302, -1, 304, 305, 306,
- 307, 308, 309, 300, 301, 302, -1, 304, 305, 306,
- 307, 308, 309, -1, -1, -1, 272, 273, 274, 275,
- -1, -1, 93, 279, -1, 281, -1, -1, -1, -1,
- -1, -1, 288, -1, -1, -1, -1, 41, -1, -1,
- 44, -1, -1, -1, 300, 301, 302, -1, 304, 305,
- 306, 307, 308, 309, 58, 59, -1, -1, -1, 63,
- -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
- -1, 279, -1, 281, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 41, -1, -1, 44, 93,
- -1, -1, 300, 301, 302, -1, 304, 305, 306, 307,
- 308, 309, 58, 59, -1, -1, -1, 63, -1, -1,
- -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
- -1, 279, -1, 281, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
- -1, -1, 300, 301, 302, -1, 304, 305, 306, 307,
- 308, 309, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
- -1, 281, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 300, 301, 302, -1, 304, 305, 306, 307, 308, -1,
- -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
- 281, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
- 301, 302, -1, 304, 305, 306, 307, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
- 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 300, 301, 302, -1,
- 304, 305, 306, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
- -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 300, 301, 302, -1, 304, 305,
- 306,
-};
-#define YYFINAL 1
-#ifndef YYDEBUG
-#define YYDEBUG 0
-#endif
-#define YYMAXTOKEN 319
-#if YYDEBUG
-static char *yyname[] = {
-"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,
-"'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
-0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-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",
-"PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
-"ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
-"CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
-"RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
-"MYSUB","COLONATTR","PREC_LOW","OROP","DOROP","ANDOP","NOTOP","ASSIGNOP","OROR",
-"DORDOR","ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN",
-"POWOP","PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
-};
-static char *yyrule[] = {
-"$accept : prog",
-"prog : progstart lineseq",
-"block : '{' remember lineseq '}'",
-"remember :",
-"progstart :",
-"mblock : '{' mremember lineseq '}'",
-"mremember :",
-"lineseq :",
-"lineseq : lineseq decl",
-"lineseq : lineseq line",
-"line : label cond",
-"line : loop",
-"line : label ';'",
-"line : label sideff ';'",
-"sideff : error",
-"sideff : expr",
-"sideff : expr IF expr",
-"sideff : expr UNLESS expr",
-"sideff : expr WHILE expr",
-"sideff : expr UNTIL iexpr",
-"sideff : expr FOR expr",
-"else :",
-"else : ELSE mblock",
-"else : ELSIF '(' mexpr ')' mblock else",
-"cond : IF '(' remember mexpr ')' mblock else",
-"cond : UNLESS '(' remember miexpr ')' mblock else",
-"cont :",
-"cont : CONTINUE block",
-"loop : label WHILE '(' remember mtexpr ')' mblock cont",
-"loop : label UNTIL '(' remember miexpr ')' mblock cont",
-"loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
-"loop : label FOR scalar '(' remember mexpr ')' mblock cont",
-"loop : label FOR '(' remember mexpr ')' mblock cont",
-"loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
-"loop : label block cont",
-"nexpr :",
-"nexpr : sideff",
-"texpr :",
-"texpr : expr",
-"iexpr : expr",
-"mexpr : expr",
-"mnexpr : nexpr",
-"mtexpr : texpr",
-"miexpr : iexpr",
-"label :",
-"label : LABEL",
-"decl : format",
-"decl : subrout",
-"decl : mysubrout",
-"decl : package",
-"decl : use",
-"format : FORMAT startformsub formname block",
-"formname : WORD",
-"formname :",
-"mysubrout : MYSUB startsub subname proto subattrlist subbody",
-"subrout : SUB startsub subname proto subattrlist subbody",
-"startsub :",
-"startanonsub :",
-"startformsub :",
-"subname : WORD",
-"proto :",
-"proto : THING",
-"subattrlist :",
-"subattrlist : COLONATTR THING",
-"subattrlist : COLONATTR",
-"myattrlist : COLONATTR THING",
-"myattrlist : COLONATTR",
-"subbody : block",
-"subbody : ';'",
-"package : PACKAGE WORD ';'",
-"$$1 :",
-"use : USE startsub $$1 WORD WORD listexpr ';'",
-"expr : expr ANDOP expr",
-"expr : expr OROP expr",
-"expr : expr DOROP expr",
-"expr : argexpr",
-"argexpr : argexpr ','",
-"argexpr : argexpr ',' term",
-"argexpr : term",
-"listop : LSTOP indirob argexpr",
-"listop : FUNC '(' indirob expr ')'",
-"listop : term ARROW method '(' listexprcom ')'",
-"listop : term ARROW method",
-"listop : METHOD indirob listexpr",
-"listop : FUNCMETH indirob '(' listexprcom ')'",
-"listop : LSTOP listexpr",
-"listop : FUNC '(' listexprcom ')'",
-"$$2 :",
-"listop : LSTOPSUB startanonsub block $$2 listexpr",
-"method : METHOD",
-"method : scalar",
-"subscripted : star '{' expr ';' '}'",
-"subscripted : scalar '[' expr ']'",
-"subscripted : term ARROW '[' expr ']'",
-"subscripted : subscripted '[' expr ']'",
-"subscripted : scalar '{' expr ';' '}'",
-"subscripted : term ARROW '{' expr ';' '}'",
-"subscripted : subscripted '{' expr ';' '}'",
-"subscripted : term ARROW '(' ')'",
-"subscripted : term ARROW '(' expr ')'",
-"subscripted : subscripted '(' expr ')'",
-"subscripted : subscripted '(' ')'",
-"termbinop : term ASSIGNOP term",
-"termbinop : term POWOP term",
-"termbinop : term MULOP term",
-"termbinop : term ADDOP term",
-"termbinop : term SHIFTOP term",
-"termbinop : term RELOP term",
-"termbinop : term EQOP term",
-"termbinop : term BITANDOP term",
-"termbinop : term BITOROP term",
-"termbinop : term DOTDOT term",
-"termbinop : term ANDAND term",
-"termbinop : term OROR term",
-"termbinop : term DORDOR term",
-"termbinop : term MATCHOP term",
-"termunop : '-' term",
-"termunop : '+' term",
-"termunop : '!' term",
-"termunop : '~' term",
-"termunop : term POSTINC",
-"termunop : term POSTDEC",
-"termunop : PREINC term",
-"termunop : PREDEC term",
-"anonymous : '[' expr ']'",
-"anonymous : '[' ']'",
-"anonymous : HASHBRACK expr ';' '}'",
-"anonymous : HASHBRACK ';' '}'",
-"anonymous : ANONSUB startanonsub proto subattrlist block",
-"termdo : DO term",
-"termdo : DO block",
-"termdo : DO WORD '(' ')'",
-"termdo : DO WORD '(' expr ')'",
-"termdo : DO scalar '(' ')'",
-"termdo : DO scalar '(' expr ')'",
-"term : termbinop",
-"term : termunop",
-"term : anonymous",
-"term : termdo",
-"term : term '?' term ':' term",
-"term : REFGEN term",
-"term : myattrterm",
-"term : LOCAL term",
-"term : '(' expr ')'",
-"term : '(' ')'",
-"term : scalar",
-"term : star",
-"term : hsh",
-"term : ary",
-"term : arylen",
-"term : subscripted",
-"term : '(' expr ')' '[' expr ']'",
-"term : '(' ')' '[' expr ']'",
-"term : ary '[' expr ']'",
-"term : ary '{' expr ';' '}'",
-"term : THING",
-"term : amper",
-"term : amper '(' ')'",
-"term : amper '(' expr ')'",
-"term : NOAMP WORD listexpr",
-"term : LOOPEX",
-"term : LOOPEX term",
-"term : NOTOP argexpr",
-"term : UNIOP",
-"term : UNIOP block",
-"term : UNIOP term",
-"term : UNIOPSUB term",
-"term : FUNC0",
-"term : FUNC0 '(' ')'",
-"term : FUNC0SUB",
-"term : FUNC1 '(' ')'",
-"term : FUNC1 '(' expr ')'",
-"term : PMFUNC '(' term ')'",
-"term : PMFUNC '(' term ',' term ')'",
-"term : WORD",
-"term : listop",
-"myattrterm : MY myterm myattrlist",
-"myattrterm : MY myterm",
-"myterm : '(' expr ')'",
-"myterm : '(' ')'",
-"myterm : scalar",
-"myterm : hsh",
-"myterm : ary",
-"listexpr :",
-"listexpr : argexpr",
-"listexprcom :",
-"listexprcom : expr",
-"listexprcom : expr ','",
-"my_scalar : scalar",
-"amper : '&' indirob",
-"scalar : '$' indirob",
-"ary : '@' indirob",
-"hsh : '%' indirob",
-"arylen : DOLSHARP indirob",
-"star : '*' indirob",
-"indirob : WORD",
-"indirob : scalar",
-"indirob : block",
-"indirob : PRIVATEREF",
-};
-#endif
-#define yyclearin (yychar=(-1))
-#define yyerrok (yyerrflag=0)
-#ifdef YYSTACKSIZE
-#ifndef YYMAXDEPTH
-#define YYMAXDEPTH YYSTACKSIZE
-#endif
-#else
-#ifdef YYMAXDEPTH
-#define YYSTACKSIZE YYMAXDEPTH
+typedef signed char yysigned_char;
+
+#ifdef DEBUGGING
+# define YYDEBUG 1
#else
-#define YYSTACKSIZE 500
-#define YYMAXDEPTH 500
-#endif
+# define YYDEBUG 0
#endif
-#line 796 "perly.y"
- /* PROGRAM */
-/* more stuff added to make perly_c.diff easier to apply */
+/* contains all the parser state tables; auto-generated from perly.y */
+#include "perly.tab"
+
+# define YYSIZE_T size_t
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrlab1
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. */
+
+#define YYFAIL goto yyerrlab
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY && yylen == 1) { \
+ yychar = (Token); \
+ yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
+ YYPOPSTACK; \
+ goto yybackup; \
+ } \
+ else { \
+ yyerror ("syntax error: cannot back up"); \
+ YYERROR; \
+ } \
+while (0)
+
+#define YYTERROR 1
+#define YYERRCODE 256
+
+/* YYLEX -- calling `yylex' with the right arguments. */
+
+# define YYLEX yylex_r (&yylval, &yychar)
+
+/* Enable debugging if requested. */
+#if DEBUGGING
+
+# define yydebug (DEBUG_p_TEST)
+
+# define YYFPRINTF PerlIO_printf
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+# define YYDSYMPRINT(Args) \
+do { \
+ if (yydebug) \
+ yysymprint Args; \
+} while (0)
+
+# define YYDSYMPRINTF(Title, Token, Value, Location) \
+do { \
+ if (yydebug) { \
+ YYFPRINTF (Perl_debug_log, "%s ", Title); \
+ yysymprint (aTHX_ Perl_debug_log, Token, Value); \
+ YYFPRINTF (Perl_debug_log, "\n"); \
+ } \
+} while (0)
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+static void
+yysymprint (pTHX_ PerlIO *yyoutput, int yytype, YYSTYPE *yyvaluep)
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ if (yytype < YYNTOKENS) {
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+ }
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+ switch (yytype) {
+ default:
+ break;
+ }
+ YYFPRINTF (yyoutput, ")");
+}
+
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (cinluded). |
+`------------------------------------------------------------------*/
+
+static void
+yy_stack_print (pTHX_ short *bottom, short *top)
+{
+ YYFPRINTF (Perl_debug_log, "Stack now");
+ for (/* Nothing. */; bottom <= top; ++bottom)
+ YYFPRINTF (Perl_debug_log, " %d", *bottom);
+ YYFPRINTF (Perl_debug_log, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print (aTHX_ (Bottom), (Top)); \
+} while (0)
+
-#ifdef yyparse
-#undef yyparse
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+static void
+yy_reduce_print (pTHX_ int yyrule)
+{
+ int yyi;
+ unsigned int yylineno = yyrline[yyrule];
+ YYFPRINTF (Perl_debug_log, "Reducing stack by rule %d (line %u), ",
+ yyrule - 1, yylineno);
+ /* Print the symbols being reduced, and their result. */
+ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+ YYFPRINTF (Perl_debug_log, "%s ", yytname [yyrhs[yyi]]);
+ YYFPRINTF (Perl_debug_log, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (aTHX_ Rule); \
+} while (0)
+
+#else /* !DEBUGGING */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !DEBUGGING */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
#endif
-#define yyparse() Perl_yyparse(pTHX)
-#line 1508 "perly.c"
-#define YYABORT goto yyabort
-#define YYACCEPT goto yyaccept
-#define YYERROR goto yyerrlab
+
+#if YYERROR_VERBOSE
+# ifndef yystrlen
+# if defined (__GLIBC__) && defined (_STRING_H)
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+static YYSIZE_T
+yystrlen (const char *yystr)
+{
+ register const char *yys = yystr;
+
+ while (*yys++ != '\0')
+ continue;
+
+ return yys - yystr - 1;
+}
+# endif
+# endif
+
+# ifndef yystpcpy
+# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+static char *
+yystpcpy (pTHX_ char *yydest, const char *yysrc)
+{
+ register char *yyd = yydest;
+ register const char *yys = yysrc;
+
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+
+ return yyd - 1;
+}
+# endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+static void
+yydestruct (int yytype, YYSTYPE *yyvaluep)
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ switch (yytype) {
+ default:
+ break;
+ }
+}
+
+
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
int
-yyparse()
+Perl_yyparse (pTHX)
{
- register int yym, yyn, yystate;
+ int yychar; /* The lookahead symbol. */
+ YYSTYPE yylval; /* The semantic value of the lookahead symbol. */
+ int yynerrs; /* Number of syntax errors so far. */
+ register int yystate;
+ register int yyn;
+ int yyresult;
+
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken = 0;
+
+ /* two stacks and their tools:
+ `yyss': related to states,
+ `yyvs': related to semantic values,
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ short *yyss;
register short *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE *yyvs;
register YYSTYPE *yyvsp;
- short* yyss;
- YYSTYPE* yyvs;
- unsigned yystacksize = YYSTACKSIZE;
- int retval = 0;
-#if YYDEBUG
- register char *yys;
-#endif
- struct ysv *ysave;
+ /* for ease of re-allocation and automatic freeing, have two SVs whose
+ * SvPVX points to the stacks */
+ SV *yyss_sv, *yyvs_sv;
+
+#define YYPOPSTACK (yyvsp--, yyssp--)
+
+ YYSIZE_T yystacksize = YYINITDEPTH;
+
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
+ /* When reducing, the number of symbols on the RHS of the reduced
+ rule. */
+ int yylen;
+
+ YYDPRINTF ((Perl_debug_log, "Starting parse\n"));
+
+ yyss_sv = NEWSV(73, YYINITDEPTH * sizeof(short));
+ yyvs_sv = NEWSV(73, YYINITDEPTH * sizeof(YYSTYPE));
#ifdef USE_ITHREADS
- ENTER; /* force yydestruct() before we return */
-#endif
- New(73, ysave, 1, struct ysv);
- SAVEDESTRUCTOR_X(yydestruct, ysave);
- ysave->oldyydebug = yydebug;
- ysave->oldyynerrs = yynerrs;
- ysave->oldyyerrflag = yyerrflag;
- ysave->oldyychar = yychar;
- ysave->oldyyval = yyval;
- ysave->oldyylval = yylval;
-
-#if YYDEBUG
- if ((yys = getenv("YYDEBUG")))
- {
- yyn = *yys;
- if (yyn >= '0' && yyn <= '9')
- yydebug = yyn - '0';
- }
+ /* XXX is this needed anymore? DAPM 13-Feb-04;
+ * if not, delete the correspinding LEAVE too */
+ ENTER; /* force stack free before we return */
#endif
+ SAVEFREESV(yyss_sv);
+ SAVEFREESV(yyvs_sv);
+ yyss = (short *) SvPVX(yyss_sv);
+ yyvs = (YYSTYPE *) SvPVX(yyvs_sv);
+ yystate = 0;
+ yyerrstatus = 0;
yynerrs = 0;
- yyerrflag = 0;
- yychar = (-1);
-
- /*
- ** Initialize private stacks (yyparse may be called from an action)
- */
- New(73, yyss, yystacksize, short);
- New(73, yyvs, yystacksize, YYSTYPE);
- ysave->yyss = yyss;
- ysave->yyvs = yyvs;
- if (!yyvs || !yyss)
- goto yyoverflow;
+ yychar = YYEMPTY; /* Cause a token to be read. */
+
+ /* Initialize stack pointers.
+ Waste one element of value and location stack
+ so that they stay on the same level as the state stack.
+ The wasted elements are never initialized. */
yyssp = yyss;
yyvsp = yyvs;
- *yyssp = yystate = 0;
-
-yyloop:
- if ((yyn = yydefred[yystate])) goto yyreduce;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
- yychar, yys);
- }
-#endif
+
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. so pushing a state here evens the stacks.
+ */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp) {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyoverflowlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ SvGROW(yyss_sv, yystacksize * sizeof(short));
+ SvGROW(yyvs_sv, yystacksize * sizeof(YYSTYPE));
+ yyss = (short *) SvPVX(yyss_sv);
+ yyvs = (YYSTYPE *) SvPVX(yyvs_sv);
+ if (!yyss || ! yyvs)
+ goto yyoverflowlab;
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+
+ YYDPRINTF ((Perl_debug_log, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
}
- if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
-#if YYDEBUG
- if (yydebug)
- PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
- yystate, yytable[yyn]);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- /*
- ** reallocate and recover. Note that pointers
- ** have to be reset, or bad things will happen
- */
- int yyps_index = (yyssp - yyss);
- int yypv_index = (yyvsp - yyvs);
- yystacksize += YYSTACKSIZE;
- ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
- ysave->yyss = Renew(yyss, yystacksize, short);
- if (!yyvs || !yyss)
- goto yyoverflow;
- yyssp = yyss + yyps_index;
- yyvsp = yyvs + yypv_index;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- yychar = (-1);
- if (yyerrflag > 0) --yyerrflag;
- goto yyloop;
+
+ YYDPRINTF ((Perl_debug_log, "Entering state %d\n", yystate));
+
+ goto yybackup;
+
+ /*-----------.
+ | yybackup. |
+ `-----------*/
+ yybackup:
+
+/* Do appropriate processing given the current state. */
+/* Read a lookahead token if we need one and don't already have one. */
+/* yyresume: */
+
+ /* First try to decide what to do without reference to lookahead token. */
+
+ yyn = yypact[yystate];
+ if (yyn == YYPACT_NINF)
+ goto yydefault;
+
+ /* Not known => get a lookahead token if don't already have one. */
+
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ if (yychar == YYEMPTY) {
+ YYDPRINTF ((Perl_debug_log, "Reading a token: "));
+ yychar = YYLEX;
+ }
+
+ if (yychar <= YYEOF) {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((Perl_debug_log, "Now at end of input.\n"));
}
- if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
- yyn = yytable[yyn];
- goto yyreduce;
+ else {
+ yytoken = YYTRANSLATE (yychar);
+ YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
}
- if (yyerrflag) goto yyinrecovery;
-#ifdef lint
-#endif
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0) {
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
- yyerror("syntax error");
-#ifdef lint
+ if (yyn == YYFINAL)
+ YYACCEPT;
-#endif
+ /* Shift the lookahead token. */
+ YYDPRINTF ((Perl_debug_log, "Shifting token %s, ", yytname[yytoken]));
+
+ /* Discard the token being shifted unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
+
+ *++yyvsp = yylval;
+
+
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+ /*-----------------------------------------------------------.
+ | yydefault -- do the default action for the current state. |
+ `-----------------------------------------------------------*/
+ yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
+
+
+ /*-----------------------------.
+ | yyreduce -- Do a reduction. |
+ `-----------------------------*/
+ yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ `$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn) {
+
+/* contains all the rule actions; auto-generated from perly.y */
+
+#define dep() deprecate("\"do\" to call subroutines")
+#include "perly.act"
- ++yynerrs;
-yyinrecovery:
- if (yyerrflag < 3)
- {
- yyerrflag = 3;
- for (;;)
- {
- if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
- {
-#if YYDEBUG
- if (yydebug)
- PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery shifting\
- to state %d\n", *yyssp, yytable[yyn]);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- /*
- ** reallocate and recover. Note that pointers
- ** have to be reset, or bad things will happen
- */
- int yyps_index = (yyssp - yyss);
- int yypv_index = (yyvsp - yyvs);
- yystacksize += YYSTACKSIZE;
- ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
- ysave->yyss = Renew(yyss, yystacksize, short);
- if (!yyvs || !yyss)
- goto yyoverflow;
- yyssp = yyss + yyps_index;
- yyvsp = yyvs + yypv_index;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- goto yyloop;
- }
- else
- {
-#if YYDEBUG
- if (yydebug)
- PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
- *yyssp);
-#endif
- if (yyssp <= yyss) goto yyabort;
- --yyssp;
- --yyvsp;
- }
- }
}
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+
+ /* Now `shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
else
- {
- if (yychar == 0) goto yyabort;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
- yystate, yychar, yys);
- }
-#endif
- yychar = (-1);
- goto yyloop;
- }
-yyreduce:
-#if YYDEBUG
- if (yydebug)
- PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
- yystate, yyn, yyrule[yyn]);
-#endif
- yym = yylen[yyn];
- yyval = yyvsp[1-yym];
- switch (yyn)
- {
-case 1:
-#line 131 "perly.y"
-{ yyval.ival = yyvsp[-1].ival; newPROG(block_end(yyvsp[-1].ival,yyvsp[0].opval)); }
-break;
-case 2:
-#line 136 "perly.y"
-{ if (PL_copline > (line_t)yyvsp[-3].ival)
- PL_copline = (line_t)yyvsp[-3].ival;
- yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
-break;
-case 3:
-#line 142 "perly.y"
-{ yyval.ival = block_start(TRUE); }
-break;
-case 4:
-#line 146 "perly.y"
-{
-#if defined(YYDEBUG) && defined(DEBUGGING)
- yydebug = (DEBUG_p_TEST);
-#endif
- PL_expect = XSTATE; yyval.ival = block_start(TRUE);
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+ /*------------------------------------.
+ | yyerrlab -- here on detecting error |
+ `------------------------------------*/
+ yyerrlab:
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus) {
+ ++yynerrs;
+#if YYERROR_VERBOSE
+ yyn = yypact[yystate];
+
+ if (YYPACT_NINF < yyn && yyn < YYLAST) {
+ YYSIZE_T yysize = 0;
+ int yytype = YYTRANSLATE (yychar);
+ char *yymsg;
+ int yyx, yycount;
+
+ yycount = 0;
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ for (yyx = yyn < 0 ? -yyn : 0;
+ yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ yysize += yystrlen (yytname[yyx]) + 15, yycount++;
+ yysize += yystrlen ("syntax error, unexpected ") + 1;
+ yysize += yystrlen (yytname[yytype]);
+ New(yymsg, yysize, char *);
+ if (yymsg != 0) {
+ char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+ yyp = yystpcpy (yyp, yytname[yytype]);
+
+ if (yycount < 5) {
+ yycount = 0;
+ for (yyx = yyn < 0 ? -yyn : 0;
+ yyx < (int) (sizeof (yytname) / sizeof (char *));
+ yyx++)
+ {
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) {
+ const char *yyq = ! yycount ?
+ ", expecting " : " or ";
+ yyp = yystpcpy (yyp, yyq);
+ yyp = yystpcpy (yyp, yytname[yyx]);
+ yycount++;
+ }
+ }
}
-break;
-case 5:
-#line 156 "perly.y"
-{ if (PL_copline > (line_t)yyvsp[-3].ival)
- PL_copline = (line_t)yyvsp[-3].ival;
- yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
-break;
-case 6:
-#line 162 "perly.y"
-{ yyval.ival = block_start(FALSE); }
-break;
-case 7:
-#line 167 "perly.y"
-{ yyval.opval = Nullop; }
-break;
-case 8:
-#line 169 "perly.y"
-{ yyval.opval = yyvsp[-1].opval; }
-break;
-case 9:
-#line 171 "perly.y"
-{ yyval.opval = append_list(OP_LINESEQ,
- (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
- PL_pad_reset_pending = TRUE;
- if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
-break;
-case 10:
-#line 179 "perly.y"
-{ yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
-break;
-case 12:
-#line 182 "perly.y"
-{ if (yyvsp[-1].pval != Nullch) {
- yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
- }
- else {
- yyval.opval = Nullop;
- PL_copline = NOLINE;
- }
- PL_expect = XSTATE; }
-break;
-case 13:
-#line 191 "perly.y"
-{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
- PL_expect = XSTATE; }
-break;
-case 14:
-#line 197 "perly.y"
-{ yyval.opval = Nullop; }
-break;
-case 15:
-#line 199 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 16:
-#line 201 "perly.y"
-{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
-break;
-case 17:
-#line 203 "perly.y"
-{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
-break;
-case 18:
-#line 205 "perly.y"
-{ yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
-break;
-case 19:
-#line 207 "perly.y"
-{ yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
-break;
-case 20:
-#line 209 "perly.y"
-{ yyval.opval = newFOROP(0, Nullch, (line_t)yyvsp[-1].ival,
- Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
-break;
-case 21:
-#line 215 "perly.y"
-{ yyval.opval = Nullop; }
-break;
-case 22:
-#line 217 "perly.y"
-{ (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
-break;
-case 23:
-#line 219 "perly.y"
-{ PL_copline = (line_t)yyvsp[-5].ival;
- yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
- PL_hints |= HINT_BLOCK_SCOPE; }
-break;
-case 24:
-#line 226 "perly.y"
-{ PL_copline = (line_t)yyvsp[-6].ival;
- yyval.opval = block_end(yyvsp[-4].ival,
- newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
-break;
-case 25:
-#line 230 "perly.y"
-{ PL_copline = (line_t)yyvsp[-6].ival;
- yyval.opval = block_end(yyvsp[-4].ival,
- newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
-break;
-case 26:
-#line 237 "perly.y"
-{ yyval.opval = Nullop; }
-break;
-case 27:
-#line 239 "perly.y"
-{ yyval.opval = scope(yyvsp[0].opval); }
-break;
-case 28:
-#line 244 "perly.y"
-{ PL_copline = (line_t)yyvsp[-6].ival;
- yyval.opval = block_end(yyvsp[-4].ival,
- newSTATEOP(0, yyvsp[-7].pval,
- newWHILEOP(0, 1, (LOOP*)Nullop,
- yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
-break;
-case 29:
-#line 250 "perly.y"
-{ PL_copline = (line_t)yyvsp[-6].ival;
- yyval.opval = block_end(yyvsp[-4].ival,
- newSTATEOP(0, yyvsp[-7].pval,
- newWHILEOP(0, 1, (LOOP*)Nullop,
- yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
-break;
-case 30:
-#line 256 "perly.y"
-{ yyval.opval = block_end(yyvsp[-6].ival,
- newFOROP(0, yyvsp[-9].pval, (line_t)yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
-break;
-case 31:
-#line 259 "perly.y"
-{ yyval.opval = block_end(yyvsp[-4].ival,
- newFOROP(0, yyvsp[-8].pval, (line_t)yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
- yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
-break;
-case 32:
-#line 263 "perly.y"
-{ yyval.opval = block_end(yyvsp[-4].ival,
- newFOROP(0, yyvsp[-7].pval, (line_t)yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
-break;
-case 33:
-#line 267 "perly.y"
-{ OP *forop;
- PL_copline = (line_t)yyvsp[-9].ival;
- forop = newSTATEOP(0, yyvsp[-10].pval,
- newWHILEOP(0, 1, (LOOP*)Nullop,
- yyvsp[-9].ival, scalar(yyvsp[-4].opval),
- yyvsp[0].opval, yyvsp[-2].opval));
- if (yyvsp[-6].opval) {
- forop = append_elem(OP_LINESEQ,
- newSTATEOP(0, (yyvsp[-10].pval?savepv(yyvsp[-10].pval):Nullch),
- yyvsp[-6].opval),
- forop);
- }
-
- yyval.opval = block_end(yyvsp[-7].ival, forop); }
-break;
-case 34:
-#line 282 "perly.y"
-{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
- newWHILEOP(0, 1, (LOOP*)Nullop,
- NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
-break;
-case 35:
-#line 289 "perly.y"
-{ yyval.opval = Nullop; }
-break;
-case 37:
-#line 295 "perly.y"
-{ (void)scan_num("1", &yylval); yyval.opval = yylval.opval; }
-break;
-case 39:
-#line 301 "perly.y"
-{ yyval.opval = invert(scalar(yyvsp[0].opval)); }
-break;
-case 40:
-#line 306 "perly.y"
-{ yyval.opval = yyvsp[0].opval; intro_my(); }
-break;
-case 41:
-#line 310 "perly.y"
-{ yyval.opval = yyvsp[0].opval; intro_my(); }
-break;
-case 42:
-#line 314 "perly.y"
-{ yyval.opval = yyvsp[0].opval; intro_my(); }
-break;
-case 43:
-#line 318 "perly.y"
-{ yyval.opval = yyvsp[0].opval; intro_my(); }
-break;
-case 44:
-#line 323 "perly.y"
-{ yyval.pval = Nullch; }
-break;
-case 46:
-#line 329 "perly.y"
-{ yyval.ival = 0; }
-break;
-case 47:
-#line 331 "perly.y"
-{ yyval.ival = 0; }
-break;
-case 48:
-#line 333 "perly.y"
-{ yyval.ival = 0; }
-break;
-case 49:
-#line 335 "perly.y"
-{ yyval.ival = 0; }
-break;
-case 50:
-#line 337 "perly.y"
-{ yyval.ival = 0; }
-break;
-case 51:
-#line 341 "perly.y"
-{ newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
-break;
-case 52:
-#line 344 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 53:
-#line 345 "perly.y"
-{ yyval.opval = Nullop; }
-break;
-case 54:
-#line 350 "perly.y"
-{ newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
-break;
-case 55:
-#line 355 "perly.y"
-{ newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
-break;
-case 56:
-#line 359 "perly.y"
-{ yyval.ival = start_subparse(FALSE, 0); }
-break;
-case 57:
-#line 363 "perly.y"
-{ yyval.ival = start_subparse(FALSE, CVf_ANON); }
-break;
-case 58:
-#line 367 "perly.y"
-{ yyval.ival = start_subparse(TRUE, 0); }
-break;
-case 59:
-#line 371 "perly.y"
-{ STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
- if (strEQ(name, "BEGIN") || strEQ(name, "END")
- || strEQ(name, "INIT") || strEQ(name, "CHECK"))
- CvSPECIAL_on(PL_compcv);
- yyval.opval = yyvsp[0].opval; }
-break;
-case 60:
-#line 380 "perly.y"
-{ yyval.opval = Nullop; }
-break;
-case 62:
-#line 386 "perly.y"
-{ yyval.opval = Nullop; }
-break;
-case 63:
-#line 388 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 64:
-#line 390 "perly.y"
-{ yyval.opval = Nullop; }
-break;
-case 65:
-#line 395 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 66:
-#line 397 "perly.y"
-{ yyval.opval = Nullop; }
-break;
-case 67:
-#line 401 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 68:
-#line 402 "perly.y"
-{ yyval.opval = Nullop; PL_expect = XSTATE; }
-break;
-case 69:
-#line 406 "perly.y"
-{ package(yyvsp[-1].opval); }
-break;
-case 70:
-#line 410 "perly.y"
-{ CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
-break;
-case 71:
-#line 412 "perly.y"
-{ utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
-break;
-case 72:
-#line 417 "perly.y"
-{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
-break;
-case 73:
-#line 419 "perly.y"
-{ yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
-break;
-case 74:
-#line 421 "perly.y"
-{ yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
-break;
-case 76:
-#line 427 "perly.y"
-{ yyval.opval = yyvsp[-1].opval; }
-break;
-case 77:
-#line 429 "perly.y"
-{ yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
-break;
-case 79:
-#line 435 "perly.y"
-{ yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
- prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
-break;
-case 80:
-#line 438 "perly.y"
-{ yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
- prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
-break;
-case 81:
-#line 441 "perly.y"
-{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST,
- prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
- newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
-break;
-case 82:
-#line 446 "perly.y"
-{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, scalar(yyvsp[-2].opval),
- newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
-break;
-case 83:
-#line 450 "perly.y"
-{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST,
- prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
- newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
-break;
-case 84:
-#line 455 "perly.y"
-{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST,
- prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
- newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
-break;
-case 85:
-#line 460 "perly.y"
-{ yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
-break;
-case 86:
-#line 462 "perly.y"
-{ yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
-break;
-case 87:
-#line 464 "perly.y"
-{ yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
-break;
-case 88:
-#line 466 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST,
- prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
-break;
-case 91:
-#line 480 "perly.y"
-{ yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval));
- PL_expect = XOPERATOR; }
-break;
-case 92:
-#line 483 "perly.y"
-{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
-break;
-case 93:
-#line 485 "perly.y"
-{ yyval.opval = newBINOP(OP_AELEM, 0,
- ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
- scalar(yyvsp[-1].opval));}
-break;
-case 94:
-#line 489 "perly.y"
-{ yyval.opval = newBINOP(OP_AELEM, 0,
- ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
- scalar(yyvsp[-1].opval));}
-break;
-case 95:
-#line 493 "perly.y"
-{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
- PL_expect = XOPERATOR; }
-break;
-case 96:
-#line 496 "perly.y"
-{ yyval.opval = newBINOP(OP_HELEM, 0,
- ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
- jmaybe(yyvsp[-2].opval));
- PL_expect = XOPERATOR; }
-break;
-case 97:
-#line 501 "perly.y"
-{ yyval.opval = newBINOP(OP_HELEM, 0,
- ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
- jmaybe(yyvsp[-2].opval));
- PL_expect = XOPERATOR; }
-break;
-case 98:
-#line 506 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
- newCVREF(0, scalar(yyvsp[-3].opval))); }
-break;
-case 99:
-#line 509 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, yyvsp[-1].opval,
- newCVREF(0, scalar(yyvsp[-4].opval)))); }
-break;
-case 100:
-#line 514 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, yyvsp[-1].opval,
- newCVREF(0, scalar(yyvsp[-3].opval)))); }
-break;
-case 101:
-#line 518 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
- newCVREF(0, scalar(yyvsp[-2].opval))); }
-break;
-case 102:
-#line 524 "perly.y"
-{ yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
-break;
-case 103:
-#line 526 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
-break;
-case 104:
-#line 528 "perly.y"
-{ if (yyvsp[-1].ival != OP_REPEAT)
- scalar(yyvsp[-2].opval);
- yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
-break;
-case 105:
-#line 532 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
-break;
-case 106:
-#line 534 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
-break;
-case 107:
-#line 536 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
-break;
-case 108:
-#line 538 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
-break;
-case 109:
-#line 540 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
-break;
-case 110:
-#line 542 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
-break;
-case 111:
-#line 544 "perly.y"
-{ yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
-break;
-case 112:
-#line 546 "perly.y"
-{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
-break;
-case 113:
-#line 548 "perly.y"
-{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
-break;
-case 114:
-#line 550 "perly.y"
-{ yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
-break;
-case 115:
-#line 552 "perly.y"
-{ yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
-break;
-case 116:
-#line 557 "perly.y"
-{ yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
-break;
-case 117:
-#line 559 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 118:
-#line 561 "perly.y"
-{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
-break;
-case 119:
-#line 563 "perly.y"
-{ yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
-break;
-case 120:
-#line 565 "perly.y"
-{ yyval.opval = newUNOP(OP_POSTINC, 0,
- mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
-break;
-case 121:
-#line 568 "perly.y"
-{ yyval.opval = newUNOP(OP_POSTDEC, 0,
- mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
-break;
-case 122:
-#line 571 "perly.y"
-{ yyval.opval = newUNOP(OP_PREINC, 0,
- mod(scalar(yyvsp[0].opval), OP_PREINC)); }
-break;
-case 123:
-#line 574 "perly.y"
-{ yyval.opval = newUNOP(OP_PREDEC, 0,
- mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
-break;
-case 124:
-#line 581 "perly.y"
-{ yyval.opval = newANONLIST(yyvsp[-1].opval); }
-break;
-case 125:
-#line 583 "perly.y"
-{ yyval.opval = newANONLIST(Nullop); }
-break;
-case 126:
-#line 585 "perly.y"
-{ yyval.opval = newANONHASH(yyvsp[-2].opval); }
-break;
-case 127:
-#line 587 "perly.y"
-{ yyval.opval = newANONHASH(Nullop); }
-break;
-case 128:
-#line 589 "perly.y"
-{ yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
-break;
-case 129:
-#line 595 "perly.y"
-{ yyval.opval = dofile(yyvsp[0].opval); }
-break;
-case 130:
-#line 597 "perly.y"
-{ yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
-break;
-case 131:
-#line 599 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB,
- OPf_SPECIAL|OPf_STACKED,
- prepend_elem(OP_LIST,
- scalar(newCVREF(
- (OPpENTERSUB_AMPER<<8),
- scalar(yyvsp[-2].opval)
- )),Nullop)); dep();}
-break;
-case 132:
-#line 607 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB,
- OPf_SPECIAL|OPf_STACKED,
- append_elem(OP_LIST,
- yyvsp[-1].opval,
- scalar(newCVREF(
- (OPpENTERSUB_AMPER<<8),
- scalar(yyvsp[-3].opval)
- )))); dep();}
-break;
-case 133:
-#line 616 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
- prepend_elem(OP_LIST,
- scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
-break;
-case 134:
-#line 620 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
- prepend_elem(OP_LIST,
- yyvsp[-1].opval,
- scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
-break;
-case 139:
-#line 632 "perly.y"
-{ yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
-break;
-case 140:
-#line 634 "perly.y"
-{ yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
-break;
-case 141:
-#line 636 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 142:
-#line 638 "perly.y"
-{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
-break;
-case 143:
-#line 640 "perly.y"
-{ yyval.opval = sawparens(yyvsp[-1].opval); }
-break;
-case 144:
-#line 642 "perly.y"
-{ yyval.opval = sawparens(newNULLLIST()); }
-break;
-case 145:
-#line 644 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 146:
-#line 646 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 147:
-#line 648 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 148:
-#line 650 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 149:
-#line 652 "perly.y"
-{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
-break;
-case 150:
-#line 654 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 151:
-#line 656 "perly.y"
-{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
-break;
-case 152:
-#line 658 "perly.y"
-{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
-break;
-case 153:
-#line 660 "perly.y"
-{ yyval.opval = prepend_elem(OP_ASLICE,
- newOP(OP_PUSHMARK, 0),
- newLISTOP(OP_ASLICE, 0,
- list(yyvsp[-1].opval),
- ref(yyvsp[-3].opval, OP_ASLICE))); }
-break;
-case 154:
-#line 666 "perly.y"
-{ yyval.opval = prepend_elem(OP_HSLICE,
- newOP(OP_PUSHMARK, 0),
- newLISTOP(OP_HSLICE, 0,
- list(yyvsp[-2].opval),
- ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
- PL_expect = XOPERATOR; }
-break;
-case 155:
-#line 673 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 156:
-#line 675 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
-break;
-case 157:
-#line 677 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
-break;
-case 158:
-#line 679 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
-break;
-case 159:
-#line 682 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
-break;
-case 160:
-#line 685 "perly.y"
-{ yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
- PL_hints |= HINT_BLOCK_SCOPE; }
-break;
-case 161:
-#line 688 "perly.y"
-{ yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
-break;
-case 162:
-#line 690 "perly.y"
-{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
-break;
-case 163:
-#line 692 "perly.y"
-{ yyval.opval = newOP(yyvsp[0].ival, 0); }
-break;
-case 164:
-#line 694 "perly.y"
-{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
-break;
-case 165:
-#line 696 "perly.y"
-{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
-break;
-case 166:
-#line 698 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
-break;
-case 167:
-#line 701 "perly.y"
-{ yyval.opval = newOP(yyvsp[0].ival, 0); }
-break;
-case 168:
-#line 703 "perly.y"
-{ yyval.opval = newOP(yyvsp[-2].ival, 0); }
-break;
-case 169:
-#line 705 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
- scalar(yyvsp[0].opval)); }
-break;
-case 170:
-#line 708 "perly.y"
-{ yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
-break;
-case 171:
-#line 710 "perly.y"
-{ yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
-break;
-case 172:
-#line 712 "perly.y"
-{ yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
-break;
-case 173:
-#line 714 "perly.y"
-{ yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
-break;
-case 176:
-#line 721 "perly.y"
-{ yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
-break;
-case 177:
-#line 723 "perly.y"
-{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
-break;
-case 178:
-#line 728 "perly.y"
-{ yyval.opval = sawparens(yyvsp[-1].opval); }
-break;
-case 179:
-#line 730 "perly.y"
-{ yyval.opval = sawparens(newNULLLIST()); }
-break;
-case 180:
-#line 732 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 181:
-#line 734 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 182:
-#line 736 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 183:
-#line 741 "perly.y"
-{ yyval.opval = Nullop; }
-break;
-case 184:
-#line 743 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 185:
-#line 747 "perly.y"
-{ yyval.opval = Nullop; }
-break;
-case 186:
-#line 749 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-case 187:
-#line 751 "perly.y"
-{ yyval.opval = yyvsp[-1].opval; }
-break;
-case 188:
-#line 757 "perly.y"
-{ PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
-break;
-case 189:
-#line 761 "perly.y"
-{ yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
-break;
-case 190:
-#line 765 "perly.y"
-{ yyval.opval = newSVREF(yyvsp[0].opval); }
-break;
-case 191:
-#line 769 "perly.y"
-{ yyval.opval = newAVREF(yyvsp[0].opval); }
-break;
-case 192:
-#line 773 "perly.y"
-{ yyval.opval = newHVREF(yyvsp[0].opval); }
-break;
-case 193:
-#line 777 "perly.y"
-{ yyval.opval = newAVREF(yyvsp[0].opval); }
-break;
-case 194:
-#line 781 "perly.y"
-{ yyval.opval = newGVREF(0,yyvsp[0].opval); }
-break;
-case 195:
-#line 786 "perly.y"
-{ yyval.opval = scalar(yyvsp[0].opval); }
-break;
-case 196:
-#line 788 "perly.y"
-{ yyval.opval = scalar(yyvsp[0].opval); }
-break;
-case 197:
-#line 790 "perly.y"
-{ yyval.opval = scope(yyvsp[0].opval); }
-break;
-case 198:
-#line 793 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
-break;
-#line 2563 "perly.c"
+ yyerror (yymsg);
+ YYSTACK_FREE (yymsg);
+ }
+ else
+ yyerror ("syntax error; also virtual memory exhausted");
+ }
+ else
+#endif /* YYERROR_VERBOSE */
+ yyerror ("syntax error");
}
- yyssp -= yym;
- yystate = *yyssp;
- yyvsp -= yym;
- yym = yylhs[yyn];
- if (yystate == 0 && yym == 0)
- {
-#if YYDEBUG
- if (yydebug)
- PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to\
- state %d\n", YYFINAL);
-#endif
- yystate = YYFINAL;
- *++yyssp = YYFINAL;
- *++yyvsp = yyval;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
- YYFINAL, yychar, yys);
- }
-#endif
- }
- if (yychar == 0) goto yyaccept;
- goto yyloop;
+
+
+ if (yyerrstatus == 3) {
+ /* If just tried and failed to reuse lookahead token after an
+ error, discard it. */
+
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF) {
+ /* Pop the error token. */
+ YYPOPSTACK;
+ /* Pop the rest of the stack. */
+ while (yyss < yyssp) {
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[*yyssp], yyvsp);
+ YYPOPSTACK;
+ }
+ YYABORT;
+ }
+
+ YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+ yydestruct (yytoken, &yylval);
+ yychar = YYEMPTY;
+
}
- if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
- yystate = yytable[yyn];
- else
- yystate = yydgoto[yym];
-#if YYDEBUG
- if (yydebug)
- PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d \
-to state %d\n", *yyssp, yystate);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- /*
- ** reallocate and recover. Note that pointers
- ** have to be reset, or bad things will happen
- */
- int yyps_index = (yyssp - yyss);
- int yypv_index = (yyvsp - yyvs);
- yystacksize += YYSTACKSIZE;
- ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
- ysave->yyss = Renew(yyss, yystacksize, short);
- if (!yyvs || !yyss)
- goto yyoverflow;
- yyssp = yyss + yyps_index;
- yyvsp = yyvs + yypv_index;
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+ /*----------------------------------------------------.
+ | yyerrlab1 -- error raised explicitly by an action. |
+ `----------------------------------------------------*/
+ yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;) {
+ yyn = yypact[yystate];
+ if (yyn != YYPACT_NINF) {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[yystate], yyvsp);
+ yyvsp--;
+ yystate = *--yyssp;
+
+ YY_STACK_PRINT (yyss, yyssp);
}
- *++yyssp = yystate;
- *++yyvsp = yyval;
- goto yyloop;
-yyoverflow:
- yyerror("Out of memory for yacc stack");
-yyabort:
- retval = 1;
-yyaccept:
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ YYDPRINTF ((Perl_debug_log, "Shifting error token, "));
+
+ *++yyvsp = yylval;
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+ /*-------------------------------------.
+ | yyacceptlab -- YYACCEPT comes here. |
+ `-------------------------------------*/
+ yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+ /*-----------------------------------.
+ | yyabortlab -- YYABORT comes here. |
+ `-----------------------------------*/
+ yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
+ /*----------------------------------------------.
+ | yyoverflowlab -- parser overflow comes here. |
+ `----------------------------------------------*/
+ yyoverflowlab:
+ yyerror ("parser stack overflow");
+ yyresult = 2;
+ /* Fall through. */
+
+ yyreturn:
+
#ifdef USE_ITHREADS
- LEAVE; /* force yydestruct() before we return */
+ LEAVE; /* force stack free before we return */
#endif
- return retval;
-}
-static void
-yydestruct(pTHX_ void *ptr)
-{
- struct ysv* ysave = (struct ysv*)ptr;
- if (ysave->yyss) Safefree(ysave->yyss);
- if (ysave->yyvs) Safefree(ysave->yyvs);
- yydebug = ysave->oldyydebug;
- yynerrs = ysave->oldyynerrs;
- yyerrflag = ysave->oldyyerrflag;
- yychar = ysave->oldyychar;
- yyval = ysave->oldyyval;
- yylval = ysave->oldyylval;
- Safefree(ysave);
+ return yyresult;
}
--- /dev/null
+#define YYFINAL 3
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 2088
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 85
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 61
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 199
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 399
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 320
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const unsigned char yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 63, 2, 2, 81, 83, 46, 2,
+ 74, 73, 84, 80, 52, 79, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 55, 77,
+ 2, 2, 2, 54, 82, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 75, 2, 78, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 3, 2, 76, 64, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 47, 48, 49, 50, 51, 53, 56, 57, 58, 59,
+ 60, 61, 62, 65, 66, 67, 68, 69, 70, 71,
+ 72
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const unsigned short yyprhs[] =
+{
+ 0, 0, 3, 6, 11, 12, 13, 18, 19, 20,
+ 23, 26, 29, 31, 34, 38, 40, 42, 46, 50,
+ 54, 58, 62, 63, 66, 73, 81, 89, 90, 93,
+ 102, 111, 122, 132, 141, 153, 157, 158, 160, 161,
+ 163, 165, 167, 169, 171, 173, 174, 176, 178, 180,
+ 182, 184, 186, 191, 193, 194, 201, 208, 209, 210,
+ 211, 213, 214, 216, 217, 220, 222, 225, 227, 229,
+ 231, 235, 236, 244, 248, 252, 256, 258, 261, 265,
+ 267, 271, 277, 284, 288, 292, 298, 301, 306, 307,
+ 313, 315, 317, 323, 328, 334, 339, 345, 352, 358,
+ 363, 369, 374, 378, 382, 386, 390, 394, 398, 402,
+ 406, 410, 414, 418, 422, 426, 430, 434, 437, 440,
+ 443, 446, 449, 452, 455, 458, 462, 465, 470, 474,
+ 480, 483, 486, 491, 497, 502, 508, 510, 512, 514,
+ 516, 522, 525, 527, 530, 534, 537, 539, 541, 543,
+ 545, 547, 549, 556, 562, 567, 573, 575, 577, 581,
+ 586, 590, 592, 595, 598, 600, 603, 606, 609, 611,
+ 615, 617, 621, 626, 631, 638, 640, 642, 646, 649,
+ 653, 656, 658, 660, 662, 663, 665, 666, 668, 671,
+ 673, 676, 679, 682, 685, 688, 691, 693, 695, 697
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const short yyrhs[] =
+{
+ 86, 0, -1, 89, 92, -1, 3, 88, 92, 76,
+ -1, -1, -1, 3, 91, 92, 76, -1, -1, -1,
+ 92, 107, -1, 92, 93, -1, 106, 96, -1, 98,
+ -1, 106, 77, -1, 106, 94, 77, -1, 1, -1,
+ 123, -1, 123, 21, 123, -1, 123, 22, 123, -1,
+ 123, 19, 123, -1, 123, 20, 101, -1, 123, 26,
+ 123, -1, -1, 23, 90, -1, 24, 74, 102, 73,
+ 90, 95, -1, 21, 74, 88, 102, 73, 90, 95,
+ -1, 22, 74, 88, 105, 73, 90, 95, -1, -1,
+ 25, 87, -1, 106, 19, 74, 88, 104, 73, 90,
+ 97, -1, 106, 20, 74, 88, 105, 73, 90, 97,
+ -1, 106, 26, 43, 88, 138, 74, 102, 73, 90,
+ 97, -1, 106, 26, 140, 74, 88, 102, 73, 90,
+ 97, -1, 106, 26, 74, 88, 102, 73, 90, 97,
+ -1, 106, 26, 74, 88, 103, 77, 104, 77, 103,
+ 73, 90, -1, 106, 87, 97, -1, -1, 94, -1,
+ -1, 123, -1, 123, -1, 123, -1, 99, -1, 100,
+ -1, 101, -1, -1, 13, -1, 108, -1, 111, -1,
+ 110, -1, 120, -1, 121, -1, 14, 114, 109, 87,
+ -1, 4, -1, -1, 44, 112, 115, 116, 117, 119,
+ -1, 15, 112, 115, 116, 117, 119, -1, -1, -1,
+ -1, 4, -1, -1, 7, -1, -1, 45, 7, -1,
+ 45, -1, 45, 7, -1, 45, -1, 87, -1, 77,
+ -1, 17, 4, 77, -1, -1, 18, 112, 122, 4,
+ 4, 136, 77, -1, 123, 50, 123, -1, 123, 49,
+ 123, -1, 123, 48, 123, -1, 124, -1, 124, 52,
+ -1, 124, 52, 133, -1, 133, -1, 33, 145, 124,
+ -1, 31, 74, 145, 123, 73, -1, 133, 72, 127,
+ 74, 137, 73, -1, 133, 72, 127, -1, 5, 145,
+ 136, -1, 6, 145, 74, 137, 73, -1, 33, 136,
+ -1, 31, 74, 137, 73, -1, -1, 12, 113, 87,
+ 126, 136, -1, 5, -1, 140, -1, 144, 3, 123,
+ 77, 76, -1, 140, 75, 123, 78, -1, 133, 72,
+ 75, 123, 78, -1, 128, 75, 123, 78, -1, 140,
+ 3, 123, 77, 76, -1, 133, 72, 3, 123, 77,
+ 76, -1, 128, 3, 123, 77, 76, -1, 133, 72,
+ 74, 73, -1, 133, 72, 74, 123, 73, -1, 128,
+ 74, 123, 73, -1, 128, 74, 73, -1, 133, 53,
+ 133, -1, 133, 67, 133, -1, 133, 36, 133, -1,
+ 133, 37, 133, -1, 133, 61, 133, -1, 133, 34,
+ 133, -1, 133, 35, 133, -1, 133, 60, 133, -1,
+ 133, 59, 133, -1, 133, 28, 133, -1, 133, 58,
+ 133, -1, 133, 57, 133, -1, 133, 56, 133, -1,
+ 133, 62, 133, -1, 79, 133, -1, 80, 133, -1,
+ 63, 133, -1, 64, 133, -1, 133, 69, -1, 133,
+ 68, -1, 71, 133, -1, 70, 133, -1, 75, 123,
+ 78, -1, 75, 78, -1, 40, 123, 77, 76, -1,
+ 40, 77, 76, -1, 16, 113, 116, 117, 87, -1,
+ 39, 133, -1, 39, 87, -1, 39, 4, 74, 73,
+ -1, 39, 4, 74, 123, 73, -1, 39, 140, 74,
+ 73, -1, 39, 140, 74, 123, 73, -1, 129, -1,
+ 130, -1, 131, -1, 132, -1, 133, 54, 133, 55,
+ 133, -1, 65, 133, -1, 134, -1, 42, 133, -1,
+ 74, 123, 73, -1, 74, 73, -1, 140, -1, 144,
+ -1, 142, -1, 141, -1, 143, -1, 128, -1, 74,
+ 123, 73, 75, 123, 78, -1, 74, 73, 75, 123,
+ 78, -1, 141, 75, 123, 78, -1, 141, 3, 123,
+ 77, 76, -1, 7, -1, 139, -1, 139, 74, 73,
+ -1, 139, 74, 123, 73, -1, 41, 4, 136, -1,
+ 27, -1, 27, 133, -1, 51, 124, -1, 32, -1,
+ 32, 87, -1, 32, 133, -1, 11, 133, -1, 29,
+ -1, 29, 74, 73, -1, 10, -1, 30, 74, 73,
+ -1, 30, 74, 123, 73, -1, 8, 74, 133, 73,
+ -1, 8, 74, 133, 52, 133, 73, -1, 4, -1,
+ 125, -1, 43, 135, 118, -1, 43, 135, -1, 74,
+ 123, 73, -1, 74, 73, -1, 140, -1, 142, -1,
+ 141, -1, -1, 124, -1, -1, 123, -1, 123, 52,
+ -1, 140, -1, 46, 145, -1, 81, 145, -1, 82,
+ 145, -1, 83, 145, -1, 38, 145, -1, 84, 145,
+ -1, 4, -1, 140, -1, 87, -1, 9, -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const unsigned short yyrline[] =
+{
+ 0, 86, 86, 92, 99, 103, 109, 116, 121, 122,
+ 124, 132, 134, 135, 144, 150, 152, 154, 156, 158,
+ 160, 162, 169, 170, 172, 179, 183, 191, 192, 197,
+ 203, 209, 212, 216, 219, 235, 243, 244, 249, 250,
+ 254, 259, 263, 267, 271, 277, 278, 282, 284, 286,
+ 288, 290, 294, 298, 299, 303, 308, 313, 317, 321,
+ 325, 334, 335, 340, 341, 343, 348, 350, 355, 356,
+ 359, 364, 363, 370, 372, 374, 376, 380, 382, 384,
+ 388, 391, 394, 399, 403, 408, 413, 415, 418, 417,
+ 426, 427, 431, 436, 438, 442, 446, 449, 454, 459,
+ 462, 467, 471, 477, 479, 481, 485, 487, 489, 491,
+ 493, 495, 497, 499, 501, 503, 505, 510, 512, 514,
+ 516, 518, 521, 524, 527, 534, 536, 538, 540, 542,
+ 548, 550, 552, 560, 569, 573, 581, 582, 583, 584,
+ 585, 587, 589, 591, 593, 595, 597, 599, 601, 603,
+ 605, 607, 609, 611, 613, 619, 626, 628, 630, 632,
+ 635, 638, 641, 643, 645, 647, 649, 651, 654, 656,
+ 658, 661, 663, 665, 667, 669, 670, 674, 676, 681,
+ 683, 685, 687, 689, 694, 696, 701, 702, 704, 710,
+ 714, 718, 722, 726, 730, 734, 739, 741, 743, 746
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "'{'", "WORD", "METHOD", "FUNCMETH",
+ "THING", "PMFUNC", "PRIVATEREF", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB",
+ "LABEL", "FORMAT", "SUB", "ANONSUB", "PACKAGE", "USE", "WHILE", "UNTIL",
+ "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "LOOPEX", "DOTDOT",
+ "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "RELOP", "EQOP", "MULOP",
+ "ADDOP", "DOLSHARP", "DO", "HASHBRACK", "NOAMP", "LOCAL", "MY", "MYSUB",
+ "COLONATTR", "'&'", "PREC_LOW", "DOROP", "OROP", "ANDOP", "NOTOP",
+ "','", "ASSIGNOP", "'?'", "':'", "DORDOR", "OROR", "ANDAND", "BITOROP",
+ "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "REFGEN", "UMINUS",
+ "POWOP", "POSTDEC", "POSTINC", "PREDEC", "PREINC", "ARROW", "')'",
+ "'('", "'['", "'}'", "';'", "']'", "'-'", "'+'", "'$'", "'@'", "'%'",
+ "'*'", "$accept", "prog", "block", "remember", "progstart", "mblock",
+ "mremember", "lineseq", "line", "sideff", "else", "cond", "cont",
+ "loop", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "mtexpr",
+ "miexpr", "label", "decl", "format", "formname", "mysubrout", "subrout",
+ "startsub", "startanonsub", "startformsub", "subname", "proto",
+ "subattrlist", "myattrlist", "subbody", "package", "use", "@1", "expr",
+ "argexpr", "listop", "@2", "method", "subscripted", "termbinop",
+ "termunop", "anonymous", "termdo", "term", "myattrterm", "myterm",
+ "listexpr", "listexprcom", "my_scalar", "amper", "scalar", "ary", "hsh",
+ "arylen", "star", "indirob", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const unsigned short yytoknum[] =
+{
+ 0, 256, 257, 123, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 38, 300, 301, 302,
+ 303, 304, 44, 305, 63, 58, 306, 307, 308, 309,
+ 310, 311, 312, 33, 126, 313, 314, 315, 316, 317,
+ 318, 319, 320, 41, 40, 91, 125, 59, 93, 45,
+ 43, 36, 64, 37, 42
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const unsigned char yyr1[] =
+{
+ 0, 85, 86, 87, 88, 89, 90, 91, 92, 92,
+ 92, 93, 93, 93, 93, 94, 94, 94, 94, 94,
+ 94, 94, 95, 95, 95, 96, 96, 97, 97, 98,
+ 98, 98, 98, 98, 98, 98, 99, 99, 100, 100,
+ 101, 102, 103, 104, 105, 106, 106, 107, 107, 107,
+ 107, 107, 108, 109, 109, 110, 111, 112, 113, 114,
+ 115, 116, 116, 117, 117, 117, 118, 118, 119, 119,
+ 120, 122, 121, 123, 123, 123, 123, 124, 124, 124,
+ 125, 125, 125, 125, 125, 125, 125, 125, 126, 125,
+ 127, 127, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 129, 129, 129, 129, 129, 129, 129,
+ 129, 129, 129, 129, 129, 129, 129, 130, 130, 130,
+ 130, 130, 130, 130, 130, 131, 131, 131, 131, 131,
+ 132, 132, 132, 132, 132, 132, 133, 133, 133, 133,
+ 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
+ 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
+ 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
+ 133, 133, 133, 133, 133, 133, 133, 134, 134, 135,
+ 135, 135, 135, 135, 136, 136, 137, 137, 137, 138,
+ 139, 140, 141, 142, 143, 144, 145, 145, 145, 145
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const unsigned char yyr2[] =
+{
+ 0, 2, 2, 4, 0, 0, 4, 0, 0, 2,
+ 2, 2, 1, 2, 3, 1, 1, 3, 3, 3,
+ 3, 3, 0, 2, 6, 7, 7, 0, 2, 8,
+ 8, 10, 9, 8, 11, 3, 0, 1, 0, 1,
+ 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
+ 1, 1, 4, 1, 0, 6, 6, 0, 0, 0,
+ 1, 0, 1, 0, 2, 1, 2, 1, 1, 1,
+ 3, 0, 7, 3, 3, 3, 1, 2, 3, 1,
+ 3, 5, 6, 3, 3, 5, 2, 4, 0, 5,
+ 1, 1, 5, 4, 5, 4, 5, 6, 5, 4,
+ 5, 4, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 2, 2, 2,
+ 2, 2, 2, 2, 2, 3, 2, 4, 3, 5,
+ 2, 2, 4, 5, 4, 5, 1, 1, 1, 1,
+ 5, 2, 1, 2, 3, 2, 1, 1, 1, 1,
+ 1, 1, 6, 5, 4, 5, 1, 1, 3, 4,
+ 3, 1, 2, 2, 1, 2, 2, 2, 1, 3,
+ 1, 3, 4, 4, 6, 1, 1, 3, 2, 3,
+ 2, 1, 1, 1, 0, 1, 0, 1, 2, 1,
+ 2, 2, 2, 2, 2, 2, 1, 1, 1, 1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
+static const unsigned char yydefact[] =
+{
+ 5, 0, 8, 1, 45, 46, 59, 57, 0, 57,
+ 57, 10, 12, 0, 9, 47, 49, 48, 50, 51,
+ 54, 0, 0, 71, 0, 15, 4, 175, 0, 0,
+ 156, 0, 170, 0, 58, 58, 0, 0, 0, 0,
+ 0, 161, 168, 0, 0, 164, 184, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 13, 0, 0, 0, 0, 0, 0, 27,
+ 0, 11, 16, 76, 176, 151, 136, 137, 138, 139,
+ 79, 142, 157, 146, 149, 148, 150, 147, 53, 0,
+ 60, 61, 70, 0, 61, 8, 196, 199, 198, 197,
+ 184, 0, 0, 167, 0, 61, 4, 4, 4, 4,
+ 4, 4, 0, 162, 0, 0, 186, 165, 166, 196,
+ 185, 86, 197, 0, 194, 175, 131, 130, 146, 0,
+ 0, 184, 143, 0, 178, 181, 183, 182, 190, 163,
+ 119, 120, 141, 124, 123, 145, 0, 126, 0, 117,
+ 118, 191, 192, 193, 195, 0, 35, 14, 0, 0,
+ 0, 0, 0, 0, 0, 0, 77, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 122, 121, 0, 0, 0,
+ 0, 0, 0, 0, 52, 62, 63, 0, 63, 45,
+ 84, 186, 0, 88, 63, 38, 0, 0, 0, 0,
+ 0, 4, 169, 171, 0, 187, 0, 0, 80, 0,
+ 0, 128, 0, 160, 180, 0, 67, 177, 0, 144,
+ 125, 28, 19, 20, 40, 17, 18, 21, 75, 74,
+ 73, 78, 0, 102, 0, 0, 112, 108, 109, 105,
+ 106, 103, 0, 115, 114, 113, 111, 110, 107, 116,
+ 104, 0, 90, 0, 0, 83, 91, 158, 0, 0,
+ 0, 0, 0, 0, 65, 0, 184, 0, 3, 0,
+ 0, 173, 184, 0, 43, 0, 39, 44, 0, 0,
+ 41, 0, 0, 189, 37, 42, 0, 0, 16, 0,
+ 172, 188, 87, 0, 132, 0, 134, 0, 127, 179,
+ 66, 0, 0, 0, 101, 95, 0, 0, 99, 0,
+ 0, 186, 159, 0, 93, 0, 154, 0, 64, 69,
+ 68, 56, 0, 55, 85, 0, 89, 129, 0, 0,
+ 0, 0, 0, 0, 38, 0, 81, 133, 135, 153,
+ 0, 98, 140, 0, 100, 94, 0, 96, 155, 92,
+ 72, 174, 7, 27, 27, 22, 22, 0, 27, 0,
+ 0, 152, 97, 82, 8, 29, 30, 0, 0, 25,
+ 26, 0, 33, 0, 27, 45, 23, 0, 27, 0,
+ 32, 6, 0, 31, 0, 0, 34, 22, 24
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const short yydefgoto[] =
+{
+ -1, 1, 98, 95, 2, 363, 374, 4, 11, 294,
+ 379, 71, 156, 12, 295, 284, 287, 289, 297, 285,
+ 288, 13, 14, 15, 89, 16, 17, 21, 104, 20,
+ 91, 196, 275, 227, 331, 18, 19, 93, 290, 73,
+ 74, 282, 265, 75, 76, 77, 78, 79, 80, 81,
+ 134, 121, 216, 292, 82, 83, 84, 85, 86, 87,
+ 100
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -337
+static const short yypact[] =
+{
+ -337, 18, -337, -337, 244, -337, -337, -337, 31, -337,
+ -337, -337, -337, 314, -337, -337, -337, -337, -337, -337,
+ 50, 56, -14, -337, 56, -337, -337, -337, 49, 49,
+ -337, -7, -337, 1619, -337, -337, 10, 25, 47, 53,
+ -19, 1619, 55, 60, 61, 646, 564, 49, 728, 809,
+ 138, 1619, -17, 49, 1619, 1619, 1619, 1619, 1619, 1619,
+ 890, 971, -337, 1619, 1619, 49, 49, 49, 49, 118,
+ 76, -337, 611, 35, -337, 11, -337, -337, -337, -337,
+ 1917, -337, 92, 23, 26, -337, -337, 170, -337, 171,
+ -337, 174, -337, 181, 174, -337, -337, -337, -337, -337,
+ 1619, 112, 1619, 795, 171, 174, -337, -337, -337, -337,
+ -337, -337, 116, 1917, 123, 1052, 564, -337, 795, 1745,
+ 35, -337, 1685, 1619, -337, 117, -337, 795, 22, 125,
+ 83, 1619, 795, 1133, 153, -337, -337, -337, -337, 35,
+ 344, 344, 344, 40, 40, 124, 197, -337, -4, 344,
+ 344, -337, -337, -337, -337, 171, -337, -337, 1619, 1619,
+ 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1214, 1619,
+ 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619,
+ 1619, 1619, 1619, 1619, 1619, -337, -337, 14, 1295, 1619,
+ 1619, 1619, 1619, 1619, -337, -337, 157, 201, 157, 62,
+ -337, 1619, 1791, -337, 157, 1619, 1619, 1619, 1619, 130,
+ 398, -337, -337, -337, 219, 447, 139, 1619, 35, 1376,
+ 1457, -337, 140, -337, -337, 301, 207, -337, 1619, 142,
+ -337, -337, 332, -337, 332, 332, 332, 332, 173, 173,
+ -337, 1917, 261, -337, 319, 33, 2001, 714, 550, 141,
+ 229, 1917, 1875, 2016, 2016, 386, 469, 632, 217, 344,
+ 344, 1619, -337, 1538, 1619, 147, -337, -337, 369, 313,
+ 91, 323, 109, 500, 220, 13, 1619, 13, -337, 151,
+ 1619, -337, 1619, 171, -337, 155, 332, -337, 179, 182,
+ 332, 190, 209, -337, -337, -337, 198, 213, 256, 1619,
+ -337, -337, -337, 384, -337, 510, -337, 540, -337, -337,
+ -337, 122, 1619, 224, -337, -337, 1619, 664, -337, 551,
+ 245, 1619, -337, 226, -337, 227, -337, 231, -337, -337,
+ -337, -337, 239, -337, -337, 1833, -337, -337, 324, 324,
+ 324, 324, 1619, 324, 1619, 255, -337, -337, -337, -337,
+ 264, -337, 1959, 272, -337, -337, 259, -337, -337, -337,
+ -337, -337, -337, 118, 118, 101, 101, 285, 118, 260,
+ 324, -337, -337, -337, -337, -337, -337, 324, 290, -337,
+ -337, 324, -337, 482, 118, 150, -337, 1619, 118, 286,
+ -337, -337, 293, -337, 324, 324, -337, 101, -337
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const short yypgoto[] =
+{
+ -337, -337, -11, -98, -337, -121, -337, -94, -337, 363,
+ -336, -337, 574, -337, -337, -337, 228, -205, 0, 42,
+ 193, -337, -337, -337, -337, -337, -337, 63, 372, -337,
+ 391, -74, -165, -337, 149, -337, -337, -337, -13, 5,
+ -337, -337, -337, -337, -337, -337, -337, -337, 59, -337,
+ -337, -93, -195, -337, -337, -25, 383, 399, -337, -337,
+ 3
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -176
+static const short yytable[] =
+{
+ 72, 199, 69, 99, 99, 296, 279, 200, 205, 206,
+ 207, 208, 209, 210, 167, 112, 26, 261, 3, 262,
+ 198, 122, 99, 128, 110, 189, 189, 135, 99, 191,
+ 380, 204, 101, 277, 117, 22, 130, 126, 223, 283,
+ 99, 99, 99, 99, 163, 164, 165, 146, 148, 123,
+ 124, 120, 26, 96, 88, 111, 138, 133, 97, 139,
+ 90, 398, 65, 92, 65, 66, 67, 102, 151, 152,
+ 153, 154, 23, 24, 230, 5, 6, 7, 194, 8,
+ 9, 163, 164, 165, 106, 168, 169, 166, 263, 264,
+ 329, 122, 103, 203, 345, 65, 220, 190, 190, 107,
+ 113, 192, 214, 215, 118, 120, 10, 127, -176, -176,
+ 132, 315, 187, 299, 140, 141, 142, 143, 144, 217,
+ 225, 108, 149, 150, 377, 378, 356, 109, 218, 114,
+ 65, 163, 164, 165, 115, 116, 120, 367, 278, 163,
+ 164, 165, 131, 155, 231, 232, 234, 235, 236, 237,
+ 238, 239, 240, 157, 242, 244, 245, 163, 164, 165,
+ 222, 202, 266, 5, 6, 7, 188, 8, 9, 324,
+ 163, 164, 165, 193, 26, 268, 269, 270, 271, 272,
+ 273, 195, 392, 332, 293, 197, 201, 326, 215, 336,
+ 211, 219, 286, 234, 10, 234, 212, 298, 226, 228,
+ 349, 221, 274, 183, 303, 276, 305, 307, 184, 185,
+ 186, 65, 302, 187, 310, 311, 308, 312, 364, 365,
+ 366, 321, 368, 165, 334, 241, 391, 328, 338, 246,
+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, -2, 163, 164, 165, 317, 384,
+ 319, 320, 339, 173, 174, 340, 386, 5, 6, 7,
+ 388, 8, 9, 341, 330, 173, 330, 163, 164, 165,
+ 229, 343, 337, 396, 397, 158, 159, 160, 161, 183,
+ 385, 120, 162, 342, 184, 185, 186, 120, 10, 187,
+ 344, 183, 300, 163, 164, 165, 184, 185, 186, 350,
+ 351, 187, 357, 358, 163, 164, 165, 359, 215, 163,
+ 164, 165, 163, 164, 165, 25, 360, 26, 27, 28,
+ 29, 30, 31, 355, 32, 33, 34, 362, 370, -41,
+ 35, 286, 373, 36, 37, 38, 39, 383, 313, 335,
+ 40, 41, 371, 42, 43, 44, 45, 46, 372, 163,
+ 164, 165, 47, 48, 49, 50, 51, 52, 381, 394,
+ 53, 163, 164, 165, 387, 54, 395, 163, 164, 165,
+ 72, 163, 164, 165, 309, 352, 70, 55, 56, 57,
+ 163, 164, 165, 389, 58, 59, 369, 233, 60, 61,
+ 323, 62, 314, 63, 64, 65, 66, 67, 68, 25,
+ 325, 291, 27, 28, 29, 30, 31, 105, 32, 33,
+ 34, 184, 185, 186, 35, 94, 187, 163, 164, 165,
+ 171, 172, 173, 174, 0, 41, 333, 42, 43, 44,
+ 45, 46, 163, 164, 165, 136, 47, 48, 49, 50,
+ 51, 52, 322, 0, 53, 180, 181, 182, 183, 54,
+ 0, 137, 0, 184, 185, 186, 0, 346, 187, 0,
+ 0, 55, 56, 57, 0, 0, 0, 0, 58, 59,
+ 0, 0, 60, 61, 0, -36, 0, 63, 64, 65,
+ 66, 67, 68, 25, 0, 0, 27, 28, 29, 30,
+ 31, 0, 32, 33, 34, 163, 164, 165, 35, 301,
+ 0, 0, 0, 171, 172, 173, 174, 0, 0, 41,
+ 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
+ 47, 48, 49, 50, 51, 52, 0, 0, 53, 181,
+ 182, 183, 0, 54, 0, 0, 184, 185, 186, 0,
+ 0, 187, 0, 0, 0, 55, 56, 57, 163, 164,
+ 165, 0, 58, 59, 0, -36, 60, 61, 163, 164,
+ 165, 63, 64, 65, 66, 67, 68, 26, 119, 28,
+ 29, 30, 31, 97, 32, 33, 34, 327, 0, 0,
+ 35, 0, 0, 347, 171, -176, 173, 174, 163, 164,
+ 165, 41, 0, 42, 43, 44, 45, 46, 0, 163,
+ 164, 165, 47, 48, 49, 50, 51, 52, 0, 0,
+ 53, 182, 183, 348, 0, 54, 0, 184, 185, 186,
+ 0, 0, 187, 0, 354, 0, 0, 55, 56, 57,
+ 158, 159, 160, 161, 58, 59, 0, 162, 60, 61,
+ 0, 0, 0, 63, 64, 65, 66, 67, 68, 26,
+ 27, 28, 29, 30, 31, 0, 32, 33, 34, 163,
+ 164, 165, 35, 0, 0, 0, 171, 172, 173, 174,
+ 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
+ 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
+ 0, 0, 53, 182, 183, 0, 0, 54, 0, 184,
+ 185, 186, 0, 0, 187, 0, 0, 0, 0, 55,
+ 56, 57, 163, 164, 165, 0, 58, 59, 0, 0,
+ 60, 61, 0, 0, 0, 63, 64, 65, 66, 67,
+ 68, 26, 125, 28, 29, 30, 31, 0, 32, 33,
+ 34, 353, 0, 0, 35, 0, 0, 0, -176, 0,
+ 173, 174, 0, 0, 0, 41, 0, 42, 43, 44,
+ 45, 46, 0, 0, 0, 0, 47, 48, 49, 50,
+ 51, 52, 0, 0, 53, 182, 183, 0, 0, 54,
+ 0, 184, 185, 186, 0, 0, 187, 0, 0, 0,
+ 0, 55, 56, 57, 0, 0, 0, 0, 58, 59,
+ 0, 0, 60, 61, 0, 0, 0, 63, 64, 65,
+ 66, 67, 68, 27, 28, 29, 30, 31, 0, 32,
+ 33, 34, 0, 0, 0, 35, 0, 0, 0, 0,
+ 0, 173, 174, 0, 0, 0, 41, 0, 42, 43,
+ 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
+ 50, 51, 52, 0, 0, 53, 182, 183, 0, 0,
+ 54, 0, 184, 185, 186, 0, 0, 187, 0, 0,
+ 0, 0, 55, 56, 57, 0, 0, 0, 0, 58,
+ 59, 0, 0, 60, 61, 0, 129, 0, 63, 64,
+ 65, 66, 67, 68, 27, 28, 29, 30, 31, 0,
+ 32, 33, 34, 0, 0, 0, 35, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 41, 0, 42,
+ 43, 44, 45, 46, 0, 0, 0, 0, 47, 48,
+ 49, 50, 51, 52, 0, 0, 53, 375, 376, 0,
+ 0, 54, 382, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 55, 56, 57, 0, 0, 390, 0,
+ 58, 59, 393, 145, 60, 61, 0, 0, 0, 63,
+ 64, 65, 66, 67, 68, 27, 28, 29, 30, 31,
+ 0, 32, 33, 34, 0, 0, 0, 35, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 41, 0,
+ 42, 43, 44, 45, 46, 0, 0, 0, 0, 47,
+ 48, 49, 50, 51, 52, 0, 0, 53, 0, 0,
+ 0, 0, 54, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 55, 56, 57, 0, 0, 0,
+ 0, 58, 59, 0, 0, 60, 61, 0, 0, 147,
+ 63, 64, 65, 66, 67, 68, 27, 28, 29, 30,
+ 31, 0, 32, 33, 34, 0, 0, 0, 35, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,
+ 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
+ 47, 48, 49, 50, 51, 52, 0, 0, 53, 0,
+ 0, 0, 0, 54, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 55, 56, 57, 0, 0,
+ 0, 0, 58, 59, 0, 213, 60, 61, 0, 0,
+ 0, 63, 64, 65, 66, 67, 68, 27, 28, 29,
+ 30, 31, 0, 32, 33, 34, 0, 0, 0, 35,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
+ 0, 47, 48, 49, 50, 51, 52, 0, 0, 53,
+ 0, 0, 0, 0, 54, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 55, 56, 57, 0,
+ 0, 0, 0, 58, 59, 0, 224, 60, 61, 0,
+ 0, 0, 63, 64, 65, 66, 67, 68, 27, 28,
+ 29, 30, 31, 0, 32, 33, 34, 0, 0, 0,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 41, 0, 42, 43, 44, 45, 46, 0, 0,
+ 0, 0, 47, 48, 49, 50, 51, 52, 0, 0,
+ 53, 0, 0, 0, 0, 54, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
+ 0, 0, 0, 0, 58, 59, 0, 243, 60, 61,
+ 0, 0, 0, 63, 64, 65, 66, 67, 68, 27,
+ 28, 29, 30, 31, 0, 32, 33, 34, 0, 0,
+ 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 41, 0, 42, 43, 44, 45, 46, 0,
+ 0, 0, 0, 47, 48, 49, 50, 51, 52, 0,
+ 0, 53, 0, 0, 0, 0, 54, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 55, 56,
+ 57, 0, 0, 0, 0, 58, 59, 0, 267, 60,
+ 61, 0, 0, 0, 63, 64, 65, 66, 67, 68,
+ 27, 28, 29, 30, 31, 0, 32, 33, 34, 0,
+ 0, 0, 35, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
+ 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
+ 0, 0, 53, 0, 0, 0, 0, 54, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,
+ 56, 57, 0, 0, 0, 0, 58, 59, 0, 304,
+ 60, 61, 0, 0, 0, 63, 64, 65, 66, 67,
+ 68, 27, 28, 29, 30, 31, 0, 32, 33, 34,
+ 0, 0, 0, 35, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 41, 0, 42, 43, 44, 45,
+ 46, 0, 0, 0, 0, 47, 48, 49, 50, 51,
+ 52, 0, 0, 53, 0, 0, 0, 0, 54, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 55, 56, 57, 0, 0, 0, 0, 58, 59, 0,
+ 306, 60, 61, 0, 0, 0, 63, 64, 65, 66,
+ 67, 68, 27, 28, 29, 30, 31, 0, 32, 33,
+ 34, 0, 0, 0, 35, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 41, 0, 42, 43, 44,
+ 45, 46, 0, 0, 0, 0, 47, 48, 49, 50,
+ 51, 52, 0, 0, 53, 0, 0, 0, 0, 54,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 55, 56, 57, 0, 0, 0, 0, 58, 59,
+ 0, 318, 60, 61, 0, 0, 0, 63, 64, 65,
+ 66, 67, 68, 27, 28, 29, 30, 31, 0, 32,
+ 33, 34, 0, 0, 0, 35, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 41, 0, 42, 43,
+ 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
+ 50, 51, 52, 0, 0, 53, 0, 0, 0, 0,
+ 54, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 55, 56, 57, 0, 0, 0, 189, 58,
+ 59, 0, 0, 60, 61, 0, 0, 0, 63, 64,
+ 65, 66, 67, 68, -146, -146, -146, -146, 0, 0,
+ 0, -146, 0, -146, 0, 0, 0, 0, 0, -146,
+ -146, -146, -146, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -146, -146, -146, 0, -146, -146, -146,
+ -146, -146, -146, -146, -146, -146, -146, -146, 0, 0,
+ 0, 0, -146, -146, -146, 0, 0, -146, -146, 0,
+ 190, 0, -146, -146, -175, -175, -175, -175, 0, 0,
+ 0, -175, 0, -175, 0, 0, 0, 0, 0, -175,
+ -175, -175, -175, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -175, -175, -175, 0, -175, -175, -175,
+ -175, -175, -175, -175, -175, -175, -175, -175, 0, 0,
+ 0, 0, -175, -175, -175, 0, 0, -175, -175, 170,
+ 0, 0, -175, -175, 0, 171, 172, 173, 174, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 280, 175, 176, 0, 177, 178, 179,
+ 180, 181, 182, 183, 0, 0, 0, 0, 184, 185,
+ 186, 170, 0, 187, 281, 0, 0, 171, 172, 173,
+ 174, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 175, 176, 0, 177,
+ 178, 179, 180, 181, 182, 183, 0, 0, 0, 0,
+ 184, 185, 186, 170, 0, 187, 361, 0, 0, 171,
+ 172, 173, 174, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 175, 176,
+ 316, 177, 178, 179, 180, 181, 182, 183, 0, 0,
+ 0, 0, 184, 185, 186, 170, 0, 187, 0, 0,
+ 0, 171, 172, 173, 174, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 175, 176, 0, 177, 178, 179, 180, 181, 182, 183,
+ 0, 0, 0, 0, 184, 185, 186, 170, 0, 187,
+ 0, 0, 0, 171, 172, 173, 174, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 176, 0, 177, 178, 179, 180, 181,
+ 182, 183, 0, 0, 0, 0, 184, 185, 186, -176,
+ 0, 187, 0, 0, 0, 171, 172, 173, 174, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 171, 172, 173, 174, 0, 0, 0, 177, 178, 179,
+ 180, 181, 182, 183, 0, 0, 0, 0, 184, 185,
+ 186, 0, 0, 187, 179, 180, 181, 182, 183, 0,
+ 0, 0, 0, 184, 185, 186, 0, 0, 187
+};
+
+static const short yycheck[] =
+{
+ 13, 95, 13, 28, 29, 210, 201, 100, 106, 107,
+ 108, 109, 110, 111, 3, 40, 3, 3, 0, 5,
+ 94, 46, 47, 48, 43, 3, 3, 52, 53, 3,
+ 366, 105, 29, 198, 45, 4, 49, 48, 131, 204,
+ 65, 66, 67, 68, 48, 49, 50, 60, 61, 46,
+ 47, 46, 3, 4, 4, 74, 53, 74, 9, 54,
+ 4, 397, 81, 77, 81, 82, 83, 74, 65, 66,
+ 67, 68, 9, 10, 78, 13, 14, 15, 89, 17,
+ 18, 48, 49, 50, 74, 74, 75, 52, 74, 75,
+ 77, 116, 33, 104, 299, 81, 74, 75, 75, 74,
+ 41, 75, 115, 116, 45, 100, 44, 48, 68, 69,
+ 51, 78, 72, 211, 55, 56, 57, 58, 59, 116,
+ 133, 74, 63, 64, 23, 24, 321, 74, 123, 74,
+ 81, 48, 49, 50, 74, 74, 131, 342, 76, 48,
+ 49, 50, 4, 25, 155, 158, 159, 160, 161, 162,
+ 163, 164, 165, 77, 167, 168, 169, 48, 49, 50,
+ 77, 102, 187, 13, 14, 15, 74, 17, 18, 78,
+ 48, 49, 50, 3, 3, 188, 189, 190, 191, 192,
+ 193, 7, 387, 276, 209, 4, 74, 78, 201, 282,
+ 74, 74, 205, 206, 44, 208, 73, 210, 45, 75,
+ 78, 76, 45, 62, 217, 4, 219, 220, 67, 68,
+ 69, 81, 73, 72, 7, 228, 76, 75, 339, 340,
+ 341, 74, 343, 50, 73, 166, 76, 7, 73, 170,
+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
+ 181, 182, 183, 184, 0, 48, 49, 50, 261, 370,
+ 263, 264, 73, 36, 37, 73, 377, 13, 14, 15,
+ 381, 17, 18, 73, 275, 36, 277, 48, 49, 50,
+ 73, 73, 283, 394, 395, 19, 20, 21, 22, 62,
+ 374, 276, 26, 74, 67, 68, 69, 282, 44, 72,
+ 77, 62, 73, 48, 49, 50, 67, 68, 69, 312,
+ 76, 72, 76, 76, 48, 49, 50, 76, 321, 48,
+ 49, 50, 48, 49, 50, 1, 77, 3, 4, 5,
+ 6, 7, 8, 78, 10, 11, 12, 3, 73, 73,
+ 16, 344, 73, 19, 20, 21, 22, 77, 77, 280,
+ 26, 27, 78, 29, 30, 31, 32, 33, 76, 48,
+ 49, 50, 38, 39, 40, 41, 42, 43, 73, 73,
+ 46, 48, 49, 50, 74, 51, 73, 48, 49, 50,
+ 383, 48, 49, 50, 73, 316, 13, 63, 64, 65,
+ 48, 49, 50, 383, 70, 71, 344, 159, 74, 75,
+ 77, 77, 73, 79, 80, 81, 82, 83, 84, 1,
+ 77, 208, 4, 5, 6, 7, 8, 35, 10, 11,
+ 12, 67, 68, 69, 16, 24, 72, 48, 49, 50,
+ 34, 35, 36, 37, -1, 27, 277, 29, 30, 31,
+ 32, 33, 48, 49, 50, 52, 38, 39, 40, 41,
+ 42, 43, 73, -1, 46, 59, 60, 61, 62, 51,
+ -1, 52, -1, 67, 68, 69, -1, 73, 72, -1,
+ -1, 63, 64, 65, -1, -1, -1, -1, 70, 71,
+ -1, -1, 74, 75, -1, 77, -1, 79, 80, 81,
+ 82, 83, 84, 1, -1, -1, 4, 5, 6, 7,
+ 8, -1, 10, 11, 12, 48, 49, 50, 16, 52,
+ -1, -1, -1, 34, 35, 36, 37, -1, -1, 27,
+ -1, 29, 30, 31, 32, 33, -1, -1, -1, -1,
+ 38, 39, 40, 41, 42, 43, -1, -1, 46, 60,
+ 61, 62, -1, 51, -1, -1, 67, 68, 69, -1,
+ -1, 72, -1, -1, -1, 63, 64, 65, 48, 49,
+ 50, -1, 70, 71, -1, 73, 74, 75, 48, 49,
+ 50, 79, 80, 81, 82, 83, 84, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 77, -1, -1,
+ 16, -1, -1, 73, 34, 35, 36, 37, 48, 49,
+ 50, 27, -1, 29, 30, 31, 32, 33, -1, 48,
+ 49, 50, 38, 39, 40, 41, 42, 43, -1, -1,
+ 46, 61, 62, 73, -1, 51, -1, 67, 68, 69,
+ -1, -1, 72, -1, 73, -1, -1, 63, 64, 65,
+ 19, 20, 21, 22, 70, 71, -1, 26, 74, 75,
+ -1, -1, -1, 79, 80, 81, 82, 83, 84, 3,
+ 4, 5, 6, 7, 8, -1, 10, 11, 12, 48,
+ 49, 50, 16, -1, -1, -1, 34, 35, 36, 37,
+ -1, -1, -1, 27, -1, 29, 30, 31, 32, 33,
+ -1, -1, -1, -1, 38, 39, 40, 41, 42, 43,
+ -1, -1, 46, 61, 62, -1, -1, 51, -1, 67,
+ 68, 69, -1, -1, 72, -1, -1, -1, -1, 63,
+ 64, 65, 48, 49, 50, -1, 70, 71, -1, -1,
+ 74, 75, -1, -1, -1, 79, 80, 81, 82, 83,
+ 84, 3, 4, 5, 6, 7, 8, -1, 10, 11,
+ 12, 77, -1, -1, 16, -1, -1, -1, 34, -1,
+ 36, 37, -1, -1, -1, 27, -1, 29, 30, 31,
+ 32, 33, -1, -1, -1, -1, 38, 39, 40, 41,
+ 42, 43, -1, -1, 46, 61, 62, -1, -1, 51,
+ -1, 67, 68, 69, -1, -1, 72, -1, -1, -1,
+ -1, 63, 64, 65, -1, -1, -1, -1, 70, 71,
+ -1, -1, 74, 75, -1, -1, -1, 79, 80, 81,
+ 82, 83, 84, 4, 5, 6, 7, 8, -1, 10,
+ 11, 12, -1, -1, -1, 16, -1, -1, -1, -1,
+ -1, 36, 37, -1, -1, -1, 27, -1, 29, 30,
+ 31, 32, 33, -1, -1, -1, -1, 38, 39, 40,
+ 41, 42, 43, -1, -1, 46, 61, 62, -1, -1,
+ 51, -1, 67, 68, 69, -1, -1, 72, -1, -1,
+ -1, -1, 63, 64, 65, -1, -1, -1, -1, 70,
+ 71, -1, -1, 74, 75, -1, 77, -1, 79, 80,
+ 81, 82, 83, 84, 4, 5, 6, 7, 8, -1,
+ 10, 11, 12, -1, -1, -1, 16, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 27, -1, 29,
+ 30, 31, 32, 33, -1, -1, -1, -1, 38, 39,
+ 40, 41, 42, 43, -1, -1, 46, 363, 364, -1,
+ -1, 51, 368, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 63, 64, 65, -1, -1, 384, -1,
+ 70, 71, 388, 73, 74, 75, -1, -1, -1, 79,
+ 80, 81, 82, 83, 84, 4, 5, 6, 7, 8,
+ -1, 10, 11, 12, -1, -1, -1, 16, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 27, -1,
+ 29, 30, 31, 32, 33, -1, -1, -1, -1, 38,
+ 39, 40, 41, 42, 43, -1, -1, 46, -1, -1,
+ -1, -1, 51, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 63, 64, 65, -1, -1, -1,
+ -1, 70, 71, -1, -1, 74, 75, -1, -1, 78,
+ 79, 80, 81, 82, 83, 84, 4, 5, 6, 7,
+ 8, -1, 10, 11, 12, -1, -1, -1, 16, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
+ -1, 29, 30, 31, 32, 33, -1, -1, -1, -1,
+ 38, 39, 40, 41, 42, 43, -1, -1, 46, -1,
+ -1, -1, -1, 51, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 63, 64, 65, -1, -1,
+ -1, -1, 70, 71, -1, 73, 74, 75, -1, -1,
+ -1, 79, 80, 81, 82, 83, 84, 4, 5, 6,
+ 7, 8, -1, 10, 11, 12, -1, -1, -1, 16,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 27, -1, 29, 30, 31, 32, 33, -1, -1, -1,
+ -1, 38, 39, 40, 41, 42, 43, -1, -1, 46,
+ -1, -1, -1, -1, 51, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 63, 64, 65, -1,
+ -1, -1, -1, 70, 71, -1, 73, 74, 75, -1,
+ -1, -1, 79, 80, 81, 82, 83, 84, 4, 5,
+ 6, 7, 8, -1, 10, 11, 12, -1, -1, -1,
+ 16, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 27, -1, 29, 30, 31, 32, 33, -1, -1,
+ -1, -1, 38, 39, 40, 41, 42, 43, -1, -1,
+ 46, -1, -1, -1, -1, 51, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 63, 64, 65,
+ -1, -1, -1, -1, 70, 71, -1, 73, 74, 75,
+ -1, -1, -1, 79, 80, 81, 82, 83, 84, 4,
+ 5, 6, 7, 8, -1, 10, 11, 12, -1, -1,
+ -1, 16, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 27, -1, 29, 30, 31, 32, 33, -1,
+ -1, -1, -1, 38, 39, 40, 41, 42, 43, -1,
+ -1, 46, -1, -1, -1, -1, 51, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 63, 64,
+ 65, -1, -1, -1, -1, 70, 71, -1, 73, 74,
+ 75, -1, -1, -1, 79, 80, 81, 82, 83, 84,
+ 4, 5, 6, 7, 8, -1, 10, 11, 12, -1,
+ -1, -1, 16, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 27, -1, 29, 30, 31, 32, 33,
+ -1, -1, -1, -1, 38, 39, 40, 41, 42, 43,
+ -1, -1, 46, -1, -1, -1, -1, 51, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 63,
+ 64, 65, -1, -1, -1, -1, 70, 71, -1, 73,
+ 74, 75, -1, -1, -1, 79, 80, 81, 82, 83,
+ 84, 4, 5, 6, 7, 8, -1, 10, 11, 12,
+ -1, -1, -1, 16, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 27, -1, 29, 30, 31, 32,
+ 33, -1, -1, -1, -1, 38, 39, 40, 41, 42,
+ 43, -1, -1, 46, -1, -1, -1, -1, 51, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 63, 64, 65, -1, -1, -1, -1, 70, 71, -1,
+ 73, 74, 75, -1, -1, -1, 79, 80, 81, 82,
+ 83, 84, 4, 5, 6, 7, 8, -1, 10, 11,
+ 12, -1, -1, -1, 16, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 27, -1, 29, 30, 31,
+ 32, 33, -1, -1, -1, -1, 38, 39, 40, 41,
+ 42, 43, -1, -1, 46, -1, -1, -1, -1, 51,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 63, 64, 65, -1, -1, -1, -1, 70, 71,
+ -1, 73, 74, 75, -1, -1, -1, 79, 80, 81,
+ 82, 83, 84, 4, 5, 6, 7, 8, -1, 10,
+ 11, 12, -1, -1, -1, 16, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 27, -1, 29, 30,
+ 31, 32, 33, -1, -1, -1, -1, 38, 39, 40,
+ 41, 42, 43, -1, -1, 46, -1, -1, -1, -1,
+ 51, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 63, 64, 65, -1, -1, -1, 3, 70,
+ 71, -1, -1, 74, 75, -1, -1, -1, 79, 80,
+ 81, 82, 83, 84, 19, 20, 21, 22, -1, -1,
+ -1, 26, -1, 28, -1, -1, -1, -1, -1, 34,
+ 35, 36, 37, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 48, 49, 50, -1, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, -1, -1,
+ -1, -1, 67, 68, 69, -1, -1, 72, 73, -1,
+ 75, -1, 77, 78, 19, 20, 21, 22, -1, -1,
+ -1, 26, -1, 28, -1, -1, -1, -1, -1, 34,
+ 35, 36, 37, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 48, 49, 50, -1, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, -1, -1,
+ -1, -1, 67, 68, 69, -1, -1, 72, 73, 28,
+ -1, -1, 77, 78, -1, 34, 35, 36, 37, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 52, 53, 54, -1, 56, 57, 58,
+ 59, 60, 61, 62, -1, -1, -1, -1, 67, 68,
+ 69, 28, -1, 72, 73, -1, -1, 34, 35, 36,
+ 37, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 53, 54, -1, 56,
+ 57, 58, 59, 60, 61, 62, -1, -1, -1, -1,
+ 67, 68, 69, 28, -1, 72, 73, -1, -1, 34,
+ 35, 36, 37, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, -1, -1,
+ -1, -1, 67, 68, 69, 28, -1, 72, -1, -1,
+ -1, 34, 35, 36, 37, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 53, 54, -1, 56, 57, 58, 59, 60, 61, 62,
+ -1, -1, -1, -1, 67, 68, 69, 28, -1, 72,
+ -1, -1, -1, 34, 35, 36, 37, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 54, -1, 56, 57, 58, 59, 60,
+ 61, 62, -1, -1, -1, -1, 67, 68, 69, 28,
+ -1, 72, -1, -1, -1, 34, 35, 36, 37, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 34, 35, 36, 37, -1, -1, -1, 56, 57, 58,
+ 59, 60, 61, 62, -1, -1, -1, -1, 67, 68,
+ 69, -1, -1, 72, 58, 59, 60, 61, 62, -1,
+ -1, -1, -1, 67, 68, 69, -1, -1, 72
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const unsigned char yystos[] =
+{
+ 0, 86, 89, 0, 92, 13, 14, 15, 17, 18,
+ 44, 93, 98, 106, 107, 108, 110, 111, 120, 121,
+ 114, 112, 4, 112, 112, 1, 3, 4, 5, 6,
+ 7, 8, 10, 11, 12, 16, 19, 20, 21, 22,
+ 26, 27, 29, 30, 31, 32, 33, 38, 39, 40,
+ 41, 42, 43, 46, 51, 63, 64, 65, 70, 71,
+ 74, 75, 77, 79, 80, 81, 82, 83, 84, 87,
+ 94, 96, 123, 124, 125, 128, 129, 130, 131, 132,
+ 133, 134, 139, 140, 141, 142, 143, 144, 4, 109,
+ 4, 115, 77, 122, 115, 88, 4, 9, 87, 140,
+ 145, 145, 74, 133, 113, 113, 74, 74, 74, 74,
+ 43, 74, 140, 133, 74, 74, 74, 87, 133, 4,
+ 124, 136, 140, 145, 145, 4, 87, 133, 140, 77,
+ 123, 4, 133, 74, 135, 140, 141, 142, 145, 124,
+ 133, 133, 133, 133, 133, 73, 123, 78, 123, 133,
+ 133, 145, 145, 145, 145, 25, 97, 77, 19, 20,
+ 21, 22, 26, 48, 49, 50, 52, 3, 74, 75,
+ 28, 34, 35, 36, 37, 53, 54, 56, 57, 58,
+ 59, 60, 61, 62, 67, 68, 69, 72, 74, 3,
+ 75, 3, 75, 3, 87, 7, 116, 4, 116, 92,
+ 136, 74, 133, 87, 116, 88, 88, 88, 88, 88,
+ 88, 74, 73, 73, 123, 123, 137, 145, 124, 74,
+ 74, 76, 77, 136, 73, 123, 45, 118, 75, 73,
+ 78, 87, 123, 101, 123, 123, 123, 123, 123, 123,
+ 123, 133, 123, 73, 123, 123, 133, 133, 133, 133,
+ 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
+ 133, 3, 5, 74, 75, 127, 140, 73, 123, 123,
+ 123, 123, 123, 123, 45, 117, 4, 117, 76, 137,
+ 52, 73, 126, 117, 100, 104, 123, 101, 105, 102,
+ 123, 105, 138, 140, 94, 99, 102, 103, 123, 88,
+ 73, 52, 73, 123, 73, 123, 73, 123, 76, 73,
+ 7, 123, 75, 77, 73, 78, 55, 123, 73, 123,
+ 123, 74, 73, 77, 78, 77, 78, 77, 7, 77,
+ 87, 119, 136, 119, 73, 133, 136, 87, 73, 73,
+ 73, 73, 74, 73, 77, 102, 73, 73, 73, 78,
+ 123, 76, 133, 77, 73, 78, 137, 76, 76, 76,
+ 77, 73, 3, 90, 90, 90, 90, 102, 90, 104,
+ 73, 78, 76, 73, 91, 97, 97, 23, 24, 95,
+ 95, 73, 97, 77, 90, 92, 90, 74, 90, 103,
+ 97, 76, 102, 97, 73, 73, 90, 90, 95
+};