1
0
mirror of https://github.com/golang/go synced 2024-09-23 21:20:13 -06:00

cmd/internal/gc: accept map literals with omitted key type

Fixes #10209.

Change-Id: I248434f9195c868befd1ed8a6000a9cac72d1df8
Reviewed-on: https://go-review.googlesource.com/10263
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Russ Cox 2015-05-19 16:49:47 -04:00 committed by Gerrit Code Review
parent 03410f6758
commit 73d109c509
5 changed files with 409 additions and 10794 deletions

View File

@ -1080,7 +1080,7 @@ start_complit:
}
keyval:
expr ':' complitexpr
complitexpr ':' complitexpr
{
$$ = Nod(OKEY, $1, $3);
}

View File

@ -3056,9 +3056,11 @@ func typecheckcomplit(np **Node) {
continue
}
typecheck(&l.Left, Erv)
defaultlit(&l.Left, t.Down)
l.Left = assignconv(l.Left, t.Down, "map key")
r = l.Left
pushtype(r, t.Down)
typecheck(&r, Erv)
defaultlit(&r, t.Down)
l.Left = assignconv(r, t.Down, "map key")
if l.Left.Op != OCONV {
keydup(l.Left, hash)
}

View File

@ -229,57 +229,63 @@ var yyExca = [...]int{
63, 236,
69, 236,
-2, 157,
-1, 407,
-1, 403,
67, 144,
-2, 142,
-1, 408,
36, 176,
60, 176,
68, 176,
-2, 167,
-1, 408,
-1, 409,
36, 177,
60, 177,
68, 177,
-2, 168,
-1, 409,
-1, 410,
36, 178,
60, 178,
68, 178,
-2, 169,
-1, 410,
-1, 411,
36, 179,
60, 179,
68, 179,
-2, 170,
-1, 416,
-1, 417,
8, 251,
13, 251,
63, 251,
69, 251,
-2, 0,
-1, 417,
-1, 418,
63, 251,
69, 251,
-2, 0,
-1, 497,
-1, 498,
63, 251,
69, 251,
-2, 0,
-1, 552,
-1, 553,
60, 157,
-2, 318,
-1, 553,
-1, 554,
60, 158,
-2, 317,
-1, 578,
-1, 579,
8, 251,
13, 251,
63, 251,
69, 251,
-2, 0,
-1, 592,
-1, 593,
36, 180,
60, 180,
68, 180,
-2, 171,
-1, 632,
67, 145,
-2, 143,
}
const yyNprod = 352
@ -288,327 +294,331 @@ const yyPrivate = 57344
var yyTokenNames []string
var yyStates []string
const yyLast = 2282
const yyLast = 2321
var yyAct = [...]int{
74, 381, 304, 285, 291, 486, 610, 398, 545, 478,
549, 296, 186, 75, 400, 229, 302, 401, 103, 389,
458, 356, 290, 318, 457, 34, 303, 338, 230, 245,
466, 109, 339, 101, 337, 332, 85, 104, 374, 248,
246, 174, 467, 286, 14, 324, 479, 328, 241, 212,
108, 6, 325, 155, 243, 469, 226, 181, 468, 516,
413, 320, 373, 392, 325, 219, 13, 208, 176, 10,
11, 584, 172, 469, 651, 385, 599, 583, 106, 191,
13, 177, 460, 541, 422, 160, 310, 331, 613, 161,
309, 446, 192, 322, 193, 626, 327, 162, 198, 321,
88, 12, 13, 10, 227, 238, 662, 194, 317, 227,
632, 448, 227, 12, 13, 227, 209, 228, 12, 13,
447, 10, 228, 203, 175, 228, 108, 393, 228, 461,
54, 660, 205, 445, 184, 384, 222, 460, 459, 204,
199, 200, 239, 88, 506, 155, 214, 216, 218, 507,
427, 631, 12, 13, 233, 625, 624, 202, 10, 88,
90, 176, 55, 288, 10, 627, 213, 213, 213, 213,
12, 13, 118, 118, 177, 295, 126, 154, 308, 176,
10, 416, 282, 282, 461, 282, 603, 620, 416, 10,
600, 227, 177, 301, 593, 416, 227, 227, 404, 227,
280, 484, 444, 90, 228, 622, 536, 12, 13, 228,
228, 506, 228, 12, 13, 86, 507, 175, 527, 90,
298, 163, 164, 165, 166, 167, 168, 169, 170, 12,
13, 523, 227, 580, 515, 175, 182, 153, 12, 13,
242, 171, 325, 397, 416, 228, 330, 155, 227, 334,
415, 227, 227, 116, 227, 185, 358, 367, 463, 371,
360, 228, 355, 362, 228, 228, 353, 228, 183, 365,
210, 322, 504, 369, 434, 314, 68, 321, 91, 379,
614, 78, 416, 340, 609, 340, 340, 376, 375, 182,
124, 12, 13, 604, 176, 83, 79, 10, 394, 325,
407, 336, 82, 351, 352, 10, 378, 177, 380, 414,
227, 227, 601, 408, 574, 409, 608, 10, 568, 558,
227, 183, 48, 228, 228, 465, 10, 464, 410, 391,
323, 329, 67, 228, 331, 348, 443, 656, 442, 412,
293, 163, 170, 605, 77, 436, 12, 13, 12, 13,
175, 424, 423, 234, 12, 13, 388, 383, 370, 366,
359, 114, 435, 333, 655, 227, 12, 13, 100, 129,
441, 99, 10, 490, 227, 12, 13, 439, 228, 84,
454, 20, 453, 429, 432, 480, 491, 228, 492, 654,
173, 10, 508, 473, 176, 10, 653, 645, 511, 619,
188, 493, 483, 494, 616, 607, 227, 177, 221, 282,
514, 606, 227, 597, 282, 519, 520, 340, 340, 228,
596, 12, 13, 227, 595, 228, 110, 498, 340, 489,
107, 510, 502, 592, 525, 449, 228, 582, 517, 227,
12, 13, 562, 524, 12, 13, 470, 539, 528, 531,
175, 522, 228, 254, 513, 512, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 129, 129, 277, 554,
559, 227, 330, 173, 537, 294, 509, 557, 561, 227,
69, 564, 532, 538, 228, 534, 490, 490, 496, 495,
482, 572, 228, 300, 476, 475, 472, 176, 440, 491,
491, 492, 492, 567, 573, 340, 10, 340, 420, 553,
177, 577, 372, 340, 493, 493, 340, 590, 591, 579,
297, 585, 570, 540, 586, 542, 456, 551, 431, 438,
249, 555, 340, 571, 556, 354, 253, 129, 251, 180,
431, 102, 489, 489, 382, 323, 501, 530, 287, 129,
566, 117, 7, 175, 70, 12, 13, 329, 5, 197,
431, 227, 211, 433, 24, 16, 529, 19, 617, 430,
650, 455, 364, 533, 228, 428, 560, 480, 305, 335,
207, 206, 21, 93, 197, 623, 252, 629, 490, 197,
282, 630, 197, 635, 120, 197, 26, 386, 121, 125,
637, 491, 340, 492, 641, 639, 173, 340, 621, 402,
57, 565, 306, 76, 402, 618, 493, 158, 176, 642,
598, 387, 511, 340, 157, 602, 640, 665, 652, 581,
28, 177, 390, 643, 223, 644, 490, 159, 156, 235,
96, 657, 240, 661, 489, 497, 578, 417, 98, 491,
663, 492, 94, 664, 122, 122, 31, 22, 667, 666,
340, 15, 97, 95, 493, 553, 23, 201, 340, 49,
18, 197, 594, 129, 175, 3, 197, 197, 636, 197,
129, 282, 8, 551, 4, 2, 1, 450, 215, 543,
544, 547, 489, 548, 611, 92, 487, 129, 129, 189,
80, 81, 437, 72, 71, 237, 173, 615, 477, 316,
188, 220, 197, 326, 340, 244, 128, 340, 648, 628,
649, 311, 127, 17, 399, 319, 312, 313, 197, 315,
25, 197, 197, 27, 197, 36, 633, 634, 78, 37,
281, 66, 111, 638, 39, 38, 35, 124, 279, 278,
73, 217, 83, 79, 10, 113, 587, 149, 503, 82,
505, 87, 363, 0, 123, 0, 232, 150, 0, 0,
9, 151, 141, 142, 143, 144, 145, 146, 147, 148,
197, 377, 56, 196, 89, 0, 0, 0, 0, 231,
197, 197, 0, 0, 0, 105, 105, 112, 115, 0,
197, 77, 0, 12, 13, 426, 119, 119, 0, 0,
119, 0, 575, 576, 0, 0, 0, 0, 0, 173,
0, 0, 0, 275, 276, 0, 283, 0, 0, 402,
406, 588, 402, 402, 0, 0, 0, 0, 0, 0,
418, 419, 0, 0, 0, 197, 0, 0, 78, 0,
425, 89, 0, 197, 197, 0, 0, 124, 0, 0,
0, 0, 83, 79, 10, 0, 0, 105, 149, 82,
0, 0, 105, 0, 0, 112, 232, 0, 150, 247,
0, 0, 151, 0, 0, 0, 197, 145, 146, 147,
148, 0, 197, 196, 361, 406, 0, 188, 0, 231,
0, 0, 0, 197, 0, 236, 368, 78, 0, 0,
250, 77, 0, 12, 13, 225, 124, 0, 0, 197,
0, 83, 79, 10, 0, 0, 292, 0, 82, 0,
0, 0, 0, 0, 0, 232, 311, 0, 646, 647,
173, 0, 521, 402, 0, 0, 0, 0, 0, 56,
0, 0, 196, 526, 0, 0, 0, 0, 231, 0,
0, 197, 0, 0, 119, 119, 0, 0, 0, 197,
77, 0, 12, 13, 0, 0, 197, 197, 0, 0,
0, 0, 134, 149, 357, 152, 0, 135, 139, 140,
105, 0, 138, 150, 137, 136, 133, 151, 141, 142,
143, 144, 145, 146, 147, 148, 0, 56, 0, 0,
0, 569, 0, 0, 0, 0, 247, 56, 247, 0,
68, 0, 0, 0, 413, 78, 0, 0, 0, 78,
474, 0, 0, 0, 124, 0, 0, 481, 124, 83,
79, 10, 0, 83, 79, 10, 82, 0, 0, 0,
82, 197, 0, 65, 275, 276, 0, 232, 0, 0,
0, 0, 0, 0, 0, 0, 60, 61, 0, 64,
58, 0, 0, 59, 196, 0, 67, 0, 197, 421,
488, 0, 0, 0, 403, 0, 62, 63, 77, 0,
12, 13, 77, 0, 12, 13, 0, 68, 89, 0,
0, 0, 78, 0, 0, 0, 0, 0, 0, 0,
0, 124, 0, 347, 0, 462, 83, 79, 10, 357,
0, 0, 349, 82, 105, 0, 197, 345, 343, 341,
65, 105, 0, 0, 344, 112, 0, 485, 247, 0,
0, 348, 0, 60, 61, 0, 64, 58, 0, 0,
59, 0, 0, 67, 0, 0, 0, 78, 346, 0,
0, 589, 0, 62, 63, 77, 124, 12, 13, 0,
350, 83, 79, 10, 0, 0, 342, 0, 82, 13,
0, 56, 56, 0, 0, 232, 0, 0, 0, 119,
0, 119, 0, 0, 0, 0, 0, 0, 0, 535,
0, 119, 196, 247, 0, 0, 0, 0, 231, 0,
0, 0, 546, 550, 0, 0, 0, 0, 0, 0,
77, 357, 12, 13, 462, 0, 0, 0, 462, 0,
0, 0, 0, 563, 357, 0, 0, 0, 0, 0,
0, 0, 307, 0, 68, 0, 0, 41, 0, 78,
47, 42, 0, 247, 44, 0, 40, 50, 124, 43,
45, 53, 56, 83, 79, 10, 0, 0, 46, 52,
82, 51, 32, 30, 0, 0, 0, 65, 0, 0,
74, 304, 381, 291, 487, 611, 459, 285, 546, 229,
398, 467, 34, 296, 75, 302, 402, 550, 290, 186,
286, 479, 458, 356, 400, 401, 389, 338, 103, 318,
328, 245, 303, 339, 324, 243, 337, 468, 101, 374,
109, 104, 248, 85, 14, 246, 241, 174, 480, 212,
6, 181, 325, 155, 470, 469, 325, 385, 332, 517,
108, 627, 414, 373, 13, 208, 585, 11, 176, 461,
470, 172, 584, 461, 652, 600, 230, 219, 392, 191,
106, 322, 177, 542, 226, 322, 423, 321, 193, 88,
10, 321, 13, 192, 10, 310, 317, 309, 154, 160,
447, 12, 13, 161, 227, 12, 13, 446, 198, 227,
10, 162, 227, 320, 209, 227, 462, 384, 228, 663,
462, 626, 625, 228, 55, 460, 228, 155, 184, 228,
203, 628, 205, 633, 199, 200, 108, 632, 204, 12,
13, 222, 393, 12, 13, 86, 214, 216, 218, 90,
604, 239, 175, 10, 449, 194, 233, 88, 153, 12,
13, 176, 661, 213, 213, 213, 213, 288, 155, 282,
282, 601, 282, 537, 417, 177, 445, 280, 10, 176,
621, 528, 295, 163, 164, 165, 166, 167, 168, 169,
170, 227, 417, 177, 417, 301, 227, 227, 594, 227,
485, 88, 12, 13, 185, 228, 417, 524, 48, 308,
228, 228, 416, 228, 202, 347, 516, 90, 472, 448,
405, 428, 10, 242, 349, 171, 298, 12, 13, 345,
343, 341, 227, 581, 507, 330, 344, 507, 182, 508,
519, 397, 508, 348, 116, 175, 228, 367, 227, 334,
464, 227, 227, 360, 227, 129, 325, 355, 371, 210,
346, 90, 228, 175, 353, 228, 228, 362, 228, 182,
183, 12, 13, 54, 435, 314, 173, 10, 342, 358,
340, 13, 340, 340, 91, 379, 188, 378, 325, 380,
376, 331, 365, 375, 176, 623, 369, 394, 505, 417,
408, 183, 610, 163, 170, 12, 13, 605, 177, 410,
227, 227, 415, 238, 409, 118, 118, 602, 575, 126,
227, 569, 559, 331, 228, 228, 12, 13, 466, 465,
391, 444, 327, 443, 228, 437, 425, 12, 13, 254,
413, 388, 255, 256, 257, 258, 259, 260, 261, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 129, 129, 277, 227, 440, 383, 370, 173,
366, 294, 359, 491, 227, 424, 411, 442, 175, 228,
10, 455, 493, 333, 454, 436, 100, 492, 228, 300,
99, 84, 10, 509, 176, 481, 282, 512, 474, 20,
657, 282, 656, 655, 499, 495, 614, 227, 177, 503,
654, 484, 10, 227, 340, 340, 234, 515, 520, 521,
646, 228, 620, 617, 227, 340, 608, 228, 221, 12,
13, 607, 511, 129, 526, 430, 433, 69, 228, 518,
227, 12, 13, 598, 597, 129, 596, 293, 96, 494,
525, 593, 583, 563, 228, 529, 98, 490, 540, 532,
94, 12, 13, 523, 514, 513, 510, 560, 538, 558,
97, 95, 330, 323, 329, 539, 497, 496, 175, 483,
555, 477, 227, 476, 10, 473, 441, 562, 432, 421,
227, 372, 297, 386, 565, 615, 228, 491, 491, 606,
571, 573, 173, 92, 228, 403, 493, 493, 176, 10,
403, 492, 492, 340, 574, 340, 197, 554, 10, 114,
457, 340, 177, 434, 340, 572, 580, 439, 10, 578,
354, 591, 592, 12, 13, 253, 588, 568, 251, 180,
340, 197, 586, 587, 110, 533, 197, 609, 535, 197,
432, 348, 197, 107, 117, 382, 70, 502, 12, 13,
287, 7, 5, 102, 432, 211, 24, 12, 13, 129,
16, 19, 227, 494, 494, 651, 129, 12, 13, 431,
456, 490, 490, 364, 429, 561, 228, 335, 282, 207,
206, 618, 175, 129, 129, 624, 622, 120, 481, 491,
121, 125, 173, 636, 631, 630, 188, 619, 493, 21,
340, 638, 305, 492, 642, 340, 643, 306, 641, 336,
57, 351, 352, 640, 93, 644, 252, 645, 197, 176,
26, 340, 512, 197, 197, 28, 197, 76, 158, 387,
157, 666, 653, 177, 582, 390, 159, 491, 530, 156,
498, 658, 579, 662, 418, 534, 493, 31, 22, 15,
664, 492, 23, 665, 122, 122, 201, 18, 340, 197,
668, 3, 123, 554, 667, 494, 340, 8, 9, 282,
4, 2, 1, 490, 451, 197, 215, 544, 197, 197,
56, 197, 89, 566, 545, 548, 549, 612, 488, 323,
249, 531, 189, 105, 105, 112, 115, 80, 81, 576,
577, 329, 438, 175, 119, 119, 173, 72, 119, 71,
237, 478, 340, 494, 149, 340, 403, 316, 589, 403,
403, 490, 220, 326, 150, 244, 649, 197, 151, 141,
142, 143, 144, 145, 146, 147, 148, 197, 197, 629,
650, 127, 17, 450, 595, 399, 319, 197, 25, 89,
27, 36, 37, 78, 471, 281, 49, 66, 111, 39,
38, 35, 124, 279, 278, 105, 149, 83, 79, 10,
105, 73, 217, 112, 82, 113, 150, 247, 504, 616,
151, 232, 506, 87, 188, 145, 146, 147, 148, 0,
0, 0, 197, 0, 223, 0, 0, 0, 196, 235,
197, 197, 240, 128, 231, 0, 0, 0, 634, 635,
236, 0, 0, 0, 0, 639, 77, 0, 12, 13,
225, 0, 0, 0, 292, 647, 648, 173, 0, 0,
403, 0, 0, 0, 197, 0, 0, 0, 0, 0,
197, 0, 541, 0, 543, 0, 552, 56, 0, 0,
556, 197, 0, 557, 0, 0, 0, 347, 0, 0,
0, 0, 119, 119, 0, 0, 349, 197, 0, 567,
0, 345, 343, 341, 0, 0, 0, 0, 344, 0,
0, 311, 357, 0, 0, 348, 312, 313, 105, 315,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
60, 61, 0, 64, 58, 0, 0, 59, 0, 0,
67, 0, 0, 0, 0, 0, 0, 0, 308, 0,
62, 63, 77, 0, 12, 13, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 29, 105, 68, 247, 0, 41, 0, 78,
47, 42, 0, 56, 44, 0, 40, 50, 33, 43,
45, 53, 0, 83, 79, 10, 0, 0, 46, 52,
82, 51, 32, 30, 0, 0, 546, 65, 0, 550,
357, 0, 0, 462, 0, 0, 0, 357, 0, 357,
60, 61, 0, 64, 58, 0, 0, 59, 0, 68,
67, 0, 0, 0, 78, 0, 0, 0, 0, 0,
62, 63, 77, 124, 12, 13, 0, 0, 83, 79,
10, 0, 500, 0, 0, 82, 0, 0, 0, 0,
0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 60, 61, 0, 64, 58,
0, 0, 59, 0, 68, 67, 0, 0, 0, 78,
0, 0, 0, 0, 0, 62, 63, 77, 124, 12,
13, 0, 0, 83, 79, 10, 0, 499, 0, 0,
82, 0, 0, 0, 0, 0, 0, 65, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
60, 61, 0, 64, 58, 0, 0, 59, 0, 68,
67, 0, 0, 0, 78, 0, 0, 0, 299, 0,
62, 63, 77, 124, 12, 13, 0, 124, 83, 79,
10, 0, 83, 79, 10, 82, 0, 395, 0, 82,
0, 0, 179, 0, 0, 0, 232, 0, 0, 0,
0, 0, 68, 0, 0, 60, 61, 78, 64, 178,
0, 0, 59, 196, 0, 67, 124, 0, 0, 231,
0, 83, 79, 10, 0, 62, 63, 77, 82, 12,
13, 77, 0, 12, 13, 179, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 60, 61,
0, 64, 178, 0, 0, 59, 0, 68, 67, 289,
0, 0, 78, 0, 0, 0, 0, 0, 62, 63,
77, 124, 12, 13, 0, 0, 83, 79, 10, 0,
284, 0, 0, 82, 0, 0, 0, 0, 0, 0,
65, 0, 0, 0, 0, 0, 0, 0, 0, 0,
68, 0, 0, 60, 61, 78, 64, 58, 187, 0,
59, 0, 0, 67, 124, 0, 0, 0, 0, 83,
79, 10, 0, 62, 63, 77, 82, 12, 13, 0,
0, 0, 346, 0, 0, 56, 0, 0, 613, 197,
275, 276, 0, 283, 247, 56, 247, 197, 0, 0,
342, 0, 363, 13, 197, 197, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 599,
0, 377, 134, 149, 603, 152, 0, 135, 139, 140,
0, 0, 138, 150, 137, 136, 133, 151, 141, 142,
143, 144, 145, 146, 147, 148, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 422, 0, 0,
0, 361, 0, 0, 414, 0, 0, 0, 0, 0,
407, 0, 0, 368, 0, 0, 89, 637, 0, 197,
419, 420, 552, 0, 0, 0, 0, 0, 0, 347,
426, 0, 0, 463, 0, 0, 0, 357, 349, 0,
0, 0, 105, 345, 343, 341, 197, 0, 0, 105,
344, 0, 0, 112, 0, 486, 247, 348, 0, 0,
0, 0, 0, 0, 0, 0, 134, 149, 0, 152,
0, 135, 139, 140, 346, 407, 138, 150, 137, 136,
133, 151, 141, 142, 143, 144, 145, 146, 147, 148,
0, 0, 342, 0, 197, 13, 0, 0, 0, 0,
56, 56, 0, 0, 0, 396, 0, 0, 119, 0,
119, 0, 0, 0, 0, 0, 0, 311, 536, 0,
119, 0, 247, 522, 0, 0, 0, 0, 0, 0,
0, 547, 551, 0, 527, 0, 0, 475, 0, 0,
357, 0, 0, 463, 482, 0, 0, 463, 0, 0,
0, 0, 564, 357, 0, 0, 0, 0, 0, 0,
0, 275, 276, 0, 0, 0, 0, 0, 307, 0,
68, 0, 247, 41, 0, 78, 47, 42, 0, 0,
44, 56, 40, 50, 124, 43, 45, 53, 0, 83,
79, 10, 570, 0, 46, 52, 82, 51, 32, 30,
0, 0, 0, 65, 0, 0, 0, 0, 0, 0,
0, 0, 0, 68, 0, 0, 60, 61, 78, 64,
58, 0, 0, 59, 0, 0, 67, 124, 0, 0,
0, 0, 83, 79, 10, 0, 62, 63, 77, 82,
12, 13, 0, 0, 0, 0, 65, 0, 0, 0,
0, 0, 0, 0, 0, 0, 68, 0, 0, 60,
61, 78, 64, 58, 0, 0, 59, 0, 0, 67,
124, 0, 0, 0, 0, 83, 79, 10, 0, 62,
63, 77, 82, 12, 13, 0, 0, 0, 0, 179,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 60, 61, 0, 64, 178, 0, 0, 59,
0, 0, 67, 0, 0, 0, 0, 0, 0, 0,
0, 0, 62, 63, 77, 0, 12, 13, 134, 149,
0, 152, 0, 135, 139, 140, 0, 0, 138, 150,
137, 136, 133, 151, 141, 142, 143, 144, 145, 146,
147, 148, 68, 0, 0, 0, 0, 299, 0, 0,
0, 0, 0, 0, 0, 0, 124, 396, 347, 0,
0, 83, 79, 10, 0, 0, 0, 349, 82, 78,
0, 0, 345, 343, 552, 65, 0, 0, 124, 344,
0, 0, 0, 83, 79, 10, 348, 0, 60, 61,
82, 64, 58, 0, 0, 59, 0, 232, 67, 0,
0, 0, 0, 346, 0, 0, 0, 0, 62, 63,
77, 0, 12, 13, 196, 0, 0, 0, 0, 0,
231, 342, 0, 12, 13, 0, 224, 0, 0, 0,
0, 0, 77, 0, 12, 13, 225, 134, 149, 0,
152, 0, 135, 139, 140, 0, 0, 138, 150, 137,
136, 133, 151, 141, 142, 143, 144, 145, 146, 147,
148, 134, 149, 0, 152, 0, 135, 139, 140, 0,
659, 138, 150, 137, 136, 133, 151, 141, 142, 143,
144, 145, 146, 147, 148, 134, 149, 0, 152, 0,
135, 139, 140, 0, 658, 138, 150, 137, 136, 133,
151, 141, 142, 143, 144, 145, 146, 147, 148, 0,
78, 0, 0, 0, 78, 0, 0, 0, 518, 124,
0, 0, 0, 124, 83, 79, 10, 0, 83, 79,
10, 82, 0, 0, 0, 82, 347, 0, 405, 0,
0, 0, 190, 0, 0, 349, 0, 0, 0, 0,
345, 343, 341, 0, 0, 196, 0, 344, 0, 196,
0, 411, 0, 0, 348, 195, 0, 0, 0, 347,
0, 0, 471, 77, 0, 12, 13, 77, 349, 12,
13, 346, 0, 345, 343, 341, 0, 612, 0, 347,
344, 0, 0, 0, 0, 0, 0, 348, 349, 342,
0, 0, 13, 345, 343, 341, 0, 0, 0, 347,
344, 0, 0, 0, 346, 0, 0, 452, 349, 0,
0, 0, 0, 345, 343, 341, 0, 0, 0, 0,
344, 0, 342, 0, 346, 13, 0, 348, 0, 0,
451, 0, 0, 0, 130, 0, 0, 0, 0, 0,
0, 0, 342, 0, 346, 13, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 342, 134, 149, 13, 152, 132, 135, 139,
140, 0, 131, 138, 150, 137, 136, 133, 151, 141,
142, 143, 144, 145, 146, 147, 148, 134, 149, 0,
152, 0, 135, 139, 140, 0, 0, 138, 150, 137,
136, 133, 151, 141, 142, 143, 144, 145, 146, 147,
148, 134, 149, 0, 0, 0, 135, 139, 140, 0,
0, 138, 150, 137, 136, 133, 151, 141, 142, 143,
144, 145, 146, 147, 148, 134, 149, 0, 0, 0,
135, 139, 140, 0, 0, 138, 150, 137, 136, 0,
151, 141, 142, 143, 144, 145, 146, 147, 148, 149,
0, 0, 0, 135, 139, 140, 0, 0, 138, 150,
137, 136, 0, 151, 141, 142, 143, 144, 145, 146,
147, 148,
0, 0, 0, 0, 0, 0, 60, 61, 0, 64,
58, 0, 0, 59, 0, 0, 67, 0, 0, 0,
0, 0, 0, 0, 308, 0, 62, 63, 77, 0,
12, 13, 0, 0, 0, 0, 0, 0, 0, 0,
0, 29, 105, 68, 247, 0, 41, 0, 78, 47,
42, 0, 56, 44, 0, 40, 50, 33, 43, 45,
53, 0, 83, 79, 10, 0, 0, 46, 52, 82,
51, 32, 30, 0, 0, 547, 65, 0, 551, 357,
0, 0, 463, 0, 0, 0, 357, 0, 357, 60,
61, 0, 64, 58, 0, 0, 59, 0, 68, 67,
0, 0, 0, 78, 0, 0, 0, 0, 0, 62,
63, 77, 124, 12, 13, 0, 0, 83, 79, 10,
68, 0, 0, 0, 82, 78, 0, 0, 0, 0,
0, 65, 0, 0, 124, 0, 0, 0, 0, 83,
79, 10, 0, 0, 60, 61, 82, 64, 58, 0,
0, 59, 0, 68, 67, 0, 0, 0, 78, 0,
0, 0, 404, 0, 62, 63, 77, 124, 12, 13,
0, 0, 83, 79, 10, 0, 67, 0, 0, 82,
0, 0, 0, 0, 0, 0, 65, 0, 77, 0,
12, 13, 0, 0, 0, 0, 0, 0, 0, 60,
61, 0, 64, 58, 0, 0, 59, 0, 68, 67,
0, 0, 0, 78, 0, 0, 0, 590, 0, 62,
63, 77, 124, 12, 13, 0, 0, 83, 79, 10,
0, 501, 0, 0, 82, 0, 0, 0, 0, 0,
0, 65, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 60, 61, 0, 64, 58, 0,
0, 59, 0, 68, 67, 0, 0, 0, 78, 0,
0, 0, 0, 0, 62, 63, 77, 124, 12, 13,
0, 0, 83, 79, 10, 0, 500, 0, 0, 82,
0, 0, 0, 0, 0, 0, 65, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 60,
61, 0, 64, 58, 0, 0, 59, 0, 68, 67,
0, 0, 0, 78, 0, 0, 0, 78, 0, 62,
63, 77, 124, 12, 13, 0, 124, 83, 79, 10,
0, 83, 79, 10, 82, 0, 395, 0, 82, 0,
0, 179, 0, 0, 0, 232, 0, 0, 0, 0,
0, 68, 0, 0, 60, 61, 78, 64, 178, 0,
0, 59, 196, 0, 67, 124, 0, 0, 489, 0,
83, 79, 10, 0, 62, 63, 77, 82, 12, 13,
77, 0, 12, 13, 179, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 60, 61, 0,
64, 178, 0, 0, 59, 0, 68, 67, 289, 0,
0, 78, 0, 0, 0, 0, 0, 62, 63, 77,
124, 12, 13, 0, 0, 83, 79, 10, 0, 284,
0, 0, 82, 0, 0, 0, 0, 0, 0, 65,
0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
0, 0, 60, 61, 78, 64, 58, 187, 0, 59,
0, 0, 67, 124, 0, 0, 0, 0, 83, 79,
10, 0, 62, 63, 77, 82, 12, 13, 0, 0,
0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
0, 0, 68, 0, 0, 60, 61, 78, 64, 58,
0, 0, 59, 0, 0, 67, 124, 0, 0, 0,
0, 83, 79, 10, 0, 62, 63, 77, 82, 12,
13, 0, 0, 0, 0, 65, 0, 0, 0, 0,
0, 0, 0, 0, 0, 68, 0, 0, 60, 61,
78, 64, 58, 0, 0, 59, 0, 0, 67, 124,
0, 0, 0, 0, 83, 79, 10, 0, 62, 63,
77, 82, 12, 13, 0, 0, 0, 0, 179, 0,
0, 0, 0, 0, 0, 0, 0, 0, 68, 0,
0, 60, 61, 299, 64, 178, 0, 0, 59, 0,
0, 67, 124, 0, 0, 0, 0, 83, 79, 10,
0, 62, 63, 77, 82, 12, 13, 0, 0, 0,
0, 65, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 60, 61, 78, 64, 58, 0,
0, 59, 0, 0, 67, 124, 0, 0, 0, 0,
83, 79, 10, 0, 62, 63, 77, 82, 12, 13,
0, 78, 0, 0, 232, 0, 0, 0, 0, 0,
124, 0, 0, 0, 0, 83, 79, 10, 0, 0,
0, 196, 82, 0, 0, 0, 0, 231, 0, 232,
0, 0, 0, 224, 0, 0, 0, 0, 0, 77,
0, 12, 13, 225, 0, 0, 196, 0, 0, 0,
0, 0, 231, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 77, 0, 12, 13, 427, 134,
149, 0, 152, 0, 135, 139, 140, 0, 0, 138,
150, 137, 136, 133, 151, 141, 142, 143, 144, 145,
146, 147, 148, 134, 149, 0, 152, 0, 135, 139,
140, 0, 660, 138, 150, 137, 136, 133, 151, 141,
142, 143, 144, 145, 146, 147, 148, 0, 78, 0,
0, 250, 78, 0, 0, 0, 659, 124, 0, 0,
0, 124, 83, 79, 10, 0, 83, 79, 10, 82,
0, 0, 0, 82, 299, 0, 232, 0, 0, 0,
232, 0, 0, 124, 0, 0, 0, 0, 83, 79,
10, 0, 0, 196, 0, 82, 0, 196, 0, 231,
0, 0, 232, 231, 0, 0, 0, 78, 0, 0,
0, 77, 0, 12, 13, 77, 124, 12, 13, 196,
0, 83, 79, 10, 0, 231, 0, 0, 82, 78,
0, 0, 0, 347, 0, 406, 0, 77, 124, 12,
13, 0, 349, 83, 79, 10, 0, 345, 343, 553,
82, 0, 196, 0, 344, 0, 0, 190, 412, 0,
0, 348, 0, 0, 0, 0, 0, 0, 0, 0,
77, 0, 12, 13, 196, 0, 0, 0, 346, 0,
195, 0, 0, 0, 0, 0, 0, 0, 347, 0,
0, 0, 77, 0, 12, 13, 342, 349, 12, 13,
0, 0, 345, 343, 341, 0, 0, 0, 347, 344,
0, 0, 0, 0, 0, 0, 453, 349, 0, 0,
0, 0, 345, 343, 341, 0, 0, 0, 0, 344,
0, 0, 0, 346, 0, 0, 348, 0, 0, 452,
0, 0, 0, 130, 0, 0, 0, 0, 0, 0,
0, 342, 0, 346, 13, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 350, 0, 0, 0, 0,
0, 342, 134, 149, 13, 152, 132, 135, 139, 140,
0, 131, 138, 150, 137, 136, 133, 151, 141, 142,
143, 144, 145, 146, 147, 148, 134, 149, 0, 152,
0, 135, 139, 140, 0, 0, 138, 150, 137, 136,
133, 151, 141, 142, 143, 144, 145, 146, 147, 148,
134, 149, 0, 0, 0, 135, 139, 140, 0, 0,
138, 150, 137, 136, 133, 151, 141, 142, 143, 144,
145, 146, 147, 148, 134, 149, 0, 0, 0, 135,
139, 140, 0, 0, 138, 150, 137, 136, 0, 151,
141, 142, 143, 144, 145, 146, 147, 148, 149, 0,
0, 0, 135, 139, 140, 0, 0, 138, 150, 137,
136, 0, 151, 141, 142, 143, 144, 145, 146, 147,
148,
}
var yyPact = [...]int{
-1000, -1000, 542, 536, -1000, 164, -1000, 550, 555, 318,
-1000, -1000, -1000, 588, -1000, -1000, 549, 1340, 316, 155,
-1000, 214, 640, 308, -1000, 305, -1000, -1000, -1000, -1000,
491, 370, 366, 301, -1000, -1000, -1000, -1000, -1000, 186,
-1000, 164, 164, 272, 272, 164, 1689, -1000, 2129, 171,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, 25, 1689, 1689,
1689, 1689, 1689, 1689, 1689, 1689, 173, 1732, -1000, -1000,
-1000, 489, 200, -1000, -1000, -1000, 253, 1646, 1995, 26,
-1000, -1000, 200, 200, -1000, -1000, 96, 536, -1000, 587,
586, 42, 205, -1000, 547, -9, -9, -9, 5, -1000,
-1000, -1000, 347, 1850, -1000, -1000, -1000, 292, 849, -1000,
44, 1158, -1000, 172, 908, 488, -1000, -1000, -1000, -1000,
-1000, -1000, 25, -1000, 486, -1000, -1000, -1000, -23, 2153,
1689, -1000, -1000, 1689, 1689, 1689, 1689, 1689, 1689, 1689,
1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689,
1689, 1689, 1689, 1689, 1689, 1689, 1603, 1689, 522, 1689,
1548, 280, 1689, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, 469, 2153, -1000, -1000, -1000, -1000, 1732, 1828,
1689, -1000, -1000, -1000, 1250, -1000, 17, 13, 2153, -1000,
1158, -1000, -1000, -1000, -1000, 1158, 1158, 211, 1158, 39,
27, 300, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, 585, 2090, -1000, 1114, 2090, -1000, 172, 485, 164,
297, -1000, -1000, 194, 1689, 164, -1000, -1000, -1000, -1000,
-1000, 1158, 573, 296, -1000, 191, 1689, 295, -1000, -1000,
-1000, -1000, 1250, 461, -14, -1000, -1000, 908, -1000, -1000,
1158, 908, 1250, 908, 2153, 2201, 2224, 732, 732, 732,
732, 732, 732, 843, 843, 843, 843, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, 2177, -23, -23, 2153, -1000, 518,
294, -1000, -1000, 69, 1689, -1000, 293, -1000, -1000, -1000,
51, -1000, -1000, 1505, 1774, 176, 1026, 130, -1000, 1991,
958, 1026, 181, -1000, -1000, -1000, -1000, -1000, -1000, 1158,
1158, -1000, 457, -1000, 164, 11, 288, -1000, -1000, 739,
581, 525, 513, -1000, -1000, 210, 282, -1000, -1000, 479,
-1000, 545, 447, 139, -1000, 275, 273, -1000, -1000, -1000,
-1000, -1000, 129, 19, 52, 43, 2090, 2070, 572, 476,
78, 192, 264, 262, 164, -3, -1000, 2050, 445, 164,
1689, -23, -1000, 444, 1158, 443, 164, 1689, -23, 439,
164, 132, 1030, 908, -1000, -1000, -1000, -1000, 438, -1000,
437, -1000, -1000, 1689, 1450, 1395, 2153, 520, 1689, 203,
518, 425, -16, 1732, 394, 393, -1000, 1689, 165, -17,
-1000, -1000, 1941, -1000, -1000, 1509, -1000, -1000, -1000, -1000,
-1000, 1158, 390, -1000, 162, -1000, 1250, 1250, -1000, -1000,
-1000, -1000, 1158, 149, 217, 581, 164, -1000, -1000, 388,
545, 210, 581, 545, 164, 137, 274, -1000, 908, 386,
-1000, -1000, -1000, -1000, 2090, 10, 2090, 164, 1839, -1000,
-1000, 298, 2090, -1000, -1000, 2090, 164, 256, -1000, 133,
-1000, 582, -1000, 78, -1000, -1000, 381, -21, 164, 164,
581, 2090, -1000, -1000, -23, -1000, -1000, 255, -1000, -1000,
849, -23, -1000, -1000, -1000, 472, -1000, -1000, 908, -1000,
-1000, -1000, -1000, -1000, -1000, 1030, 1030, 1250, 251, 1689,
1689, -1000, -1000, -1000, -1000, -1000, 1732, 166, -1000, -1000,
376, -1000, -1000, -1000, 4, -1000, 1026, -1000, 1103, 1026,
1026, 372, -1000, -1000, -1000, 125, -1000, -1000, -1000, -1000,
-1000, 581, 363, -1000, 359, -1000, -1000, -1000, 352, -1000,
-1000, 2090, 3, 121, 249, -1000, 2090, 117, 230, -1000,
283, -1000, -1000, -1000, 350, -1000, -1000, 344, -1000, 266,
-1000, 221, 2017, 220, -1000, -1000, 581, 343, 164, 191,
908, 338, -1000, 118, 1689, 2153, 2153, 136, 1250, 89,
-1000, -1000, -1000, -1000, 1689, -1000, -1000, -1000, 2153, -1000,
82, 41, -1000, -1000, -1000, 581, 581, 1030, -1000, 2090,
-1000, 164, 581, -1000, 1839, 164, -1000, 2017, 133, -1000,
-1000, -1000, 164, -1000, 164, -1000, -1000, -1000, 336, -1000,
-1000, -1000, -1000, 219, -1000, 1689, 1689, 1732, 565, 1,
1026, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
335, -1000, 328, 303, 276, 1030, 1917, 1893, -1000, -1000,
110, -1000, 37, 2017, -1000, -1000, 2017, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, 1689, 518, -1000,
-1000, -1000, 536, 535, -1000, 128, -1000, 545, 549, 336,
-1000, -1000, -1000, 605, -1000, -1000, 541, 1239, 328, 85,
-1000, 220, 438, 327, -1000, 323, -1000, -1000, -1000, -1000,
503, 493, 484, 459, -1000, -1000, -1000, -1000, -1000, 177,
-1000, 128, 128, 1316, 1316, 128, 1698, -1000, 2168, 92,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, 39, 1698, 1698,
1698, 1698, 1698, 1698, 1698, 1698, 157, 1741, -1000, -1000,
-1000, 479, 233, -1000, -1000, -1000, 202, 1655, 2050, 36,
-1000, -1000, 233, 233, -1000, -1000, 153, 535, -1000, 586,
585, 40, 194, -1000, 540, -11, -11, -11, 17, -1000,
-1000, -1000, 367, 1827, -1000, -1000, -1000, 355, 754, -1000,
252, 1973, -1000, 155, 1969, 478, -1000, -1000, -1000, -1000,
-1000, -1000, 39, -1000, 475, -1000, -1000, -1000, -23, 2192,
1698, -1000, -1000, 1698, 1698, 1698, 1698, 1698, 1698, 1698,
1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698,
1698, 1698, 1698, 1698, 1698, 1698, 1612, 1698, 524, 1698,
1557, 387, 1698, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, 431, 2192, -1000, -1000, -1000, -1000, 1741, 1784,
1698, -1000, -1000, -1000, 1156, -1000, 24, 22, 2192, -1000,
1973, -1000, -1000, -1000, -1000, 1973, 1973, 211, 1973, 27,
263, 320, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, 583, 1010, -1000, 2129, 1010, -1000, 155, 470, 128,
309, -1000, -1000, 187, 1698, 128, -1000, -1000, -1000, -1000,
-1000, 1973, 574, 307, -1000, 181, 1698, 305, -1000, -1000,
-1000, -1000, 1156, 430, -13, -1000, -1000, 1969, -1000, -1000,
1973, 1969, 1156, 1969, 2192, 2240, 2263, 689, 689, 689,
689, 689, 689, 741, 741, 741, 741, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, 2216, -23, -23, 2192, -1000, 519,
304, -1000, -1000, 51, 1698, -1000, 278, -1000, -1000, -1000,
66, -1000, -1000, 1514, 1022, 174, 1294, 152, -1000, 2028,
918, 1294, 143, -1000, -1000, -1000, -1000, -1000, -1000, 1973,
1973, -1000, 428, -1000, 128, 13, 273, -1000, -1000, 1852,
580, 525, 463, -1000, -1000, 210, 272, -1000, -1000, 467,
-1000, 539, 425, 197, -1000, 270, 268, -1000, -1000, -1000,
-1000, -1000, 103, 28, 151, 86, 1010, 2109, 571, 460,
65, 184, 266, 265, 128, -6, -1000, 206, 424, 128,
1698, -23, -1000, 422, 1973, 420, 128, 1698, -23, 418,
128, 131, 1518, 1969, -1000, -1000, -1000, -1000, 416, -1000,
415, -1000, -1000, 1698, 1459, 1404, 2192, 521, 1698, 229,
519, 405, -14, 1741, 404, 403, -1000, 1698, 147, -17,
-1000, -1000, 173, 2192, -1000, -1000, 1995, -1000, -1000, -1000,
-1000, -1000, 1973, 402, -1000, 138, -1000, 1156, 1156, -1000,
-1000, -1000, -1000, 1973, 112, 31, 580, 128, -1000, -1000,
398, 539, 210, 580, 539, 128, 104, 231, -1000, 1969,
397, -1000, -1000, -1000, -1000, 1010, 10, 1010, 128, 2054,
-1000, -1000, 514, 1010, -1000, -1000, 1010, 128, 259, -1000,
69, -1000, 581, -1000, 65, -1000, -1000, 392, -22, 128,
128, 580, 1010, -1000, -1000, -23, -1000, -1000, 258, -1000,
-1000, 754, -23, -1000, -1000, -1000, 440, -1000, -1000, 1969,
-1000, -1000, -1000, -1000, -1000, -1000, 1518, 1518, 1156, 255,
1698, 1698, -1000, -1000, -1000, -1000, -1000, 1741, 166, -1000,
-1000, 391, -1000, -1000, -1000, -1, -1000, 1294, -1000, 1349,
1294, 1294, 390, -1000, -1000, -1000, 129, -1000, -1000, -1000,
-1000, -1000, 580, 385, -1000, 383, -1000, -1000, -1000, 382,
-1000, -1000, 1010, 2, 102, 254, -1000, 1010, 81, 244,
-1000, 439, -1000, -1000, -1000, 370, -1000, -1000, 365, -1000,
497, -1000, 239, 858, 435, -1000, -1000, 580, 362, 128,
181, 1969, 361, -1000, 111, 1698, 2192, 2192, 226, 1156,
55, -1000, -1000, -1000, -1000, 1698, -1000, -1000, -1000, 2192,
-1000, 68, 64, -1000, -1000, -1000, 580, 580, 1518, -1000,
1010, -1000, 128, 580, -1000, 2054, 128, -1000, 858, 69,
-1000, -1000, -1000, 128, -1000, 128, -1000, -1000, -1000, 359,
-1000, -1000, -1000, -1000, 236, -1000, 1698, 1698, 1741, 560,
1, 1294, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, 349, -1000, 342, 341, 339, 1518, 1919, 1895, -1000,
-1000, 141, -1000, 50, 858, -1000, -1000, 858, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, 1698, 519, -1000,
}
var yyPgo = [...]int{
0, 57, 771, 774, 45, 150, 26, 540, 29, 770,
768, 2, 28, 61, 322, 766, 17, 4, 765, 761,
760, 759, 758, 756, 3, 755, 622, 47, 14, 754,
490, 40, 41, 130, 37, 12, 752, 561, 43, 620,
751, 564, 750, 749, 25, 745, 162, 743, 31, 11,
740, 48, 5, 1, 18, 735, 679, 734, 7, 22,
733, 732, 19, 730, 729, 728, 16, 54, 725, 723,
33, 721, 23, 719, 588, 46, 9, 718, 715, 714,
713, 39, 712, 711, 710, 15, 56, 709, 13, 706,
0, 70, 49, 24, 20, 21, 10, 8, 704, 6,
42, 30, 703, 701, 700, 699, 88, 34, 698, 32,
27, 697, 696, 695, 694, 692, 685, 51, 44, 680,
36, 677, 35, 676, 671, 667, 666, 657, 656, 655,
648, 647, 642, 639, 637, 634, 631, 627, 38, 623,
596, 593,
0, 51, 793, 672, 34, 221, 32, 700, 31, 792,
788, 1, 76, 113, 208, 16, 25, 3, 785, 782,
781, 774, 773, 771, 7, 770, 617, 30, 24, 769,
437, 45, 47, 273, 41, 19, 768, 554, 20, 620,
767, 556, 765, 762, 12, 761, 124, 760, 40, 13,
758, 46, 4, 2, 28, 756, 766, 755, 10, 18,
752, 751, 26, 750, 749, 736, 15, 35, 735, 733,
38, 732, 29, 727, 612, 48, 21, 721, 720, 719,
717, 42, 712, 708, 707, 9, 84, 702, 14, 698,
0, 67, 49, 22, 6, 23, 17, 8, 697, 5,
37, 11, 696, 695, 694, 687, 406, 36, 686, 33,
27, 684, 682, 681, 680, 677, 671, 50, 44, 667,
43, 666, 58, 662, 659, 658, 657, 654, 652, 650,
649, 646, 645, 644, 641, 640, 639, 638, 39, 637,
626, 624,
}
var yyR1 = [...]int{
@ -730,33 +740,33 @@ var yyChk = [...]int{
63, -66, 61, 76, -138, -31, -81, -7, -67, -6,
-67, -53, 36, 63, 66, 6, -14, -136, 63, -62,
-132, -138, 12, 76, -17, 32, 73, 67, -58, -57,
-28, -16, -14, 68, 68, 37, -7, -90, -88, -85,
-12, 60, -138, 76, -58, 69, 63, -127, -7, -7,
61, -3, 73, -122, 63, -7, 76, -5, 4, -13,
54, 25, -13, 60, 64, -122, 63, -82, 60, -4,
61, -120, 63, 63, 73, 4, 72, 68, 68, -106,
-111, 60, 37, -107, -109, 9, 60, -93, -94, 60,
4, 51, -3, 66, 63, 63, -101, -100, 61, 76,
-106, 12, 61, -70, -56, 61, 61, -77, -76, -75,
-54, -56, 61, -48, 69, -3, -52, -89, 60, -86,
-90, -88, -85, -12, -8, 61, 61, -129, -38, 27,
27, 36, -38, -10, 69, -9, 8, 13, -53, 61,
-138, -17, 61, 61, -35, 69, 76, -138, 67, -49,
-49, -7, 61, 69, -6, -66, -7, 69, -72, -5,
-33, 61, -13, -5, -13, -3, 69, -27, -67, 61,
-106, 73, -106, -105, -104, -97, -3, -103, -102, -96,
-3, -106, 25, -91, -110, -106, -106, -101, 63, -94,
4, -93, 61, -3, -95, -5, -106, -122, 63, -7,
60, -67, -52, -66, 63, -14, -14, -62, -128, -59,
67, -133, 61, 73, 67, -28, -16, -15, -14, 68,
-58, -58, 61, 69, -5, 61, 61, 61, -106, 73,
69, 63, -106, 69, 63, 60, 61, 61, 50, 63,
-99, -98, 60, -106, 60, -5, 61, -76, -67, 61,
69, -38, 69, -66, 67, 66, 6, 76, -64, -35,
-49, 69, 69, -5, -5, -52, -106, -97, -5, -96,
-101, -99, -94, -101, -101, 61, -14, -14, -65, -63,
15, 73, -58, 61, 61, 61, 61, -52, 67, 67,
21, -11, 69, -99, -99, -134, -24, -53,
-28, -16, -15, -14, 68, 68, 37, -7, -90, -88,
-85, -12, 60, -138, 76, -58, 69, 63, -127, -7,
-7, 61, -3, 73, -122, 63, -7, 76, -5, 4,
-13, 54, 25, -13, 60, 64, -122, 63, -82, 60,
-4, 61, -120, 63, 63, 73, 4, 72, 68, 68,
-106, -111, 60, 37, -107, -109, 9, 60, -93, -94,
60, 4, 51, -3, 66, 63, 63, -101, -100, 61,
76, -106, 12, 61, -70, -56, 61, 61, -77, -76,
-75, -54, -56, 61, -48, 69, -3, -52, -89, 60,
-86, -90, -88, -85, -12, -8, 61, 61, -129, -38,
27, 27, 36, -38, -10, 69, -9, 8, 13, -53,
61, -138, -17, 61, 61, -35, 69, 76, -138, 67,
-49, -49, -7, 61, 69, -6, -66, -7, 69, -72,
-5, -33, 61, -13, -5, -13, -3, 69, -27, -67,
61, -106, 73, -106, -105, -104, -97, -3, -103, -102,
-96, -3, -106, 25, -91, -110, -106, -106, -101, 63,
-94, 4, -93, 61, -3, -95, -5, -106, -122, 63,
-7, 60, -67, -52, -66, 63, -14, -14, -62, -128,
-59, 67, -133, 61, 73, 67, -28, -16, -15, -14,
68, -58, -58, 61, 69, -5, 61, 61, 61, -106,
73, 69, 63, -106, 69, 63, 60, 61, 61, 50,
63, -99, -98, 60, -106, 60, -5, 61, -76, -67,
61, 69, -38, 69, -66, 67, 66, 6, 76, -64,
-35, -49, 69, 69, -5, -5, -52, -106, -97, -5,
-96, -101, -99, -94, -101, -101, 61, -14, -14, -65,
-63, 15, 73, -58, 61, 61, 61, 61, -52, 67,
67, 21, -11, 69, -99, -99, -134, -24, -53,
}
var yyDef = [...]int{
@ -800,33 +810,33 @@ var yyDef = [...]int{
287, 0, 212, 289, 250, 244, 245, 165, 0, 262,
0, 73, 65, 294, 0, 0, 69, 0, 294, 0,
0, 0, 288, 289, 0, 0, 131, 290, 0, 288,
280, 281, 142, 140, 140, 0, 199, -2, -2, -2,
-2, 0, 0, 289, 0, 216, -2, -2, 191, 192,
180, 190, 0, 0, 287, 302, 0, 231, 303, 0,
0, 236, 302, 0, 0, 0, 287, 239, 249, 0,
9, 14, 304, 305, 0, 0, 0, 298, 300, 324,
325, 0, 0, 315, 316, 0, 296, 0, 342, 0,
339, 0, 341, 0, 308, 309, 0, 297, 0, 0,
302, 0, 29, 221, 40, 171, 32, 286, 222, 44,
46, 42, 36, 225, 211, 162, 209, 213, 249, 184,
185, 186, 187, 188, 248, 212, 212, -2, 0, 0,
0, 63, 77, 64, 92, 61, 0, 0, 80, 124,
0, 279, 129, 130, 0, 137, 289, 285, 0, 284,
284, 0, 135, 136, 271, 0, 195, 200, 227, 230,
273, 302, 0, 233, 0, 237, 202, 229, 0, 241,
319, 0, 0, 0, 299, 348, 0, 0, 301, 350,
0, 334, -2, -2, 0, 327, 328, 0, 306, 0,
340, 0, 335, 0, 347, 330, 302, 0, 287, 45,
249, 0, 205, 0, 294, 67, 68, 0, -2, 0,
58, 84, 125, 132, 290, 282, 283, 141, 144, 140,
0, 0, -2, 60, 232, 302, 302, 212, 320, 0,
322, 0, 302, 323, 0, 296, 326, 335, 0, 307,
207, 336, 296, 338, 296, 331, 33, 223, 0, 214,
66, 70, 90, 62, 55, 0, 0, 0, 86, 0,
284, 143, 138, 234, 235, 242, 321, 349, 332, 351,
0, 329, 0, 0, 0, 212, 0, 0, 81, 85,
0, 133, 0, 335, 343, 337, 335, 206, 56, 57,
82, 87, 145, 333, 208, 294, 0, 83,
280, 281, 0, -2, 140, 140, 0, 199, -2, -2,
-2, -2, 0, 0, 289, 0, 216, -2, -2, 191,
192, 180, 190, 0, 0, 287, 302, 0, 231, 303,
0, 0, 236, 302, 0, 0, 0, 287, 239, 249,
0, 9, 14, 304, 305, 0, 0, 0, 298, 300,
324, 325, 0, 0, 315, 316, 0, 296, 0, 342,
0, 339, 0, 341, 0, 308, 309, 0, 297, 0,
0, 302, 0, 29, 221, 40, 171, 32, 286, 222,
44, 46, 42, 36, 225, 211, 162, 209, 213, 249,
184, 185, 186, 187, 188, 248, 212, 212, -2, 0,
0, 0, 63, 77, 64, 92, 61, 0, 0, 80,
124, 0, 279, 129, 130, 0, 137, 289, 285, 0,
284, 284, 0, 135, 136, 271, 0, 195, 200, 227,
230, 273, 302, 0, 233, 0, 237, 202, 229, 0,
241, 319, 0, 0, 0, 299, 348, 0, 0, 301,
350, 0, 334, -2, -2, 0, 327, 328, 0, 306,
0, 340, 0, 335, 0, 347, 330, 302, 0, 287,
45, 249, 0, 205, 0, 294, 67, 68, 0, -2,
0, 58, 84, 125, 132, 290, 282, 283, 141, 144,
140, 0, 0, -2, 60, 232, 302, 302, 212, 320,
0, 322, 0, 302, 323, 0, 296, 326, 335, 0,
307, 207, 336, 296, 338, 296, 331, 33, 223, 0,
214, 66, 70, 90, 62, 55, 0, 0, 0, 86,
0, 284, -2, 138, 234, 235, 242, 321, 349, 332,
351, 0, 329, 0, 0, 0, 212, 0, 0, 81,
85, 0, 133, 0, 335, 343, 337, 335, 206, 56,
57, 82, 87, 145, 333, 208, 294, 0, 83,
}
var yyTok1 = [...]int{
@ -867,22 +877,22 @@ var yyErrorMessages = [...]struct {
{390, 63, "missing { after if clause"},
{387, 63, "missing { after switch clause"},
{279, 63, "missing { after for clause"},
{498, 36, "missing { after for clause"},
{499, 36, "missing { after for clause"},
{17, 68, "unexpected semicolon or newline before {"},
{111, 63, "unexpected semicolon or newline in type declaration"},
{78, 69, "unexpected } in channel type"},
{78, 61, "unexpected ) in channel type"},
{78, 76, "unexpected comma in channel type"},
{416, 15, "unexpected semicolon or newline before else"},
{417, 15, "unexpected semicolon or newline before else"},
{329, 76, "name list not allowed in interface type"},
{279, 33, "var declaration not allowed in for initializer"},
{25, 68, "unexpected { at end of statement"},
{371, 68, "unexpected { at end of statement"},
{122, 63, "argument to go/defer must be function call"},
{398, 63, "need trailing comma before newline in composite literal"},
{414, 63, "need trailing comma before newline in composite literal"},
{415, 63, "need trailing comma before newline in composite literal"},
{124, 25, "nested func not allowed"},
{650, 63, "else must be followed by if or statement block"},
{651, 63, "else must be followed by if or statement block"},
}
//line yaccpar:1

File diff suppressed because it is too large Load Diff

View File

@ -40,3 +40,17 @@ var (
_ = &T{i: 0, f: 0, s: "", next: {}} // ERROR "missing type in composite literal|omit types within composite literal"
_ = &T{0, 0, "", {}} // ERROR "missing type in composite literal|omit types within composite literal"
)
type M map[T]T
var (
_ = M{{i:1}: {i:2}}
_ = M{T{i:1}: {i:2}}
_ = M{{i:1}: T{i:2}}
_ = M{T{i:1}: T{i:2}}
)
type S struct { s [1]*M1 }
type M1 map[S]int
var _ = M1{{s:[1]*M1{&M1{{}:1}}}:2}