From dd166b943752e884944672b81ab4783f558985ff Mon Sep 17 00:00:00 2001 From: Daniel Morsing Date: Sun, 29 Jul 2012 22:24:19 -0400 Subject: [PATCH] cmd/gc: point "no new variables" error at right line number. Fixes #3856. R=dsymonds, rsc CC=golang-dev https://golang.org/cl/6455056 --- src/cmd/gc/dcl.c | 7 +- src/cmd/gc/go.h | 2 +- src/cmd/gc/go.y | 8 +- src/cmd/gc/lex.c | 1 + src/cmd/gc/y.tab.c | 958 ++++++++++++++++++++++----------------------- src/cmd/gc/y.tab.h | 16 +- test/declbad.go | 6 + 7 files changed, 499 insertions(+), 499 deletions(-) diff --git a/src/cmd/gc/dcl.c b/src/cmd/gc/dcl.c index 32f334b710d..63a55c74b13 100644 --- a/src/cmd/gc/dcl.c +++ b/src/cmd/gc/dcl.c @@ -464,7 +464,7 @@ colasdefn(NodeList *left, Node *defn) if(isblank(n)) continue; if(!colasname(n)) { - yyerror("non-name %N on left side of :=", n); + yyerrorl(defn->lineno, "non-name %N on left side of :=", n); nerr++; continue; } @@ -479,11 +479,11 @@ colasdefn(NodeList *left, Node *defn) l->n = n; } if(nnew == 0 && nerr == 0) - yyerror("no new variables on left side of :="); + yyerrorl(defn->lineno, "no new variables on left side of :="); } Node* -colas(NodeList *left, NodeList *right) +colas(NodeList *left, NodeList *right, int32 lno) { Node *as; @@ -491,6 +491,7 @@ colas(NodeList *left, NodeList *right) as->list = left; as->rlist = right; as->colas = 1; + as->lineno = lno; colasdefn(left, as); // make the tree prettier; not necessary diff --git a/src/cmd/gc/go.h b/src/cmd/gc/go.h index 9045922d37d..5c482f19b5a 100644 --- a/src/cmd/gc/go.h +++ b/src/cmd/gc/go.h @@ -928,7 +928,7 @@ void nodfconst(Node *n, Type *t, Mpflt* fval); void addmethod(Sym *sf, Type *t, int local); void addvar(Node *n, Type *t, int ctxt); NodeList* checkarglist(NodeList *all, int input); -Node* colas(NodeList *left, NodeList *right); +Node* colas(NodeList *left, NodeList *right, int32 lno); void colasdefn(NodeList *left, Node *defn); NodeList* constiter(NodeList *vl, Node *t, NodeList *cl); Node* dclname(Sym *s); diff --git a/src/cmd/gc/go.y b/src/cmd/gc/go.y index f9505872141..42c78d8e9f9 100644 --- a/src/cmd/gc/go.y +++ b/src/cmd/gc/go.y @@ -37,8 +37,8 @@ static void fixlbrace(int); // |sed 's/.* //' |9 fmt -l1 |sort |9 fmt -l50 | sed 's/^/%xxx /' %token LLITERAL -%token LASOP -%token LBREAK LCASE LCHAN LCOLAS LCONST LCONTINUE LDDD +%token LASOP LCOLAS +%token LBREAK LCASE LCHAN LCONST LCONTINUE LDDD %token LDEFAULT LDEFER LELSE LFALL LFOR LFUNC LGO LGOTO %token LIF LIMPORT LINTERFACE LMAP LNAME %token LPACKAGE LRANGE LRETURN LSELECT LSTRUCT LSWITCH @@ -437,7 +437,7 @@ simple_stmt: $$->left = dclname($1->n->sym); // it's a colas, so must not re-use an oldname. break; } - $$ = colas($1, $3); + $$ = colas($1, $3, $2); } | expr LINC { @@ -496,7 +496,7 @@ case: // done in casebody() markdcl(); $$ = nod(OXCASE, N, N); - $$->list = list1(colas($2, list1($4))); + $$->list = list1(colas($2, list1($4), $3)); } | LDEFAULT ':' { diff --git a/src/cmd/gc/lex.c b/src/cmd/gc/lex.c index 641cb6f62c5..f07a23c150f 100644 --- a/src/cmd/gc/lex.c +++ b/src/cmd/gc/lex.c @@ -973,6 +973,7 @@ l0: c1 = getc(); if(c1 == '=') { c = LCOLAS; + yylval.i = lexlineno; goto lx; } break; diff --git a/src/cmd/gc/y.tab.c b/src/cmd/gc/y.tab.c index 97bf233eb7d..b19c477313e 100644 --- a/src/cmd/gc/y.tab.c +++ b/src/cmd/gc/y.tab.c @@ -106,10 +106,10 @@ static void fixlbrace(int); enum yytokentype { LLITERAL = 258, LASOP = 259, - LBREAK = 260, - LCASE = 261, - LCHAN = 262, - LCOLAS = 263, + LCOLAS = 260, + LBREAK = 261, + LCASE = 262, + LCHAN = 263, LCONST = 264, LCONTINUE = 265, LDDD = 266, @@ -158,10 +158,10 @@ static void fixlbrace(int); /* Tokens. */ #define LLITERAL 258 #define LASOP 259 -#define LBREAK 260 -#define LCASE 261 -#define LCHAN 262 -#define LCOLAS 263 +#define LCOLAS 260 +#define LBREAK 261 +#define LCASE 262 +#define LCHAN 263 #define LCONST 264 #define LCONTINUE 265 #define LDDD 266 @@ -457,7 +457,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2131 +#define YYLAST 2097 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 76 @@ -573,12 +573,12 @@ static const yytype_int16 yyrhs[] = -1, 181, 142, 65, 182, -1, 181, 65, 182, -1, 94, -1, 181, 142, -1, 181, -1, 137, -1, 96, 142, -1, 123, -1, 123, 4, 123, -1, 182, 65, - 182, -1, 182, 8, 182, -1, 123, 42, -1, 123, - 37, -1, 6, 183, 66, -1, 6, 183, 65, 123, - 66, -1, 6, 183, 8, 123, 66, -1, 12, 66, + 182, -1, 182, 5, 182, -1, 123, 42, -1, 123, + 37, -1, 7, 183, 66, -1, 7, 183, 65, 123, + 66, -1, 7, 183, 5, 123, 66, -1, 12, 66, -1, -1, 67, 101, 179, 68, -1, -1, 99, 103, 179, -1, -1, 104, 102, -1, -1, 35, 106, 179, - 68, -1, 182, 65, 26, 123, -1, 182, 8, 26, + 68, -1, 182, 65, 26, 123, -1, 182, 5, 26, 123, -1, 190, 62, 190, 62, 190, -1, 190, -1, 107, -1, 108, 105, -1, -1, 16, 111, 109, -1, 190, -1, 190, 62, 190, -1, -1, -1, -1, 20, @@ -615,10 +615,10 @@ static const yytype_int16 yyrhs[] = -1, 148, -1, 59, 142, 60, -1, 157, -1, 149, -1, 149, -1, 151, -1, 157, -1, 149, -1, 150, -1, 148, -1, 139, -1, 139, 63, 137, -1, 71, - 188, 72, 142, -1, 71, 11, 72, 142, -1, 7, - 144, -1, 7, 36, 142, -1, 23, 71, 142, 72, + 188, 72, 142, -1, 71, 11, 72, 142, -1, 8, + 144, -1, 8, 36, 142, -1, 23, 71, 142, 72, 142, -1, 152, -1, 153, -1, 53, 142, -1, 36, - 7, 142, -1, 29, 133, 166, 186, 68, -1, 29, + 8, 142, -1, 29, 133, 166, 186, 68, -1, 29, 133, 68, -1, 22, 133, 167, 186, 68, -1, 22, 133, 68, -1, 17, 155, 158, -1, 137, 59, 175, 60, 159, -1, 59, 175, 60, 137, 59, 175, 60, @@ -639,7 +639,7 @@ static const yytype_int16 yyrhs[] = 173, -1, 174, 75, 173, -1, -1, 174, 187, -1, -1, 100, -1, 91, -1, 177, -1, 1, -1, 98, -1, 110, -1, 118, -1, 121, -1, 113, -1, -1, - 140, 66, 178, 176, -1, 15, -1, 5, 136, -1, + 140, 66, 178, 176, -1, 15, -1, 6, 136, -1, 10, 136, -1, 18, 125, -1, 13, 125, -1, 19, 134, -1, 27, 189, -1, 176, -1, 179, 62, 176, -1, 134, -1, 180, 75, 134, -1, 135, -1, 181, @@ -656,9 +656,9 @@ static const yytype_int16 yyrhs[] = -1, 200, -1, 202, -1, 138, -1, 24, -1, 71, 72, 198, -1, 71, 3, 72, 198, -1, 23, 71, 198, 72, 198, -1, 29, 67, 192, 68, -1, 22, - 67, 193, 68, -1, 53, 198, -1, 7, 199, -1, - 7, 59, 201, 60, -1, 7, 36, 198, -1, 36, - 7, 198, -1, 17, 59, 191, 60, 206, -1, 137, + 67, 193, 68, -1, 53, 198, -1, 8, 199, -1, + 8, 59, 201, 60, -1, 8, 36, 198, -1, 36, + 8, 198, -1, 17, 59, 191, 60, 206, -1, 137, 198, 194, -1, 137, 11, 198, 194, -1, 137, 198, 194, -1, 137, 59, 191, 60, 206, -1, 198, -1, -1, 207, -1, 59, 191, 60, -1, 198, -1, 3, @@ -714,8 +714,8 @@ static const yytype_uint16 yyrline[] = First, the terminals, then, starting at YYNTOKENS, nonterminals. */ const char *yytname[] = { - "$end", "error", "$undefined", "LLITERAL", "LASOP", "LBREAK", "LCASE", - "LCHAN", "LCOLAS", "LCONST", "LCONTINUE", "LDDD", "LDEFAULT", "LDEFER", + "$end", "error", "$undefined", "LLITERAL", "LASOP", "LCOLAS", "LBREAK", + "LCASE", "LCHAN", "LCONST", "LCONTINUE", "LDDD", "LDEFAULT", "LDEFER", "LELSE", "LFALL", "LFOR", "LFUNC", "LGO", "LGOTO", "LIF", "LIMPORT", "LINTERFACE", "LMAP", "LNAME", "LPACKAGE", "LRANGE", "LRETURN", "LSELECT", "LSTRUCT", "LSWITCH", "LTYPE", "LVAR", "LANDAND", "LANDNOT", @@ -947,94 +947,94 @@ static const yytype_int16 yydefgoto[] = /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -551 +#define YYPACT_NINF -549 static const yytype_int16 yypact[] = { - -551, 46, 48, 121, -551, 58, -551, 135, -551, -551, - -551, 65, 72, -551, 147, 156, -551, -551, 112, -551, - 50, 134, 904, -551, 162, 463, 209, -551, 54, 237, - -551, 121, 245, -551, -551, -551, 58, 1666, -551, 58, - 288, -551, -551, 34, 288, 58, -551, 36, 184, 1467, - -551, 36, -551, 316, 462, 1467, 1467, 1467, 1467, 1467, - 1467, 1522, 1467, 1467, 965, 198, -551, 506, -551, -551, - -551, -551, -551, 796, -551, -551, 195, 1, -551, 199, - -551, 207, 216, 36, 221, -551, -551, -551, 226, 53, - -551, -551, 108, -551, 214, 110, 269, 214, 214, 233, - -551, -551, -551, -551, 238, -551, -551, -551, -551, -551, - -551, -551, 242, 1691, 1691, 1691, -551, 240, -551, -551, - -551, -551, -551, -551, 154, 1, 1467, 1658, 247, 246, - 290, -551, 1467, -551, -551, 419, 1691, 2004, 229, -551, - 272, 333, 1467, 258, 1691, -551, -551, 485, -551, -551, - -551, 656, -551, -551, -551, -551, -551, -551, 1577, 1522, - 2004, 255, -551, 10, -551, 51, -551, -551, 251, 2004, - 256, -551, 508, -551, 1632, 1467, 1467, 1467, 1467, -551, - 1467, 1467, 1467, -551, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, -551, 1192, - 552, 1467, -551, 1467, -551, -551, 1134, 1467, 1467, 1467, - -551, 1203, 58, 246, 260, 332, -551, 1838, 1838, -551, - 76, 282, -551, 1658, 344, 1691, -551, -551, -551, -551, - -551, -551, -551, 293, 58, -551, -551, 328, -551, 178, - 303, 1691, -551, 1658, -551, -551, -551, 295, 308, 1658, - 1134, -551, -551, 309, 271, 364, -551, 334, 337, -551, - -551, 330, -551, 11, 66, -551, -551, 342, -551, -551, - 397, 664, -551, -551, -551, 351, -551, -551, -551, 352, - 1467, 58, 343, 1719, -551, 349, 1691, 1691, -551, 356, - 1467, 357, 2004, 2075, -551, 2028, 692, 692, 692, 692, - -551, 692, 692, 2052, -551, 593, 593, 593, 593, -551, - -551, -551, -551, 1247, -551, -551, 22, 1302, -551, 1877, - 355, 1060, 1979, 1247, -551, -551, -551, -551, -551, -551, - 86, 229, 229, 2004, 1777, 367, 361, 359, -551, 366, - 427, 1838, 52, 29, -551, 370, -551, -551, -551, 784, - -551, 118, 379, 58, 396, 400, 401, -551, -551, 404, - 1691, 409, -551, -551, -551, -551, 1357, 1412, 1467, -551, - -551, -551, 1658, -551, 1744, 414, 109, 328, 1467, 58, - 416, 423, 1658, -551, 561, 417, 1691, 44, 364, 397, - 364, 428, 451, 421, -551, -551, 58, 397, 456, 58, - 436, 58, 438, 229, -551, 1467, 1752, 1691, -551, 24, - 171, 287, 338, -551, -551, -551, 58, 439, 229, 1467, - -551, 1907, -551, -551, 425, 435, 430, 1522, 446, 448, - 453, -551, 1467, -551, -551, 443, 1134, 1060, -551, 1838, - 479, -551, -551, -551, 58, 1805, 1838, 58, 1838, -551, - -551, 514, 161, -551, -551, 460, 454, 1838, 52, 1838, - 397, 58, 58, -551, 458, 459, -551, -551, -551, 1744, - -551, 1134, 1467, 1467, 467, -551, 1658, 472, -551, -551, - -551, -551, -551, -551, -551, 1744, -551, -551, -551, -551, - -551, 477, -551, -551, -551, 1522, 474, -551, -551, -551, - 482, -551, 500, 397, -551, -551, -551, -551, -551, -551, - -551, -551, -551, 229, 501, 1247, -551, -551, 505, 1632, - -551, 229, 1247, 1247, 1247, -551, -551, -551, 503, -551, - -551, -551, -551, 511, -551, 137, -551, -551, 518, 528, - 532, 534, 535, 530, -551, -551, 537, 533, 1838, 536, - -551, 538, -551, -551, 560, -551, 1838, -551, 551, 397, - -551, 557, -551, 1830, 151, 2004, 2004, 1467, 558, 1658, - -551, 605, 1744, 125, -551, 1060, 397, 397, -551, 75, - 360, 554, 58, 563, 357, 556, 2004, -551, -551, -551, - -551, -551, -551, -551, 1830, 58, -551, 1805, 1838, 397, - -551, 58, 161, -551, -551, -551, 58, 58, -551, -551, - -551, -551, -551, -551, 570, 78, -551, -551, 1467, 1467, - -551, 1522, 569, -551, -551, -551, -551, -551, -551, -551, - -551, 576, -551, -551, -551, -551, 578, 582, 584, 1744, - -551, -551, 1931, 1955, 1830, -551, 1830, -551, -551, -551, - -551, -551, -551 + -549, 63, 58, 91, -549, 227, -549, 44, -549, -549, + -549, 67, 57, -549, 111, 135, -549, -549, 123, -549, + 50, 151, 904, -549, 157, 463, 149, -549, 54, 219, + -549, 91, 230, -549, -549, -549, 227, 1654, -549, 227, + 288, -549, -549, 316, 288, 227, -549, 21, 167, 1466, + -549, 21, -549, 327, 333, 1466, 1466, 1466, 1466, 1466, + 1466, 1509, 1466, 1466, 985, 193, -549, 419, -549, -549, + -549, -549, -549, 796, -549, -549, 176, 1, -549, 194, + -549, 196, 206, 21, 215, -549, -549, -549, 216, 51, + -549, -549, 45, -549, 203, 7, 256, 203, 203, 231, + -549, -549, -549, -549, 244, -549, -549, -549, -549, -549, + -549, -549, 234, 1681, 1681, 1681, -549, 250, -549, -549, + -549, -549, -549, -549, 168, 1, 1466, 1628, 260, 264, + 266, -549, 1466, -549, -549, 110, 1681, 1993, 257, -549, + 300, 229, 1466, 451, 1681, -549, -549, 461, -549, -549, + -549, 662, -549, -549, -549, -549, -549, -549, 1552, 1509, + 1993, 263, -549, 10, -549, 165, -549, -549, 270, 1993, + 274, -549, 485, -549, 1595, 1466, 1466, 1466, 1466, -549, + 1466, 1466, 1466, -549, 1466, 1466, 1466, 1466, 1466, 1466, + 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, -549, 1203, + 506, 1466, -549, 1466, -549, -549, 1134, 1466, 1466, 1466, + -549, 673, 227, 264, 293, 355, -549, 1214, 1214, -549, + 76, 303, -549, 1628, 357, 1681, -549, -549, -549, -549, + -549, -549, -549, 328, 227, -549, -549, 358, -549, 68, + 337, 1681, -549, 1628, -549, -549, -549, 329, 348, 1628, + 1134, -549, -549, 351, 128, 390, -549, 359, 354, -549, + -549, 349, -549, 30, 34, -549, -549, 366, -549, -549, + 427, 1620, -549, -549, -549, 371, -549, -549, -549, 373, + 1466, 227, 376, 1707, -549, 391, 1681, 1681, -549, 400, + 1466, 398, 1993, 1839, -549, 2017, 755, 755, 755, 755, + -549, 755, 755, 2041, -549, 582, 582, 582, 582, -549, + -549, -549, -549, 1258, -549, -549, 33, 1313, -549, 1866, + 356, 1060, 1968, 1258, -549, -549, -549, -549, -549, -549, + 3, 257, 257, 1993, 1748, 405, 402, 403, -549, 412, + 475, 1214, 52, 29, -549, 421, -549, -549, -549, 1774, + -549, 85, 425, 227, 426, 429, 434, -549, -549, 438, + 1681, 439, -549, -549, -549, -549, 1368, 1423, 1466, -549, + -549, -549, 1628, -549, 1715, 440, 86, 358, 1466, 227, + 441, 443, 1628, -549, 508, 437, 1681, 78, 390, 427, + 390, 446, 280, 442, -549, -549, 227, 427, 454, 227, + 448, 227, 453, 257, -549, 1466, 1740, 1681, -549, 181, + 248, 338, 360, -549, -549, -549, 227, 455, 257, 1466, + -549, 1896, -549, -549, 447, 450, 456, 1509, 457, 466, + 469, -549, 1466, -549, -549, 468, 1134, 1060, -549, 1214, + 501, -549, -549, -549, 227, 1801, 1214, 227, 1214, -549, + -549, 537, 161, -549, -549, 480, 488, 1214, 52, 1214, + 427, 227, 227, -549, 503, 486, -549, -549, -549, 1715, + -549, 1134, 1466, 1466, 514, -549, 1628, 509, -549, -549, + -549, -549, -549, -549, -549, 1715, -549, -549, -549, -549, + -549, 518, -549, -549, -549, 1509, 517, -549, -549, -549, + 525, -549, 528, 427, -549, -549, -549, -549, -549, -549, + -549, -549, -549, 257, 531, 1258, -549, -549, 532, 1595, + -549, 257, 1258, 1258, 1258, -549, -549, -549, 533, -549, + -549, -549, -549, 526, -549, 109, -549, -549, 539, 540, + 545, 546, 550, 543, -549, -549, 551, 547, 1214, 552, + -549, 556, -549, -549, 573, -549, 1214, -549, 561, 427, + -549, 565, -549, 1827, 131, 1993, 1993, 1466, 567, 1628, + -549, 611, 1715, 28, -549, 1060, 427, 427, -549, 100, + 367, 563, 227, 574, 398, 571, 1993, -549, -549, -549, + -549, -549, -549, -549, 1827, 227, -549, 1801, 1214, 427, + -549, 227, 161, -549, -549, -549, 227, 227, -549, -549, + -549, -549, -549, -549, 581, 15, -549, -549, 1466, 1466, + -549, 1509, 580, -549, -549, -549, -549, -549, -549, -549, + -549, 584, -549, -549, -549, -549, 585, 586, 587, 1715, + -549, -549, 1920, 1944, 1827, -549, 1827, -549, -549, -549, + -549, -549, -549 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -551, -551, -551, -551, -551, -551, -551, -6, -551, -551, - 608, -551, -11, -551, -551, 623, -551, -134, -25, 68, - -551, -135, -121, -551, 39, -551, -551, -551, 145, 278, - -551, -551, -551, -551, -551, -551, 515, 41, -551, -551, - -551, -551, -551, -551, -551, -551, -551, 579, 493, 45, - -551, -192, 138, -246, 192, -47, 415, 200, -20, 380, - 626, -5, 449, 346, -551, 426, 95, 509, -551, -551, - -551, -551, -33, 38, -31, -18, -551, -551, -551, -551, - -551, 43, 457, -467, -551, -551, -551, -551, -551, -551, - -551, -551, 280, -126, -227, 292, -551, 302, -551, -220, - -297, 662, -551, -248, -551, -66, 18, 194, -551, -295, - -228, -289, -191, -551, -119, -403, -551, -551, -305, -551, - -32, -551, 127, -551, 362, 250, 363, 232, 90, 98, - -550, -551, -426, 241, -551, 486, -551, -551 + -549, -549, -549, -549, -549, -549, -549, -6, -549, -549, + 617, -549, -11, -549, -549, 627, -549, -134, -25, 71, + -549, -135, -121, -549, 35, -549, -549, -549, 146, 279, + -549, -549, -549, -549, -549, -549, 513, 42, -549, -549, + -549, -549, -549, -549, -549, -549, -549, 579, 493, 245, + -549, -192, 134, -318, 278, -47, 418, 8, -20, 381, + 624, -5, 449, 346, -549, 422, 95, 510, -549, -549, + -549, -549, -33, 38, -31, -18, -549, -549, -549, -549, + -549, 43, 458, -467, -549, -549, -549, -549, -549, -549, + -549, -549, 276, -126, -227, 289, -549, 302, -549, -220, + -297, 650, -549, -248, -549, -66, 18, 183, -549, -295, + -228, -289, -191, -549, -119, -403, -549, -549, -305, -549, + 273, -549, 127, -549, 342, 240, 353, 226, 88, 96, + -548, -549, -426, 236, -549, 487, -549, -549 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1046,221 +1046,217 @@ static const yytype_int16 yytable[] = 12, 174, 376, 359, 119, 235, 121, 240, 274, 259, 320, 235, 323, 278, 161, 32, 109, 79, 570, 109, 107, 235, 103, 32, 433, 131, 554, 428, 435, 375, - 385, 111, 456, 426, 111, 380, 389, 391, 128, 393, - 111, 539, 173, 164, 630, -176, 4, 400, 146, 150, - 495, 402, -208, 27, 205, 450, 496, 27, 9, -172, - 199, 417, 150, 214, 200, 216, 218, 138, 18, -175, - 388, 133, 201, 5, 9, 120, 9, -176, 9, 27, - 122, 495, 9, -172, 501, 124, -208, 496, 133, 130, - 380, -172, 507, 127, 651, 222, 652, 427, 46, 163, - 9, 457, 451, 134, 165, 617, 174, 10, 11, 28, - -174, 452, 497, 29, 102, 257, 207, 29, -208, 390, - 134, 266, 243, 10, 11, 10, 11, 10, 11, 381, - 111, 10, 11, 618, 19, 525, 111, 528, 146, 29, - 536, 164, 150, 625, 239, 325, 7, 289, 437, 10, - 11, 228, 228, 228, 438, 560, 231, 231, 231, 15, - -260, 500, 491, 502, 450, 228, -260, 150, 20, 212, - 231, 437, 648, 208, 228, 26, 636, 486, 461, 231, - 23, 164, 228, 209, 11, 9, 366, 231, 535, 228, - 619, 620, 631, 462, 231, 318, 33, 163, 578, 437, - 621, 79, 165, 637, 638, 592, -170, 349, 226, 232, - 233, 451, 228, 437, 357, 32, -260, 231, 243, 611, - 581, 515, -260, 564, 93, 331, 332, 585, 522, 363, - -170, 261, 125, 101, 10, 11, 125, 163, -170, 276, - 105, 533, 165, 367, 243, 79, 282, 235, 108, 474, - 409, 141, 411, 209, 605, 136, 568, 235, 259, 488, - 171, 228, 198, 228, 509, -147, 231, 511, 231, 291, - 430, 623, 624, 202, -229, 203, 150, 587, 589, 228, - -175, 228, 9, 204, 231, -174, 231, 228, 11, 206, - 583, 35, 231, 215, 634, 37, -259, 219, 403, 164, - 220, 223, -259, 234, 209, 112, 249, 262, 418, 228, - 47, 48, 9, 250, 231, 285, 79, 51, 273, 353, - 361, 410, -171, 286, 228, 228, 412, 622, 287, 231, - 231, 10, 11, -229, 379, 354, 369, 453, 345, -229, - 9, 479, 358, 481, 355, 356, -171, 61, 349, 614, - 519, 360, -259, 362, -171, 163, 482, 254, -259, 64, - 165, 10, 11, 364, 257, 368, 397, 243, 374, 477, - 372, 378, 266, -169, 489, 143, 506, 243, 408, 111, - 529, 414, 415, 117, 331, 332, 263, 111, 380, 10, - 11, 111, 264, 382, 146, -173, 150, -169, 228, 384, - 394, 265, 386, 231, 392, -169, 10, 11, 405, 164, - 228, 150, 480, 399, 401, 231, 413, 483, 416, -173, - 228, 432, 419, 513, 228, 231, 444, -173, 445, 231, - 446, 79, 79, 447, 448, 458, 479, 521, 481, 349, - 541, 463, 548, 254, 228, 228, 235, 453, 612, 231, - 231, 482, 479, 453, 481, 408, 561, 349, 466, 117, - 117, 117, 467, 468, 469, 163, 79, 482, 449, 470, - 165, 243, 94, 117, 485, 254, 460, 164, 255, 379, - 95, 494, 117, 490, 96, 493, 9, 256, 503, 505, - 117, 508, 10, 11, 97, 98, 510, 117, 512, 520, - 524, 226, 514, 526, 263, 527, 530, 480, 531, 9, - 264, 534, 483, 532, 228, 340, 519, 553, 563, 231, - 117, 147, 555, 480, 10, 11, 556, 99, 483, 567, - 9, 569, 9, 163, 462, 10, 11, 572, 165, 479, - 574, 481, 576, 210, 210, 277, 210, 210, 152, 153, + 385, 111, 456, 618, 111, 46, 389, 391, 128, 393, + 111, 539, 173, 164, 426, -176, 630, 400, 146, 150, + 207, 402, 205, 27, 380, 450, 133, 27, 380, 141, + 199, 417, 150, 4, 200, 437, 212, 138, 15, -175, + 18, 438, 201, 366, 9, 120, 9, -176, 9, 27, + 122, 11, 325, 5, 501, 495, 133, 390, 134, 388, + 496, 204, 507, 619, 620, 222, 651, 206, 652, 163, + 9, 457, 451, 621, 165, 617, 174, 495, 427, 28, + 208, 452, 496, 29, 102, 257, 7, 29, 134, 19, + 209, 266, 243, 10, 11, 10, 11, 10, 11, 381, + 111, -229, 20, 367, 254, 525, 111, 528, 146, 29, + 536, 164, 150, 209, 239, 461, 497, 289, 437, 10, + 11, 228, 228, 228, 486, 560, 231, 231, 231, 23, + 462, 500, 491, 502, 450, 228, -208, 150, 625, 255, + 231, 437, 648, 101, 228, -260, 636, 592, 256, 231, + -260, 164, 228, 10, 11, 9, 26, 231, 535, 228, + -229, 379, 631, 437, 231, 318, -229, 163, 578, 611, + -208, 79, 165, 637, 638, 587, 589, 349, 226, 232, + 233, 451, 228, 33, 357, 32, -172, 231, 243, 93, + 581, 515, 105, 564, -174, 331, 332, 585, 522, 363, + -260, 261, -208, 108, 10, 11, -260, 163, 136, 276, + -172, 533, 165, 198, 243, 79, 282, 235, -172, 474, + 409, 9, 411, 254, 605, 171, 568, 235, 259, 488, + -147, 228, 202, 228, 509, 203, 231, 511, 231, 291, + 430, 623, 624, -259, -175, -174, 150, 11, -259, 228, + 215, 228, 263, -170, 231, 124, 231, 228, 264, 130, + 583, 35, 231, 223, 634, 219, 37, 265, 403, 164, + 10, 11, 10, 11, 254, 112, 220, -170, 418, 228, + 47, 48, 9, 234, 231, -170, 79, 51, 125, 249, + 361, 410, 125, 285, 228, 228, 412, 622, -259, 231, + 231, 250, 209, 263, -259, 262, 369, 453, 345, 264, + 9, 479, 286, 481, 355, 356, 287, 61, 349, 614, + 519, 9, 353, 10, 11, 163, 482, 9, 354, 64, + 165, 10, 11, 358, 257, 360, 397, 243, 214, 477, + 216, 218, 266, -171, 489, 127, 506, 243, 408, 111, + 529, 414, 415, 117, 331, 332, 143, 111, 362, 10, + 11, 111, 147, 364, 146, -169, 150, -171, 228, 368, + 10, 11, -173, 231, 372, -171, 10, 11, 374, 164, + 228, 150, 480, 378, 380, 231, 384, 483, 382, -169, + 228, 386, 432, 513, 228, 231, -173, -169, 392, 231, + 394, 79, 79, 399, -173, 401, 479, 521, 481, 349, + 541, 405, 548, 9, 228, 228, 235, 453, 612, 231, + 231, 482, 479, 453, 481, 408, 561, 349, 413, 117, + 117, 117, 416, 419, 444, 163, 79, 482, 449, 445, + 165, 243, 94, 117, 446, 9, 460, 164, 172, 447, + 95, 494, 117, 448, 96, 9, 458, 463, 466, 508, + 117, 467, 10, 11, 97, 98, 468, 117, 469, 470, + 485, 226, 514, 490, 379, 493, 503, 480, 510, 9, + 505, 273, 483, 512, 228, 520, 519, 530, 526, 231, + 117, 277, 524, 480, 10, 11, 531, 99, 483, 532, + 9, 527, 254, 163, 10, 11, 534, 340, 165, 479, + 553, 481, 555, 210, 210, 288, 210, 210, 152, 153, 154, 155, 156, 157, 482, 166, 167, 228, 10, 11, - 577, 580, 231, 590, 243, 172, 537, 582, 288, 117, - 79, 117, 544, 547, 529, 552, 9, 150, 593, 10, - 11, 10, 11, 591, 557, 254, 559, 117, 594, 117, - 349, -151, 541, 595, -152, 117, 548, 453, 596, 597, - 601, 349, 349, 164, 600, 598, 479, 228, 481, 602, - 480, 317, 231, 604, 584, 483, 606, 117, 613, 615, - 255, 482, 626, 628, 629, 10, 11, 177, 137, 117, - 639, 437, 117, 117, 10, 11, 644, 185, 645, 106, - 160, 189, 646, 169, 647, 66, 194, 195, 196, 197, - 627, 152, 156, 579, 640, 487, 641, 272, 370, 163, - 344, 404, 588, 37, 165, 123, 344, 344, 284, 371, - 352, 37, 504, 112, 475, 599, 492, 480, 47, 48, - 9, 112, 483, 603, 91, 51, 47, 48, 9, 573, - 538, 635, 224, 51, 562, 632, 442, 443, 351, 558, - 224, 0, 0, 0, 0, 0, 117, 0, 0, 114, - 0, 0, 0, 0, 0, 225, 0, 114, 117, 0, - 117, 280, 0, 225, 544, 633, 177, 64, 117, 10, - 11, 281, 117, 0, 0, 64, 185, 10, 11, 396, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 0, + 556, 462, 231, 563, 243, 317, 537, 255, 569, 117, + 79, 117, 544, 547, 529, 552, 567, 150, 572, 10, + 11, 10, 11, 574, 557, 576, 559, 117, 577, 117, + 349, 580, 541, 590, 582, 117, 548, 453, 591, 593, + 594, 349, 349, 164, -151, 595, 479, 228, 481, -152, + 480, 596, 231, 597, 584, 483, 177, 117, 601, 598, + 600, 482, 602, 604, 606, 615, 185, 613, 137, 117, + 189, 626, 117, 117, 628, 194, 195, 196, 197, 629, + 160, 639, 437, 169, 644, 645, 646, 647, 106, 66, + 640, 152, 156, 627, 579, 272, 487, 641, 588, 163, + 344, 370, 404, 123, 165, 371, 344, 344, 504, 284, + 37, 352, 91, 492, 475, 599, 442, 480, 573, 112, + 538, 334, 483, 603, 47, 48, 9, 443, 562, 635, + 335, 51, 0, 632, 558, 336, 337, 338, 224, 351, + 0, 0, 339, 0, 0, 0, 117, 0, 0, 340, + 0, 0, 0, 0, 0, 114, 0, 0, 117, 0, + 117, 225, 0, 0, 544, 633, 341, 280, 117, 0, + 0, 0, 117, 64, 0, 10, 11, 281, 342, 0, + 0, 0, 0, 0, 343, 0, 0, 11, 0, 0, 0, 0, 117, 117, 292, 293, 294, 295, 0, 296, 297, 298, 0, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 160, 0, - 319, 0, 322, 344, 0, 0, 137, 137, 333, 0, - 344, 334, 0, 0, 0, 459, 0, 0, 344, 0, - 175, 335, 0, 0, -269, 0, 336, 337, 338, 0, - 0, 0, 0, 339, 0, 117, 0, 0, 0, 0, - 340, 0, 117, 0, 0, 0, 0, 0, 0, 176, - 177, 117, 178, 179, 180, 181, 182, 341, 183, 184, + 319, 0, 322, 344, 0, 0, 137, 137, 333, 177, + 344, 0, 0, 0, 0, 0, 0, 0, 344, 185, + 175, -269, 0, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 0, 0, 0, 117, 0, 0, 0, 0, + 0, 0, 117, 0, 0, 0, 0, 0, 0, 176, + 177, 117, 178, 179, 180, 181, 182, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 0, 0, 343, 0, 0, 11, 137, + 195, 196, 197, 0, 0, 0, 0, 0, 0, 137, 0, -269, 0, 0, 0, 117, 0, 0, 0, 137, 0, -269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, 0, 0, 421, 0, 542, 344, 160, 344, 0, 0, - 0, 0, 421, 0, -2, 34, 344, 35, 344, 36, - 0, 37, 0, 38, 39, 117, 0, 40, 117, 41, + 0, 0, 421, 0, -2, 34, 344, 35, 344, 0, + 36, 0, 37, 38, 39, 117, 0, 40, 117, 41, 42, 43, 44, 45, 46, 0, 47, 48, 9, 0, 0, 49, 50, 51, 52, 53, 54, 0, 0, 0, 55, 0, 0, 0, 0, 137, 137, 0, 0, 0, 0, 0, 0, 56, 57, 0, 58, 59, 0, 0, - 60, 0, 0, 61, 0, 0, -24, 0, 35, 0, - 0, 0, 37, 62, 63, 64, 168, 10, 11, 0, - 0, 0, 112, 0, 137, 117, 0, 47, 48, 9, - 0, 0, 0, 0, 51, 0, 0, 344, 137, 0, - 0, 55, 0, 0, 0, 344, 160, 0, 0, 0, - 0, 169, 344, 0, 56, 57, 0, 58, 59, 0, - 0, 60, 0, 0, 61, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62, 63, 64, 0, 10, 11, - 0, 0, 0, 344, 0, 0, 542, 344, 0, 0, - 0, 565, 566, 0, 0, 0, 0, 0, 0, 0, - 0, 324, 0, 35, 0, 36, -244, 37, 0, 38, + 60, 0, 0, 61, 0, 0, -24, 0, 0, 0, + 0, 0, 0, 62, 63, 64, 0, 10, 11, 0, + 0, 0, 0, 0, 137, 117, 0, 0, 35, 0, + 0, 0, 0, 37, 0, 0, 168, 344, 137, 0, + 0, 0, 112, 0, 0, 344, 160, 47, 48, 9, + 0, 169, 344, 0, 51, 0, 0, 0, 0, 0, + 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 57, 0, 58, 59, 0, + 0, 60, 0, 344, 61, 0, 542, 344, 0, 0, + 0, 565, 566, 0, 62, 63, 64, 0, 10, 11, + 0, 324, 0, 35, 0, 0, 36, -244, 37, 38, 39, 0, -244, 40, 160, 41, 42, 112, 44, 45, 46, 0, 47, 48, 9, 0, 0, 49, 50, 51, 52, 53, 54, 344, 421, 344, 55, 0, 0, 0, 0, 421, 586, 421, 0, 0, 0, 0, 0, 56, 57, 0, 58, 59, 0, 0, 60, 0, 0, 61, 0, 0, -244, 0, 0, 0, 0, 325, -244, 62, - 63, 64, 0, 10, 11, 324, 0, 35, 0, 36, - 0, 37, 0, 38, 39, 0, 0, 40, 0, 41, + 63, 64, 0, 10, 11, 324, 0, 35, 0, 0, + 36, 0, 37, 38, 39, 0, 0, 40, 0, 41, 42, 112, 44, 45, 46, 0, 47, 48, 9, 0, 0, 49, 50, 51, 52, 53, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 57, 0, 58, 59, 0, 0, - 60, 0, 0, 61, 0, 35, -244, 642, 643, 37, - 160, 325, -244, 62, 63, 64, 0, 10, 11, 112, - 334, 0, 0, 0, 47, 48, 9, 0, 0, 0, - 335, 51, 0, 0, 0, 336, 337, 338, 158, 0, - 0, 0, 339, 0, 0, 0, 0, 0, 0, 340, - 0, 56, 57, 0, 58, 159, 0, 0, 60, 0, - 35, 61, 314, 0, 37, 0, 341, 0, 0, 0, - 0, 62, 63, 64, 112, 10, 11, 0, 342, 47, - 48, 9, 0, 0, 343, 0, 51, 11, 0, 0, - 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 56, 57, 0, 58, - 59, 0, 0, 60, 0, 35, 61, 0, 0, 37, - 0, 0, 0, 0, 420, 0, 62, 63, 64, 112, - 10, 11, 0, 0, 47, 48, 9, 0, 0, 0, - 0, 51, 0, 429, 0, 0, 0, 0, 158, 0, + 60, 0, 0, 61, 0, 0, -244, 642, 643, 0, + 160, 325, -244, 62, 63, 64, 35, 10, 11, 0, + 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, + 112, 0, 334, 0, 0, 47, 48, 9, 0, 0, + 0, 335, 51, 0, 0, 0, 336, 337, 338, 158, + 0, 0, 0, 339, 0, 0, 0, 0, 0, 0, + 340, 0, 56, 57, 0, 58, 159, 0, 0, 60, + 0, 35, 61, 314, 0, 0, 37, 341, 0, 0, + 0, 0, 62, 63, 64, 112, 10, 11, 0, 0, + 47, 48, 9, 0, 0, 343, 0, 51, 11, 0, + 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 56, 57, 0, + 58, 59, 0, 0, 60, 0, 35, 61, 0, 0, + 0, 37, 0, 0, 0, 420, 0, 62, 63, 64, + 112, 10, 11, 0, 0, 47, 48, 9, 0, 0, + 0, 0, 51, 0, 429, 0, 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 56, 57, 0, 58, 159, 0, 0, 60, 0, - 35, 61, 0, 0, 37, 0, 0, 0, 0, 0, - 0, 62, 63, 64, 112, 10, 11, 0, 0, 47, - 48, 9, 0, 472, 0, 0, 51, 0, 0, 0, - 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 56, 57, 0, 58, - 59, 0, 0, 60, 0, 35, 61, 0, 0, 37, - 0, 0, 0, 0, 0, 0, 62, 63, 64, 112, - 10, 11, 0, 0, 47, 48, 9, 0, 473, 0, - 0, 51, 0, 0, 0, 0, 0, 0, 55, 0, + 0, 0, 56, 57, 0, 58, 159, 0, 0, 60, + 0, 35, 61, 0, 0, 0, 37, 0, 0, 0, + 0, 0, 62, 63, 64, 112, 10, 11, 0, 0, + 47, 48, 9, 0, 472, 0, 0, 51, 0, 0, + 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 56, 57, 0, + 58, 59, 0, 0, 60, 0, 35, 61, 0, 0, + 0, 37, 0, 0, 0, 0, 0, 62, 63, 64, + 112, 10, 11, 0, 0, 47, 48, 9, 0, 473, + 0, 0, 51, 0, 0, 0, 0, 0, 0, 55, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, + 0, 0, 56, 57, 37, 58, 59, 0, 0, 60, + 0, 0, 61, 112, 0, 0, 0, 0, 47, 48, + 9, 0, 62, 63, 64, 51, 10, 11, 0, 0, + 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 35, 0, 0, 56, 57, 37, 58, 59, + 0, 0, 60, 0, 0, 61, 112, 0, 0, 0, + 0, 47, 48, 9, 0, 62, 63, 64, 51, 10, + 11, 0, 0, 0, 0, 158, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 35, 0, 0, 56, 57, + 283, 58, 159, 0, 0, 60, 0, 0, 61, 112, + 0, 0, 0, 0, 47, 48, 9, 0, 62, 63, + 64, 51, 10, 11, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 56, 57, 0, 58, 59, 0, 0, 60, 0, - 35, 61, 0, 0, 37, 0, 0, 0, 0, 0, - 0, 62, 63, 64, 112, 10, 11, 0, 0, 47, - 48, 9, 0, 0, 0, 0, 51, 0, 0, 0, - 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 56, 57, 0, 58, - 59, 0, 0, 60, 0, 35, 61, 0, 0, 37, - 0, 0, 0, 0, 0, 0, 62, 63, 64, 112, - 10, 11, 0, 0, 47, 48, 9, 0, 0, 0, - 0, 51, 0, 0, 0, 0, 0, 0, 158, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 56, 57, 0, 58, 159, 0, 0, 60, 0, - 35, 61, 0, 0, 283, 0, 0, 0, 0, 0, - 0, 62, 63, 64, 112, 10, 11, 0, 0, 47, - 48, 9, 0, 0, 0, 0, 51, 0, 0, 0, - 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 56, 57, 0, 58, - 59, 0, 0, 60, 0, 0, 61, 0, 0, 37, - 0, 0, 0, 0, 0, 0, 62, 63, 64, 112, - 10, 11, 0, 0, 47, 48, 9, 0, 0, 0, - 0, 51, 0, 0, 0, 37, 0, 0, 224, 241, - 0, 0, 0, 37, 0, 112, 0, 0, 0, 0, - 47, 48, 9, 112, 0, 114, 0, 51, 47, 48, - 9, 225, 0, 0, 224, 51, 0, 290, 37, 0, - 0, 0, 113, 64, 0, 10, 11, 281, 112, 0, - 0, 114, 0, 47, 48, 9, 0, 225, 0, 114, - 51, 0, 0, 0, 0, 115, 37, 224, 0, 64, - 0, 10, 11, 0, 0, 0, 112, 64, 0, 10, - 11, 47, 48, 9, 114, 0, 0, 0, 51, 0, - 225, 37, 0, 0, 0, 406, 0, 0, 0, 283, - 0, 112, 64, 0, 10, 11, 47, 48, 9, 112, - 0, 0, 114, 51, 47, 48, 9, 0, 407, 0, - 224, 51, 0, 0, 334, 0, 0, 0, 224, 0, - 64, 0, 10, 11, 335, 0, 0, 114, 0, 336, - 337, 338, 0, 476, 0, 114, 339, 0, 0, 0, - 0, 225, 334, 439, 0, 64, 0, 10, 11, 0, - 0, 0, 335, 64, 0, 10, 11, 336, 337, 540, - 341, 0, 0, 0, 339, 0, 440, 334, 0, 0, - 0, 340, 0, 0, 0, 334, 0, 335, 343, 0, - 0, 11, 336, 337, 338, 335, 0, 0, 341, 339, - 336, 337, 338, 0, 0, 0, 340, 339, 0, 0, - 0, 0, 0, 0, 340, 0, 343, 0, 10, 11, - 0, 0, 0, 341, 0, 0, 0, 0, 0, 607, - 0, 341, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 343, 0, 0, 11, 0, 0, 0, 0, 343, - 176, 177, 11, 178, 0, 180, 181, 182, 0, 0, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 0, 0, 0, 0, 0, 0, - 176, 177, 0, 178, 0, 180, 181, 182, 0, 431, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 176, 177, 0, 178, 0, 180, - 181, 182, 0, 523, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 176, 177, - 0, 178, 0, 180, 181, 182, 0, 649, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 176, 177, 0, 178, 0, 180, 181, 182, - 0, 650, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 0, 176, 177, 434, - 178, 0, 180, 181, 182, 0, 0, 184, 185, 186, + 0, 56, 57, 37, 58, 59, 0, 0, 60, 0, + 0, 61, 112, 0, 0, 0, 0, 47, 48, 9, + 0, 62, 63, 64, 51, 10, 11, 0, 37, 0, + 0, 224, 0, 0, 0, 0, 37, 112, 0, 241, + 0, 0, 47, 48, 9, 112, 0, 0, 114, 51, + 47, 48, 9, 0, 225, 0, 224, 51, 0, 0, + 290, 0, 37, 0, 224, 0, 64, 0, 10, 11, + 281, 112, 0, 114, 0, 0, 47, 48, 9, 225, + 0, 114, 0, 51, 0, 0, 0, 225, 0, 37, + 113, 64, 0, 10, 11, 396, 0, 0, 112, 64, + 0, 10, 11, 47, 48, 9, 0, 114, 0, 0, + 51, 0, 0, 115, 0, 37, 0, 224, 0, 0, + 0, 0, 0, 37, 112, 64, 0, 10, 11, 47, + 48, 9, 112, 0, 114, 0, 51, 47, 48, 9, + 225, 0, 0, 406, 51, 0, 0, 0, 283, 0, + 0, 224, 64, 0, 10, 11, 334, 112, 0, 0, + 114, 0, 47, 48, 9, 335, 407, 0, 114, 51, + 336, 337, 338, 0, 476, 0, 224, 339, 64, 0, + 10, 11, 334, 0, 439, 459, 64, 0, 10, 11, + 0, 335, 0, 114, 0, 0, 336, 337, 338, 225, + 0, 341, 0, 339, 0, 0, 0, 440, 0, 334, + 340, 64, 0, 10, 11, 0, 0, 0, 335, 343, + 0, 0, 11, 336, 337, 540, 0, 341, 0, 0, + 339, 0, 0, 0, 0, 334, 0, 340, 0, 0, + 0, 0, 0, 0, 335, 343, 0, 0, 11, 336, + 337, 338, 0, 0, 341, 0, 339, 0, 0, 0, + 0, 0, 0, 340, 0, 0, 0, 0, 0, 0, + 0, 0, 343, 177, 10, 11, 0, 180, 181, 182, + 341, 0, 184, 185, 186, 187, 607, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 0, 0, 343, 176, + 177, 11, 178, 0, 180, 181, 182, 0, 0, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 0, 0, 0, 0, 0, 0, 176, + 177, 0, 178, 0, 180, 181, 182, 0, 431, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 176, 177, 0, 178, 0, 180, 181, + 182, 0, 523, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 176, 177, 0, + 178, 0, 180, 181, 182, 0, 649, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 176, 177, 0, 0, 0, 180, 181, 182, 0, - 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 176, 177, 0, 0, 0, - 180, 181, 182, 0, 0, 184, 185, 186, 187, 0, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 177, - 0, 0, 0, 180, 181, 182, 0, 0, 184, 185, - 186, 187, 0, 189, 190, 191, 192, 193, 194, 195, - 196, 197 + 197, 176, 177, 0, 178, 0, 180, 181, 182, 0, + 650, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 0, 176, 177, 434, 178, + 0, 180, 181, 182, 0, 0, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 176, 177, 0, 0, 0, 180, 181, 182, 0, 0, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 176, 177, 0, 0, 0, 180, + 181, 182, 0, 0, 184, 185, 186, 187, 0, 189, + 190, 191, 192, 193, 194, 195, 196, 197 }; #define yypact_value_is_default(yystate) \ - ((yystate) == (-551)) + ((yystate) == (-549)) #define yytable_value_is_error(yytable_value) \ YYID (0) @@ -1270,217 +1266,213 @@ static const yytype_int16 yycheck[] = 5, 67, 250, 223, 37, 126, 37, 126, 143, 135, 201, 132, 204, 147, 61, 20, 36, 22, 485, 39, 31, 142, 28, 28, 321, 45, 452, 316, 323, 249, - 258, 36, 3, 11, 39, 24, 263, 264, 43, 267, - 45, 444, 67, 61, 594, 35, 0, 275, 53, 54, - 6, 279, 1, 3, 1, 3, 12, 3, 24, 35, - 59, 289, 67, 95, 63, 97, 98, 49, 3, 59, - 59, 35, 71, 25, 24, 37, 24, 67, 24, 3, - 37, 6, 24, 59, 389, 40, 35, 12, 35, 44, - 24, 67, 397, 59, 644, 106, 646, 75, 20, 61, - 24, 72, 50, 67, 61, 572, 172, 73, 74, 59, - 59, 59, 68, 63, 60, 135, 8, 63, 67, 53, - 67, 141, 127, 73, 74, 73, 74, 73, 74, 255, - 135, 73, 74, 8, 62, 424, 141, 426, 143, 63, - 437, 159, 147, 68, 126, 67, 25, 172, 62, 73, + 258, 36, 3, 5, 39, 20, 263, 264, 43, 267, + 45, 444, 67, 61, 11, 35, 594, 275, 53, 54, + 5, 279, 1, 3, 24, 3, 35, 3, 24, 51, + 59, 289, 67, 0, 63, 62, 59, 49, 24, 59, + 3, 68, 71, 5, 24, 37, 24, 67, 24, 3, + 37, 74, 67, 25, 389, 7, 35, 53, 67, 59, + 12, 83, 397, 65, 66, 106, 644, 89, 646, 61, + 24, 72, 50, 75, 61, 572, 172, 7, 75, 59, + 65, 59, 12, 63, 60, 135, 25, 63, 67, 62, + 75, 141, 127, 73, 74, 73, 74, 73, 74, 255, + 135, 3, 21, 65, 24, 424, 141, 426, 143, 63, + 437, 159, 147, 75, 126, 60, 68, 172, 62, 73, 74, 113, 114, 115, 68, 460, 113, 114, 115, 24, - 6, 388, 382, 390, 3, 127, 12, 172, 21, 59, - 127, 62, 639, 65, 136, 63, 602, 68, 60, 136, - 24, 199, 144, 75, 74, 24, 8, 144, 436, 151, - 65, 66, 595, 75, 151, 200, 62, 159, 503, 62, - 75, 206, 159, 606, 607, 68, 35, 212, 113, 114, - 115, 50, 174, 62, 220, 220, 62, 174, 223, 68, - 515, 413, 68, 471, 62, 207, 208, 522, 420, 234, - 59, 136, 40, 24, 73, 74, 44, 199, 67, 144, - 3, 432, 199, 65, 249, 250, 151, 368, 3, 368, - 283, 51, 283, 75, 559, 71, 476, 378, 384, 378, - 62, 223, 67, 225, 399, 66, 223, 401, 225, 174, - 317, 576, 577, 66, 3, 59, 281, 523, 524, 241, - 59, 243, 24, 83, 241, 59, 243, 249, 74, 89, - 518, 3, 249, 24, 599, 7, 6, 64, 280, 317, - 62, 59, 12, 63, 75, 17, 59, 35, 290, 271, - 22, 23, 24, 67, 271, 60, 321, 29, 60, 59, - 225, 283, 35, 72, 286, 287, 283, 575, 72, 286, - 287, 73, 74, 62, 63, 3, 241, 342, 211, 68, - 24, 374, 60, 374, 217, 218, 59, 59, 353, 569, - 416, 7, 62, 60, 67, 317, 374, 24, 68, 71, - 317, 73, 74, 35, 384, 62, 271, 372, 60, 374, - 75, 62, 392, 35, 379, 59, 396, 382, 283, 384, - 427, 286, 287, 37, 366, 367, 53, 392, 24, 73, - 74, 396, 59, 59, 399, 35, 401, 59, 360, 62, - 3, 68, 72, 360, 62, 67, 73, 74, 65, 427, - 372, 416, 374, 62, 62, 372, 67, 374, 62, 59, - 382, 66, 65, 405, 386, 382, 59, 67, 67, 386, - 71, 436, 437, 67, 7, 65, 469, 419, 469, 444, - 445, 62, 447, 24, 406, 407, 567, 452, 567, 406, - 407, 469, 485, 458, 485, 360, 461, 462, 62, 113, - 114, 115, 62, 62, 60, 427, 471, 485, 341, 60, - 427, 476, 9, 127, 60, 24, 349, 495, 59, 63, - 17, 386, 136, 60, 21, 68, 24, 68, 60, 68, - 144, 35, 73, 74, 31, 32, 60, 151, 60, 60, - 75, 406, 407, 68, 53, 75, 60, 469, 60, 24, - 59, 68, 469, 60, 476, 36, 582, 3, 60, 476, - 174, 59, 62, 485, 73, 74, 72, 64, 485, 62, - 24, 59, 24, 495, 75, 73, 74, 60, 495, 572, - 66, 572, 60, 94, 95, 60, 97, 98, 55, 56, + 75, 388, 382, 390, 3, 127, 1, 172, 68, 59, + 127, 62, 639, 24, 136, 7, 602, 68, 68, 136, + 12, 199, 144, 73, 74, 24, 63, 144, 436, 151, + 62, 63, 595, 62, 151, 200, 68, 159, 503, 68, + 35, 206, 159, 606, 607, 523, 524, 212, 113, 114, + 115, 50, 174, 62, 220, 220, 35, 174, 223, 62, + 515, 413, 3, 471, 59, 207, 208, 522, 420, 234, + 62, 136, 67, 3, 73, 74, 68, 199, 71, 144, + 59, 432, 199, 67, 249, 250, 151, 368, 67, 368, + 283, 24, 283, 24, 559, 62, 476, 378, 384, 378, + 66, 223, 66, 225, 399, 59, 223, 401, 225, 174, + 317, 576, 577, 7, 59, 59, 281, 74, 12, 241, + 24, 243, 53, 35, 241, 40, 243, 249, 59, 44, + 518, 3, 249, 59, 599, 64, 8, 68, 280, 317, + 73, 74, 73, 74, 24, 17, 62, 59, 290, 271, + 22, 23, 24, 63, 271, 67, 321, 29, 40, 59, + 225, 283, 44, 60, 286, 287, 283, 575, 62, 286, + 287, 67, 75, 53, 68, 35, 241, 342, 211, 59, + 24, 374, 72, 374, 217, 218, 72, 59, 353, 569, + 416, 24, 59, 73, 74, 317, 374, 24, 3, 71, + 317, 73, 74, 60, 384, 8, 271, 372, 95, 374, + 97, 98, 392, 35, 379, 59, 396, 382, 283, 384, + 427, 286, 287, 37, 366, 367, 59, 392, 60, 73, + 74, 396, 59, 35, 399, 35, 401, 59, 360, 62, + 73, 74, 35, 360, 75, 67, 73, 74, 60, 427, + 372, 416, 374, 62, 24, 372, 62, 374, 59, 59, + 382, 72, 66, 405, 386, 382, 59, 67, 62, 386, + 3, 436, 437, 62, 67, 62, 469, 419, 469, 444, + 445, 65, 447, 24, 406, 407, 567, 452, 567, 406, + 407, 469, 485, 458, 485, 360, 461, 462, 67, 113, + 114, 115, 62, 65, 59, 427, 471, 485, 341, 67, + 427, 476, 9, 127, 71, 24, 349, 495, 59, 67, + 17, 386, 136, 8, 21, 24, 65, 62, 62, 35, + 144, 62, 73, 74, 31, 32, 62, 151, 60, 60, + 60, 406, 407, 60, 63, 68, 60, 469, 60, 24, + 68, 60, 469, 60, 476, 60, 582, 60, 68, 476, + 174, 60, 75, 485, 73, 74, 60, 64, 485, 60, + 24, 75, 24, 495, 73, 74, 68, 36, 495, 572, + 3, 572, 62, 94, 95, 60, 97, 98, 55, 56, 57, 58, 59, 60, 572, 62, 63, 519, 73, 74, - 60, 60, 519, 60, 569, 59, 439, 62, 60, 223, - 575, 225, 445, 446, 621, 448, 24, 582, 60, 73, - 74, 73, 74, 72, 457, 24, 459, 241, 60, 243, - 595, 59, 597, 59, 59, 249, 601, 602, 68, 62, - 62, 606, 607, 621, 68, 72, 639, 569, 639, 49, - 572, 59, 569, 62, 519, 572, 59, 271, 60, 14, - 59, 639, 68, 60, 68, 73, 74, 34, 49, 283, - 60, 62, 286, 287, 73, 74, 60, 44, 60, 31, - 61, 48, 60, 64, 60, 22, 53, 54, 55, 56, - 582, 158, 159, 508, 615, 377, 615, 142, 243, 621, - 211, 281, 524, 7, 621, 39, 217, 218, 159, 243, - 213, 7, 392, 17, 372, 548, 384, 639, 22, 23, - 24, 17, 639, 556, 22, 29, 22, 23, 24, 495, - 440, 601, 36, 29, 462, 597, 334, 334, 212, 458, - 36, -1, -1, -1, -1, -1, 360, -1, -1, 53, - -1, -1, -1, -1, -1, 59, -1, 53, 372, -1, - 374, 65, -1, 59, 597, 598, 34, 71, 382, 73, - 74, 75, 386, -1, -1, 71, 44, 73, 74, 75, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 72, 75, 519, 60, 569, 59, 439, 59, 59, 223, + 575, 225, 445, 446, 621, 448, 62, 582, 60, 73, + 74, 73, 74, 66, 457, 60, 459, 241, 60, 243, + 595, 60, 597, 60, 62, 249, 601, 602, 72, 60, + 60, 606, 607, 621, 59, 59, 639, 569, 639, 59, + 572, 68, 569, 62, 519, 572, 34, 271, 62, 72, + 68, 639, 49, 62, 59, 14, 44, 60, 49, 283, + 48, 68, 286, 287, 60, 53, 54, 55, 56, 68, + 61, 60, 62, 64, 60, 60, 60, 60, 31, 22, + 615, 158, 159, 582, 508, 142, 377, 615, 524, 621, + 211, 243, 281, 39, 621, 243, 217, 218, 392, 159, + 8, 213, 22, 384, 372, 548, 334, 639, 495, 17, + 440, 8, 639, 556, 22, 23, 24, 334, 462, 601, + 17, 29, -1, 597, 458, 22, 23, 24, 36, 212, + -1, -1, 29, -1, -1, -1, 360, -1, -1, 36, + -1, -1, -1, -1, -1, 53, -1, -1, 372, -1, + 374, 59, -1, -1, 597, 598, 53, 65, 382, -1, + -1, -1, 386, 71, -1, 73, 74, 75, 65, -1, + -1, -1, -1, -1, 71, -1, -1, 74, -1, -1, -1, -1, 406, 407, 175, 176, 177, 178, -1, 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, -1, 199, -1, - 201, -1, 203, 334, -1, -1, 207, 208, 209, -1, - 341, 7, -1, -1, -1, 11, -1, -1, 349, -1, - 4, 17, -1, -1, 8, -1, 22, 23, 24, -1, - -1, -1, -1, 29, -1, 469, -1, -1, -1, -1, - 36, -1, 476, -1, -1, -1, -1, -1, -1, 33, - 34, 485, 36, 37, 38, 39, 40, 53, 42, 43, + 201, -1, 203, 334, -1, -1, 207, 208, 209, 34, + 341, -1, -1, -1, -1, -1, -1, -1, 349, 44, + 4, 5, -1, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, -1, -1, 469, -1, -1, -1, -1, + -1, -1, 476, -1, -1, -1, -1, -1, -1, 33, + 34, 485, 36, 37, 38, 39, 40, -1, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, -1, 71, -1, -1, 74, 280, + 54, 55, 56, -1, -1, -1, -1, -1, -1, 280, -1, 65, -1, -1, -1, 519, -1, -1, -1, 290, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 439, -1, -1, -1, 313, -1, 445, 446, 317, 448, -1, -1, - -1, -1, 323, -1, 0, 1, 457, 3, 459, 5, - -1, 7, -1, 9, 10, 569, -1, 13, 572, 15, + -1, -1, 323, -1, 0, 1, 457, 3, 459, -1, + 6, -1, 8, 9, 10, 569, -1, 13, 572, 15, 16, 17, 18, 19, 20, -1, 22, 23, 24, -1, -1, 27, 28, 29, 30, 31, 32, -1, -1, -1, 36, -1, -1, -1, -1, 366, 367, -1, -1, -1, -1, -1, -1, 49, 50, -1, 52, 53, -1, -1, - 56, -1, -1, 59, -1, -1, 62, -1, 3, -1, - -1, -1, 7, 69, 70, 71, 11, 73, 74, -1, - -1, -1, 17, -1, 405, 639, -1, 22, 23, 24, - -1, -1, -1, -1, 29, -1, -1, 548, 419, -1, - -1, 36, -1, -1, -1, 556, 427, -1, -1, -1, - -1, 432, 563, -1, 49, 50, -1, 52, 53, -1, - -1, 56, -1, -1, 59, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 69, 70, 71, -1, 73, 74, - -1, -1, -1, 594, -1, -1, 597, 598, -1, -1, - -1, 472, 473, -1, -1, -1, -1, -1, -1, -1, - -1, 1, -1, 3, -1, 5, 6, 7, -1, 9, + 56, -1, -1, 59, -1, -1, 62, -1, -1, -1, + -1, -1, -1, 69, 70, 71, -1, 73, 74, -1, + -1, -1, -1, -1, 405, 639, -1, -1, 3, -1, + -1, -1, -1, 8, -1, -1, 11, 548, 419, -1, + -1, -1, 17, -1, -1, 556, 427, 22, 23, 24, + -1, 432, 563, -1, 29, -1, -1, -1, -1, -1, + -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 49, 50, -1, 52, 53, -1, + -1, 56, -1, 594, 59, -1, 597, 598, -1, -1, + -1, 472, 473, -1, 69, 70, 71, -1, 73, 74, + -1, 1, -1, 3, -1, -1, 6, 7, 8, 9, 10, -1, 12, 13, 495, 15, 16, 17, 18, 19, 20, -1, 22, 23, 24, -1, -1, 27, 28, 29, 30, 31, 32, 644, 515, 646, 36, -1, -1, -1, -1, 522, 523, 524, -1, -1, -1, -1, -1, 49, 50, -1, 52, 53, -1, -1, 56, -1, -1, 59, -1, -1, 62, -1, -1, -1, -1, 67, 68, 69, - 70, 71, -1, 73, 74, 1, -1, 3, -1, 5, - -1, 7, -1, 9, 10, -1, -1, 13, -1, 15, + 70, 71, -1, 73, 74, 1, -1, 3, -1, -1, + 6, -1, 8, 9, 10, -1, -1, 13, -1, 15, 16, 17, 18, 19, 20, -1, 22, 23, 24, -1, -1, 27, 28, 29, 30, 31, 32, -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 49, 50, -1, 52, 53, -1, -1, - 56, -1, -1, 59, -1, 3, 62, 618, 619, 7, - 621, 67, 68, 69, 70, 71, -1, 73, 74, 17, - 7, -1, -1, -1, 22, 23, 24, -1, -1, -1, - 17, 29, -1, -1, -1, 22, 23, 24, 36, -1, + 56, -1, -1, 59, -1, -1, 62, 618, 619, -1, + 621, 67, 68, 69, 70, 71, 3, 73, 74, -1, + -1, 8, -1, -1, -1, -1, -1, -1, -1, -1, + 17, -1, 8, -1, -1, 22, 23, 24, -1, -1, + -1, 17, 29, -1, -1, -1, 22, 23, 24, 36, + -1, -1, -1, 29, -1, -1, -1, -1, -1, -1, + 36, -1, 49, 50, -1, 52, 53, -1, -1, 56, + -1, 3, 59, 60, -1, -1, 8, 53, -1, -1, + -1, -1, 69, 70, 71, 17, 73, 74, -1, -1, + 22, 23, 24, -1, -1, 71, -1, 29, 74, -1, + -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 49, 50, -1, + 52, 53, -1, -1, 56, -1, 3, 59, -1, -1, + -1, 8, -1, -1, -1, 67, -1, 69, 70, 71, + 17, 73, 74, -1, -1, 22, 23, 24, -1, -1, + -1, -1, 29, -1, 31, -1, -1, -1, -1, 36, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 49, 50, -1, 52, 53, -1, -1, 56, + -1, 3, 59, -1, -1, -1, 8, -1, -1, -1, + -1, -1, 69, 70, 71, 17, 73, 74, -1, -1, + 22, 23, 24, -1, 26, -1, -1, 29, -1, -1, + -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 49, 50, -1, + 52, 53, -1, -1, 56, -1, 3, 59, -1, -1, + -1, 8, -1, -1, -1, -1, -1, 69, 70, 71, + 17, 73, 74, -1, -1, 22, 23, 24, -1, 26, -1, -1, 29, -1, -1, -1, -1, -1, -1, 36, - -1, 49, 50, -1, 52, 53, -1, -1, 56, -1, - 3, 59, 60, -1, 7, -1, 53, -1, -1, -1, - -1, 69, 70, 71, 17, 73, 74, -1, 65, 22, - 23, 24, -1, -1, 71, -1, 29, 74, -1, -1, - -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 49, 50, -1, 52, - 53, -1, -1, 56, -1, 3, 59, -1, -1, 7, - -1, -1, -1, -1, 67, -1, 69, 70, 71, 17, - 73, 74, -1, -1, 22, 23, 24, -1, -1, -1, - -1, 29, -1, 31, -1, -1, -1, -1, 36, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, + -1, -1, 49, 50, 8, 52, 53, -1, -1, 56, + -1, -1, 59, 17, -1, -1, -1, -1, 22, 23, + 24, -1, 69, 70, 71, 29, 73, 74, -1, -1, + -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3, -1, -1, 49, 50, 8, 52, 53, + -1, -1, 56, -1, -1, 59, 17, -1, -1, -1, + -1, 22, 23, 24, -1, 69, 70, 71, 29, 73, + 74, -1, -1, -1, -1, 36, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3, -1, -1, 49, 50, + 8, 52, 53, -1, -1, 56, -1, -1, 59, 17, + -1, -1, -1, -1, 22, 23, 24, -1, 69, 70, + 71, 29, 73, 74, -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 49, 50, -1, 52, 53, -1, -1, 56, -1, - 3, 59, -1, -1, 7, -1, -1, -1, -1, -1, - -1, 69, 70, 71, 17, 73, 74, -1, -1, 22, - 23, 24, -1, 26, -1, -1, 29, -1, -1, -1, + -1, 49, 50, 8, 52, 53, -1, -1, 56, -1, + -1, 59, 17, -1, -1, -1, -1, 22, 23, 24, + -1, 69, 70, 71, 29, 73, 74, -1, 8, -1, + -1, 36, -1, -1, -1, -1, 8, 17, -1, 11, + -1, -1, 22, 23, 24, 17, -1, -1, 53, 29, + 22, 23, 24, -1, 59, -1, 36, 29, -1, -1, + 65, -1, 8, -1, 36, -1, 71, -1, 73, 74, + 75, 17, -1, 53, -1, -1, 22, 23, 24, 59, + -1, 53, -1, 29, -1, -1, -1, 59, -1, 8, + 36, 71, -1, 73, 74, 75, -1, -1, 17, 71, + -1, 73, 74, 22, 23, 24, -1, 53, -1, -1, + 29, -1, -1, 59, -1, 8, -1, 36, -1, -1, + -1, -1, -1, 8, 17, 71, -1, 73, 74, 22, + 23, 24, 17, -1, 53, -1, 29, 22, 23, 24, + 59, -1, -1, 36, 29, -1, -1, -1, 8, -1, + -1, 36, 71, -1, 73, 74, 8, 17, -1, -1, + 53, -1, 22, 23, 24, 17, 59, -1, 53, 29, + 22, 23, 24, -1, 59, -1, 36, 29, 71, -1, + 73, 74, 8, -1, 36, 11, 71, -1, 73, 74, + -1, 17, -1, 53, -1, -1, 22, 23, 24, 59, + -1, 53, -1, 29, -1, -1, -1, 59, -1, 8, + 36, 71, -1, 73, 74, -1, -1, -1, 17, 71, + -1, -1, 74, 22, 23, 24, -1, 53, -1, -1, + 29, -1, -1, -1, -1, 8, -1, 36, -1, -1, + -1, -1, -1, -1, 17, 71, -1, -1, 74, 22, + 23, 24, -1, -1, 53, -1, 29, -1, -1, -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 49, 50, -1, 52, - 53, -1, -1, 56, -1, 3, 59, -1, -1, 7, - -1, -1, -1, -1, -1, -1, 69, 70, 71, 17, - 73, 74, -1, -1, 22, 23, 24, -1, 26, -1, - -1, 29, -1, -1, -1, -1, -1, -1, 36, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 49, 50, -1, 52, 53, -1, -1, 56, -1, - 3, 59, -1, -1, 7, -1, -1, -1, -1, -1, - -1, 69, 70, 71, 17, 73, 74, -1, -1, 22, - 23, 24, -1, -1, -1, -1, 29, -1, -1, -1, - -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 49, 50, -1, 52, - 53, -1, -1, 56, -1, 3, 59, -1, -1, 7, - -1, -1, -1, -1, -1, -1, 69, 70, 71, 17, - 73, 74, -1, -1, 22, 23, 24, -1, -1, -1, - -1, 29, -1, -1, -1, -1, -1, -1, 36, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 49, 50, -1, 52, 53, -1, -1, 56, -1, - 3, 59, -1, -1, 7, -1, -1, -1, -1, -1, - -1, 69, 70, 71, 17, 73, 74, -1, -1, 22, - 23, 24, -1, -1, -1, -1, 29, -1, -1, -1, - -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 49, 50, -1, 52, - 53, -1, -1, 56, -1, -1, 59, -1, -1, 7, - -1, -1, -1, -1, -1, -1, 69, 70, 71, 17, - 73, 74, -1, -1, 22, 23, 24, -1, -1, -1, - -1, 29, -1, -1, -1, 7, -1, -1, 36, 11, - -1, -1, -1, 7, -1, 17, -1, -1, -1, -1, - 22, 23, 24, 17, -1, 53, -1, 29, 22, 23, - 24, 59, -1, -1, 36, 29, -1, 65, 7, -1, - -1, -1, 36, 71, -1, 73, 74, 75, 17, -1, - -1, 53, -1, 22, 23, 24, -1, 59, -1, 53, - 29, -1, -1, -1, -1, 59, 7, 36, -1, 71, - -1, 73, 74, -1, -1, -1, 17, 71, -1, 73, - 74, 22, 23, 24, 53, -1, -1, -1, 29, -1, - 59, 7, -1, -1, -1, 36, -1, -1, -1, 7, - -1, 17, 71, -1, 73, 74, 22, 23, 24, 17, - -1, -1, 53, 29, 22, 23, 24, -1, 59, -1, - 36, 29, -1, -1, 7, -1, -1, -1, 36, -1, - 71, -1, 73, 74, 17, -1, -1, 53, -1, 22, - 23, 24, -1, 59, -1, 53, 29, -1, -1, -1, - -1, 59, 7, 36, -1, 71, -1, 73, 74, -1, - -1, -1, 17, 71, -1, 73, 74, 22, 23, 24, - 53, -1, -1, -1, 29, -1, 59, 7, -1, -1, - -1, 36, -1, -1, -1, 7, -1, 17, 71, -1, - -1, 74, 22, 23, 24, 17, -1, -1, 53, 29, - 22, 23, 24, -1, -1, -1, 36, 29, -1, -1, - -1, -1, -1, -1, 36, -1, 71, -1, 73, 74, - -1, -1, -1, 53, -1, -1, -1, -1, -1, 59, - -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 71, -1, -1, 74, -1, -1, -1, -1, 71, - 33, 34, 74, 36, -1, 38, 39, 40, -1, -1, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, -1, -1, -1, -1, -1, -1, - 33, 34, -1, 36, -1, 38, 39, 40, -1, 72, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 33, 34, -1, 36, -1, 38, - 39, 40, -1, 66, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 33, 34, - -1, 36, -1, 38, 39, 40, -1, 66, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 33, 34, -1, 36, -1, 38, 39, 40, - -1, 66, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, -1, 33, 34, 60, - 36, -1, 38, 39, 40, -1, -1, 43, 44, 45, + -1, -1, 71, 34, 73, 74, -1, 38, 39, 40, + 53, -1, 43, 44, 45, 46, 59, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, -1, 71, 33, + 34, 74, 36, -1, 38, 39, 40, -1, -1, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, -1, -1, -1, -1, -1, -1, 33, + 34, -1, 36, -1, 38, 39, 40, -1, 72, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 33, 34, -1, 36, -1, 38, 39, + 40, -1, 66, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 33, 34, -1, + 36, -1, 38, 39, 40, -1, 66, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 33, 34, -1, -1, -1, 38, 39, 40, -1, - -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 33, 34, -1, -1, -1, - 38, 39, 40, -1, -1, 43, 44, 45, 46, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 34, - -1, -1, -1, 38, 39, 40, -1, -1, 43, 44, - 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, - 55, 56 + 56, 33, 34, -1, 36, -1, 38, 39, 40, -1, + 66, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, 33, 34, 60, 36, + -1, 38, 39, 40, -1, -1, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 33, 34, -1, -1, -1, 38, 39, 40, -1, -1, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 33, 34, -1, -1, -1, 38, + 39, 40, -1, -1, 43, 44, 45, 46, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1490,7 +1482,7 @@ static const yytype_uint8 yystos[] = 0, 77, 79, 80, 0, 25, 78, 25, 86, 24, 73, 74, 137, 138, 81, 24, 88, 89, 3, 62, 21, 82, 162, 24, 87, 210, 63, 3, 59, 63, - 83, 85, 137, 62, 1, 3, 5, 7, 9, 10, + 83, 85, 137, 62, 1, 3, 6, 8, 9, 10, 13, 15, 16, 17, 18, 19, 20, 22, 23, 27, 28, 29, 30, 31, 32, 36, 49, 50, 52, 53, 56, 59, 69, 70, 71, 90, 91, 92, 98, 110, @@ -1507,7 +1499,7 @@ static const yytype_uint8 yystos[] = 188, 62, 59, 94, 181, 4, 33, 34, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 67, 59, - 63, 71, 66, 59, 133, 1, 133, 8, 65, 75, + 63, 71, 66, 59, 133, 1, 133, 5, 65, 75, 138, 196, 59, 156, 196, 24, 196, 197, 196, 64, 62, 186, 88, 59, 36, 59, 142, 148, 149, 150, 151, 157, 142, 142, 63, 98, 107, 108, 109, 182, @@ -1515,15 +1507,15 @@ static const yytype_uint8 yystos[] = 67, 158, 112, 190, 24, 59, 68, 134, 167, 169, 171, 142, 35, 53, 59, 68, 134, 166, 168, 169, 170, 180, 112, 60, 97, 165, 142, 60, 93, 163, - 65, 75, 142, 7, 143, 60, 72, 72, 60, 94, + 65, 75, 142, 8, 143, 60, 72, 72, 60, 94, 65, 142, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 127, 60, 131, 183, 59, 137, 123, 188, 178, 123, 127, 1, 67, 91, 100, 176, 177, - 179, 182, 182, 123, 7, 17, 22, 23, 24, 29, + 179, 182, 182, 123, 8, 17, 22, 23, 24, 29, 36, 53, 65, 71, 138, 198, 200, 201, 202, 137, 203, 211, 158, 59, 3, 198, 198, 83, 60, 175, - 7, 142, 60, 137, 35, 105, 8, 65, 62, 142, + 8, 142, 60, 137, 35, 105, 5, 65, 62, 142, 132, 141, 75, 187, 60, 175, 179, 115, 62, 63, 24, 169, 59, 172, 62, 186, 72, 104, 59, 170, 53, 170, 62, 186, 3, 194, 75, 142, 120, 62, @@ -1531,12 +1523,12 @@ static const yytype_uint8 yystos[] = 149, 150, 157, 67, 142, 142, 62, 186, 182, 65, 67, 123, 128, 129, 184, 185, 11, 75, 187, 31, 131, 72, 66, 176, 60, 185, 101, 62, 68, 36, - 59, 199, 200, 202, 59, 67, 71, 67, 7, 198, + 59, 199, 200, 202, 59, 67, 71, 67, 8, 198, 3, 50, 59, 137, 208, 209, 3, 72, 65, 11, 198, 60, 75, 62, 191, 211, 62, 62, 62, 60, 60, 106, 26, 26, 190, 173, 59, 137, 147, 148, 149, 150, 151, 157, 159, 60, 68, 105, 190, 137, - 60, 175, 171, 68, 142, 6, 12, 68, 99, 102, + 60, 175, 171, 68, 142, 7, 12, 68, 99, 102, 170, 194, 170, 60, 168, 68, 134, 194, 35, 97, 60, 93, 60, 182, 142, 127, 94, 95, 164, 181, 60, 182, 127, 66, 75, 187, 68, 75, 187, 131, @@ -1548,7 +1540,7 @@ static const yytype_uint8 yystos[] = 60, 185, 62, 186, 142, 185, 123, 129, 128, 129, 60, 72, 68, 60, 60, 59, 68, 62, 72, 198, 68, 62, 49, 198, 62, 194, 59, 59, 198, 206, - 207, 68, 190, 60, 175, 14, 117, 159, 8, 65, + 207, 68, 190, 60, 175, 14, 117, 159, 5, 65, 66, 75, 179, 194, 194, 68, 68, 95, 60, 68, 206, 191, 205, 198, 194, 204, 208, 191, 191, 60, 100, 113, 123, 123, 60, 60, 60, 60, 159, 66, @@ -2854,7 +2846,7 @@ yyreduce: (yyval.node)->left = dclname((yyvsp[(1) - (3)].list)->n->sym); // it's a colas, so must not re-use an oldname. break; } - (yyval.node) = colas((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); + (yyval.node) = colas((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list), (yyvsp[(2) - (3)].i)); } break; @@ -2936,7 +2928,7 @@ yyreduce: // done in casebody() markdcl(); (yyval.node) = nod(OXCASE, N, N); - (yyval.node)->list = list1(colas((yyvsp[(2) - (5)].list), list1((yyvsp[(4) - (5)].node)))); + (yyval.node)->list = list1(colas((yyvsp[(2) - (5)].list), list1((yyvsp[(4) - (5)].node)), (yyvsp[(3) - (5)].i))); } break; @@ -5293,7 +5285,7 @@ yyreduce: /* Line 1806 of yacc.c */ -#line 5298 "y.tab.c" +#line 5290 "y.tab.c" default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/src/cmd/gc/y.tab.h b/src/cmd/gc/y.tab.h index bc6c47d6d28..6eeb831b254 100644 --- a/src/cmd/gc/y.tab.h +++ b/src/cmd/gc/y.tab.h @@ -39,10 +39,10 @@ enum yytokentype { LLITERAL = 258, LASOP = 259, - LBREAK = 260, - LCASE = 261, - LCHAN = 262, - LCOLAS = 263, + LCOLAS = 260, + LBREAK = 261, + LCASE = 262, + LCHAN = 263, LCONST = 264, LCONTINUE = 265, LDDD = 266, @@ -91,10 +91,10 @@ /* Tokens. */ #define LLITERAL 258 #define LASOP 259 -#define LBREAK 260 -#define LCASE 261 -#define LCHAN 262 -#define LCOLAS 263 +#define LCOLAS 260 +#define LBREAK 261 +#define LCASE 262 +#define LCHAN 263 #define LCONST 264 #define LCONTINUE 265 #define LDDD 266 diff --git a/test/declbad.go b/test/declbad.go index 32d68e7ea23..eace9376a3c 100644 --- a/test/declbad.go +++ b/test/declbad.go @@ -38,6 +38,12 @@ func main() { i, f := f2() // ERROR "redeclared|no new" _, _, _ = i, f, s } + { + // multiline no new variables + i := f1 + i := func() int { // ERROR "redeclared|no new|incompatible" + } + } { // single redeclaration i, f, s := f3()