widl: Accept known type as library name. Backported from Wine commit 2ff2792fc496313cf1178855dbf5e172ed08cc9b
diff --git a/mingw-w64-tools/widl/src/parser.tab.c b/mingw-w64-tools/widl/src/parser.tab.c index d191f89..01cbc9f 100644 --- a/mingw-w64-tools/widl/src/parser.tab.c +++ b/mingw-w64-tools/widl/src/parser.tab.c
@@ -708,16 +708,16 @@ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3077 +#define YYLAST 3097 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 210 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 101 /* YYNRULES -- Number of rules. */ -#define YYNRULES 387 +#define YYNRULES 388 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 679 +#define YYNSTATES 680 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ @@ -786,9 +786,9 @@ 334, 335, 338, 339, 340, 342, 343, 344, 347, 348, 349, 350, 353, 354, 357, 358, 362, 363, 364, 365, 366, 367, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 382, 384, 392, 398, 402, 404, 408, 415, 416, - 419, 420, 423, 424, 428, 433, 440, 444, 445, 448, - 449, 453, 456, 457, 458, 461, 462, 465, 466, 467, + 379, 382, 384, 392, 398, 402, 403, 405, 409, 416, + 417, 420, 421, 424, 425, 429, 434, 441, 445, 446, + 449, 450, 454, 457, 458, 459, 462, 463, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, @@ -796,31 +796,31 @@ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 544, 545, 546, 547, 548, 549, 550, + 538, 539, 540, 541, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, - 561, 562, 563, 564, 565, 566, 567, 571, 572, 577, - 578, 579, 580, 583, 584, 587, 591, 597, 598, 599, - 602, 606, 618, 622, 627, 630, 631, 634, 635, 638, + 561, 562, 563, 564, 565, 566, 567, 568, 572, 573, + 578, 579, 580, 581, 584, 585, 588, 592, 598, 599, + 600, 603, 607, 619, 623, 628, 631, 632, 635, 636, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, - 669, 670, 671, 672, 673, 674, 675, 677, 679, 680, - 683, 684, 687, 693, 699, 700, 703, 708, 715, 716, - 719, 720, 724, 725, 728, 732, 738, 746, 750, 755, - 756, 759, 760, 761, 764, 766, 769, 770, 771, 772, - 773, 774, 775, 776, 777, 778, 779, 782, 783, 786, - 787, 788, 789, 790, 791, 792, 793, 796, 797, 805, - 811, 815, 818, 819, 823, 826, 827, 830, 839, 840, - 843, 844, 847, 853, 859, 860, 863, 864, 867, 877, - 886, 892, 896, 897, 900, 901, 904, 909, 916, 917, - 918, 922, 926, 929, 930, 933, 934, 938, 939, 943, - 944, 945, 949, 951, 953, 957, 958, 959, 960, 968, - 970, 972, 977, 979, 984, 985, 990, 991, 992, 993, - 998, 1007, 1009, 1010, 1015, 1017, 1021, 1022, 1029, 1030, - 1031, 1032, 1033, 1038, 1046, 1047, 1050, 1051, 1054, 1061, - 1062, 1067, 1068, 1072, 1073, 1074, 1075, 1076, 1080, 1081, - 1082, 1085, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, - 1096, 1097, 1100, 1107, 1109, 1115, 1116, 1117 + 669, 670, 671, 672, 673, 674, 675, 676, 678, 680, + 681, 684, 685, 688, 694, 700, 701, 704, 709, 716, + 717, 720, 721, 725, 726, 729, 733, 739, 747, 751, + 756, 757, 760, 761, 762, 765, 767, 770, 771, 772, + 773, 774, 775, 776, 777, 778, 779, 780, 783, 784, + 787, 788, 789, 790, 791, 792, 793, 794, 797, 798, + 806, 812, 816, 819, 820, 824, 827, 828, 831, 840, + 841, 844, 845, 848, 854, 860, 861, 864, 865, 868, + 878, 887, 893, 897, 898, 901, 902, 905, 910, 917, + 918, 919, 923, 927, 930, 931, 934, 935, 939, 940, + 944, 945, 946, 950, 952, 954, 958, 959, 960, 961, + 969, 971, 973, 978, 980, 985, 986, 991, 992, 993, + 994, 999, 1008, 1010, 1011, 1016, 1018, 1022, 1023, 1030, + 1031, 1032, 1033, 1034, 1039, 1047, 1048, 1051, 1052, 1055, + 1062, 1063, 1068, 1069, 1073, 1074, 1075, 1076, 1077, 1081, + 1082, 1083, 1086, 1089, 1090, 1091, 1092, 1093, 1094, 1095, + 1096, 1097, 1098, 1101, 1108, 1110, 1116, 1117, 1118 }; #endif @@ -921,12 +921,12 @@ }; # endif -#define YYPACT_NINF -526 +#define YYPACT_NINF -522 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-526))) + (!!((Yystate) == (-522))) -#define YYTABLE_NINF -253 +#define YYTABLE_NINF -254 #define yytable_value_is_error(Yytable_value) \ 0 @@ -935,74 +935,74 @@ STATE-NUM. */ static const yytype_int16 yypact[] = { - -526, 59, 1737, -526, -526, -526, -526, -526, -526, 163, - -526, -138, 169, -526, 194, -526, -526, -526, -526, 12, - 73, -526, -526, -526, -526, 219, 12, 120, -526, -64, - 12, 300, -526, -526, 266, 270, 300, -526, -526, 2902, - -526, -48, -526, -526, -526, -526, -526, 46, 2579, -44, - -23, -526, -526, 39, 19, -526, 48, 47, 54, 62, - 76, -33, -526, -526, 82, -526, 96, 96, 96, 57, - 2751, 86, 96, 87, 90, -526, -526, 223, -526, -526, - 72, -526, 95, -526, -526, 103, -526, -526, -526, -526, - 2751, -526, -526, 99, 112, -112, -109, -526, -526, 21, - -526, -526, 56, -526, -526, -526, 93, 156, -526, -526, - -526, -526, -526, -526, -526, -526, -526, -526, 157, -526, - -526, -526, 162, -526, -526, -526, 164, 168, -526, -526, - -526, -526, 170, 171, 173, 174, 175, -526, 177, -526, - -526, 178, -526, 179, -526, -526, 184, 186, -526, -526, - -526, -526, -526, -526, -526, -526, -526, -526, -526, -526, - -526, 187, -526, -526, -526, 193, 196, -526, -526, -526, - -526, -526, -526, 197, -526, -526, 200, -526, -526, -526, - 201, -526, -526, -526, 202, 203, 215, 216, -526, -526, - -526, 220, 225, -526, -526, 228, 231, 234, -56, -526, - -526, -526, 1620, 877, 136, 301, 373, 329, 347, 356, - 226, 195, -526, -526, -526, -526, 57, 237, 239, -526, - -526, -526, -526, -526, -22, -526, -526, -526, 357, 242, - -526, -526, -526, -526, -526, -526, -526, -526, -526, -526, - -526, -526, 57, 57, -526, 238, -141, -526, -526, -526, - 96, -526, -526, -526, 241, 365, -526, 243, -526, 247, - -526, 453, 161, 365, 713, 713, 454, 455, 713, 713, - 456, 457, 713, 458, 713, 713, 2168, 713, 713, 459, - -54, 461, 713, 2751, 713, 713, 2751, 135, 2751, 2751, - 161, 130, 462, 2751, 2902, 271, -526, 265, -526, -526, - -526, 273, -526, 276, -526, -526, -526, 62, 2665, -526, - 277, -526, -526, -526, 277, -105, -526, -526, -18, 1111, - 294, -76, 280, 278, -526, -526, 1213, 42, 279, -526, - 713, 94, 2168, -526, -526, -526, 284, 309, -526, 282, - -526, -13, 136, -11, 288, -526, -526, 289, 291, -526, - -526, -526, -526, -526, -526, -526, -526, -526, 285, -526, - 713, 713, 713, 713, 713, 713, 703, 2390, -91, -526, - 2390, 292, 296, -526, -70, 298, 302, 303, 304, 305, - 306, 307, 398, 308, 2665, 88, 310, -66, -526, 2390, - 311, 313, 314, 321, 315, -63, 2174, 316, -526, -526, - -526, -526, -526, 317, 318, 319, 322, 328, -526, 323, - 324, 326, -526, 2902, 499, -526, -526, -526, 57, 62, - -21, -526, -526, -526, 352, 2665, 331, 1503, 334, 419, - 1315, 62, -526, 2665, -526, -526, -526, -526, 450, -526, - 1425, 336, 366, -526, -526, -526, 365, 713, -526, 2665, - -526, 338, -526, 342, -526, 343, -526, -526, -526, 2665, - 18, 18, 18, 18, 18, 18, 2260, 248, 713, 713, - 547, 713, 713, 713, 713, 713, 713, 713, 713, 713, - 713, 713, 713, 713, 713, 713, 713, 713, 548, 713, - 713, -526, -526, -526, 543, -526, -526, -526, -526, -526, - -526, -526, -526, -526, -526, 88, -526, 1823, -526, 88, - -526, -526, -526, -137, -526, 713, -526, -526, -526, -526, - 713, -526, -526, -526, -526, -526, -526, -526, -526, 549, - -526, -526, -526, -526, 346, 994, -526, 375, -526, -526, - -526, 57, 166, -526, -526, 2665, 351, -526, -526, -526, - 62, -526, -526, -526, -526, 2082, -526, -526, 88, 354, - 365, -526, -526, 248, -526, -526, 1950, -526, 248, -526, - 350, -135, 25, 25, -526, 603, 603, 165, 165, 817, - 2285, 2369, 2408, 2440, 740, 165, 165, 64, 64, 18, - 18, 18, -526, 2329, -526, -526, -526, 70, -526, 353, - 88, 355, -526, 2168, -526, -526, 358, -526, 62, -526, - 57, -526, -526, 1417, -526, -526, -526, 379, -526, -94, - -526, 364, -526, 361, 100, -526, 369, 88, 370, -526, - 713, 2168, -526, 713, -526, -526, 70, -526, -526, -526, - 371, -526, -526, -526, 62, 713, -526, 88, -526, -526, - -526, -526, 70, -526, -526, -526, 18, 384, 2390, -526, - -526, -526, -526, -526, -3, -526, -526, 713, 411, -526, - -526, 412, -86, -86, -526, -526, 390, -526, -526 + -522, 104, 1753, -522, -522, -522, -522, -522, -522, 135, + -522, -34, 143, -522, 158, -522, -522, -522, -522, 14, + 160, -522, -522, -522, -522, 213, 14, 180, -522, -5, + 14, 522, -522, -522, 226, 266, 522, -522, -522, 2922, + -522, 36, -522, -522, -522, -522, -522, 71, 2599, 37, + 41, -522, -522, 52, 68, -522, 80, 91, 96, 95, + 107, 56, -522, -522, 113, -522, 270, 270, 270, 108, + 2771, 129, 270, 130, 134, -522, -522, 269, -522, -522, + 75, -522, 146, -522, -522, 167, -522, -522, -522, -522, + 2771, -522, -522, 76, 181, -118, -110, -522, -522, 175, + -522, -522, 185, -522, -522, -522, 186, 188, -522, -522, + -522, -522, -522, -522, -522, -522, -522, -522, 190, -522, + -522, -522, 191, -522, -522, -522, 192, 193, -522, -522, + -522, -522, 194, 197, 198, 199, 202, -522, 203, -522, + -522, 206, -522, 207, -522, -522, 208, 209, -522, -522, + -522, -522, -522, -522, -522, -522, -522, -522, -522, -522, + -522, 210, -522, -522, -522, 211, 212, -522, -522, -522, + -522, -522, -522, 214, -522, -522, 216, -522, -522, -522, + 217, -522, -522, -522, 221, 224, 229, 232, -522, -522, + -522, 233, 235, -522, -522, 237, 238, 239, -114, -522, + -522, -522, 1636, 893, 231, 293, 302, 303, 346, 350, + 183, 241, -522, -522, -522, -522, 108, 242, 243, -522, + -522, -522, -522, -522, -29, -522, -522, -522, 371, 246, + -522, -522, -522, -522, -522, -522, -522, -522, -522, -522, + -522, -522, 108, 108, -522, 254, -107, -522, -522, -522, + 270, -522, -522, -522, 244, 378, -522, 247, -522, 257, + -522, 442, 153, 378, 729, 729, 457, 458, 729, 729, + 459, 460, 729, 462, 729, 729, 2184, 729, 729, 463, + -81, 464, 729, 2771, 729, 729, 2771, 35, 2771, 2771, + 153, 219, 465, 2771, 2922, 274, -522, 271, -522, -522, + -522, 273, -522, 276, -522, -522, -522, 95, 2685, -522, + 277, -522, -522, -522, -522, 277, -79, -522, -522, -35, + 1127, 309, -76, 289, 292, -522, -522, 1229, 57, 297, + -522, 729, 33, 2184, -522, -522, -522, 306, 320, -522, + 298, -522, -31, 231, -7, 304, -522, -522, 305, 307, + -522, -522, -522, -522, -522, -522, -522, -522, -522, 310, + -522, 729, 729, 729, 729, 729, 729, 719, 2428, -117, + -522, 2428, 308, 311, -522, -96, 312, 315, 316, 317, + 318, 319, 322, 2190, 324, 2685, 66, 327, -84, -522, + 2428, 328, 332, 333, 347, 337, -74, 2276, 341, -522, + -522, -522, -522, -522, 342, 343, 344, 345, 313, -522, + 351, 353, 355, -522, 2922, 539, -522, -522, -522, 108, + 95, 34, -522, -522, -522, 372, 2685, 352, 1519, 359, + 477, 1331, 95, -522, 2685, -522, -522, -522, -522, 451, + -522, 1441, 361, 396, -522, -522, -522, 378, 729, -522, + 2685, -522, 370, -522, 373, -522, 374, -522, -522, -522, + 2685, 19, 19, 19, 19, 19, 19, 2345, 340, 729, + 729, 578, 729, 729, 729, 729, 729, 729, 729, 729, + 729, 729, 729, 729, 729, 729, 729, 729, 729, 579, + 729, 729, -522, -522, -522, 574, -522, -522, -522, -522, + -522, -522, -522, -522, -522, -522, 66, -522, 1839, -522, + 66, -522, -522, -522, -66, -522, 729, -522, -522, -522, + -522, 729, -522, -522, -522, -522, -522, -522, -522, -522, + 587, -522, -522, -522, -522, 376, 1010, -522, 404, -522, + -522, -522, 108, 178, -522, -522, 2685, 389, -522, -522, + -522, 95, -522, -522, -522, -522, 2098, -522, -522, 66, + 390, 378, -522, -522, 340, -522, -522, 1966, -522, 340, + -522, 391, -47, 176, 176, -522, 170, 170, 296, 296, + 101, 833, 2407, 2300, 556, 756, 296, 296, 74, 74, + 19, 19, 19, -522, 2385, -522, -522, -522, 43, -522, + 392, 66, 393, -522, 2184, -522, -522, 395, -522, 95, + -522, 108, -522, -522, 1433, -522, -522, -522, 414, -522, + -97, -522, 400, -522, 398, 331, -522, 399, 66, 401, + -522, 729, 2184, -522, 729, -522, -522, 43, -522, -522, + -522, 402, -522, -522, -522, 95, 729, -522, 66, -522, + -522, -522, -522, 43, -522, -522, -522, 19, 406, 2428, + -522, -522, -522, -522, -522, 30, -522, -522, 729, 425, + -522, -522, 433, -128, -128, -522, -522, 416, -522, -522 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1010,106 +1010,106 @@ means the default is an error. */ static const yytype_uint16 yydefact[] = { - 3, 0, 2, 1, 31, 373, 264, 256, 275, 0, - 312, 0, 0, 263, 251, 265, 308, 262, 266, 267, - 0, 311, 269, 276, 274, 0, 267, 0, 310, 0, - 267, 0, 271, 309, 251, 251, 261, 372, 257, 67, - 11, 0, 26, 12, 29, 12, 10, 0, 60, 375, - 0, 374, 258, 0, 0, 8, 0, 0, 0, 24, - 0, 294, 6, 5, 0, 9, 317, 317, 317, 0, - 0, 377, 317, 0, 379, 277, 278, 0, 285, 286, - 376, 253, 0, 268, 273, 0, 296, 297, 272, 281, - 0, 270, 259, 378, 0, 380, 0, 260, 68, 0, - 70, 71, 0, 72, 73, 74, 0, 0, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 0, 88, - 89, 90, 0, 92, 93, 94, 0, 0, 97, 98, - 99, 100, 0, 0, 0, 0, 0, 106, 0, 108, - 109, 0, 111, 0, 113, 114, 117, 0, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 0, 132, 133, 134, 0, 0, 137, 138, 139, - 140, 370, 141, 0, 143, 368, 0, 145, 146, 147, - 0, 149, 150, 151, 0, 0, 0, 0, 156, 369, - 157, 0, 0, 161, 162, 0, 0, 0, 0, 62, - 166, 27, 59, 59, 59, 251, 0, 0, 251, 251, - 0, 375, 279, 287, 298, 306, 0, 377, 379, 28, - 7, 282, 3, 303, 0, 25, 301, 302, 0, 0, - 22, 321, 318, 320, 319, 254, 255, 169, 170, 171, - 172, 313, 0, 0, 325, 361, 324, 248, 375, 377, - 317, 379, 315, 30, 0, 177, 42, 0, 234, 0, - 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67, 61, 43, 0, 19, 20, - 21, 0, 17, 0, 15, 13, 18, 24, 0, 60, - 376, 45, 304, 305, 378, 380, 46, 247, 59, 59, - 0, 59, 0, 0, 295, 22, 59, 0, 0, 323, - 0, 0, 48, 327, 316, 41, 0, 179, 180, 183, - 381, 59, 59, 59, 0, 168, 167, 0, 0, 198, - 189, 190, 191, 195, 196, 197, 192, 193, 0, 194, - 0, 0, 0, 0, 0, 0, 0, 232, 0, 230, - 233, 0, 0, 65, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 346, 0, 0, 185, 188, - 0, 0, 0, 0, 0, 0, 0, 0, 363, 364, - 365, 366, 367, 0, 0, 0, 0, 385, 387, 0, - 0, 0, 63, 67, 0, 16, 12, 47, 0, 24, - 0, 283, 4, 288, 0, 0, 0, 0, 0, 0, - 59, 24, 23, 60, 314, 322, 326, 362, 0, 58, - 0, 0, 52, 49, 50, 184, 178, 0, 371, 0, - 235, 0, 383, 60, 241, 0, 69, 160, 75, 0, - 222, 221, 220, 223, 218, 219, 0, 334, 0, 0, + 3, 0, 2, 1, 31, 374, 265, 257, 276, 0, + 313, 0, 0, 264, 252, 266, 309, 263, 267, 268, + 0, 312, 270, 277, 275, 0, 268, 0, 311, 0, + 268, 0, 272, 310, 252, 252, 262, 373, 258, 68, + 11, 0, 26, 12, 29, 12, 10, 0, 61, 376, + 0, 375, 259, 0, 0, 8, 0, 0, 0, 24, + 0, 295, 6, 5, 0, 9, 318, 318, 318, 0, + 0, 378, 318, 0, 380, 278, 279, 0, 286, 287, + 377, 254, 0, 269, 274, 0, 297, 298, 273, 282, + 0, 271, 260, 379, 0, 381, 0, 261, 69, 0, + 71, 72, 0, 73, 74, 75, 0, 0, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 0, 89, + 90, 91, 0, 93, 94, 95, 0, 0, 98, 99, + 100, 101, 0, 0, 0, 0, 0, 107, 0, 109, + 110, 0, 112, 0, 114, 115, 118, 0, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 0, 133, 134, 135, 0, 0, 138, 139, 140, + 141, 371, 142, 0, 144, 369, 0, 146, 147, 148, + 0, 150, 151, 152, 0, 0, 0, 0, 157, 370, + 158, 0, 0, 162, 163, 0, 0, 0, 0, 63, + 167, 27, 60, 60, 60, 252, 0, 0, 252, 252, + 0, 376, 280, 288, 299, 307, 0, 378, 380, 28, + 7, 283, 3, 304, 0, 25, 302, 303, 0, 0, + 22, 322, 319, 321, 320, 255, 256, 170, 171, 172, + 173, 314, 0, 0, 326, 362, 325, 249, 376, 378, + 318, 380, 316, 30, 0, 178, 42, 0, 235, 0, + 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, + 0, 0, 0, 0, 188, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 62, 43, 0, 19, 20, + 21, 0, 17, 0, 15, 13, 18, 24, 0, 61, + 377, 45, 46, 305, 306, 379, 381, 47, 248, 60, + 60, 0, 60, 0, 0, 296, 22, 60, 0, 0, + 324, 0, 0, 49, 328, 317, 41, 0, 180, 181, + 184, 382, 60, 60, 60, 0, 169, 168, 0, 0, + 199, 190, 191, 192, 196, 197, 198, 193, 194, 0, + 195, 0, 0, 0, 0, 0, 0, 0, 233, 0, + 231, 234, 0, 0, 66, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 347, 0, 0, 186, + 189, 0, 0, 0, 0, 0, 0, 0, 0, 364, + 365, 366, 367, 368, 0, 0, 0, 0, 386, 388, + 0, 0, 0, 64, 68, 0, 16, 12, 48, 0, + 24, 0, 284, 4, 289, 0, 0, 0, 0, 0, + 0, 60, 24, 23, 61, 315, 323, 327, 363, 0, + 59, 0, 0, 53, 50, 51, 185, 179, 0, 372, + 0, 236, 0, 384, 61, 242, 0, 70, 161, 76, + 0, 223, 222, 221, 224, 219, 220, 0, 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 76, 87, 91, 0, 95, 96, 101, 102, 103, - 104, 105, 107, 110, 112, 346, 313, 48, 351, 346, - 348, 347, 55, 343, 116, 187, 115, 131, 135, 136, - 0, 144, 148, 152, 153, 155, 154, 158, 159, 0, - 163, 164, 165, 64, 0, 59, 354, 382, 280, 284, - 290, 0, 377, 289, 292, 0, 0, 246, 293, 22, - 24, 307, 57, 56, 328, 0, 181, 182, 0, 379, - 249, 239, 238, 334, 229, 313, 48, 338, 334, 335, - 0, 331, 211, 212, 224, 205, 206, 209, 210, 200, - 201, 0, 202, 203, 204, 208, 207, 214, 213, 216, - 217, 215, 225, 0, 231, 66, 54, 346, 313, 0, - 346, 0, 342, 48, 350, 186, 0, 386, 24, 14, - 0, 244, 291, 59, 299, 53, 51, 356, 359, 0, - 237, 0, 250, 0, 334, 313, 0, 346, 0, 330, - 0, 48, 337, 0, 228, 341, 346, 352, 345, 349, - 0, 142, 44, 355, 24, 0, 358, 0, 236, 173, - 227, 329, 346, 339, 333, 336, 226, 0, 199, 344, - 353, 300, 357, 360, 0, 332, 340, 0, 0, 384, - 174, 0, 59, 59, 243, 176, 0, 175, 242 + 0, 0, 77, 88, 92, 0, 96, 97, 102, 103, + 104, 105, 106, 108, 111, 113, 347, 314, 49, 352, + 347, 349, 348, 56, 344, 117, 188, 116, 132, 136, + 137, 0, 145, 149, 153, 154, 156, 155, 159, 160, + 0, 164, 165, 166, 65, 0, 60, 355, 383, 281, + 285, 291, 0, 378, 290, 293, 0, 0, 247, 294, + 22, 24, 308, 58, 57, 329, 0, 182, 183, 0, + 380, 250, 240, 239, 335, 230, 314, 49, 339, 335, + 336, 0, 332, 212, 213, 225, 206, 207, 210, 211, + 201, 202, 0, 203, 204, 205, 209, 208, 215, 214, + 217, 218, 216, 226, 0, 232, 67, 55, 347, 314, + 0, 347, 0, 343, 49, 351, 187, 0, 387, 24, + 14, 0, 245, 292, 60, 300, 54, 52, 357, 360, + 0, 238, 0, 251, 0, 335, 314, 0, 347, 0, + 331, 0, 49, 338, 0, 229, 342, 347, 353, 346, + 350, 0, 143, 44, 356, 24, 0, 359, 0, 237, + 174, 228, 330, 347, 340, 334, 337, 227, 0, 200, + 345, 354, 301, 358, 361, 0, 333, 341, 0, 0, + 385, 175, 0, 60, 60, 244, 177, 0, 176, 243 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -526, -526, 359, -28, -305, -300, -1, -526, -526, -526, - 176, -526, -526, -526, 23, -468, -526, -526, -257, -232, - -189, -2, -526, -526, -267, 312, -65, -526, -526, -526, - -526, 152, 7, 320, 92, 210, -526, -261, -256, -526, - -526, -526, -526, -60, -187, -526, 181, -526, 22, -67, - -526, 131, 40, 16, -526, 24, 26, -526, -526, 555, - -526, -526, -526, -526, -526, -12, -526, 28, 4, -526, - -526, 29, -526, -526, -287, -477, -38, 17, -14, -220, - -526, -526, -526, -500, -526, -525, -526, -467, -526, -526, - -526, -32, -526, 393, -526, 341, 1, -46, -526, 3, - -526 + -522, -522, 403, -28, -306, -289, -1, -522, -522, -522, + 196, -522, -522, -522, 23, -474, -522, -522, -247, -231, + -190, -2, -522, -522, -270, 334, -65, -522, -522, -522, + -522, 182, 7, 339, 112, 225, -522, -261, -256, -522, + -522, -522, -522, -43, -187, -522, 204, -522, 45, -67, + -522, 72, 128, 17, -522, 24, 25, -522, -522, 585, + -522, -522, -522, -522, -522, -17, -522, 26, 4, -522, + -522, 28, -522, -522, -321, -460, -38, 5, -9, -220, + -522, -522, -522, -503, -522, -521, -522, -456, -522, -522, + -522, -14, -522, 419, -522, 356, 1, -37, -522, 3, + -522 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 2, 202, 326, 226, 298, 41, 42, 43, - 44, 299, 210, 45, 300, 441, 442, 443, 444, 508, - 47, 309, 198, 374, 199, 347, 509, 664, 670, 336, - 337, 338, 248, 387, 388, 367, 368, 369, 371, 341, - 450, 454, 343, 675, 676, 546, 50, 621, 82, 510, - 51, 84, 52, 301, 54, 302, 303, 318, 421, 57, - 58, 321, 427, 59, 229, 60, 61, 304, 305, 215, - 64, 306, 66, 67, 68, 327, 69, 231, 70, 245, - 246, 569, 628, 570, 571, 511, 601, 512, 513, 537, - 646, 618, 619, 247, 403, 200, 249, 72, 73, 251, - 409 + -1, 1, 2, 202, 327, 226, 298, 41, 42, 43, + 44, 299, 210, 45, 300, 442, 443, 444, 445, 509, + 47, 309, 198, 375, 199, 348, 510, 665, 671, 337, + 338, 339, 248, 388, 389, 368, 369, 370, 372, 342, + 451, 455, 344, 676, 677, 547, 50, 622, 82, 511, + 51, 84, 52, 301, 54, 302, 303, 319, 422, 57, + 58, 322, 428, 59, 229, 60, 61, 304, 305, 215, + 64, 306, 66, 67, 68, 328, 69, 231, 70, 245, + 246, 570, 629, 571, 572, 512, 602, 513, 514, 538, + 647, 619, 620, 247, 404, 200, 249, 72, 73, 251, + 410 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1117,177 +1117,116 @@ number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 48, 40, 244, 71, 243, 74, 63, 417, 376, 49, - 216, 379, 375, 381, 333, 308, 386, 203, 53, 383, - 430, 393, 328, 329, 250, 46, 55, 412, 56, 597, - 62, 65, 424, 617, 470, 667, 214, 12, 596, 599, - 434, 470, 602, -252, 257, 235, 259, 236, 668, 217, - -252, 218, 232, 232, 232, 211, 94, 96, 232, 3, - 235, 331, 236, 623, 212, 331, 332, 331, 629, 77, - 603, 92, 631, 235, 437, 236, 97, 25, 25, 171, - 470, 237, 85, 175, 233, 234, 10, 647, 624, 252, - 490, 235, -252, 236, -37, 260, 237, 349, 626, -252, - 350, 351, 352, 353, 354, 355, 320, 435, 83, 237, - 189, 494, 648, 238, 10, 515, 39, 491, 515, 538, - 674, 636, 617, 89, 651, 294, 39, 237, 238, 420, - 635, 551, 425, 638, 426, 640, 407, 408, 495, 237, - 10, 238, 516, 90, 10, 522, 533, 295, 652, 244, - 228, 243, 449, 425, 425, 451, 455, 88, 201, 238, - 654, 91, -32, 657, 356, 16, 75, 239, 76, 659, - 345, 238, 78, 346, 79, 244, 244, 243, 243, 468, - 469, 470, 239, 219, 39, 665, 557, 419, 339, 39, - 21, 39, 448, 240, 452, 239, 348, 80, 536, 81, - 48, 48, 669, 71, 71, 74, 74, 204, 240, 49, - 49, 357, 322, 239, 483, 484, 485, 486, 487, 488, - 489, 240, 86, 221, 87, 239, 488, 489, 261, 594, - 94, 96, 254, 241, 28, 567, 232, 394, 385, 240, - 397, 358, 404, 405, 613, 220, 33, 411, 241, 242, - 614, 240, 222, 223, 359, 485, 486, 487, 224, 606, - 244, 506, 243, 262, 242, 488, 489, 334, 225, 93, - 418, 81, 331, 95, 384, 81, -252, 507, -33, 506, - 360, 604, 227, 361, 362, 438, 230, 237, 364, 365, - 331, 565, -34, 253, 385, 507, -36, 439, 616, 255, - 263, 366, 331, -252, 310, -35, 81, 566, 642, 256, - 434, 398, 399, 400, 401, 402, 258, 48, 40, 238, - 71, 611, 74, 63, 433, 432, 49, 71, 467, 74, - 384, 567, 312, 49, 313, 53, 567, 434, 39, 632, - 8, 453, 46, 55, 661, 56, 505, 62, 65, 434, - 314, 244, 81, 243, 483, 484, 485, 486, 487, 315, - 323, 81, 324, 264, 265, 434, 488, 489, 235, 266, - 236, 267, -245, 239, -245, 268, 311, 269, 270, 339, - 271, 272, 273, 19, 274, 275, 276, 541, 535, 662, - 643, 277, 567, 278, 279, 216, 22, 23, 24, 240, - 280, -38, 568, 281, 282, 26, 671, 283, 284, 285, - 286, 558, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 563, 287, 288, 539, 545, 542, 289, 433, 432, - 316, 71, 290, 74, 217, 291, 218, 49, 292, 565, - 211, 293, 600, -39, 30, -40, 325, 330, 32, 335, - 331, 340, 559, 349, 342, 566, 350, 351, 352, 353, - 354, 355, 344, 372, 373, 377, 378, 380, 390, 385, - 392, 410, 414, 413, 244, 370, 243, 423, 370, 415, - 416, -252, 429, 425, 425, 382, 428, 436, 389, 445, - 446, 447, 459, 622, 389, 396, 456, 457, 568, 458, - 492, 627, 520, 568, 493, 384, 496, 216, 534, 20, - 497, 498, 499, 500, 501, 502, 504, 385, 514, 517, - 356, 518, 519, 521, 524, 525, 526, 527, 385, 529, - 528, 530, 531, 48, 532, 540, 71, 543, 74, 548, - 370, 440, 49, 244, 554, 243, 560, 555, 561, 562, - 574, 592, 595, 384, 608, 607, 610, 612, 630, 568, - 620, 637, 645, 639, 384, 385, 641, 357, 649, 650, - 460, 461, 462, 463, 464, 465, 466, 653, 655, 660, - 477, 319, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 666, 385, 672, 673, 678, 358, 556, 488, - 489, 384, 406, 213, 395, 549, 503, 605, 547, 317, - 359, 433, 432, 677, 71, 663, 74, 468, 469, 470, - 49, 391, 473, 474, 0, 0, 0, 0, 0, 384, - 0, 0, 0, 0, 0, 0, 360, 0, 0, 361, - 362, 363, 0, 0, 364, 365, 0, 0, 463, 0, - 0, 0, 0, 552, 0, 0, 0, 366, 0, 0, + 48, 40, 244, 71, 243, 74, 63, 435, 377, 49, + 216, 380, 376, 382, 308, 334, 387, 203, 418, 53, + 431, 394, 329, 330, 413, 46, 55, 56, 62, 384, + 65, 214, 425, 250, 600, 471, 350, -253, 618, 351, + 352, 353, 354, 355, 356, 259, 235, 598, 236, 217, + 597, 218, 171, 257, 603, 211, 175, 232, 232, 232, + 235, 624, 236, 232, 491, 212, 630, 294, 668, 235, + 25, 236, 233, 234, 39, 438, -253, 252, 675, 94, + 96, 669, 237, 189, 648, 495, -253, 10, -37, 295, + 471, 492, 12, 627, 260, 332, 237, 516, 88, 321, + 333, 10, 91, 357, 3, 237, 625, 516, 436, 649, + 83, 235, 496, 236, 238, 469, 470, 471, 472, 473, + 474, 475, 652, 477, 517, -253, 39, 618, 238, 421, + 641, 539, 426, 25, 523, 427, 332, 238, 75, 637, + 76, 604, 636, 552, 534, 639, 78, 237, 79, 244, + 358, 243, 450, 426, 426, 332, 452, 456, 658, 92, + 632, 80, 346, 81, 97, 347, 653, 39, 239, 85, + 420, 39, 655, 77, 449, 244, 244, 243, 243, 238, + 359, 660, 239, 89, 469, 470, 471, 558, 340, 474, + 475, 239, 471, 360, 240, 39, 349, 666, 453, 537, + 48, 48, 90, 71, 71, 74, 74, 323, 240, 49, + 49, 399, 400, 401, 402, 403, 86, 240, 87, 361, + 489, 490, 362, 363, 439, 408, 409, 365, 366, 93, + 595, 81, 204, 239, 507, 670, 440, 568, 386, 228, + 367, 232, 201, -32, 614, 332, 395, 219, 241, 398, + 508, 405, 406, 94, 96, 335, 412, 507, 220, 240, + 607, 244, 615, 243, 242, 486, 487, 488, 332, 95, + 419, 81, 221, 508, 385, 489, 490, 435, 254, -253, + -253, -33, -35, 605, 222, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 386, 310, 223, 81, 241, + 224, 225, 489, 490, 435, 311, 313, 312, 314, 617, + 469, 470, 471, 227, 10, 242, 435, 230, 48, 40, + 643, 71, 612, 74, 63, 434, 433, 49, 71, 468, + 74, 385, 435, 568, 49, -34, 253, 53, 568, 16, + -36, 633, 454, 46, 55, 56, 62, 506, 65, 315, + 255, 81, 244, 316, 243, 81, 662, 482, 483, 484, + 485, 486, 487, 488, 21, 484, 485, 486, 487, 488, + 237, 489, 490, 256, 324, 10, 325, 489, 490, 237, + 340, 235, 261, 236, -246, 258, -246, 317, 542, 536, + 663, 644, 262, 263, 568, 264, 216, 265, 266, 267, + 268, 269, 238, 569, 270, 271, 272, 672, 28, 273, + 274, 238, 559, 275, 276, 277, 278, 279, 280, 281, + 33, 282, 564, 283, 284, 540, 546, 543, 285, 434, + 433, 286, 71, 39, 74, 217, 287, 218, 49, 288, + 289, 211, 290, 601, 291, 292, 293, -38, -39, -40, + 326, 345, 336, 560, 350, 341, 239, 351, 352, 353, + 354, 355, 356, 331, 343, 239, 373, 374, 378, 379, + 386, 381, 391, 393, 411, 244, 414, 243, 415, 416, + 417, -253, 240, 426, 426, 484, 485, 486, 487, 488, + 371, 240, 424, 371, 623, 429, 430, 489, 490, 569, + 383, 447, 628, 390, 569, 437, 385, 448, 216, 390, + 397, 446, 457, 458, 530, 459, 493, 460, 386, 494, + 497, 357, 566, 498, 499, 500, 501, 502, 521, 386, + 503, 566, 505, 332, 48, 515, 518, 71, 567, 74, + 519, 520, 332, 49, 244, 522, 243, 567, 535, 525, + 526, 527, 528, 529, 385, 541, 371, 441, 544, 531, + 569, 532, 8, 533, 549, 385, 386, 20, 358, 555, + 469, 470, 471, 472, 473, 474, 475, 556, 561, 562, + 563, 575, 593, 596, 609, 611, 461, 462, 463, 464, + 465, 466, 467, 608, 386, 613, 621, 646, 359, 631, + 638, 640, 385, 642, 650, 19, 651, 654, 673, 656, + 661, 360, 434, 433, 667, 71, 674, 74, 22, 23, + 24, 49, 679, 396, 407, 320, 550, 26, 606, 557, + 385, 678, 548, 213, 664, 318, 392, 361, 0, 0, + 362, 363, 364, 0, 0, 365, 366, 0, 0, 0, + 0, 0, 0, 0, 553, 0, 0, 0, 367, 0, + 0, 0, 0, 0, 464, 0, 30, 0, 0, 0, + 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 572, 573, - 0, 575, 576, 577, 578, 579, 580, 581, 582, 583, - 584, 585, 586, 587, 588, 589, 590, 591, 0, 593, - 0, 0, 0, 0, 0, 0, 349, 0, 5, 350, - 351, 352, 353, 354, 355, 0, 349, 0, 0, 350, - 351, 352, 353, 354, 355, 389, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 6, 0, 7, 0, 0, - 0, 0, 0, 8, 0, 0, 0, 10, 0, 0, - 0, 0, 0, 0, 468, 469, 470, 471, 472, 473, - 474, 0, 0, 13, 0, 0, 0, 0, 0, 205, - 15, 0, 16, 356, 0, 0, 17, 0, 0, 18, - 0, 0, 0, 356, 0, 0, 19, 0, 0, 0, - 481, 482, 483, 484, 485, 486, 487, 21, 0, 22, - 23, 24, 0, 0, 488, 489, 0, 0, 26, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 357, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 357, 468, 469, 470, 471, 472, 473, 474, 0, 476, - 656, 28, 0, 658, 0, 0, 29, 30, 31, 0, - 358, 32, 0, 33, 0, 370, 0, 208, 0, 0, - 358, 0, 0, 359, 0, 0, 209, 0, 36, 0, - 0, 0, 0, 359, 0, 0, 37, 38, 0, 0, - 0, 4, 5, 0, 0, 0, 0, 0, 0, 360, - 0, 0, 361, 362, 363, 0, 0, 364, 365, 360, - 0, 0, 361, 362, 363, 0, 0, 364, 365, 6, - 366, 7, 0, 0, 0, 0, 0, 8, 9, 0, - 366, 10, 0, 0, 0, 0, 11, 481, 482, 483, - 484, 485, 486, 487, 0, 12, 0, 13, 0, 0, - 0, 488, 489, 14, 15, 0, 16, 0, 0, 0, - 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, - 19, 0, 0, 0, 0, 0, 0, 20, 297, 0, - 0, 21, 0, 22, 23, 24, 25, 0, 0, 0, - 0, 0, 26, 0, 0, 0, 0, 27, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 0, 0, 0, 0, 28, 0, 0, 488, 489, - 29, 30, 31, 0, 0, 32, 6, 33, 7, 0, - 0, 34, 0, 0, 8, 9, 0, 0, 10, 0, - 35, 0, 36, 11, 0, 0, 0, 0, 0, 0, - 37, 38, 12, 0, 13, 0, 0, 0, 0, 0, - 14, 15, 0, 16, 0, 0, 0, 17, 0, 0, - 18, 0, 0, 0, 0, 0, 0, 19, 0, 39, - 0, 0, 307, 0, 20, 297, 0, 0, 21, 0, - 22, 23, 24, 25, 0, 0, 0, 0, 0, 26, - 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 29, 30, 31, - 0, 0, 32, 6, 33, 7, 0, 0, 34, 0, - 0, 8, 9, 0, 0, 10, 0, 35, 0, 36, - 11, 0, 0, 0, 0, 0, 0, 37, 38, 12, - 0, 13, 0, 0, 0, 0, 0, 14, 15, 0, - 16, 0, 0, 0, 17, 0, 0, 18, 0, 0, - 0, 0, 0, 0, 19, 0, 39, 0, 0, 609, - 0, 20, 0, 0, 0, 21, 0, 22, 23, 24, - 25, 0, 0, 0, 0, 0, 26, 4, 5, 0, - 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 6, 0, 7, 0, 28, - 0, 0, 0, 8, 29, 30, 31, 10, 0, 32, - 0, 33, 11, 0, 0, 34, 0, 0, 0, 0, - 0, 0, 0, 13, 35, 0, 36, 0, 0, 14, - 15, 0, 16, 0, 37, 38, 17, 0, 0, 18, + 0, 0, 0, 0, 573, 574, 0, 576, 577, 578, + 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, + 589, 590, 591, 592, 0, 594, 0, 0, 0, 0, + 0, 0, 350, 0, 5, 351, 352, 353, 354, 355, + 356, 0, 350, 0, 0, 351, 352, 353, 354, 355, + 356, 390, 481, 482, 483, 484, 485, 486, 487, 488, + 0, 6, 0, 7, 0, 0, 0, 489, 490, 8, + 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, + 469, 470, 471, 472, 473, 474, 475, 0, 0, 13, + 0, 0, 0, 0, 0, 205, 15, 0, 16, 357, + 0, 0, 17, 0, 0, 18, 0, 0, 0, 357, + 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 21, 0, 22, 23, 24, 0, 0, + 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 358, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 358, 469, 470, 471, + 472, 473, 474, 475, 0, 0, 657, 28, 0, 659, + 0, 0, 29, 30, 31, 0, 359, 32, 0, 33, + 0, 371, 0, 208, 0, 0, 359, 0, 0, 360, + 0, 0, 209, 0, 36, 0, 0, 0, 0, 360, + 0, 0, 37, 38, 0, 0, 0, 4, 5, 0, + 0, 0, 0, 0, 0, 361, 0, 0, 362, 363, + 364, 0, 0, 365, 366, 361, 0, 0, 362, 363, + 364, 0, 0, 365, 366, 6, 367, 7, 0, 0, + 0, 0, 0, 8, 9, 0, 367, 10, 0, 0, + 0, 0, 11, 482, 483, 484, 485, 486, 487, 488, + 0, 12, 0, 13, 0, 0, 0, 489, 490, 14, + 15, 0, 16, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, - 0, 0, 0, 20, 0, 0, 0, 21, 0, 22, - 23, 24, 0, 39, 0, 0, 422, 0, 26, 4, - 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 6, 0, 7, - 0, 28, 0, 0, 0, 8, 29, 30, 31, 10, - 0, 32, 0, 33, 11, 0, 0, 34, 0, 0, - 0, 0, 0, 0, 0, 13, 35, 0, 36, 0, - 0, 14, 15, 0, 16, 0, 37, 38, 17, 0, - 0, 18, 0, 0, 0, 0, 0, 0, 19, 0, - 0, 0, 0, 0, 0, 20, 0, 0, 0, 21, - 0, 22, 23, 24, 0, 39, 0, 0, 431, 0, - 26, 4, 5, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 0, 6, - 0, 7, 0, 28, 0, 0, 0, 8, 29, 30, - 31, 10, 0, 32, 0, 33, 11, 0, 0, 34, - 0, 0, 0, 0, 0, 0, 0, 13, 35, 0, - 36, 0, 0, 14, 15, 0, 16, 0, 37, 38, - 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, - 19, 0, 0, 0, 0, 0, 0, 20, 5, 0, - 0, 21, 0, 22, 23, 24, 0, 39, 0, 0, - 550, 0, 26, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 6, 0, 7, 0, 0, - 0, 0, 0, 8, 0, 0, 0, 10, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 29, 30, 31, 13, 0, 32, 0, 33, 0, 205, - 15, 34, 16, 0, 0, 0, 17, 0, 0, 18, - 35, 0, 36, 0, 0, 0, 19, 0, 0, 0, - 37, 38, 0, 0, 0, 0, 0, 21, 0, 22, - 23, 24, 0, 0, 0, 0, 0, 477, 26, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 39, - 0, 0, 644, 0, 4, 5, 488, 489, 553, 0, - 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, - 0, 28, 0, 0, 0, 0, 29, 30, 31, 0, - 0, 32, 6, 33, 7, 0, 0, 208, 0, 0, - 8, 9, 0, 0, 10, 0, 209, 0, 36, 11, + 0, 0, 0, 20, 297, 0, 0, 21, 0, 22, + 23, 24, 25, 0, 0, 0, 0, 0, 26, 0, + 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 5, 0, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 0, 0, 0, + 0, 28, 0, 0, 489, 490, 29, 30, 31, 0, + 0, 32, 6, 33, 7, 0, 0, 34, 0, 0, + 8, 9, 0, 0, 10, 0, 35, 0, 36, 11, 0, 0, 0, 0, 0, 0, 37, 38, 12, 0, 13, 0, 0, 0, 0, 0, 14, 15, 0, 16, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, - 0, 0, 0, 19, 0, 39, 0, 0, 544, 0, + 0, 0, 0, 19, 0, 39, 0, 0, 307, 0, 20, 297, 0, 0, 21, 0, 22, 23, 24, 25, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1299,89 +1238,152 @@ 0, 0, 0, 37, 38, 12, 0, 13, 0, 0, 0, 0, 0, 14, 15, 0, 16, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, - 19, 0, 39, 0, 0, 0, 0, 20, 5, 0, + 19, 0, 39, 0, 0, 610, 0, 20, 0, 0, 0, 21, 0, 22, 23, 24, 25, 0, 0, 0, - 0, 0, 26, 0, 0, 0, 0, 27, 0, 0, - 0, 0, 0, 0, 0, 6, 0, 7, 0, 0, - 0, 0, 237, 8, 0, 0, 0, 10, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 29, 30, 31, 13, 0, 32, 0, 33, 0, 205, - 15, 34, 16, 0, 238, 0, 17, 0, -59, 18, - 35, 0, 36, 0, 0, 0, 19, 0, 0, 0, - 37, 38, 0, 0, 0, 0, 0, 21, 0, 22, - 23, 24, 0, 0, 0, 0, 0, 0, 26, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, - 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, - 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, - 0, 28, 0, 0, 0, 0, 29, 30, 31, 0, - 0, 32, 0, 33, 240, 0, 0, 208, 0, 0, - 0, 0, 6, 0, 7, 0, 209, 0, 36, 237, - 8, 0, 0, 0, 10, 0, 37, 38, 0, 0, + 0, 0, 26, 4, 5, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 598, 0, 205, 15, 0, 16, - 0, 238, 0, 17, 0, 39, 18, 0, 0, 0, - 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 21, 0, 22, 23, 24, 0, - 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 239, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5, 28, 0, - 0, 0, 0, 29, 30, 31, 0, 0, 32, 0, - 33, 240, 0, 0, 208, 615, 0, 0, 0, 0, - 0, 0, 0, 209, 6, 36, 7, 0, 0, 0, - 0, 0, 8, 37, 38, 0, 10, 0, 0, 0, + 0, 6, 0, 7, 0, 28, 0, 0, 0, 8, + 29, 30, 31, 10, 0, 32, 0, 33, 11, 0, + 0, 34, 0, 0, 0, 0, 0, 0, 0, 13, + 35, 0, 36, 0, 0, 14, 15, 0, 16, 0, + 37, 38, 17, 0, 0, 18, 0, 0, 0, 0, + 0, 0, 19, 0, 0, 0, 0, 0, 0, 20, + 0, 0, 0, 21, 0, 22, 23, 24, 0, 39, + 0, 0, 423, 0, 26, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 625, 13, 0, 0, 0, 0, 0, 205, 15, - 0, 16, 39, 0, 0, 17, 0, 0, 18, 0, - 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, - 0, 0, 0, 5, 0, 0, 21, 0, 22, 23, - 24, 0, 0, 0, 0, 0, 0, 26, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 0, 0, 0, - 6, 0, 7, 0, 0, 0, 0, 0, 8, 0, - 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, - 28, 0, 0, 0, 0, 29, 30, 31, 13, 0, - 32, 0, 33, 0, 205, 15, 208, 16, 0, 0, - 0, 17, 0, 0, 18, 209, 0, 36, 0, 0, - 0, 19, 0, 0, 0, 37, 38, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 6, 0, 7, 0, 28, 0, 0, + 0, 8, 29, 30, 31, 10, 0, 32, 0, 33, + 11, 0, 0, 34, 0, 0, 0, 0, 0, 0, + 0, 13, 35, 0, 36, 0, 0, 14, 15, 0, + 16, 0, 37, 38, 17, 0, 0, 18, 0, 0, + 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, + 0, 20, 0, 0, 0, 21, 0, 22, 23, 24, + 0, 39, 0, 0, 432, 0, 26, 4, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 0, 6, 0, 7, 0, 28, + 0, 0, 0, 8, 29, 30, 31, 10, 0, 32, + 0, 33, 11, 0, 0, 34, 0, 0, 0, 0, + 0, 0, 0, 13, 35, 0, 36, 0, 0, 14, + 15, 0, 16, 0, 37, 38, 17, 0, 0, 18, + 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, + 0, 0, 0, 20, 5, 0, 0, 21, 0, 22, + 23, 24, 0, 39, 0, 0, 551, 0, 26, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 6, 0, 7, 0, 0, 0, 0, 0, 8, + 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, + 0, 28, 0, 0, 0, 0, 29, 30, 31, 13, + 0, 32, 0, 33, 0, 205, 15, 34, 16, 0, + 0, 0, 17, 0, 0, 18, 35, 0, 36, 0, + 0, 0, 19, 0, 0, 0, 37, 38, 0, 0, + 0, 0, 0, 21, 0, 22, 23, 24, 0, 0, + 0, 0, 0, 478, 26, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 39, 0, 0, 645, 0, + 4, 5, 489, 490, 554, 0, 0, 0, 0, 296, + 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, + 0, 0, 29, 30, 31, 0, 0, 32, 6, 33, + 7, 0, 0, 208, 0, 0, 8, 9, 0, 0, + 10, 0, 209, 0, 36, 11, 0, 0, 0, 0, + 0, 0, 37, 38, 12, 0, 13, 0, 0, 0, + 0, 0, 14, 15, 0, 16, 0, 0, 0, 17, + 0, 0, 18, 0, 0, 0, 0, 0, 0, 19, + 0, 39, 0, 0, 545, 0, 20, 297, 0, 0, + 21, 0, 22, 23, 24, 25, 0, 0, 0, 0, + 0, 26, 0, 0, 0, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 28, 0, 0, 0, 0, 29, + 30, 31, 0, 0, 32, 6, 33, 7, 0, 0, + 34, 0, 0, 8, 9, 0, 0, 10, 0, 35, + 0, 36, 11, 0, 0, 0, 0, 0, 0, 37, + 38, 12, 0, 13, 0, 0, 0, 0, 0, 14, + 15, 0, 16, 0, 0, 0, 17, 0, 0, 18, + 0, 0, 0, 0, 0, 0, 19, 0, 39, 0, + 0, 0, 0, 20, 5, 0, 0, 21, 0, 22, + 23, 24, 25, 0, 0, 0, 0, 0, 26, 0, + 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 6, 0, 7, 0, 0, 0, 0, 237, 8, + 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, + 0, 28, 0, 0, 0, 0, 29, 30, 31, 13, + 0, 32, 0, 33, 0, 205, 15, 34, 16, 0, + 238, 0, 17, 0, -60, 18, 35, 0, 36, 0, + 0, 0, 19, 0, 0, 0, 37, 38, 0, 0, + 0, 0, 0, 21, 0, 22, 23, 24, 0, 0, + 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, + 0, 0, 0, 0, 239, 0, 0, 0, 0, 0, + 0, 5, 0, 0, 0, 0, 0, 28, 0, 0, + 0, 0, 29, 30, 31, 0, 0, 32, 0, 33, + 240, 0, 0, 208, 0, 0, 0, 0, 6, 0, + 7, 0, 209, 0, 36, 237, 8, 0, 0, 0, + 10, 0, 37, 38, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, + 599, 0, 205, 15, 0, 16, 0, 238, 0, 17, + 0, 39, 18, 0, 0, 0, 0, 0, 0, 19, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 21, 0, 22, 23, 24, 0, 0, 0, 0, 0, + 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5, 28, 0, 0, 0, 0, 29, + 30, 31, 0, 0, 32, 0, 33, 240, 0, 0, + 208, 616, 0, 0, 0, 0, 0, 0, 0, 209, + 6, 36, 7, 0, 0, 0, 0, 0, 8, 37, + 38, 0, 10, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 626, 13, 0, + 0, 0, 0, 0, 205, 15, 0, 16, 39, 0, + 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, + 0, 19, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 21, 0, 22, 23, 24, 0, 0, 0, - 0, 0, 0, 26, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 0, 39, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, - 469, 470, 471, 472, 473, 474, 28, 0, 0, 0, - 0, 29, 30, 31, 0, 0, 32, 0, 33, 0, - 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, - 0, 209, 0, 36, 0, 0, 0, 0, 0, 0, - 0, 37, 38, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 0, 0, 0, 0, 477, 0, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 0, 0, - 39, 0, 0, 0, 0, 488, 489, 0, 0, 0, - 0, 0, 523, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 468, 469, 470, 471, 472, 473, 474, 0, + 0, 0, 0, 26, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 0, 0, 0, 6, 0, 7, 0, + 0, 0, 0, 0, 8, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, + 0, 29, 30, 31, 13, 0, 32, 0, 33, 0, + 205, 15, 208, 16, 0, 0, 0, 17, 0, 0, + 18, 209, 0, 36, 0, 0, 0, 19, 0, 0, + 0, 37, 38, 0, 0, 0, 0, 0, 21, 0, + 22, 23, 24, 0, 0, 0, 0, 0, 0, 26, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 0, + 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 469, 470, 471, 472, 473, 474, + 475, 0, 28, 0, 0, 0, 0, 29, 30, 31, + 0, 0, 32, 0, 33, 0, 0, 0, 208, 0, + 0, 0, 0, 0, 0, 0, 0, 209, 0, 36, + 0, 0, 0, 0, 0, 0, 0, 37, 38, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 0, 0, + 0, 0, 478, 0, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 0, 0, 39, 0, 0, 0, + 0, 489, 490, 0, 0, 0, 0, 0, 504, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 468, 469, 470, 471, 472, 473, - 474, 488, 489, 0, 0, 0, 0, 0, 564, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 0, - 0, 0, 0, 0, 0, 0, 488, 489, 0, 0, + 0, 469, 470, 471, 472, 473, 474, 475, 476, 477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 469, 470, 471, 472, 473, 474, 475, 476, + 477, 0, 0, 0, 0, 0, 0, 0, 478, 0, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 0, 0, 0, 0, 0, 0, 0, 489, 490, 0, + 0, 0, 0, 0, 524, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 0, 0, 0, 0, 0, 0, + 0, 489, 490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 0, 0, 0, 0, 0, 0, 0, - 488, 489, 634, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 477, 633, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 0, 0, 0, 0, 0, 0, 0, - 488, 489, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 5, 0, 0, 0, 0, 0, - 0, 488, 489, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 0, 0, 0, 0, 0, 0, 0, 488, - 489, 6, 0, 7, 0, 0, 0, 0, 0, 8, - 9, 0, 0, 10, 0, 0, 480, 481, 482, 483, - 484, 485, 486, 487, 0, 0, 0, 12, 0, 13, - 0, 488, 489, 0, 0, 205, 15, 0, 16, 0, + 0, 0, 0, 0, 0, 0, 0, 478, 0, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 0, + 0, 0, 0, 0, 0, 0, 489, 490, 0, 0, + 0, 0, 0, 565, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 478, 0, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 0, + 0, 0, 0, 0, 0, 0, 489, 490, 635, 478, + 634, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 0, 0, 0, 5, 0, 0, 0, 489, 490, + 478, 0, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 0, 0, 0, 0, 0, 0, 0, 489, + 490, 6, 0, 7, 0, 0, 0, 0, 0, 8, + 9, 0, 0, 10, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 12, 0, 13, + 0, 0, 0, 0, 0, 205, 15, 0, 16, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 21, 0, 22, 23, 24, 25, 0, @@ -1429,171 +1431,110 @@ static const yytype_int16 yycheck[] = { - 2, 2, 69, 2, 69, 2, 2, 307, 269, 2, - 48, 272, 268, 274, 246, 204, 277, 45, 2, 276, - 325, 282, 242, 243, 70, 2, 2, 294, 2, 506, - 2, 2, 108, 558, 16, 38, 48, 58, 505, 507, - 327, 16, 509, 155, 90, 3, 155, 5, 51, 48, - 155, 48, 66, 67, 68, 48, 34, 35, 72, 0, - 3, 202, 5, 563, 48, 202, 207, 202, 568, 207, - 207, 31, 207, 3, 330, 5, 36, 99, 99, 133, - 16, 39, 9, 137, 67, 68, 44, 181, 565, 72, - 181, 3, 204, 5, 206, 204, 39, 3, 566, 204, - 6, 7, 8, 9, 10, 11, 128, 327, 96, 39, - 164, 181, 206, 71, 44, 181, 202, 208, 181, 419, - 206, 598, 647, 3, 624, 181, 202, 39, 71, 318, - 597, 431, 321, 600, 321, 603, 6, 7, 208, 39, - 44, 71, 208, 207, 44, 208, 413, 203, 625, 216, - 183, 216, 341, 342, 343, 342, 343, 26, 206, 71, - 627, 30, 206, 631, 70, 69, 3, 125, 5, 636, - 9, 71, 3, 12, 5, 242, 243, 242, 243, 14, - 15, 16, 125, 206, 202, 652, 447, 205, 255, 202, - 94, 202, 205, 151, 205, 125, 263, 3, 418, 5, - 202, 203, 205, 202, 203, 202, 203, 161, 151, 202, - 203, 117, 224, 125, 189, 190, 191, 192, 193, 201, - 202, 151, 3, 204, 5, 125, 201, 202, 207, 490, - 208, 209, 9, 191, 138, 467, 250, 283, 276, 151, - 286, 147, 288, 289, 549, 206, 150, 293, 191, 207, - 550, 151, 204, 206, 160, 191, 192, 193, 204, 520, - 327, 191, 327, 207, 207, 201, 202, 250, 206, 3, - 308, 5, 202, 3, 276, 5, 204, 207, 206, 191, - 186, 513, 206, 189, 190, 191, 204, 39, 194, 195, - 202, 191, 206, 206, 332, 207, 206, 203, 555, 204, - 207, 207, 202, 204, 3, 206, 5, 207, 608, 206, - 597, 176, 177, 178, 179, 180, 204, 319, 319, 71, - 319, 541, 319, 319, 326, 326, 319, 326, 366, 326, - 332, 563, 3, 326, 5, 319, 568, 624, 202, 571, - 40, 343, 319, 319, 644, 319, 384, 319, 319, 636, - 3, 418, 5, 418, 189, 190, 191, 192, 193, 3, - 3, 5, 5, 207, 207, 652, 201, 202, 3, 207, - 5, 207, 206, 125, 208, 207, 3, 207, 207, 446, - 207, 207, 207, 83, 207, 207, 207, 425, 416, 645, - 610, 207, 624, 207, 207, 433, 96, 97, 98, 151, - 207, 206, 467, 207, 207, 105, 667, 207, 207, 207, - 207, 449, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 459, 207, 207, 420, 427, 425, 207, 430, 430, - 204, 430, 207, 430, 433, 207, 433, 430, 207, 191, - 433, 207, 507, 206, 144, 206, 204, 209, 148, 208, - 202, 208, 449, 3, 207, 207, 6, 7, 8, 9, - 10, 11, 9, 9, 9, 9, 9, 9, 9, 507, - 9, 9, 207, 202, 541, 265, 541, 183, 268, 206, - 204, 204, 204, 672, 673, 275, 206, 208, 278, 205, - 181, 209, 207, 560, 284, 285, 208, 208, 563, 208, - 208, 566, 181, 568, 208, 507, 208, 545, 9, 90, - 208, 208, 208, 208, 208, 208, 208, 555, 208, 208, - 70, 208, 208, 208, 208, 208, 208, 208, 566, 201, - 208, 208, 208, 535, 208, 183, 535, 206, 535, 205, - 330, 331, 535, 610, 208, 610, 208, 181, 206, 206, - 3, 3, 9, 555, 208, 6, 181, 206, 208, 624, - 206, 208, 183, 208, 566, 603, 208, 117, 204, 208, - 360, 361, 362, 363, 364, 365, 366, 208, 208, 208, - 182, 222, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 208, 631, 183, 183, 206, 147, 446, 201, - 202, 603, 290, 48, 284, 429, 208, 515, 427, 216, - 160, 613, 613, 673, 613, 647, 613, 14, 15, 16, - 613, 280, 19, 20, -1, -1, -1, -1, -1, 631, - -1, -1, -1, -1, -1, -1, 186, -1, -1, 189, - 190, 191, -1, -1, 194, 195, -1, -1, 438, -1, - -1, -1, -1, 203, -1, -1, -1, 207, -1, -1, + 2, 2, 69, 2, 69, 2, 2, 328, 269, 2, + 48, 272, 268, 274, 204, 246, 277, 45, 307, 2, + 326, 282, 242, 243, 294, 2, 2, 2, 2, 276, + 2, 48, 108, 70, 508, 16, 3, 155, 559, 6, + 7, 8, 9, 10, 11, 155, 3, 507, 5, 48, + 506, 48, 133, 90, 510, 48, 137, 66, 67, 68, + 3, 564, 5, 72, 181, 48, 569, 181, 38, 3, + 99, 5, 67, 68, 202, 331, 155, 72, 206, 34, + 35, 51, 39, 164, 181, 181, 204, 44, 206, 203, + 16, 208, 58, 567, 204, 202, 39, 181, 26, 128, + 207, 44, 30, 70, 0, 39, 566, 181, 328, 206, + 96, 3, 208, 5, 71, 14, 15, 16, 17, 18, + 19, 20, 625, 22, 208, 204, 202, 648, 71, 319, + 604, 420, 322, 99, 208, 322, 202, 71, 3, 599, + 5, 207, 598, 432, 414, 601, 3, 39, 5, 216, + 117, 216, 342, 343, 344, 202, 343, 344, 632, 31, + 207, 3, 9, 5, 36, 12, 626, 202, 125, 9, + 205, 202, 628, 207, 205, 242, 243, 242, 243, 71, + 147, 637, 125, 3, 14, 15, 16, 448, 255, 19, + 20, 125, 16, 160, 151, 202, 263, 653, 205, 419, + 202, 203, 207, 202, 203, 202, 203, 224, 151, 202, + 203, 176, 177, 178, 179, 180, 3, 151, 5, 186, + 201, 202, 189, 190, 191, 6, 7, 194, 195, 3, + 491, 5, 161, 125, 191, 205, 203, 468, 276, 183, + 207, 250, 206, 206, 550, 202, 283, 206, 191, 286, + 207, 288, 289, 208, 209, 250, 293, 191, 206, 151, + 521, 328, 551, 328, 207, 191, 192, 193, 202, 3, + 308, 5, 204, 207, 276, 201, 202, 598, 9, 204, + 204, 206, 206, 514, 204, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 333, 3, 206, 5, 191, + 204, 206, 201, 202, 625, 3, 3, 5, 5, 556, + 14, 15, 16, 206, 44, 207, 637, 204, 320, 320, + 609, 320, 542, 320, 320, 327, 327, 320, 327, 367, + 327, 333, 653, 564, 327, 206, 206, 320, 569, 69, + 206, 572, 344, 320, 320, 320, 320, 385, 320, 3, + 204, 5, 419, 3, 419, 5, 645, 187, 188, 189, + 190, 191, 192, 193, 94, 189, 190, 191, 192, 193, + 39, 201, 202, 206, 3, 44, 5, 201, 202, 39, + 447, 3, 207, 5, 206, 204, 208, 204, 426, 417, + 646, 611, 207, 207, 625, 207, 434, 207, 207, 207, + 207, 207, 71, 468, 207, 207, 207, 668, 138, 207, + 207, 71, 450, 207, 207, 207, 207, 207, 207, 207, + 150, 207, 460, 207, 207, 421, 428, 426, 207, 431, + 431, 207, 431, 202, 431, 434, 207, 434, 431, 207, + 207, 434, 207, 508, 207, 207, 207, 206, 206, 206, + 204, 9, 208, 450, 3, 208, 125, 6, 7, 8, + 9, 10, 11, 209, 207, 125, 9, 9, 9, 9, + 508, 9, 9, 9, 9, 542, 202, 542, 207, 206, + 204, 204, 151, 673, 674, 189, 190, 191, 192, 193, + 265, 151, 183, 268, 561, 206, 204, 201, 202, 564, + 275, 181, 567, 278, 569, 208, 508, 209, 546, 284, + 285, 205, 208, 208, 201, 208, 208, 207, 556, 208, + 208, 70, 191, 208, 208, 208, 208, 208, 181, 567, + 208, 191, 208, 202, 536, 208, 208, 536, 207, 536, + 208, 208, 202, 536, 611, 208, 611, 207, 9, 208, + 208, 208, 208, 208, 556, 183, 331, 332, 206, 208, + 625, 208, 40, 208, 205, 567, 604, 90, 117, 208, + 14, 15, 16, 17, 18, 19, 20, 181, 208, 206, + 206, 3, 3, 9, 208, 181, 361, 362, 363, 364, + 365, 366, 367, 6, 632, 206, 206, 183, 147, 208, + 208, 208, 604, 208, 204, 83, 208, 208, 183, 208, + 208, 160, 614, 614, 208, 614, 183, 614, 96, 97, + 98, 614, 206, 284, 290, 222, 430, 105, 516, 447, + 632, 674, 428, 48, 648, 216, 280, 186, -1, -1, + 189, 190, 191, -1, -1, 194, 195, -1, -1, -1, + -1, -1, -1, -1, 203, -1, -1, -1, 207, -1, + -1, -1, -1, -1, 439, -1, 144, -1, -1, -1, + 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 468, 469, - -1, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, -1, 489, - -1, -1, -1, -1, -1, -1, 3, -1, 5, 6, - 7, 8, 9, 10, 11, -1, 3, -1, -1, 6, - 7, 8, 9, 10, 11, 515, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 32, -1, 34, -1, -1, - -1, -1, -1, 40, -1, -1, -1, 44, -1, -1, - -1, -1, -1, -1, 14, 15, 16, 17, 18, 19, - 20, -1, -1, 60, -1, -1, -1, -1, -1, 66, - 67, -1, 69, 70, -1, -1, 73, -1, -1, 76, - -1, -1, -1, 70, -1, -1, 83, -1, -1, -1, - 187, 188, 189, 190, 191, 192, 193, 94, -1, 96, - 97, 98, -1, -1, 201, 202, -1, -1, 105, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 117, 14, 15, 16, 17, 18, 19, 20, -1, 22, - 630, 138, -1, 633, -1, -1, 143, 144, 145, -1, - 147, 148, -1, 150, -1, 645, -1, 154, -1, -1, - 147, -1, -1, 160, -1, -1, 163, -1, 165, -1, - -1, -1, -1, 160, -1, -1, 173, 174, -1, -1, - -1, 4, 5, -1, -1, -1, -1, -1, -1, 186, - -1, -1, 189, 190, 191, -1, -1, 194, 195, 186, - -1, -1, 189, 190, 191, -1, -1, 194, 195, 32, - 207, 34, -1, -1, -1, -1, -1, 40, 41, -1, - 207, 44, -1, -1, -1, -1, 49, 187, 188, 189, - 190, 191, 192, 193, -1, 58, -1, 60, -1, -1, - -1, 201, 202, 66, 67, -1, 69, -1, -1, -1, - 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, - 83, -1, -1, -1, -1, -1, -1, 90, 91, -1, - -1, 94, -1, 96, 97, 98, 99, -1, -1, -1, - -1, -1, 105, -1, -1, -1, -1, 110, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, -1, -1, -1, -1, 138, -1, -1, 201, 202, - 143, 144, 145, -1, -1, 148, 32, 150, 34, -1, - -1, 154, -1, -1, 40, 41, -1, -1, 44, -1, - 163, -1, 165, 49, -1, -1, -1, -1, -1, -1, - 173, 174, 58, -1, 60, -1, -1, -1, -1, -1, - 66, 67, -1, 69, -1, -1, -1, 73, -1, -1, - 76, -1, -1, -1, -1, -1, -1, 83, -1, 202, - -1, -1, 205, -1, 90, 91, -1, -1, 94, -1, - 96, 97, 98, 99, -1, -1, -1, -1, -1, 105, - -1, -1, -1, -1, 110, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 4, 5, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 138, -1, -1, -1, -1, 143, 144, 145, - -1, -1, 148, 32, 150, 34, -1, -1, 154, -1, - -1, 40, 41, -1, -1, 44, -1, 163, -1, 165, - 49, -1, -1, -1, -1, -1, -1, 173, 174, 58, - -1, 60, -1, -1, -1, -1, -1, 66, 67, -1, - 69, -1, -1, -1, 73, -1, -1, 76, -1, -1, - -1, -1, -1, -1, 83, -1, 202, -1, -1, 205, - -1, 90, -1, -1, -1, 94, -1, 96, 97, 98, - 99, -1, -1, -1, -1, -1, 105, 4, 5, -1, - -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 32, -1, 34, -1, 138, - -1, -1, -1, 40, 143, 144, 145, 44, -1, 148, - -1, 150, 49, -1, -1, 154, -1, -1, -1, -1, - -1, -1, -1, 60, 163, -1, 165, -1, -1, 66, - 67, -1, 69, -1, 173, 174, 73, -1, -1, 76, + -1, -1, -1, -1, 469, 470, -1, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, -1, 490, -1, -1, -1, -1, + -1, -1, 3, -1, 5, 6, 7, 8, 9, 10, + 11, -1, 3, -1, -1, 6, 7, 8, 9, 10, + 11, 516, 186, 187, 188, 189, 190, 191, 192, 193, + -1, 32, -1, 34, -1, -1, -1, 201, 202, 40, + -1, -1, -1, 44, -1, -1, -1, -1, -1, -1, + 14, 15, 16, 17, 18, 19, 20, -1, -1, 60, + -1, -1, -1, -1, -1, 66, 67, -1, 69, 70, + -1, -1, 73, -1, -1, 76, -1, -1, -1, 70, + -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 94, -1, 96, 97, 98, -1, -1, + -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 117, 14, 15, 16, + 17, 18, 19, 20, -1, -1, 631, 138, -1, 634, + -1, -1, 143, 144, 145, -1, 147, 148, -1, 150, + -1, 646, -1, 154, -1, -1, 147, -1, -1, 160, + -1, -1, 163, -1, 165, -1, -1, -1, -1, 160, + -1, -1, 173, 174, -1, -1, -1, 4, 5, -1, + -1, -1, -1, -1, -1, 186, -1, -1, 189, 190, + 191, -1, -1, 194, 195, 186, -1, -1, 189, 190, + 191, -1, -1, 194, 195, 32, 207, 34, -1, -1, + -1, -1, -1, 40, 41, -1, 207, 44, -1, -1, + -1, -1, 49, 187, 188, 189, 190, 191, 192, 193, + -1, 58, -1, 60, -1, -1, -1, 201, 202, 66, + 67, -1, 69, -1, -1, -1, 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, - -1, -1, -1, 90, -1, -1, -1, 94, -1, 96, - 97, 98, -1, 202, -1, -1, 205, -1, 105, 4, - 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 32, -1, 34, - -1, 138, -1, -1, -1, 40, 143, 144, 145, 44, - -1, 148, -1, 150, 49, -1, -1, 154, -1, -1, - -1, -1, -1, -1, -1, 60, 163, -1, 165, -1, - -1, 66, 67, -1, 69, -1, 173, 174, 73, -1, - -1, 76, -1, -1, -1, -1, -1, -1, 83, -1, - -1, -1, -1, -1, -1, 90, -1, -1, -1, 94, - -1, 96, 97, 98, -1, 202, -1, -1, 205, -1, - 105, 4, 5, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 14, - 15, 16, 17, 18, 19, 20, 21, 22, -1, 32, - -1, 34, -1, 138, -1, -1, -1, 40, 143, 144, - 145, 44, -1, 148, -1, 150, 49, -1, -1, 154, - -1, -1, -1, -1, -1, -1, -1, 60, 163, -1, - 165, -1, -1, 66, 67, -1, 69, -1, 173, 174, - 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, - 83, -1, -1, -1, -1, -1, -1, 90, 5, -1, - -1, 94, -1, 96, 97, 98, -1, 202, -1, -1, - 205, -1, 105, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 32, -1, 34, -1, -1, - -1, -1, -1, 40, -1, -1, -1, 44, -1, -1, - -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, - 143, 144, 145, 60, -1, 148, -1, 150, -1, 66, - 67, 154, 69, -1, -1, -1, 73, -1, -1, 76, - 163, -1, 165, -1, -1, -1, 83, -1, -1, -1, - 173, 174, -1, -1, -1, -1, -1, 94, -1, 96, - 97, 98, -1, -1, -1, -1, -1, 182, 105, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 202, - -1, -1, 205, -1, 4, 5, 201, 202, 203, -1, - -1, -1, -1, 13, -1, -1, -1, -1, -1, -1, - -1, 138, -1, -1, -1, -1, 143, 144, 145, -1, + -1, -1, -1, 90, 91, -1, -1, 94, -1, 96, + 97, 98, 99, -1, -1, -1, -1, -1, 105, -1, + -1, -1, -1, 110, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 4, 5, -1, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, -1, -1, -1, + -1, 138, -1, -1, 201, 202, 143, 144, 145, -1, -1, 148, 32, 150, 34, -1, -1, 154, -1, -1, 40, 41, -1, -1, 44, -1, 163, -1, 165, 49, -1, -1, -1, -1, -1, -1, 173, 174, 58, -1, @@ -1611,89 +1552,152 @@ -1, -1, -1, 173, 174, 58, -1, 60, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, -1, 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, - 83, -1, 202, -1, -1, -1, -1, 90, 5, -1, + 83, -1, 202, -1, -1, 205, -1, 90, -1, -1, -1, 94, -1, 96, 97, 98, 99, -1, -1, -1, - -1, -1, 105, -1, -1, -1, -1, 110, -1, -1, - -1, -1, -1, -1, -1, 32, -1, 34, -1, -1, - -1, -1, 39, 40, -1, -1, -1, 44, -1, -1, - -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, - 143, 144, 145, 60, -1, 148, -1, 150, -1, 66, - 67, 154, 69, -1, 71, -1, 73, -1, 161, 76, - 163, -1, 165, -1, -1, -1, 83, -1, -1, -1, - 173, 174, -1, -1, -1, -1, -1, 94, -1, 96, - 97, 98, -1, -1, -1, -1, -1, -1, 105, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 202, - -1, -1, -1, -1, -1, -1, -1, -1, 125, -1, - -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, - -1, 138, -1, -1, -1, -1, 143, 144, 145, -1, - -1, 148, -1, 150, 151, -1, -1, 154, -1, -1, - -1, -1, 32, -1, 34, -1, 163, -1, 165, 39, - 40, -1, -1, -1, 44, -1, 173, 174, -1, -1, + -1, -1, 105, 4, 5, -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 60, -1, -1, -1, 191, -1, 66, 67, -1, 69, - -1, 71, -1, 73, -1, 202, 76, -1, -1, -1, - -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 94, -1, 96, 97, 98, -1, - -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 125, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5, 138, -1, - -1, -1, -1, 143, 144, 145, -1, -1, 148, -1, - 150, 151, -1, -1, 154, 23, -1, -1, -1, -1, - -1, -1, -1, 163, 32, 165, 34, -1, -1, -1, - -1, -1, 40, 173, 174, -1, 44, -1, -1, -1, + -1, 32, -1, 34, -1, 138, -1, -1, -1, 40, + 143, 144, 145, 44, -1, 148, -1, 150, 49, -1, + -1, 154, -1, -1, -1, -1, -1, -1, -1, 60, + 163, -1, 165, -1, -1, 66, 67, -1, 69, -1, + 173, 174, 73, -1, -1, 76, -1, -1, -1, -1, + -1, -1, 83, -1, -1, -1, -1, -1, -1, 90, + -1, -1, -1, 94, -1, 96, 97, 98, -1, 202, + -1, -1, 205, -1, 105, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 191, 60, -1, -1, -1, -1, -1, 66, 67, - -1, 69, 202, -1, -1, 73, -1, -1, 76, -1, - -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, - -1, -1, -1, 5, -1, -1, 94, -1, 96, 97, - 98, -1, -1, -1, -1, -1, -1, 105, 14, 15, - 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, - 32, -1, 34, -1, -1, -1, -1, -1, 40, -1, - -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, - 138, -1, -1, -1, -1, 143, 144, 145, 60, -1, - 148, -1, 150, -1, 66, 67, 154, 69, -1, -1, - -1, 73, -1, -1, 76, 163, -1, 165, -1, -1, - -1, 83, -1, -1, -1, 173, 174, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 32, -1, 34, -1, 138, -1, -1, + -1, 40, 143, 144, 145, 44, -1, 148, -1, 150, + 49, -1, -1, 154, -1, -1, -1, -1, -1, -1, + -1, 60, 163, -1, 165, -1, -1, 66, 67, -1, + 69, -1, 173, 174, 73, -1, -1, 76, -1, -1, + -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, + -1, 90, -1, -1, -1, 94, -1, 96, 97, 98, + -1, 202, -1, -1, 205, -1, 105, 4, 5, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 14, 15, 16, 17, 18, + 19, 20, 21, 22, -1, 32, -1, 34, -1, 138, + -1, -1, -1, 40, 143, 144, 145, 44, -1, 148, + -1, 150, 49, -1, -1, 154, -1, -1, -1, -1, + -1, -1, -1, 60, 163, -1, 165, -1, -1, 66, + 67, -1, 69, -1, 173, 174, 73, -1, -1, 76, + -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, + -1, -1, -1, 90, 5, -1, -1, 94, -1, 96, + 97, 98, -1, 202, -1, -1, 205, -1, 105, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 32, -1, 34, -1, -1, -1, -1, -1, 40, + -1, -1, -1, 44, -1, -1, -1, -1, -1, -1, + -1, 138, -1, -1, -1, -1, 143, 144, 145, 60, + -1, 148, -1, 150, -1, 66, 67, 154, 69, -1, + -1, -1, 73, -1, -1, 76, 163, -1, 165, -1, + -1, -1, 83, -1, -1, -1, 173, 174, -1, -1, + -1, -1, -1, 94, -1, 96, 97, 98, -1, -1, + -1, -1, -1, 182, 105, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 202, -1, -1, 205, -1, + 4, 5, 201, 202, 203, -1, -1, -1, -1, 13, + -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, + -1, -1, 143, 144, 145, -1, -1, 148, 32, 150, + 34, -1, -1, 154, -1, -1, 40, 41, -1, -1, + 44, -1, 163, -1, 165, 49, -1, -1, -1, -1, + -1, -1, 173, 174, 58, -1, 60, -1, -1, -1, + -1, -1, 66, 67, -1, 69, -1, -1, -1, 73, + -1, -1, 76, -1, -1, -1, -1, -1, -1, 83, + -1, 202, -1, -1, 205, -1, 90, 91, -1, -1, + 94, -1, 96, 97, 98, 99, -1, -1, -1, -1, + -1, 105, -1, -1, -1, -1, 110, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 4, 5, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 138, -1, -1, -1, -1, 143, + 144, 145, -1, -1, 148, 32, 150, 34, -1, -1, + 154, -1, -1, 40, 41, -1, -1, 44, -1, 163, + -1, 165, 49, -1, -1, -1, -1, -1, -1, 173, + 174, 58, -1, 60, -1, -1, -1, -1, -1, 66, + 67, -1, 69, -1, -1, -1, 73, -1, -1, 76, + -1, -1, -1, -1, -1, -1, 83, -1, 202, -1, + -1, -1, -1, 90, 5, -1, -1, 94, -1, 96, + 97, 98, 99, -1, -1, -1, -1, -1, 105, -1, + -1, -1, -1, 110, -1, -1, -1, -1, -1, -1, + -1, 32, -1, 34, -1, -1, -1, -1, 39, 40, + -1, -1, -1, 44, -1, -1, -1, -1, -1, -1, + -1, 138, -1, -1, -1, -1, 143, 144, 145, 60, + -1, 148, -1, 150, -1, 66, 67, 154, 69, -1, + 71, -1, 73, -1, 161, 76, 163, -1, 165, -1, + -1, -1, 83, -1, -1, -1, 173, 174, -1, -1, + -1, -1, -1, 94, -1, 96, 97, 98, -1, -1, + -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 202, -1, -1, -1, -1, + -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, + -1, 5, -1, -1, -1, -1, -1, 138, -1, -1, + -1, -1, 143, 144, 145, -1, -1, 148, -1, 150, + 151, -1, -1, 154, -1, -1, -1, -1, 32, -1, + 34, -1, 163, -1, 165, 39, 40, -1, -1, -1, + 44, -1, 173, 174, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, + 191, -1, 66, 67, -1, 69, -1, 71, -1, 73, + -1, 202, 76, -1, -1, -1, -1, -1, -1, 83, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 94, -1, 96, 97, 98, -1, -1, -1, -1, -1, + -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5, 138, -1, -1, -1, -1, 143, + 144, 145, -1, -1, 148, -1, 150, 151, -1, -1, + 154, 23, -1, -1, -1, -1, -1, -1, -1, 163, + 32, 165, 34, -1, -1, -1, -1, -1, 40, 173, + 174, -1, 44, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 191, 60, -1, + -1, -1, -1, -1, 66, 67, -1, 69, 202, -1, + -1, 73, -1, -1, 76, -1, -1, -1, -1, -1, + -1, 83, -1, -1, -1, -1, -1, -1, -1, 5, -1, -1, 94, -1, 96, 97, 98, -1, -1, -1, -1, -1, -1, 105, 14, 15, 16, 17, 18, 19, - 20, 21, 22, -1, 202, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 14, - 15, 16, 17, 18, 19, 20, 138, -1, -1, -1, - -1, 143, 144, 145, -1, -1, 148, -1, 150, -1, - -1, -1, 154, -1, -1, -1, -1, -1, -1, -1, - -1, 163, -1, 165, -1, -1, -1, -1, -1, -1, - -1, 173, 174, 14, 15, 16, 17, 18, 19, 20, - 21, 22, -1, -1, -1, -1, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, -1, -1, - 202, -1, -1, -1, -1, 201, 202, -1, -1, -1, - -1, -1, 208, 14, 15, 16, 17, 18, 19, 20, - 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, + 20, 21, 22, -1, -1, -1, 32, -1, 34, -1, + -1, -1, -1, -1, 40, -1, -1, -1, 44, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, + -1, 143, 144, 145, 60, -1, 148, -1, 150, -1, + 66, 67, 154, 69, -1, -1, -1, 73, -1, -1, + 76, 163, -1, 165, -1, -1, -1, 83, -1, -1, + -1, 173, 174, -1, -1, -1, -1, -1, 94, -1, + 96, 97, 98, -1, -1, -1, -1, -1, -1, 105, + 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, + 202, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14, 15, 16, 17, 18, 19, - 20, 21, 22, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 14, 15, 16, 17, 18, 19, 20, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 20, -1, 138, -1, -1, -1, -1, 143, 144, 145, + -1, -1, 148, -1, 150, -1, -1, -1, 154, -1, + -1, -1, -1, -1, -1, -1, -1, 163, -1, 165, + -1, -1, -1, -1, -1, -1, -1, 173, 174, 14, + 15, 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 14, 15, 16, 17, 18, 19, - 20, 201, 202, -1, -1, -1, -1, -1, 208, 184, + 190, 191, 192, 193, -1, -1, 202, -1, -1, -1, + -1, 201, 202, -1, -1, -1, -1, -1, 208, 14, + 15, 16, 17, 18, 19, 20, 21, 22, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, + 22, -1, -1, -1, -1, -1, -1, -1, 182, -1, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + -1, -1, -1, -1, -1, -1, -1, 201, 202, -1, + -1, -1, -1, -1, 208, 185, 186, 187, 188, 189, + 190, 191, 192, 193, -1, -1, -1, -1, -1, -1, + -1, 201, 202, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, -1, -1, -1, -1, -1, -1, -1, 201, 202, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, -1, -1, -1, -1, -1, -1, -1, - 201, 202, 203, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, -1, -1, -1, -1, -1, -1, -1, - 201, 202, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 5, -1, -1, -1, -1, -1, - -1, 201, 202, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, 208, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 182, -1, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, -1, + -1, -1, -1, -1, -1, -1, 201, 202, 203, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, -1, -1, -1, 5, -1, -1, -1, 201, 202, + 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, -1, -1, -1, -1, -1, -1, -1, 201, 202, 32, -1, 34, -1, -1, -1, -1, -1, 40, - 41, -1, -1, 44, -1, -1, 186, 187, 188, 189, - 190, 191, 192, 193, -1, -1, -1, 58, -1, 60, - -1, 201, 202, -1, -1, 66, 67, -1, 69, -1, + 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 58, -1, 60, + -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, -1, 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, 5, -1, -1, 94, -1, 96, 97, 98, 99, -1, @@ -1774,43 +1778,43 @@ 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 181, 203, 13, 91, 216, 221, 224, 263, 265, 266, 277, 278, 281, 205, 230, 231, - 3, 3, 3, 5, 3, 3, 204, 303, 267, 212, - 128, 271, 275, 3, 5, 204, 214, 285, 289, 289, - 209, 202, 207, 229, 287, 208, 239, 240, 241, 259, - 208, 249, 207, 252, 9, 9, 12, 235, 259, 3, - 6, 7, 8, 9, 10, 11, 70, 117, 147, 160, - 186, 189, 190, 191, 194, 195, 207, 245, 246, 247, - 245, 248, 9, 9, 233, 248, 247, 9, 9, 247, - 9, 247, 245, 228, 231, 286, 247, 243, 244, 245, - 9, 305, 9, 247, 307, 243, 245, 307, 176, 177, - 178, 179, 180, 304, 307, 307, 235, 6, 7, 310, - 9, 307, 234, 202, 207, 206, 204, 215, 286, 205, - 230, 268, 205, 183, 108, 230, 254, 272, 206, 204, - 214, 205, 216, 231, 284, 289, 208, 248, 191, 203, - 245, 225, 226, 227, 228, 205, 181, 209, 205, 230, - 250, 254, 205, 231, 251, 254, 208, 208, 208, 207, - 245, 245, 245, 245, 245, 245, 245, 286, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 182, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 201, 202, - 181, 208, 208, 208, 181, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 286, 191, 207, 229, 236, - 259, 295, 297, 298, 208, 181, 208, 208, 208, 208, - 181, 208, 208, 208, 208, 208, 208, 208, 208, 201, - 208, 208, 208, 234, 9, 213, 289, 299, 215, 278, - 183, 286, 306, 206, 205, 231, 255, 256, 205, 220, - 205, 215, 203, 203, 208, 181, 241, 247, 286, 309, - 208, 206, 206, 286, 208, 191, 207, 229, 236, 291, - 293, 294, 245, 245, 3, 245, 245, 245, 245, 245, + 3, 3, 5, 3, 5, 3, 3, 204, 303, 267, + 212, 128, 271, 275, 3, 5, 204, 214, 285, 289, + 289, 209, 202, 207, 229, 287, 208, 239, 240, 241, + 259, 208, 249, 207, 252, 9, 9, 12, 235, 259, + 3, 6, 7, 8, 9, 10, 11, 70, 117, 147, + 160, 186, 189, 190, 191, 194, 195, 207, 245, 246, + 247, 245, 248, 9, 9, 233, 248, 247, 9, 9, + 247, 9, 247, 245, 228, 231, 286, 247, 243, 244, + 245, 9, 305, 9, 247, 307, 243, 245, 307, 176, + 177, 178, 179, 180, 304, 307, 307, 235, 6, 7, + 310, 9, 307, 234, 202, 207, 206, 204, 215, 286, + 205, 230, 268, 205, 183, 108, 230, 254, 272, 206, + 204, 214, 205, 216, 231, 284, 289, 208, 248, 191, + 203, 245, 225, 226, 227, 228, 205, 181, 209, 205, + 230, 250, 254, 205, 231, 251, 254, 208, 208, 208, + 207, 245, 245, 245, 245, 245, 245, 245, 286, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 182, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 201, + 202, 181, 208, 208, 208, 181, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 286, 191, 207, 229, + 236, 259, 295, 297, 298, 208, 181, 208, 208, 208, + 208, 181, 208, 208, 208, 208, 208, 208, 208, 208, + 201, 208, 208, 208, 234, 9, 213, 289, 299, 215, + 278, 183, 286, 306, 206, 205, 231, 255, 256, 205, + 220, 205, 215, 203, 203, 208, 181, 241, 247, 286, + 309, 208, 206, 206, 286, 208, 191, 207, 229, 236, + 291, 293, 294, 245, 245, 3, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 3, 245, 247, 9, 297, 285, 191, 225, - 236, 296, 297, 207, 229, 244, 247, 6, 208, 205, - 181, 289, 206, 214, 215, 23, 228, 295, 301, 302, - 206, 257, 259, 293, 285, 191, 225, 236, 292, 293, - 208, 207, 229, 183, 203, 297, 285, 208, 297, 208, - 225, 208, 215, 289, 205, 183, 300, 181, 206, 204, - 208, 293, 285, 208, 297, 208, 245, 225, 245, 297, - 208, 215, 248, 301, 237, 297, 208, 38, 51, 205, - 238, 247, 183, 183, 206, 253, 254, 253, 206 + 245, 245, 245, 3, 245, 247, 9, 297, 285, 191, + 225, 236, 296, 297, 207, 229, 244, 247, 6, 208, + 205, 181, 289, 206, 214, 215, 23, 228, 295, 301, + 302, 206, 257, 259, 293, 285, 191, 225, 236, 292, + 293, 208, 207, 229, 183, 203, 297, 285, 208, 297, + 208, 225, 208, 215, 289, 205, 183, 300, 181, 206, + 204, 208, 293, 285, 208, 297, 208, 245, 225, 245, + 297, 208, 215, 248, 301, 237, 297, 208, 38, 51, + 205, 238, 247, 183, 183, 206, 253, 254, 253, 206 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -1820,9 +1824,9 @@ 212, 212, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 214, 214, 215, 215, 216, 216, 216, 216, 216, 216, 217, 217, 217, 217, 217, 217, 217, 217, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 225, - 226, 226, 227, 227, 228, 228, 229, 229, 229, 230, - 230, 231, 232, 232, 232, 233, 233, 234, 234, 234, + 217, 218, 219, 220, 221, 222, 222, 223, 224, 225, + 225, 226, 226, 227, 227, 228, 228, 229, 229, 229, + 230, 230, 231, 232, 232, 232, 233, 233, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, @@ -1832,29 +1836,29 @@ 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 235, 235, 236, - 236, 236, 236, 237, 237, 238, 238, 239, 239, 239, - 240, 240, 241, 241, 242, 243, 243, 244, 244, 245, + 234, 234, 234, 234, 234, 234, 234, 234, 235, 235, + 236, 236, 236, 236, 237, 237, 238, 238, 239, 239, + 239, 240, 240, 241, 241, 242, 243, 243, 244, 244, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 246, 246, 247, 248, 249, 249, 250, 250, 251, 251, - 252, 252, 253, 253, 254, 254, 255, 256, 256, 257, - 257, 258, 258, 258, 259, 259, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 261, 261, 262, - 262, 262, 262, 262, 262, 262, 262, 263, 263, 264, - 265, 266, 267, 267, 268, 269, 269, 270, 271, 271, - 272, 272, 273, 273, 274, 274, 275, 275, 276, 277, - 277, 277, 278, 278, 279, 279, 280, 281, 282, 282, - 282, 283, 284, 285, 285, 286, 286, 287, 287, 288, - 288, 288, 289, 289, 289, 290, 290, 290, 290, 291, - 291, 291, 292, 292, 293, 293, 294, 294, 294, 294, - 294, 295, 295, 295, 296, 296, 297, 297, 298, 298, - 298, 298, 298, 298, 299, 299, 300, 300, 301, 302, - 302, 303, 303, 304, 304, 304, 304, 304, 305, 305, - 305, 306, 307, 307, 307, 307, 307, 307, 307, 307, - 307, 307, 308, 309, 309, 310, 310, 310 + 245, 246, 246, 247, 248, 249, 249, 250, 250, 251, + 251, 252, 252, 253, 253, 254, 254, 255, 256, 256, + 257, 257, 258, 258, 258, 259, 259, 260, 260, 260, + 260, 260, 260, 260, 260, 260, 260, 260, 261, 261, + 262, 262, 262, 262, 262, 262, 262, 262, 263, 263, + 264, 265, 266, 267, 267, 268, 269, 269, 270, 271, + 271, 272, 272, 273, 273, 274, 274, 275, 275, 276, + 277, 277, 277, 278, 278, 279, 279, 280, 281, 282, + 282, 282, 283, 284, 285, 285, 286, 286, 287, 287, + 288, 288, 288, 289, 289, 289, 290, 290, 290, 290, + 291, 291, 291, 292, 292, 293, 293, 294, 294, 294, + 294, 294, 295, 295, 295, 296, 296, 297, 297, 298, + 298, 298, 298, 298, 298, 299, 299, 300, 300, 301, + 302, 302, 303, 303, 304, 304, 304, 304, 304, 305, + 305, 305, 306, 307, 307, 307, 307, 307, 307, 307, + 307, 307, 307, 308, 309, 309, 310, 310, 310 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1864,41 +1868,41 @@ 2, 2, 0, 2, 5, 2, 3, 2, 2, 2, 2, 2, 0, 2, 0, 1, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, - 2, 4, 3, 3, 5, 2, 3, 4, 0, 1, - 1, 3, 1, 3, 3, 2, 3, 3, 2, 0, - 1, 3, 1, 3, 4, 1, 3, 0, 1, 4, - 1, 1, 1, 1, 1, 4, 4, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, - 1, 4, 1, 1, 1, 4, 4, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 1, 4, 1, 1, - 4, 1, 4, 1, 1, 4, 4, 1, 1, 1, + 2, 4, 3, 3, 5, 2, 2, 3, 4, 0, + 1, 1, 3, 1, 3, 3, 2, 3, 3, 2, + 0, 1, 3, 1, 3, 4, 1, 3, 0, 1, + 4, 1, 1, 1, 1, 1, 4, 4, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, + 1, 1, 4, 1, 1, 1, 4, 4, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 1, 4, 1, + 1, 4, 1, 4, 1, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4, 1, 1, 1, 4, 4, 1, 1, 1, - 1, 1, 6, 1, 4, 1, 1, 1, 4, 1, - 1, 1, 4, 4, 4, 4, 1, 1, 4, 4, - 4, 1, 1, 4, 4, 4, 1, 1, 1, 1, - 1, 1, 1, 0, 2, 4, 3, 0, 2, 1, - 1, 3, 3, 1, 5, 1, 3, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 2, 2, 2, 2, 3, 3, 5, 5, 4, 3, - 1, 3, 1, 1, 0, 2, 4, 3, 2, 2, - 0, 2, 2, 1, 3, 2, 1, 3, 2, 0, - 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 1, 1, 1, 1, 1, 1, 0, 1, 1, - 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, - 5, 2, 0, 2, 2, 2, 2, 2, 2, 3, - 2, 3, 5, 5, 0, 2, 2, 2, 2, 6, - 8, 2, 2, 2, 2, 2, 2, 5, 1, 1, - 1, 1, 1, 0, 2, 2, 3, 0, 1, 2, - 2, 2, 3, 2, 1, 1, 3, 2, 4, 3, - 2, 1, 3, 2, 0, 1, 3, 2, 1, 3, - 4, 3, 2, 1, 3, 2, 0, 1, 1, 3, - 2, 1, 3, 4, 1, 3, 0, 2, 2, 1, - 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 5, 1, 1, 1, 1, 2, 1, 2, 1, - 2, 4, 5, 5, 10, 1, 3, 1 + 1, 1, 4, 1, 1, 1, 4, 4, 1, 1, + 1, 1, 1, 6, 1, 4, 1, 1, 1, 4, + 1, 1, 1, 4, 4, 4, 4, 1, 1, 4, + 4, 4, 1, 1, 4, 4, 4, 1, 1, 1, + 1, 1, 1, 1, 0, 2, 4, 3, 0, 2, + 1, 1, 3, 3, 1, 5, 1, 3, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, + 2, 2, 2, 2, 2, 3, 3, 5, 5, 4, + 3, 1, 3, 1, 1, 0, 2, 4, 3, 2, + 2, 0, 2, 2, 1, 3, 2, 1, 3, 2, + 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 1, 1, 1, 1, 1, 1, 0, 1, + 1, 2, 1, 2, 2, 1, 1, 1, 2, 2, + 2, 5, 2, 0, 2, 2, 2, 2, 2, 2, + 3, 2, 3, 5, 5, 0, 2, 2, 2, 2, + 6, 8, 2, 2, 2, 2, 2, 2, 5, 1, + 1, 1, 1, 1, 0, 2, 2, 3, 0, 1, + 2, 2, 2, 3, 2, 1, 1, 3, 2, 4, + 3, 2, 1, 3, 2, 0, 1, 3, 2, 1, + 3, 4, 3, 2, 1, 3, 2, 0, 1, 1, + 3, 2, 1, 3, 4, 1, 3, 0, 2, 2, + 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 5, 1, 1, 1, 1, 2, 1, 2, + 1, 2, 4, 5, 5, 10, 1, 3, 1 }; @@ -2588,31 +2592,31 @@ write_dlldata((yyvsp[0].stmt_list)); write_local_stubs((yyvsp[0].stmt_list)); } -#line 2592 "parser.tab.c" /* yacc.c:1646 */ +#line 2596 "parser.tab.c" /* yacc.c:1646 */ break; case 3: #line 322 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = NULL; } -#line 2598 "parser.tab.c" /* yacc.c:1646 */ +#line 2602 "parser.tab.c" /* yacc.c:1646 */ break; case 4: #line 324 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = append_statements((yyvsp[-4].stmt_list), (yyvsp[-1].stmt_list)); } -#line 2604 "parser.tab.c" /* yacc.c:1646 */ +#line 2608 "parser.tab.c" /* yacc.c:1646 */ break; case 5: #line 325 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_reference((yyvsp[0].type))); } -#line 2610 "parser.tab.c" /* yacc.c:1646 */ +#line 2614 "parser.tab.c" /* yacc.c:1646 */ break; case 6: #line 326 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); } -#line 2616 "parser.tab.c" /* yacc.c:1646 */ +#line 2620 "parser.tab.c" /* yacc.c:1646 */ break; case 7: @@ -2620,7 +2624,7 @@ { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, 0); } -#line 2624 "parser.tab.c" /* yacc.c:1646 */ +#line 2628 "parser.tab.c" /* yacc.c:1646 */ break; case 8: @@ -2628,55 +2632,55 @@ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); reg_type((yyvsp[0].type), (yyvsp[0].type)->name, 0); } -#line 2632 "parser.tab.c" /* yacc.c:1646 */ +#line 2636 "parser.tab.c" /* yacc.c:1646 */ break; case 9: #line 333 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); } -#line 2638 "parser.tab.c" /* yacc.c:1646 */ +#line 2642 "parser.tab.c" /* yacc.c:1646 */ break; case 10: #line 334 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); } -#line 2644 "parser.tab.c" /* yacc.c:1646 */ +#line 2648 "parser.tab.c" /* yacc.c:1646 */ break; case 11: #line 335 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } -#line 2650 "parser.tab.c" /* yacc.c:1646 */ +#line 2654 "parser.tab.c" /* yacc.c:1646 */ break; case 12: #line 338 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = NULL; } -#line 2656 "parser.tab.c" /* yacc.c:1646 */ +#line 2660 "parser.tab.c" /* yacc.c:1646 */ break; case 13: #line 339 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_reference((yyvsp[0].type))); } -#line 2662 "parser.tab.c" /* yacc.c:1646 */ +#line 2666 "parser.tab.c" /* yacc.c:1646 */ break; case 14: #line 341 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = append_statements((yyvsp[-4].stmt_list), (yyvsp[-1].stmt_list)); } -#line 2668 "parser.tab.c" /* yacc.c:1646 */ +#line 2672 "parser.tab.c" /* yacc.c:1646 */ break; case 15: #line 342 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); } -#line 2674 "parser.tab.c" /* yacc.c:1646 */ +#line 2678 "parser.tab.c" /* yacc.c:1646 */ break; case 16: #line 343 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, 0); } -#line 2680 "parser.tab.c" /* yacc.c:1646 */ +#line 2684 "parser.tab.c" /* yacc.c:1646 */ break; case 17: @@ -2684,121 +2688,121 @@ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); reg_type((yyvsp[0].type), (yyvsp[0].type)->name, 0); } -#line 2688 "parser.tab.c" /* yacc.c:1646 */ +#line 2692 "parser.tab.c" /* yacc.c:1646 */ break; case 18: #line 347 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); } -#line 2694 "parser.tab.c" /* yacc.c:1646 */ +#line 2698 "parser.tab.c" /* yacc.c:1646 */ break; case 19: #line 348 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } -#line 2700 "parser.tab.c" /* yacc.c:1646 */ +#line 2704 "parser.tab.c" /* yacc.c:1646 */ break; case 20: #line 349 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_importlib((yyvsp[0].str))); } -#line 2706 "parser.tab.c" /* yacc.c:1646 */ +#line 2710 "parser.tab.c" /* yacc.c:1646 */ break; case 21: #line 350 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); } -#line 2712 "parser.tab.c" /* yacc.c:1646 */ +#line 2716 "parser.tab.c" /* yacc.c:1646 */ break; case 22: #line 353 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = NULL; } -#line 2718 "parser.tab.c" /* yacc.c:1646 */ +#line 2722 "parser.tab.c" /* yacc.c:1646 */ break; case 23: #line 354 "parser.y" /* yacc.c:1646 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } -#line 2724 "parser.tab.c" /* yacc.c:1646 */ +#line 2728 "parser.tab.c" /* yacc.c:1646 */ break; case 26: #line 362 "parser.y" /* yacc.c:1646 */ { (yyval.statement) = make_statement_cppquote((yyvsp[0].str)); } -#line 2730 "parser.tab.c" /* yacc.c:1646 */ +#line 2734 "parser.tab.c" /* yacc.c:1646 */ break; case 27: #line 363 "parser.y" /* yacc.c:1646 */ { (yyval.statement) = make_statement_type_decl((yyvsp[-1].type)); } -#line 2736 "parser.tab.c" /* yacc.c:1646 */ +#line 2740 "parser.tab.c" /* yacc.c:1646 */ break; case 28: #line 364 "parser.y" /* yacc.c:1646 */ { (yyval.statement) = make_statement_declaration((yyvsp[-1].var)); } -#line 2742 "parser.tab.c" /* yacc.c:1646 */ +#line 2746 "parser.tab.c" /* yacc.c:1646 */ break; case 29: #line 365 "parser.y" /* yacc.c:1646 */ { (yyval.statement) = make_statement_import((yyvsp[0].str)); } -#line 2748 "parser.tab.c" /* yacc.c:1646 */ +#line 2752 "parser.tab.c" /* yacc.c:1646 */ break; case 30: #line 366 "parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[-1].statement); } -#line 2754 "parser.tab.c" /* yacc.c:1646 */ +#line 2758 "parser.tab.c" /* yacc.c:1646 */ break; case 31: #line 367 "parser.y" /* yacc.c:1646 */ { (yyval.statement) = make_statement_pragma((yyvsp[0].str)); } -#line 2760 "parser.tab.c" /* yacc.c:1646 */ +#line 2764 "parser.tab.c" /* yacc.c:1646 */ break; case 33: #line 372 "parser.y" /* yacc.c:1646 */ { (yyval.type) = type_new_enum((yyvsp[0].str), FALSE, NULL); } -#line 2766 "parser.tab.c" /* yacc.c:1646 */ +#line 2770 "parser.tab.c" /* yacc.c:1646 */ break; case 35: #line 374 "parser.y" /* yacc.c:1646 */ { (yyval.type) = type_new_struct((yyvsp[0].str), FALSE, NULL); } -#line 2772 "parser.tab.c" /* yacc.c:1646 */ +#line 2776 "parser.tab.c" /* yacc.c:1646 */ break; case 37: #line 376 "parser.y" /* yacc.c:1646 */ { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), FALSE, NULL); } -#line 2778 "parser.tab.c" /* yacc.c:1646 */ +#line 2782 "parser.tab.c" /* yacc.c:1646 */ break; case 38: #line 377 "parser.y" /* yacc.c:1646 */ { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_enum_attrs((yyvsp[-1].attr_list)); } -#line 2784 "parser.tab.c" /* yacc.c:1646 */ +#line 2788 "parser.tab.c" /* yacc.c:1646 */ break; case 39: #line 378 "parser.y" /* yacc.c:1646 */ { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_struct_attrs((yyvsp[-1].attr_list)); } -#line 2790 "parser.tab.c" /* yacc.c:1646 */ +#line 2794 "parser.tab.c" /* yacc.c:1646 */ break; case 40: #line 379 "parser.y" /* yacc.c:1646 */ { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_union_attrs((yyvsp[-1].attr_list)); } -#line 2796 "parser.tab.c" /* yacc.c:1646 */ +#line 2800 "parser.tab.c" /* yacc.c:1646 */ break; case 41: #line 382 "parser.y" /* yacc.c:1646 */ { (yyval.str) = (yyvsp[-1].str); } -#line 2802 "parser.tab.c" /* yacc.c:1646 */ +#line 2806 "parser.tab.c" /* yacc.c:1646 */ break; case 42: @@ -2809,7 +2813,7 @@ (yyval.import)->import_performed = do_import((yyvsp[-1].str)); if (!(yyval.import)->import_performed) yychar = aEOF; } -#line 2813 "parser.tab.c" /* yacc.c:1646 */ +#line 2817 "parser.tab.c" /* yacc.c:1646 */ break; case 43: @@ -2818,832 +2822,838 @@ if ((yyvsp[-2].import)->import_performed) pop_import(); free((yyvsp[-2].import)); } -#line 2822 "parser.tab.c" /* yacc.c:1646 */ +#line 2826 "parser.tab.c" /* yacc.c:1646 */ break; case 44: #line 399 "parser.y" /* yacc.c:1646 */ { (yyval.str) = (yyvsp[-2].str); if(!parse_only) add_importlib((yyvsp[-2].str)); } -#line 2828 "parser.tab.c" /* yacc.c:1646 */ +#line 2832 "parser.tab.c" /* yacc.c:1646 */ break; case 45: #line 402 "parser.y" /* yacc.c:1646 */ { (yyval.str) = (yyvsp[0].str); } -#line 2834 "parser.tab.c" /* yacc.c:1646 */ +#line 2838 "parser.tab.c" /* yacc.c:1646 */ break; case 46: -#line 404 "parser.y" /* yacc.c:1646 */ - { (yyval.typelib) = make_library((yyvsp[-1].str), check_library_attrs((yyvsp[-1].str), (yyvsp[-2].attr_list))); - if (!parse_only) start_typelib((yyval.typelib)); - } -#line 2842 "parser.tab.c" /* yacc.c:1646 */ +#line 403 "parser.y" /* yacc.c:1646 */ + { (yyval.str) = (yyvsp[0].str); } +#line 2844 "parser.tab.c" /* yacc.c:1646 */ break; case 47: -#line 409 "parser.y" /* yacc.c:1646 */ +#line 405 "parser.y" /* yacc.c:1646 */ + { (yyval.typelib) = make_library((yyvsp[-1].str), check_library_attrs((yyvsp[-1].str), (yyvsp[-2].attr_list))); + if (!parse_only) start_typelib((yyval.typelib)); + } +#line 2852 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 48: +#line 410 "parser.y" /* yacc.c:1646 */ { (yyval.typelib) = (yyvsp[-3].typelib); (yyval.typelib)->stmts = (yyvsp[-2].stmt_list); if (!parse_only) end_typelib(); } -#line 2851 "parser.tab.c" /* yacc.c:1646 */ +#line 2861 "parser.tab.c" /* yacc.c:1646 */ break; - case 48: -#line 415 "parser.y" /* yacc.c:1646 */ + case 49: +#line 416 "parser.y" /* yacc.c:1646 */ { (yyval.var_list) = NULL; } -#line 2857 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 50: -#line 419 "parser.y" /* yacc.c:1646 */ - { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( NULL, (yyvsp[0].var) ); } -#line 2863 "parser.tab.c" /* yacc.c:1646 */ +#line 2867 "parser.tab.c" /* yacc.c:1646 */ break; case 51: #line 420 "parser.y" /* yacc.c:1646 */ - { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) ); } -#line 2869 "parser.tab.c" /* yacc.c:1646 */ + { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( NULL, (yyvsp[0].var) ); } +#line 2873 "parser.tab.c" /* yacc.c:1646 */ break; - case 53: -#line 424 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = append_var( (yyvsp[-2].var_list), make_var(strdup("...")) ); } -#line 2875 "parser.tab.c" /* yacc.c:1646 */ + case 52: +#line 421 "parser.y" /* yacc.c:1646 */ + { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) ); } +#line 2879 "parser.tab.c" /* yacc.c:1646 */ break; case 54: -#line 428 "parser.y" /* yacc.c:1646 */ - { if ((yyvsp[-1].declspec)->stgclass != STG_NONE && (yyvsp[-1].declspec)->stgclass != STG_REGISTER) - error_loc("invalid storage class for function parameter\n"); - (yyval.var) = declare_var((yyvsp[-2].attr_list), (yyvsp[-1].declspec), (yyvsp[0].declarator), TRUE); - free((yyvsp[-1].declspec)); free((yyvsp[0].declarator)); - } +#line 425 "parser.y" /* yacc.c:1646 */ + { (yyval.var_list) = append_var( (yyvsp[-2].var_list), make_var(strdup("...")) ); } #line 2885 "parser.tab.c" /* yacc.c:1646 */ break; case 55: -#line 433 "parser.y" /* yacc.c:1646 */ +#line 429 "parser.y" /* yacc.c:1646 */ { if ((yyvsp[-1].declspec)->stgclass != STG_NONE && (yyvsp[-1].declspec)->stgclass != STG_REGISTER) error_loc("invalid storage class for function parameter\n"); - (yyval.var) = declare_var(NULL, (yyvsp[-1].declspec), (yyvsp[0].declarator), TRUE); + (yyval.var) = declare_var((yyvsp[-2].attr_list), (yyvsp[-1].declspec), (yyvsp[0].declarator), TRUE); free((yyvsp[-1].declspec)); free((yyvsp[0].declarator)); } #line 2895 "parser.tab.c" /* yacc.c:1646 */ break; case 56: -#line 440 "parser.y" /* yacc.c:1646 */ +#line 434 "parser.y" /* yacc.c:1646 */ + { if ((yyvsp[-1].declspec)->stgclass != STG_NONE && (yyvsp[-1].declspec)->stgclass != STG_REGISTER) + error_loc("invalid storage class for function parameter\n"); + (yyval.var) = declare_var(NULL, (yyvsp[-1].declspec), (yyvsp[0].declarator), TRUE); + free((yyvsp[-1].declspec)); free((yyvsp[0].declarator)); + } +#line 2905 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 57: +#line 441 "parser.y" /* yacc.c:1646 */ { (yyval.expr) = (yyvsp[-1].expr); if (!(yyval.expr)->is_const) error_loc("array dimension is not an integer constant\n"); } -#line 2904 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 57: -#line 444 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr(EXPR_VOID); } -#line 2910 "parser.tab.c" /* yacc.c:1646 */ +#line 2914 "parser.tab.c" /* yacc.c:1646 */ break; case 58: #line 445 "parser.y" /* yacc.c:1646 */ { (yyval.expr) = make_expr(EXPR_VOID); } -#line 2916 "parser.tab.c" /* yacc.c:1646 */ +#line 2920 "parser.tab.c" /* yacc.c:1646 */ break; case 59: -#line 448 "parser.y" /* yacc.c:1646 */ - { (yyval.attr_list) = NULL; } -#line 2922 "parser.tab.c" /* yacc.c:1646 */ +#line 446 "parser.y" /* yacc.c:1646 */ + { (yyval.expr) = make_expr(EXPR_VOID); } +#line 2926 "parser.tab.c" /* yacc.c:1646 */ break; - case 61: -#line 453 "parser.y" /* yacc.c:1646 */ - { (yyval.attr_list) = (yyvsp[-1].attr_list); } -#line 2928 "parser.tab.c" /* yacc.c:1646 */ + case 60: +#line 449 "parser.y" /* yacc.c:1646 */ + { (yyval.attr_list) = NULL; } +#line 2932 "parser.tab.c" /* yacc.c:1646 */ break; case 62: -#line 456 "parser.y" /* yacc.c:1646 */ - { (yyval.attr_list) = append_attr( NULL, (yyvsp[0].attr) ); } -#line 2934 "parser.tab.c" /* yacc.c:1646 */ +#line 454 "parser.y" /* yacc.c:1646 */ + { (yyval.attr_list) = (yyvsp[-1].attr_list); } +#line 2938 "parser.tab.c" /* yacc.c:1646 */ break; case 63: #line 457 "parser.y" /* yacc.c:1646 */ - { (yyval.attr_list) = append_attr( (yyvsp[-2].attr_list), (yyvsp[0].attr) ); } -#line 2940 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr_list) = append_attr( NULL, (yyvsp[0].attr) ); } +#line 2944 "parser.tab.c" /* yacc.c:1646 */ break; case 64: #line 458 "parser.y" /* yacc.c:1646 */ - { (yyval.attr_list) = append_attr( (yyvsp[-3].attr_list), (yyvsp[0].attr) ); } -#line 2946 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr_list) = append_attr( (yyvsp[-2].attr_list), (yyvsp[0].attr) ); } +#line 2950 "parser.tab.c" /* yacc.c:1646 */ break; case 65: -#line 461 "parser.y" /* yacc.c:1646 */ - { (yyval.str_list) = append_str( NULL, (yyvsp[0].str) ); } -#line 2952 "parser.tab.c" /* yacc.c:1646 */ +#line 459 "parser.y" /* yacc.c:1646 */ + { (yyval.attr_list) = append_attr( (yyvsp[-3].attr_list), (yyvsp[0].attr) ); } +#line 2956 "parser.tab.c" /* yacc.c:1646 */ break; case 66: #line 462 "parser.y" /* yacc.c:1646 */ - { (yyval.str_list) = append_str( (yyvsp[-2].str_list), (yyvsp[0].str) ); } -#line 2958 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.str_list) = append_str( NULL, (yyvsp[0].str) ); } +#line 2962 "parser.tab.c" /* yacc.c:1646 */ break; case 67: -#line 465 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = NULL; } -#line 2964 "parser.tab.c" /* yacc.c:1646 */ +#line 463 "parser.y" /* yacc.c:1646 */ + { (yyval.str_list) = append_str( (yyvsp[-2].str_list), (yyvsp[0].str) ); } +#line 2968 "parser.tab.c" /* yacc.c:1646 */ break; case 68: #line 466 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_AGGREGATABLE); } -#line 2970 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = NULL; } +#line 2974 "parser.tab.c" /* yacc.c:1646 */ break; case 69: #line 467 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_ANNOTATION, (yyvsp[-1].str)); } -#line 2976 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_AGGREGATABLE); } +#line 2980 "parser.tab.c" /* yacc.c:1646 */ break; case 70: #line 468 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_APPOBJECT); } -#line 2982 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_ANNOTATION, (yyvsp[-1].str)); } +#line 2986 "parser.tab.c" /* yacc.c:1646 */ break; case 71: #line 469 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_ASYNC); } -#line 2988 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_APPOBJECT); } +#line 2992 "parser.tab.c" /* yacc.c:1646 */ break; case 72: #line 470 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_AUTO_HANDLE); } -#line 2994 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_ASYNC); } +#line 2998 "parser.tab.c" /* yacc.c:1646 */ break; case 73: #line 471 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_BINDABLE); } -#line 3000 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_AUTO_HANDLE); } +#line 3004 "parser.tab.c" /* yacc.c:1646 */ break; case 74: #line 472 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_BROADCAST); } -#line 3006 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_BINDABLE); } +#line 3010 "parser.tab.c" /* yacc.c:1646 */ break; case 75: #line 473 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_CALLAS, (yyvsp[-1].var)); } -#line 3012 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_BROADCAST); } +#line 3016 "parser.tab.c" /* yacc.c:1646 */ break; case 76: #line 474 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_CASE, (yyvsp[-1].expr_list)); } -#line 3018 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_CALLAS, (yyvsp[-1].var)); } +#line 3022 "parser.tab.c" /* yacc.c:1646 */ break; case 77: #line 475 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_CODE); } -#line 3024 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_CASE, (yyvsp[-1].expr_list)); } +#line 3028 "parser.tab.c" /* yacc.c:1646 */ break; case 78: #line 476 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_COMMSTATUS); } -#line 3030 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_CODE); } +#line 3034 "parser.tab.c" /* yacc.c:1646 */ break; case 79: #line 477 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); } -#line 3036 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_COMMSTATUS); } +#line 3040 "parser.tab.c" /* yacc.c:1646 */ break; case 80: #line 478 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_DONT_SERIALIZE */ } -#line 3042 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); } +#line 3046 "parser.tab.c" /* yacc.c:1646 */ break; case 81: #line 479 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_SERIALIZE */ } -#line 3048 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_DONT_SERIALIZE */ } +#line 3052 "parser.tab.c" /* yacc.c:1646 */ break; case 82: #line 480 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_CONTROL); } -#line 3054 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_SERIALIZE */ } +#line 3058 "parser.tab.c" /* yacc.c:1646 */ break; case 83: #line 481 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DECODE); } -#line 3060 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_CONTROL); } +#line 3064 "parser.tab.c" /* yacc.c:1646 */ break; case 84: #line 482 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DEFAULT); } -#line 3066 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_DECODE); } +#line 3070 "parser.tab.c" /* yacc.c:1646 */ break; case 85: #line 483 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DEFAULTBIND); } -#line 3072 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_DEFAULT); } +#line 3076 "parser.tab.c" /* yacc.c:1646 */ break; case 86: #line 484 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DEFAULTCOLLELEM); } -#line 3078 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_DEFAULTBIND); } +#line 3082 "parser.tab.c" /* yacc.c:1646 */ break; case 87: #line 485 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_DEFAULTVALUE, (yyvsp[-1].expr)); } -#line 3084 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_DEFAULTCOLLELEM); } +#line 3088 "parser.tab.c" /* yacc.c:1646 */ break; case 88: #line 486 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DEFAULTVTABLE); } -#line 3090 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_DEFAULTVALUE, (yyvsp[-1].expr)); } +#line 3094 "parser.tab.c" /* yacc.c:1646 */ break; case 89: #line 487 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DISABLECONSISTENCYCHECK); } -#line 3096 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_DEFAULTVTABLE); } +#line 3100 "parser.tab.c" /* yacc.c:1646 */ break; case 90: #line 488 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DISPLAYBIND); } -#line 3102 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_DISABLECONSISTENCYCHECK); } +#line 3106 "parser.tab.c" /* yacc.c:1646 */ break; case 91: #line 489 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_DLLNAME, (yyvsp[-1].str)); } -#line 3108 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_DISPLAYBIND); } +#line 3112 "parser.tab.c" /* yacc.c:1646 */ break; case 92: #line 490 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DUAL); } -#line 3114 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_DLLNAME, (yyvsp[-1].str)); } +#line 3118 "parser.tab.c" /* yacc.c:1646 */ break; case 93: #line 491 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_ENABLEALLOCATE); } -#line 3120 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_DUAL); } +#line 3124 "parser.tab.c" /* yacc.c:1646 */ break; case 94: #line 492 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_ENCODE); } -#line 3126 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_ENABLEALLOCATE); } +#line 3130 "parser.tab.c" /* yacc.c:1646 */ break; case 95: #line 493 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_ENDPOINT, (yyvsp[-1].str_list)); } -#line 3132 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_ENCODE); } +#line 3136 "parser.tab.c" /* yacc.c:1646 */ break; case 96: #line 494 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_ENTRY, (yyvsp[-1].expr)); } -#line 3138 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_ENDPOINT, (yyvsp[-1].str_list)); } +#line 3142 "parser.tab.c" /* yacc.c:1646 */ break; case 97: #line 495 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_EXPLICIT_HANDLE); } -#line 3144 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_ENTRY, (yyvsp[-1].expr)); } +#line 3148 "parser.tab.c" /* yacc.c:1646 */ break; case 98: #line 496 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_FAULTSTATUS); } -#line 3150 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_EXPLICIT_HANDLE); } +#line 3154 "parser.tab.c" /* yacc.c:1646 */ break; case 99: #line 497 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_FORCEALLOCATE); } -#line 3156 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_FAULTSTATUS); } +#line 3160 "parser.tab.c" /* yacc.c:1646 */ break; case 100: #line 498 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_HANDLE); } -#line 3162 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_FORCEALLOCATE); } +#line 3166 "parser.tab.c" /* yacc.c:1646 */ break; case 101: #line 499 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_HELPCONTEXT, (yyvsp[-1].expr)); } -#line 3168 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_HANDLE); } +#line 3172 "parser.tab.c" /* yacc.c:1646 */ break; case 102: #line 500 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_HELPFILE, (yyvsp[-1].str)); } -#line 3174 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_HELPCONTEXT, (yyvsp[-1].expr)); } +#line 3178 "parser.tab.c" /* yacc.c:1646 */ break; case 103: #line 501 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_HELPSTRING, (yyvsp[-1].str)); } -#line 3180 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_HELPFILE, (yyvsp[-1].str)); } +#line 3184 "parser.tab.c" /* yacc.c:1646 */ break; case 104: #line 502 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_HELPSTRINGCONTEXT, (yyvsp[-1].expr)); } -#line 3186 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_HELPSTRING, (yyvsp[-1].str)); } +#line 3190 "parser.tab.c" /* yacc.c:1646 */ break; case 105: #line 503 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_HELPSTRINGDLL, (yyvsp[-1].str)); } -#line 3192 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_HELPSTRINGCONTEXT, (yyvsp[-1].expr)); } +#line 3196 "parser.tab.c" /* yacc.c:1646 */ break; case 106: #line 504 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_HIDDEN); } -#line 3198 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_HELPSTRINGDLL, (yyvsp[-1].str)); } +#line 3202 "parser.tab.c" /* yacc.c:1646 */ break; case 107: #line 505 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_ID, (yyvsp[-1].expr)); } -#line 3204 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_HIDDEN); } +#line 3208 "parser.tab.c" /* yacc.c:1646 */ break; case 108: #line 506 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_IDEMPOTENT); } -#line 3210 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_ID, (yyvsp[-1].expr)); } +#line 3214 "parser.tab.c" /* yacc.c:1646 */ break; case 109: #line 507 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_IGNORE); } -#line 3216 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_IDEMPOTENT); } +#line 3220 "parser.tab.c" /* yacc.c:1646 */ break; case 110: #line 508 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_IIDIS, (yyvsp[-1].expr)); } -#line 3222 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_IGNORE); } +#line 3226 "parser.tab.c" /* yacc.c:1646 */ break; case 111: #line 509 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_IMMEDIATEBIND); } -#line 3228 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_IIDIS, (yyvsp[-1].expr)); } +#line 3232 "parser.tab.c" /* yacc.c:1646 */ break; case 112: #line 510 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_IMPLICIT_HANDLE, (yyvsp[-1].var)); } -#line 3234 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_IMMEDIATEBIND); } +#line 3238 "parser.tab.c" /* yacc.c:1646 */ break; case 113: #line 511 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_IN); } -#line 3240 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_IMPLICIT_HANDLE, (yyvsp[-1].var)); } +#line 3244 "parser.tab.c" /* yacc.c:1646 */ break; case 114: #line 512 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_INPUTSYNC); } -#line 3246 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_IN); } +#line 3250 "parser.tab.c" /* yacc.c:1646 */ break; case 115: #line 513 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_LENGTHIS, (yyvsp[-1].expr_list)); } -#line 3252 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_INPUTSYNC); } +#line 3256 "parser.tab.c" /* yacc.c:1646 */ break; case 116: #line 514 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_LIBLCID, (yyvsp[-1].expr)); } -#line 3258 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_LENGTHIS, (yyvsp[-1].expr_list)); } +#line 3262 "parser.tab.c" /* yacc.c:1646 */ break; case 117: #line 515 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_PARAMLCID); } -#line 3264 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_LIBLCID, (yyvsp[-1].expr)); } +#line 3268 "parser.tab.c" /* yacc.c:1646 */ break; case 118: #line 516 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_LICENSED); } -#line 3270 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_PARAMLCID); } +#line 3274 "parser.tab.c" /* yacc.c:1646 */ break; case 119: #line 517 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_LOCAL); } -#line 3276 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_LICENSED); } +#line 3280 "parser.tab.c" /* yacc.c:1646 */ break; case 120: #line 518 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_MAYBE); } -#line 3282 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_LOCAL); } +#line 3286 "parser.tab.c" /* yacc.c:1646 */ break; case 121: #line 519 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_MESSAGE); } -#line 3288 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_MAYBE); } +#line 3292 "parser.tab.c" /* yacc.c:1646 */ break; case 122: #line 520 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_NOCODE); } -#line 3294 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_MESSAGE); } +#line 3298 "parser.tab.c" /* yacc.c:1646 */ break; case 123: #line 521 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_NONBROWSABLE); } -#line 3300 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_NOCODE); } +#line 3304 "parser.tab.c" /* yacc.c:1646 */ break; case 124: #line 522 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_NONCREATABLE); } -#line 3306 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_NONBROWSABLE); } +#line 3310 "parser.tab.c" /* yacc.c:1646 */ break; case 125: #line 523 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_NONEXTENSIBLE); } -#line 3312 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_NONCREATABLE); } +#line 3316 "parser.tab.c" /* yacc.c:1646 */ break; case 126: #line 524 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_NOTIFY); } -#line 3318 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_NONEXTENSIBLE); } +#line 3322 "parser.tab.c" /* yacc.c:1646 */ break; case 127: #line 525 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_NOTIFYFLAG); } -#line 3324 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_NOTIFY); } +#line 3328 "parser.tab.c" /* yacc.c:1646 */ break; case 128: #line 526 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_OBJECT); } -#line 3330 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_NOTIFYFLAG); } +#line 3334 "parser.tab.c" /* yacc.c:1646 */ break; case 129: #line 527 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_ODL); } -#line 3336 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_OBJECT); } +#line 3340 "parser.tab.c" /* yacc.c:1646 */ break; case 130: #line 528 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_OLEAUTOMATION); } -#line 3342 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_ODL); } +#line 3346 "parser.tab.c" /* yacc.c:1646 */ break; case 131: #line 529 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_OPTIMIZE, (yyvsp[-1].str)); } -#line 3348 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_OLEAUTOMATION); } +#line 3352 "parser.tab.c" /* yacc.c:1646 */ break; case 132: #line 530 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_OPTIONAL); } -#line 3354 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_OPTIMIZE, (yyvsp[-1].str)); } +#line 3358 "parser.tab.c" /* yacc.c:1646 */ break; case 133: #line 531 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_OUT); } -#line 3360 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_OPTIONAL); } +#line 3364 "parser.tab.c" /* yacc.c:1646 */ break; case 134: #line 532 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_PARTIALIGNORE); } -#line 3366 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_OUT); } +#line 3370 "parser.tab.c" /* yacc.c:1646 */ break; case 135: #line 533 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrv(ATTR_POINTERDEFAULT, (yyvsp[-1].num)); } -#line 3372 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_PARTIALIGNORE); } +#line 3376 "parser.tab.c" /* yacc.c:1646 */ break; case 136: #line 534 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_PROGID, (yyvsp[-1].str)); } -#line 3378 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrv(ATTR_POINTERDEFAULT, (yyvsp[-1].num)); } +#line 3382 "parser.tab.c" /* yacc.c:1646 */ break; case 137: #line 535 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_PROPGET); } -#line 3384 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_PROGID, (yyvsp[-1].str)); } +#line 3388 "parser.tab.c" /* yacc.c:1646 */ break; case 138: #line 536 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_PROPPUT); } -#line 3390 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_PROPGET); } +#line 3394 "parser.tab.c" /* yacc.c:1646 */ break; case 139: #line 537 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_PROPPUTREF); } -#line 3396 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_PROPPUT); } +#line 3400 "parser.tab.c" /* yacc.c:1646 */ break; case 140: #line 538 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_PROXY); } -#line 3402 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_PROPPUTREF); } +#line 3406 "parser.tab.c" /* yacc.c:1646 */ break; case 141: #line 539 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_PUBLIC); } -#line 3408 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_PROXY); } +#line 3412 "parser.tab.c" /* yacc.c:1646 */ break; case 142: -#line 541 "parser.y" /* yacc.c:1646 */ - { expr_list_t *list = append_expr( NULL, (yyvsp[-3].expr) ); - list = append_expr( list, (yyvsp[-1].expr) ); - (yyval.attr) = make_attrp(ATTR_RANGE, list); } -#line 3416 "parser.tab.c" /* yacc.c:1646 */ +#line 540 "parser.y" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_PUBLIC); } +#line 3418 "parser.tab.c" /* yacc.c:1646 */ break; case 143: -#line 544 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_READONLY); } -#line 3422 "parser.tab.c" /* yacc.c:1646 */ +#line 542 "parser.y" /* yacc.c:1646 */ + { expr_list_t *list = append_expr( NULL, (yyvsp[-3].expr) ); + list = append_expr( list, (yyvsp[-1].expr) ); + (yyval.attr) = make_attrp(ATTR_RANGE, list); } +#line 3426 "parser.tab.c" /* yacc.c:1646 */ break; case 144: #line 545 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_REPRESENTAS, (yyvsp[-1].type)); } -#line 3428 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_READONLY); } +#line 3432 "parser.tab.c" /* yacc.c:1646 */ break; case 145: #line 546 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_REQUESTEDIT); } -#line 3434 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_REPRESENTAS, (yyvsp[-1].type)); } +#line 3438 "parser.tab.c" /* yacc.c:1646 */ break; case 146: #line 547 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_RESTRICTED); } -#line 3440 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_REQUESTEDIT); } +#line 3444 "parser.tab.c" /* yacc.c:1646 */ break; case 147: #line 548 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_RETVAL); } -#line 3446 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_RESTRICTED); } +#line 3450 "parser.tab.c" /* yacc.c:1646 */ break; case 148: #line 549 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_SIZEIS, (yyvsp[-1].expr_list)); } -#line 3452 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_RETVAL); } +#line 3456 "parser.tab.c" /* yacc.c:1646 */ break; case 149: #line 550 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_SOURCE); } -#line 3458 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_SIZEIS, (yyvsp[-1].expr_list)); } +#line 3462 "parser.tab.c" /* yacc.c:1646 */ break; case 150: #line 551 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_STRICTCONTEXTHANDLE); } -#line 3464 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_SOURCE); } +#line 3468 "parser.tab.c" /* yacc.c:1646 */ break; case 151: #line 552 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_STRING); } -#line 3470 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_STRICTCONTEXTHANDLE); } +#line 3474 "parser.tab.c" /* yacc.c:1646 */ break; case 152: #line 553 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_SWITCHIS, (yyvsp[-1].expr)); } -#line 3476 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_STRING); } +#line 3480 "parser.tab.c" /* yacc.c:1646 */ break; case 153: #line 554 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_SWITCHTYPE, (yyvsp[-1].type)); } -#line 3482 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_SWITCHIS, (yyvsp[-1].expr)); } +#line 3486 "parser.tab.c" /* yacc.c:1646 */ break; case 154: #line 555 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_TRANSMITAS, (yyvsp[-1].type)); } -#line 3488 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_SWITCHTYPE, (yyvsp[-1].type)); } +#line 3492 "parser.tab.c" /* yacc.c:1646 */ break; case 155: #line 556 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrv(ATTR_THREADING, (yyvsp[-1].num)); } -#line 3494 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_TRANSMITAS, (yyvsp[-1].type)); } +#line 3498 "parser.tab.c" /* yacc.c:1646 */ break; case 156: #line 557 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_UIDEFAULT); } -#line 3500 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrv(ATTR_THREADING, (yyvsp[-1].num)); } +#line 3504 "parser.tab.c" /* yacc.c:1646 */ break; case 157: #line 558 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_USESGETLASTERROR); } -#line 3506 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_UIDEFAULT); } +#line 3510 "parser.tab.c" /* yacc.c:1646 */ break; case 158: #line 559 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_USERMARSHAL, (yyvsp[-1].type)); } -#line 3512 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_USESGETLASTERROR); } +#line 3516 "parser.tab.c" /* yacc.c:1646 */ break; case 159: #line 560 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_UUID, (yyvsp[-1].uuid)); } -#line 3518 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_USERMARSHAL, (yyvsp[-1].type)); } +#line 3522 "parser.tab.c" /* yacc.c:1646 */ break; case 160: #line 561 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_ASYNCUUID, (yyvsp[-1].uuid)); } -#line 3524 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_UUID, (yyvsp[-1].uuid)); } +#line 3528 "parser.tab.c" /* yacc.c:1646 */ break; case 161: #line 562 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_V1ENUM); } -#line 3530 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_ASYNCUUID, (yyvsp[-1].uuid)); } +#line 3534 "parser.tab.c" /* yacc.c:1646 */ break; case 162: #line 563 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_VARARG); } -#line 3536 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_V1ENUM); } +#line 3540 "parser.tab.c" /* yacc.c:1646 */ break; case 163: #line 564 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrv(ATTR_VERSION, (yyvsp[-1].num)); } -#line 3542 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_VARARG); } +#line 3546 "parser.tab.c" /* yacc.c:1646 */ break; case 164: #line 565 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_VIPROGID, (yyvsp[-1].str)); } -#line 3548 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrv(ATTR_VERSION, (yyvsp[-1].num)); } +#line 3552 "parser.tab.c" /* yacc.c:1646 */ break; case 165: #line 566 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_WIREMARSHAL, (yyvsp[-1].type)); } -#line 3554 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_VIPROGID, (yyvsp[-1].str)); } +#line 3558 "parser.tab.c" /* yacc.c:1646 */ break; case 166: #line 567 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrv(ATTR_POINTERTYPE, (yyvsp[0].num)); } -#line 3560 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr) = make_attrp(ATTR_WIREMARSHAL, (yyvsp[-1].type)); } +#line 3564 "parser.tab.c" /* yacc.c:1646 */ break; - case 168: -#line 572 "parser.y" /* yacc.c:1646 */ - { if (!is_valid_uuid((yyvsp[0].str))) - error_loc("invalid UUID: %s\n", (yyvsp[0].str)); - (yyval.uuid) = parse_uuid((yyvsp[0].str)); } -#line 3568 "parser.tab.c" /* yacc.c:1646 */ + case 167: +#line 568 "parser.y" /* yacc.c:1646 */ + { (yyval.attr) = make_attrv(ATTR_POINTERTYPE, (yyvsp[0].num)); } +#line 3570 "parser.tab.c" /* yacc.c:1646 */ break; case 169: -#line 577 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = xstrdup("__cdecl"); } -#line 3574 "parser.tab.c" /* yacc.c:1646 */ +#line 573 "parser.y" /* yacc.c:1646 */ + { if (!is_valid_uuid((yyvsp[0].str))) + error_loc("invalid UUID: %s\n", (yyvsp[0].str)); + (yyval.uuid) = parse_uuid((yyvsp[0].str)); } +#line 3578 "parser.tab.c" /* yacc.c:1646 */ break; case 170: #line 578 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = xstrdup("__fastcall"); } -#line 3580 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.str) = xstrdup("__cdecl"); } +#line 3584 "parser.tab.c" /* yacc.c:1646 */ break; case 171: #line 579 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = xstrdup("__pascal"); } -#line 3586 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.str) = xstrdup("__fastcall"); } +#line 3590 "parser.tab.c" /* yacc.c:1646 */ break; case 172: #line 580 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = xstrdup("__stdcall"); } -#line 3592 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.str) = xstrdup("__pascal"); } +#line 3596 "parser.tab.c" /* yacc.c:1646 */ break; case 173: -#line 583 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = NULL; } -#line 3598 "parser.tab.c" /* yacc.c:1646 */ +#line 581 "parser.y" /* yacc.c:1646 */ + { (yyval.str) = xstrdup("__stdcall"); } +#line 3602 "parser.tab.c" /* yacc.c:1646 */ break; case 174: #line 584 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); } -#line 3604 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.var_list) = NULL; } +#line 3608 "parser.tab.c" /* yacc.c:1646 */ break; case 175: -#line 587 "parser.y" /* yacc.c:1646 */ +#line 585 "parser.y" /* yacc.c:1646 */ + { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); } +#line 3614 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 176: +#line 588 "parser.y" /* yacc.c:1646 */ { attr_t *a = make_attrp(ATTR_CASE, append_expr( NULL, (yyvsp[-2].expr) )); (yyval.var) = (yyvsp[0].var); if (!(yyval.var)) (yyval.var) = make_var(NULL); (yyval.var)->attrs = append_attr( (yyval.var)->attrs, a ); } -#line 3613 "parser.tab.c" /* yacc.c:1646 */ +#line 3623 "parser.tab.c" /* yacc.c:1646 */ break; - case 176: -#line 591 "parser.y" /* yacc.c:1646 */ + case 177: +#line 592 "parser.y" /* yacc.c:1646 */ { attr_t *a = make_attr(ATTR_DEFAULT); (yyval.var) = (yyvsp[0].var); if (!(yyval.var)) (yyval.var) = make_var(NULL); (yyval.var)->attrs = append_attr( (yyval.var)->attrs, a ); } -#line 3622 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 177: -#line 597 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = NULL; } -#line 3628 "parser.tab.c" /* yacc.c:1646 */ +#line 3632 "parser.tab.c" /* yacc.c:1646 */ break; case 178: #line 598 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = (yyvsp[-1].var_list); } -#line 3634 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.var_list) = NULL; } +#line 3638 "parser.tab.c" /* yacc.c:1646 */ break; - case 180: -#line 602 "parser.y" /* yacc.c:1646 */ + case 179: +#line 599 "parser.y" /* yacc.c:1646 */ + { (yyval.var_list) = (yyvsp[-1].var_list); } +#line 3644 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 181: +#line 603 "parser.y" /* yacc.c:1646 */ { if (!(yyvsp[0].var)->eval) (yyvsp[0].var)->eval = make_exprl(EXPR_NUM, 0 /* default for first enum entry */); (yyval.var_list) = append_var( NULL, (yyvsp[0].var) ); } -#line 3643 "parser.tab.c" /* yacc.c:1646 */ +#line 3653 "parser.tab.c" /* yacc.c:1646 */ break; - case 181: -#line 606 "parser.y" /* yacc.c:1646 */ + case 182: +#line 607 "parser.y" /* yacc.c:1646 */ { if (!(yyvsp[0].var)->eval) { var_t *last = LIST_ENTRY( list_tail((yyval.var_list)), var_t, entry ); @@ -3654,650 +3664,650 @@ } (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) ); } -#line 3658 "parser.tab.c" /* yacc.c:1646 */ +#line 3668 "parser.tab.c" /* yacc.c:1646 */ break; - case 182: -#line 618 "parser.y" /* yacc.c:1646 */ + case 183: +#line 619 "parser.y" /* yacc.c:1646 */ { (yyval.var) = reg_const((yyvsp[-2].var)); (yyval.var)->eval = (yyvsp[0].expr); (yyval.var)->type = type_new_int(TYPE_BASIC_INT, 0); } -#line 3667 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 183: -#line 622 "parser.y" /* yacc.c:1646 */ - { (yyval.var) = reg_const((yyvsp[0].var)); - (yyval.var)->type = type_new_int(TYPE_BASIC_INT, 0); - } -#line 3675 "parser.tab.c" /* yacc.c:1646 */ +#line 3677 "parser.tab.c" /* yacc.c:1646 */ break; case 184: -#line 627 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_enum((yyvsp[-3].str), TRUE, (yyvsp[-1].var_list)); } -#line 3681 "parser.tab.c" /* yacc.c:1646 */ +#line 623 "parser.y" /* yacc.c:1646 */ + { (yyval.var) = reg_const((yyvsp[0].var)); + (yyval.var)->type = type_new_int(TYPE_BASIC_INT, 0); + } +#line 3685 "parser.tab.c" /* yacc.c:1646 */ break; case 185: -#line 630 "parser.y" /* yacc.c:1646 */ - { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); } -#line 3687 "parser.tab.c" /* yacc.c:1646 */ +#line 628 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = type_new_enum((yyvsp[-3].str), TRUE, (yyvsp[-1].var_list)); } +#line 3691 "parser.tab.c" /* yacc.c:1646 */ break; case 186: #line 631 "parser.y" /* yacc.c:1646 */ - { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); } -#line 3693 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); } +#line 3697 "parser.tab.c" /* yacc.c:1646 */ break; case 187: -#line 634 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr(EXPR_VOID); } -#line 3699 "parser.tab.c" /* yacc.c:1646 */ +#line 632 "parser.y" /* yacc.c:1646 */ + { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); } +#line 3703 "parser.tab.c" /* yacc.c:1646 */ break; - case 189: -#line 638 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_exprl(EXPR_NUM, (yyvsp[0].num)); } -#line 3705 "parser.tab.c" /* yacc.c:1646 */ + case 188: +#line 635 "parser.y" /* yacc.c:1646 */ + { (yyval.expr) = make_expr(EXPR_VOID); } +#line 3709 "parser.tab.c" /* yacc.c:1646 */ break; case 190: #line 639 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_exprl(EXPR_HEXNUM, (yyvsp[0].num)); } -#line 3711 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_exprl(EXPR_NUM, (yyvsp[0].num)); } +#line 3715 "parser.tab.c" /* yacc.c:1646 */ break; case 191: #line 640 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_exprd(EXPR_DOUBLE, (yyvsp[0].dbl)); } -#line 3717 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_exprl(EXPR_HEXNUM, (yyvsp[0].num)); } +#line 3721 "parser.tab.c" /* yacc.c:1646 */ break; case 192: #line 641 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 0); } -#line 3723 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_exprd(EXPR_DOUBLE, (yyvsp[0].dbl)); } +#line 3727 "parser.tab.c" /* yacc.c:1646 */ break; case 193: #line 642 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_exprl(EXPR_NUM, 0); } -#line 3729 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 0); } +#line 3733 "parser.tab.c" /* yacc.c:1646 */ break; case 194: #line 643 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 1); } -#line 3735 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_exprl(EXPR_NUM, 0); } +#line 3739 "parser.tab.c" /* yacc.c:1646 */ break; case 195: #line 644 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_exprs(EXPR_STRLIT, (yyvsp[0].str)); } -#line 3741 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 1); } +#line 3745 "parser.tab.c" /* yacc.c:1646 */ break; case 196: #line 645 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_exprs(EXPR_WSTRLIT, (yyvsp[0].str)); } -#line 3747 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_exprs(EXPR_STRLIT, (yyvsp[0].str)); } +#line 3751 "parser.tab.c" /* yacc.c:1646 */ break; case 197: #line 646 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_exprs(EXPR_CHARCONST, (yyvsp[0].str)); } -#line 3753 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_exprs(EXPR_WSTRLIT, (yyvsp[0].str)); } +#line 3757 "parser.tab.c" /* yacc.c:1646 */ break; case 198: #line 647 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str)); } -#line 3759 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_exprs(EXPR_CHARCONST, (yyvsp[0].str)); } +#line 3763 "parser.tab.c" /* yacc.c:1646 */ break; case 199: #line 648 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr3(EXPR_COND, (yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3765 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str)); } +#line 3769 "parser.tab.c" /* yacc.c:1646 */ break; case 200: #line 649 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_LOGOR, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3771 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr3(EXPR_COND, (yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3775 "parser.tab.c" /* yacc.c:1646 */ break; case 201: #line 650 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_LOGAND, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3777 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_LOGOR, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3781 "parser.tab.c" /* yacc.c:1646 */ break; case 202: #line 651 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_OR , (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3783 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_LOGAND, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3787 "parser.tab.c" /* yacc.c:1646 */ break; case 203: #line 652 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_XOR, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3789 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_OR , (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3793 "parser.tab.c" /* yacc.c:1646 */ break; case 204: #line 653 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_AND, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3795 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_XOR, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3799 "parser.tab.c" /* yacc.c:1646 */ break; case 205: #line 654 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_EQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3801 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_AND, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3805 "parser.tab.c" /* yacc.c:1646 */ break; case 206: #line 655 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_INEQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3807 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_EQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3811 "parser.tab.c" /* yacc.c:1646 */ break; case 207: #line 656 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_GTR, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3813 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_INEQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3817 "parser.tab.c" /* yacc.c:1646 */ break; case 208: #line 657 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_LESS, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3819 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_GTR, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3823 "parser.tab.c" /* yacc.c:1646 */ break; case 209: #line 658 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_GTREQL, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3825 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_LESS, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3829 "parser.tab.c" /* yacc.c:1646 */ break; case 210: #line 659 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_LESSEQL, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3831 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_GTREQL, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3835 "parser.tab.c" /* yacc.c:1646 */ break; case 211: #line 660 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_SHL, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3837 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_LESSEQL, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3841 "parser.tab.c" /* yacc.c:1646 */ break; case 212: #line 661 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_SHR, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3843 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_SHL, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3847 "parser.tab.c" /* yacc.c:1646 */ break; case 213: #line 662 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_ADD, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3849 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_SHR, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3853 "parser.tab.c" /* yacc.c:1646 */ break; case 214: #line 663 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_SUB, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3855 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_ADD, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3859 "parser.tab.c" /* yacc.c:1646 */ break; case 215: #line 664 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_MOD, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3861 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_SUB, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3865 "parser.tab.c" /* yacc.c:1646 */ break; case 216: #line 665 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_MUL, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3867 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_MOD, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3871 "parser.tab.c" /* yacc.c:1646 */ break; case 217: #line 666 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_DIV, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3873 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_MUL, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3877 "parser.tab.c" /* yacc.c:1646 */ break; case 218: #line 667 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr1(EXPR_LOGNOT, (yyvsp[0].expr)); } -#line 3879 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_DIV, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3883 "parser.tab.c" /* yacc.c:1646 */ break; case 219: #line 668 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr1(EXPR_NOT, (yyvsp[0].expr)); } -#line 3885 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr1(EXPR_LOGNOT, (yyvsp[0].expr)); } +#line 3889 "parser.tab.c" /* yacc.c:1646 */ break; case 220: #line 669 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr1(EXPR_POS, (yyvsp[0].expr)); } -#line 3891 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr1(EXPR_NOT, (yyvsp[0].expr)); } +#line 3895 "parser.tab.c" /* yacc.c:1646 */ break; case 221: #line 670 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr1(EXPR_NEG, (yyvsp[0].expr)); } -#line 3897 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr1(EXPR_POS, (yyvsp[0].expr)); } +#line 3901 "parser.tab.c" /* yacc.c:1646 */ break; case 222: #line 671 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr1(EXPR_ADDRESSOF, (yyvsp[0].expr)); } -#line 3903 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr1(EXPR_NEG, (yyvsp[0].expr)); } +#line 3907 "parser.tab.c" /* yacc.c:1646 */ break; case 223: #line 672 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr1(EXPR_PPTR, (yyvsp[0].expr)); } -#line 3909 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr1(EXPR_ADDRESSOF, (yyvsp[0].expr)); } +#line 3913 "parser.tab.c" /* yacc.c:1646 */ break; case 224: #line 673 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_MEMBER, make_expr1(EXPR_PPTR, (yyvsp[-2].expr)), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); } -#line 3915 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr1(EXPR_PPTR, (yyvsp[0].expr)); } +#line 3919 "parser.tab.c" /* yacc.c:1646 */ break; case 225: #line 674 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_MEMBER, (yyvsp[-2].expr), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); } -#line 3921 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_MEMBER, make_expr1(EXPR_PPTR, (yyvsp[-2].expr)), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); } +#line 3925 "parser.tab.c" /* yacc.c:1646 */ break; case 226: -#line 676 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_exprt(EXPR_CAST, declare_var(NULL, (yyvsp[-3].declspec), (yyvsp[-2].declarator), 0), (yyvsp[0].expr)); free((yyvsp[-3].declspec)); free((yyvsp[-2].declarator)); } -#line 3927 "parser.tab.c" /* yacc.c:1646 */ +#line 675 "parser.y" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_MEMBER, (yyvsp[-2].expr), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); } +#line 3931 "parser.tab.c" /* yacc.c:1646 */ break; case 227: -#line 678 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_exprt(EXPR_SIZEOF, declare_var(NULL, (yyvsp[-2].declspec), (yyvsp[-1].declarator), 0), NULL); free((yyvsp[-2].declspec)); free((yyvsp[-1].declarator)); } -#line 3933 "parser.tab.c" /* yacc.c:1646 */ +#line 677 "parser.y" /* yacc.c:1646 */ + { (yyval.expr) = make_exprt(EXPR_CAST, declare_var(NULL, (yyvsp[-3].declspec), (yyvsp[-2].declarator), 0), (yyvsp[0].expr)); free((yyvsp[-3].declspec)); free((yyvsp[-2].declarator)); } +#line 3937 "parser.tab.c" /* yacc.c:1646 */ break; case 228: #line 679 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr2(EXPR_ARRAY, (yyvsp[-3].expr), (yyvsp[-1].expr)); } -#line 3939 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_exprt(EXPR_SIZEOF, declare_var(NULL, (yyvsp[-2].declspec), (yyvsp[-1].declarator), 0), NULL); free((yyvsp[-2].declspec)); free((yyvsp[-1].declarator)); } +#line 3943 "parser.tab.c" /* yacc.c:1646 */ break; case 229: #line 680 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = (yyvsp[-1].expr); } -#line 3945 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = make_expr2(EXPR_ARRAY, (yyvsp[-3].expr), (yyvsp[-1].expr)); } +#line 3949 "parser.tab.c" /* yacc.c:1646 */ break; case 230: -#line 683 "parser.y" /* yacc.c:1646 */ - { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); } -#line 3951 "parser.tab.c" /* yacc.c:1646 */ +#line 681 "parser.y" /* yacc.c:1646 */ + { (yyval.expr) = (yyvsp[-1].expr); } +#line 3955 "parser.tab.c" /* yacc.c:1646 */ break; case 231: #line 684 "parser.y" /* yacc.c:1646 */ - { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); } -#line 3957 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); } +#line 3961 "parser.tab.c" /* yacc.c:1646 */ break; case 232: -#line 687 "parser.y" /* yacc.c:1646 */ +#line 685 "parser.y" /* yacc.c:1646 */ + { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); } +#line 3967 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 233: +#line 688 "parser.y" /* yacc.c:1646 */ { (yyval.expr) = (yyvsp[0].expr); if (!(yyval.expr)->is_const) error_loc("expression is not an integer constant\n"); } -#line 3966 "parser.tab.c" /* yacc.c:1646 */ +#line 3976 "parser.tab.c" /* yacc.c:1646 */ break; - case 233: -#line 693 "parser.y" /* yacc.c:1646 */ + case 234: +#line 694 "parser.y" /* yacc.c:1646 */ { (yyval.expr) = (yyvsp[0].expr); if (!(yyval.expr)->is_const && (yyval.expr)->type != EXPR_STRLIT && (yyval.expr)->type != EXPR_WSTRLIT) error_loc("expression is not constant\n"); } -#line 3975 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 234: -#line 699 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = NULL; } -#line 3981 "parser.tab.c" /* yacc.c:1646 */ +#line 3985 "parser.tab.c" /* yacc.c:1646 */ break; case 235: #line 700 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = append_var_list((yyvsp[-1].var_list), (yyvsp[0].var_list)); } -#line 3987 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.var_list) = NULL; } +#line 3991 "parser.tab.c" /* yacc.c:1646 */ break; case 236: -#line 704 "parser.y" /* yacc.c:1646 */ +#line 701 "parser.y" /* yacc.c:1646 */ + { (yyval.var_list) = append_var_list((yyvsp[-1].var_list), (yyvsp[0].var_list)); } +#line 3997 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 237: +#line 705 "parser.y" /* yacc.c:1646 */ { const char *first = LIST_ENTRY(list_head((yyvsp[-1].declarator_list)), declarator_t, entry)->var->name; check_field_attrs(first, (yyvsp[-3].attr_list)); (yyval.var_list) = set_var_types((yyvsp[-3].attr_list), (yyvsp[-2].declspec), (yyvsp[-1].declarator_list)); } -#line 3996 "parser.tab.c" /* yacc.c:1646 */ +#line 4006 "parser.tab.c" /* yacc.c:1646 */ break; - case 237: -#line 708 "parser.y" /* yacc.c:1646 */ + case 238: +#line 709 "parser.y" /* yacc.c:1646 */ { var_t *v = make_var(NULL); v->type = (yyvsp[-1].type); v->attrs = (yyvsp[-2].attr_list); (yyval.var_list) = append_var(NULL, v); } -#line 4005 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 238: -#line 715 "parser.y" /* yacc.c:1646 */ - { (yyval.var) = (yyvsp[-1].var); } -#line 4011 "parser.tab.c" /* yacc.c:1646 */ +#line 4015 "parser.tab.c" /* yacc.c:1646 */ break; case 239: #line 716 "parser.y" /* yacc.c:1646 */ - { (yyval.var) = make_var(NULL); (yyval.var)->attrs = (yyvsp[-1].attr_list); } -#line 4017 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.var) = (yyvsp[-1].var); } +#line 4021 "parser.tab.c" /* yacc.c:1646 */ break; case 240: -#line 719 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = NULL; } -#line 4023 "parser.tab.c" /* yacc.c:1646 */ +#line 717 "parser.y" /* yacc.c:1646 */ + { (yyval.var) = make_var(NULL); (yyval.var)->attrs = (yyvsp[-1].attr_list); } +#line 4027 "parser.tab.c" /* yacc.c:1646 */ break; case 241: #line 720 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); } -#line 4029 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.var_list) = NULL; } +#line 4033 "parser.tab.c" /* yacc.c:1646 */ break; case 242: -#line 724 "parser.y" /* yacc.c:1646 */ - { (yyval.var) = (yyvsp[-1].var); } -#line 4035 "parser.tab.c" /* yacc.c:1646 */ +#line 721 "parser.y" /* yacc.c:1646 */ + { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); } +#line 4039 "parser.tab.c" /* yacc.c:1646 */ break; case 243: #line 725 "parser.y" /* yacc.c:1646 */ - { (yyval.var) = NULL; } -#line 4041 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.var) = (yyvsp[-1].var); } +#line 4045 "parser.tab.c" /* yacc.c:1646 */ break; case 244: -#line 728 "parser.y" /* yacc.c:1646 */ +#line 726 "parser.y" /* yacc.c:1646 */ + { (yyval.var) = NULL; } +#line 4051 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 245: +#line 729 "parser.y" /* yacc.c:1646 */ { (yyval.var) = declare_var(check_field_attrs((yyvsp[0].declarator)->var->name, (yyvsp[-2].attr_list)), (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE); free((yyvsp[0].declarator)); } -#line 4050 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 245: -#line 732 "parser.y" /* yacc.c:1646 */ - { var_t *v = make_var(NULL); - v->type = (yyvsp[0].type); v->attrs = (yyvsp[-1].attr_list); - (yyval.var) = v; - } -#line 4059 "parser.tab.c" /* yacc.c:1646 */ +#line 4060 "parser.tab.c" /* yacc.c:1646 */ break; case 246: -#line 738 "parser.y" /* yacc.c:1646 */ - { (yyval.var) = (yyvsp[0].var); - if (type_get_type((yyval.var)->type) != TYPE_FUNCTION) - error_loc("only methods may be declared inside the methods section of a dispinterface\n"); - check_function_attrs((yyval.var)->name, (yyval.var)->attrs); +#line 733 "parser.y" /* yacc.c:1646 */ + { var_t *v = make_var(NULL); + v->type = (yyvsp[0].type); v->attrs = (yyvsp[-1].attr_list); + (yyval.var) = v; } #line 4069 "parser.tab.c" /* yacc.c:1646 */ break; case 247: -#line 747 "parser.y" /* yacc.c:1646 */ - { (yyval.var) = declare_var((yyvsp[-2].attr_list), (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE); - free((yyvsp[0].declarator)); +#line 739 "parser.y" /* yacc.c:1646 */ + { (yyval.var) = (yyvsp[0].var); + if (type_get_type((yyval.var)->type) != TYPE_FUNCTION) + error_loc("only methods may be declared inside the methods section of a dispinterface\n"); + check_function_attrs((yyval.var)->name, (yyval.var)->attrs); } -#line 4077 "parser.tab.c" /* yacc.c:1646 */ +#line 4079 "parser.tab.c" /* yacc.c:1646 */ break; case 248: -#line 750 "parser.y" /* yacc.c:1646 */ - { (yyval.var) = declare_var(NULL, (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE); +#line 748 "parser.y" /* yacc.c:1646 */ + { (yyval.var) = declare_var((yyvsp[-2].attr_list), (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE); free((yyvsp[0].declarator)); } -#line 4085 "parser.tab.c" /* yacc.c:1646 */ +#line 4087 "parser.tab.c" /* yacc.c:1646 */ break; case 249: -#line 755 "parser.y" /* yacc.c:1646 */ - { (yyval.var) = NULL; } -#line 4091 "parser.tab.c" /* yacc.c:1646 */ +#line 751 "parser.y" /* yacc.c:1646 */ + { (yyval.var) = declare_var(NULL, (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE); + free((yyvsp[0].declarator)); + } +#line 4095 "parser.tab.c" /* yacc.c:1646 */ break; - case 251: -#line 759 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = NULL; } -#line 4097 "parser.tab.c" /* yacc.c:1646 */ + case 250: +#line 756 "parser.y" /* yacc.c:1646 */ + { (yyval.var) = NULL; } +#line 4101 "parser.tab.c" /* yacc.c:1646 */ break; case 252: #line 760 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = (yyvsp[0].str); } -#line 4103 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.str) = NULL; } +#line 4107 "parser.tab.c" /* yacc.c:1646 */ break; case 253: #line 761 "parser.y" /* yacc.c:1646 */ { (yyval.str) = (yyvsp[0].str); } -#line 4109 "parser.tab.c" /* yacc.c:1646 */ +#line 4113 "parser.tab.c" /* yacc.c:1646 */ break; case 254: -#line 764 "parser.y" /* yacc.c:1646 */ - { (yyval.var) = make_var((yyvsp[0].str)); } -#line 4115 "parser.tab.c" /* yacc.c:1646 */ +#line 762 "parser.y" /* yacc.c:1646 */ + { (yyval.str) = (yyvsp[0].str); } +#line 4119 "parser.tab.c" /* yacc.c:1646 */ break; case 255: -#line 766 "parser.y" /* yacc.c:1646 */ +#line 765 "parser.y" /* yacc.c:1646 */ { (yyval.var) = make_var((yyvsp[0].str)); } -#line 4121 "parser.tab.c" /* yacc.c:1646 */ +#line 4125 "parser.tab.c" /* yacc.c:1646 */ break; case 256: -#line 769 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4127 "parser.tab.c" /* yacc.c:1646 */ +#line 767 "parser.y" /* yacc.c:1646 */ + { (yyval.var) = make_var((yyvsp[0].str)); } +#line 4131 "parser.tab.c" /* yacc.c:1646 */ break; case 257: #line 770 "parser.y" /* yacc.c:1646 */ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4133 "parser.tab.c" /* yacc.c:1646 */ +#line 4137 "parser.tab.c" /* yacc.c:1646 */ break; - case 259: -#line 772 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), -1); } -#line 4139 "parser.tab.c" /* yacc.c:1646 */ + case 258: +#line 771 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } +#line 4143 "parser.tab.c" /* yacc.c:1646 */ break; case 260: #line 773 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), 1); } -#line 4145 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), -1); } +#line 4149 "parser.tab.c" /* yacc.c:1646 */ break; case 261: #line 774 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_int(TYPE_BASIC_INT, 1); } -#line 4151 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), 1); } +#line 4155 "parser.tab.c" /* yacc.c:1646 */ break; case 262: #line 775 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4157 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = type_new_int(TYPE_BASIC_INT, 1); } +#line 4161 "parser.tab.c" /* yacc.c:1646 */ break; case 263: #line 776 "parser.y" /* yacc.c:1646 */ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4163 "parser.tab.c" /* yacc.c:1646 */ +#line 4167 "parser.tab.c" /* yacc.c:1646 */ break; case 264: #line 777 "parser.y" /* yacc.c:1646 */ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4169 "parser.tab.c" /* yacc.c:1646 */ +#line 4173 "parser.tab.c" /* yacc.c:1646 */ break; case 265: #line 778 "parser.y" /* yacc.c:1646 */ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4175 "parser.tab.c" /* yacc.c:1646 */ +#line 4179 "parser.tab.c" /* yacc.c:1646 */ break; case 266: #line 779 "parser.y" /* yacc.c:1646 */ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4181 "parser.tab.c" /* yacc.c:1646 */ +#line 4185 "parser.tab.c" /* yacc.c:1646 */ break; - case 269: -#line 786 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_int(TYPE_BASIC_INT, 0); } -#line 4187 "parser.tab.c" /* yacc.c:1646 */ + case 267: +#line 780 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } +#line 4191 "parser.tab.c" /* yacc.c:1646 */ break; case 270: #line 787 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_int(TYPE_BASIC_INT16, 0); } -#line 4193 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = type_new_int(TYPE_BASIC_INT, 0); } +#line 4197 "parser.tab.c" /* yacc.c:1646 */ break; case 271: #line 788 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_int(TYPE_BASIC_INT8, 0); } -#line 4199 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = type_new_int(TYPE_BASIC_INT16, 0); } +#line 4203 "parser.tab.c" /* yacc.c:1646 */ break; case 272: #line 789 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_int(TYPE_BASIC_INT32, 0); } -#line 4205 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = type_new_int(TYPE_BASIC_INT8, 0); } +#line 4209 "parser.tab.c" /* yacc.c:1646 */ break; case 273: #line 790 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_int(TYPE_BASIC_HYPER, 0); } -#line 4211 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = type_new_int(TYPE_BASIC_INT32, 0); } +#line 4215 "parser.tab.c" /* yacc.c:1646 */ break; case 274: #line 791 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_int(TYPE_BASIC_INT64, 0); } -#line 4217 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = type_new_int(TYPE_BASIC_HYPER, 0); } +#line 4221 "parser.tab.c" /* yacc.c:1646 */ break; case 275: #line 792 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_int(TYPE_BASIC_CHAR, 0); } -#line 4223 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = type_new_int(TYPE_BASIC_INT64, 0); } +#line 4227 "parser.tab.c" /* yacc.c:1646 */ break; case 276: #line 793 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_int(TYPE_BASIC_INT3264, 0); } -#line 4229 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = type_new_int(TYPE_BASIC_CHAR, 0); } +#line 4233 "parser.tab.c" /* yacc.c:1646 */ break; case 277: -#line 796 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_coclass((yyvsp[0].str)); } -#line 4235 "parser.tab.c" /* yacc.c:1646 */ +#line 794 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = type_new_int(TYPE_BASIC_INT3264, 0); } +#line 4239 "parser.tab.c" /* yacc.c:1646 */ break; case 278: #line 797 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = type_new_coclass((yyvsp[0].str)); } +#line 4245 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 279: +#line 798 "parser.y" /* yacc.c:1646 */ { (yyval.type) = find_type((yyvsp[0].str), 0); if (type_get_type_detect_alias((yyval.type)) != TYPE_COCLASS) error_loc("%s was not declared a coclass at %s:%d\n", (yyvsp[0].str), (yyval.type)->loc_info.input_name, (yyval.type)->loc_info.line_number); } -#line 4246 "parser.tab.c" /* yacc.c:1646 */ +#line 4256 "parser.tab.c" /* yacc.c:1646 */ break; - case 279: -#line 805 "parser.y" /* yacc.c:1646 */ + case 280: +#line 806 "parser.y" /* yacc.c:1646 */ { (yyval.type) = (yyvsp[0].type); check_def((yyval.type)); (yyval.type)->attrs = check_coclass_attrs((yyvsp[0].type)->name, (yyvsp[-1].attr_list)); } -#line 4255 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 280: -#line 812 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_coclass_define((yyvsp[-4].type), (yyvsp[-2].ifref_list)); } -#line 4261 "parser.tab.c" /* yacc.c:1646 */ +#line 4265 "parser.tab.c" /* yacc.c:1646 */ break; case 281: -#line 815 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = NULL; } -#line 4267 "parser.tab.c" /* yacc.c:1646 */ +#line 813 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = type_coclass_define((yyvsp[-4].type), (yyvsp[-2].ifref_list)); } +#line 4271 "parser.tab.c" /* yacc.c:1646 */ break; case 282: -#line 818 "parser.y" /* yacc.c:1646 */ - { (yyval.ifref_list) = NULL; } -#line 4273 "parser.tab.c" /* yacc.c:1646 */ +#line 816 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = NULL; } +#line 4277 "parser.tab.c" /* yacc.c:1646 */ break; case 283: #line 819 "parser.y" /* yacc.c:1646 */ - { (yyval.ifref_list) = append_ifref( (yyvsp[-1].ifref_list), (yyvsp[0].ifref) ); } -#line 4279 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.ifref_list) = NULL; } +#line 4283 "parser.tab.c" /* yacc.c:1646 */ break; case 284: -#line 823 "parser.y" /* yacc.c:1646 */ - { (yyval.ifref) = make_ifref((yyvsp[0].type)); (yyval.ifref)->attrs = (yyvsp[-1].attr_list); } -#line 4285 "parser.tab.c" /* yacc.c:1646 */ +#line 820 "parser.y" /* yacc.c:1646 */ + { (yyval.ifref_list) = append_ifref( (yyvsp[-1].ifref_list), (yyvsp[0].ifref) ); } +#line 4289 "parser.tab.c" /* yacc.c:1646 */ break; case 285: -#line 826 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), 0); } -#line 4291 "parser.tab.c" /* yacc.c:1646 */ +#line 824 "parser.y" /* yacc.c:1646 */ + { (yyval.ifref) = make_ifref((yyvsp[0].type)); (yyval.ifref)->attrs = (yyvsp[-1].attr_list); } +#line 4295 "parser.tab.c" /* yacc.c:1646 */ break; case 286: #line 827 "parser.y" /* yacc.c:1646 */ { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), 0); } -#line 4297 "parser.tab.c" /* yacc.c:1646 */ +#line 4301 "parser.tab.c" /* yacc.c:1646 */ break; case 287: -#line 830 "parser.y" /* yacc.c:1646 */ +#line 828 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), 0); } +#line 4307 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 288: +#line 831 "parser.y" /* yacc.c:1646 */ { attr_t *attrs; (yyval.type) = (yyvsp[0].type); check_def((yyval.type)); @@ -4305,75 +4315,75 @@ (yyval.type)->attrs = append_attr( check_dispiface_attrs((yyvsp[0].type)->name, (yyvsp[-1].attr_list)), attrs ); (yyval.type)->defined = TRUE; } -#line 4309 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 288: -#line 839 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = NULL; } -#line 4315 "parser.tab.c" /* yacc.c:1646 */ +#line 4319 "parser.tab.c" /* yacc.c:1646 */ break; case 289: #line 840 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); } -#line 4321 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.var_list) = NULL; } +#line 4325 "parser.tab.c" /* yacc.c:1646 */ break; case 290: -#line 843 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = NULL; } -#line 4327 "parser.tab.c" /* yacc.c:1646 */ +#line 841 "parser.y" /* yacc.c:1646 */ + { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); } +#line 4331 "parser.tab.c" /* yacc.c:1646 */ break; case 291: #line 844 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); } -#line 4333 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.var_list) = NULL; } +#line 4337 "parser.tab.c" /* yacc.c:1646 */ break; case 292: -#line 850 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = (yyvsp[-4].type); - type_dispinterface_define((yyval.type), (yyvsp[-2].var_list), (yyvsp[-1].var_list)); - } -#line 4341 "parser.tab.c" /* yacc.c:1646 */ +#line 845 "parser.y" /* yacc.c:1646 */ + { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); } +#line 4343 "parser.tab.c" /* yacc.c:1646 */ break; case 293: -#line 854 "parser.y" /* yacc.c:1646 */ +#line 851 "parser.y" /* yacc.c:1646 */ { (yyval.type) = (yyvsp[-4].type); - type_dispinterface_define_from_iface((yyval.type), (yyvsp[-2].type)); + type_dispinterface_define((yyval.type), (yyvsp[-2].var_list), (yyvsp[-1].var_list)); } -#line 4349 "parser.tab.c" /* yacc.c:1646 */ +#line 4351 "parser.tab.c" /* yacc.c:1646 */ break; case 294: -#line 859 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = NULL; } -#line 4355 "parser.tab.c" /* yacc.c:1646 */ +#line 855 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = (yyvsp[-4].type); + type_dispinterface_define_from_iface((yyval.type), (yyvsp[-2].type)); + } +#line 4359 "parser.tab.c" /* yacc.c:1646 */ break; case 295: #line 860 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = find_type_or_error2((yyvsp[0].str), 0); } -#line 4361 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = NULL; } +#line 4365 "parser.tab.c" /* yacc.c:1646 */ break; case 296: -#line 863 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), 0); } -#line 4367 "parser.tab.c" /* yacc.c:1646 */ +#line 861 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = find_type_or_error2((yyvsp[0].str), 0); } +#line 4371 "parser.tab.c" /* yacc.c:1646 */ break; case 297: #line 864 "parser.y" /* yacc.c:1646 */ { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), 0); } -#line 4373 "parser.tab.c" /* yacc.c:1646 */ +#line 4377 "parser.tab.c" /* yacc.c:1646 */ break; case 298: -#line 867 "parser.y" /* yacc.c:1646 */ +#line 865 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), 0); } +#line 4383 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 299: +#line 868 "parser.y" /* yacc.c:1646 */ { (yyval.ifinfo).interface = (yyvsp[0].type); (yyval.ifinfo).old_pointer_default = pointer_default; if (is_attr((yyvsp[-1].attr_list), ATTR_POINTERDEFAULT)) @@ -4382,545 +4392,545 @@ (yyvsp[0].type)->attrs = check_iface_attrs((yyvsp[0].type)->name, (yyvsp[-1].attr_list)); (yyvsp[0].type)->defined = TRUE; } -#line 4386 "parser.tab.c" /* yacc.c:1646 */ +#line 4396 "parser.tab.c" /* yacc.c:1646 */ break; - case 299: -#line 878 "parser.y" /* yacc.c:1646 */ + case 300: +#line 879 "parser.y" /* yacc.c:1646 */ { (yyval.type) = (yyvsp[-5].ifinfo).interface; if((yyval.type) == (yyvsp[-4].type)) error_loc("Interface can't inherit from itself\n"); type_interface_define((yyval.type), (yyvsp[-4].type), (yyvsp[-2].stmt_list)); pointer_default = (yyvsp[-5].ifinfo).old_pointer_default; } -#line 4397 "parser.tab.c" /* yacc.c:1646 */ +#line 4407 "parser.tab.c" /* yacc.c:1646 */ break; - case 300: -#line 888 "parser.y" /* yacc.c:1646 */ + case 301: +#line 889 "parser.y" /* yacc.c:1646 */ { (yyval.type) = (yyvsp[-7].ifinfo).interface; type_interface_define((yyval.type), find_type_or_error2((yyvsp[-5].str), 0), (yyvsp[-2].stmt_list)); pointer_default = (yyvsp[-7].ifinfo).old_pointer_default; } -#line 4406 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 301: -#line 892 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = (yyvsp[-1].type); } -#line 4412 "parser.tab.c" /* yacc.c:1646 */ +#line 4416 "parser.tab.c" /* yacc.c:1646 */ break; case 302: -#line 896 "parser.y" /* yacc.c:1646 */ +#line 893 "parser.y" /* yacc.c:1646 */ { (yyval.type) = (yyvsp[-1].type); } -#line 4418 "parser.tab.c" /* yacc.c:1646 */ +#line 4422 "parser.tab.c" /* yacc.c:1646 */ break; case 303: #line 897 "parser.y" /* yacc.c:1646 */ { (yyval.type) = (yyvsp[-1].type); } -#line 4424 "parser.tab.c" /* yacc.c:1646 */ +#line 4428 "parser.tab.c" /* yacc.c:1646 */ break; case 304: -#line 900 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_module((yyvsp[0].str)); } -#line 4430 "parser.tab.c" /* yacc.c:1646 */ +#line 898 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = (yyvsp[-1].type); } +#line 4434 "parser.tab.c" /* yacc.c:1646 */ break; case 305: #line 901 "parser.y" /* yacc.c:1646 */ { (yyval.type) = type_new_module((yyvsp[0].str)); } -#line 4436 "parser.tab.c" /* yacc.c:1646 */ +#line 4440 "parser.tab.c" /* yacc.c:1646 */ break; case 306: -#line 904 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = (yyvsp[0].type); - (yyval.type)->attrs = check_module_attrs((yyvsp[0].type)->name, (yyvsp[-1].attr_list)); - } -#line 4444 "parser.tab.c" /* yacc.c:1646 */ +#line 902 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = type_new_module((yyvsp[0].str)); } +#line 4446 "parser.tab.c" /* yacc.c:1646 */ break; case 307: -#line 910 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = (yyvsp[-4].type); - type_module_define((yyval.type), (yyvsp[-2].stmt_list)); +#line 905 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = (yyvsp[0].type); + (yyval.type)->attrs = check_module_attrs((yyvsp[0].type)->name, (yyvsp[-1].attr_list)); } -#line 4452 "parser.tab.c" /* yacc.c:1646 */ +#line 4454 "parser.tab.c" /* yacc.c:1646 */ break; case 308: -#line 916 "parser.y" /* yacc.c:1646 */ - { (yyval.stgclass) = STG_EXTERN; } -#line 4458 "parser.tab.c" /* yacc.c:1646 */ +#line 911 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = (yyvsp[-4].type); + type_module_define((yyval.type), (yyvsp[-2].stmt_list)); + } +#line 4462 "parser.tab.c" /* yacc.c:1646 */ break; case 309: #line 917 "parser.y" /* yacc.c:1646 */ - { (yyval.stgclass) = STG_STATIC; } -#line 4464 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.stgclass) = STG_EXTERN; } +#line 4468 "parser.tab.c" /* yacc.c:1646 */ break; case 310: #line 918 "parser.y" /* yacc.c:1646 */ - { (yyval.stgclass) = STG_REGISTER; } -#line 4470 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.stgclass) = STG_STATIC; } +#line 4474 "parser.tab.c" /* yacc.c:1646 */ break; case 311: -#line 922 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_INLINE); } -#line 4476 "parser.tab.c" /* yacc.c:1646 */ +#line 919 "parser.y" /* yacc.c:1646 */ + { (yyval.stgclass) = STG_REGISTER; } +#line 4480 "parser.tab.c" /* yacc.c:1646 */ break; case 312: -#line 926 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_CONST); } -#line 4482 "parser.tab.c" /* yacc.c:1646 */ +#line 923 "parser.y" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_INLINE); } +#line 4486 "parser.tab.c" /* yacc.c:1646 */ break; case 313: -#line 929 "parser.y" /* yacc.c:1646 */ - { (yyval.attr_list) = NULL; } -#line 4488 "parser.tab.c" /* yacc.c:1646 */ +#line 927 "parser.y" /* yacc.c:1646 */ + { (yyval.attr) = make_attr(ATTR_CONST); } +#line 4492 "parser.tab.c" /* yacc.c:1646 */ break; case 314: #line 930 "parser.y" /* yacc.c:1646 */ - { (yyval.attr_list) = append_attr((yyvsp[-1].attr_list), (yyvsp[0].attr)); } -#line 4494 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.attr_list) = NULL; } +#line 4498 "parser.tab.c" /* yacc.c:1646 */ break; case 315: -#line 933 "parser.y" /* yacc.c:1646 */ - { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[0].declspec), NULL, NULL, STG_NONE); } -#line 4500 "parser.tab.c" /* yacc.c:1646 */ +#line 931 "parser.y" /* yacc.c:1646 */ + { (yyval.attr_list) = append_attr((yyvsp[-1].attr_list), (yyvsp[0].attr)); } +#line 4504 "parser.tab.c" /* yacc.c:1646 */ break; case 316: -#line 935 "parser.y" /* yacc.c:1646 */ - { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[-2].declspec), (yyvsp[0].declspec), NULL, STG_NONE); } -#line 4506 "parser.tab.c" /* yacc.c:1646 */ +#line 934 "parser.y" /* yacc.c:1646 */ + { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[0].declspec), NULL, NULL, STG_NONE); } +#line 4510 "parser.tab.c" /* yacc.c:1646 */ break; case 317: -#line 938 "parser.y" /* yacc.c:1646 */ - { (yyval.declspec) = NULL; } -#line 4512 "parser.tab.c" /* yacc.c:1646 */ +#line 936 "parser.y" /* yacc.c:1646 */ + { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[-2].declspec), (yyvsp[0].declspec), NULL, STG_NONE); } +#line 4516 "parser.tab.c" /* yacc.c:1646 */ break; - case 319: -#line 943 "parser.y" /* yacc.c:1646 */ - { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, (yyvsp[-1].attr), STG_NONE); } -#line 4518 "parser.tab.c" /* yacc.c:1646 */ + case 318: +#line 939 "parser.y" /* yacc.c:1646 */ + { (yyval.declspec) = NULL; } +#line 4522 "parser.tab.c" /* yacc.c:1646 */ break; case 320: #line 944 "parser.y" /* yacc.c:1646 */ { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, (yyvsp[-1].attr), STG_NONE); } -#line 4524 "parser.tab.c" /* yacc.c:1646 */ +#line 4528 "parser.tab.c" /* yacc.c:1646 */ break; case 321: #line 945 "parser.y" /* yacc.c:1646 */ - { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, NULL, (yyvsp[-1].stgclass)); } -#line 4530 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, (yyvsp[-1].attr), STG_NONE); } +#line 4534 "parser.tab.c" /* yacc.c:1646 */ break; case 322: -#line 950 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_ptrchain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } -#line 4536 "parser.tab.c" /* yacc.c:1646 */ +#line 946 "parser.y" /* yacc.c:1646 */ + { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, NULL, (yyvsp[-1].stgclass)); } +#line 4540 "parser.tab.c" /* yacc.c:1646 */ break; case 323: #line 951 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[0].declarator); if ((yyval.declarator)->func_type) (yyval.declarator)->func_type->attrs = append_attr((yyval.declarator)->func_type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); - else if ((yyval.declarator)->type) (yyval.declarator)->type->attrs = append_attr((yyval.declarator)->type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); } -#line 4543 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_ptrchain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } +#line 4546 "parser.tab.c" /* yacc.c:1646 */ break; - case 325: -#line 957 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = make_declarator((yyvsp[0].var)); } -#line 4549 "parser.tab.c" /* yacc.c:1646 */ + case 324: +#line 952 "parser.y" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[0].declarator); if ((yyval.declarator)->func_type) (yyval.declarator)->func_type->attrs = append_attr((yyval.declarator)->func_type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); + else if ((yyval.declarator)->type) (yyval.declarator)->type->attrs = append_attr((yyval.declarator)->type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); } +#line 4553 "parser.tab.c" /* yacc.c:1646 */ break; case 326: #line 958 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[-1].declarator); } -#line 4555 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declarator) = make_declarator((yyvsp[0].var)); } +#line 4559 "parser.tab.c" /* yacc.c:1646 */ break; case 327: #line 959 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->array = append_array((yyval.declarator)->array, (yyvsp[0].expr)); } -#line 4561 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[-1].declarator); } +#line 4565 "parser.tab.c" /* yacc.c:1646 */ break; case 328: #line 960 "parser.y" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->array = append_array((yyval.declarator)->array, (yyvsp[0].expr)); } +#line 4571 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 329: +#line 961 "parser.y" /* yacc.c:1646 */ { (yyval.declarator) = (yyvsp[-3].declarator); (yyval.declarator)->func_type = append_ptrchain_type((yyval.declarator)->type, type_new_function((yyvsp[-1].var_list))); (yyval.declarator)->type = NULL; } -#line 4570 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 329: -#line 969 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_ptrchain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } -#line 4576 "parser.tab.c" /* yacc.c:1646 */ +#line 4580 "parser.tab.c" /* yacc.c:1646 */ break; case 330: #line 970 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[0].declarator); if ((yyval.declarator)->func_type) (yyval.declarator)->func_type->attrs = append_attr((yyval.declarator)->func_type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); - else if ((yyval.declarator)->type) (yyval.declarator)->type->attrs = append_attr((yyval.declarator)->type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); } -#line 4583 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_ptrchain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } +#line 4586 "parser.tab.c" /* yacc.c:1646 */ break; - case 332: -#line 978 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_ptrchain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } -#line 4589 "parser.tab.c" /* yacc.c:1646 */ + case 331: +#line 971 "parser.y" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[0].declarator); if ((yyval.declarator)->func_type) (yyval.declarator)->func_type->attrs = append_attr((yyval.declarator)->func_type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); + else if ((yyval.declarator)->type) (yyval.declarator)->type->attrs = append_attr((yyval.declarator)->type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); } +#line 4593 "parser.tab.c" /* yacc.c:1646 */ break; case 333: #line 979 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[0].declarator); if ((yyval.declarator)->func_type) (yyval.declarator)->func_type->attrs = append_attr((yyval.declarator)->func_type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); - else if ((yyval.declarator)->type) (yyval.declarator)->type->attrs = append_attr((yyval.declarator)->type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); } -#line 4596 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_ptrchain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } +#line 4599 "parser.tab.c" /* yacc.c:1646 */ break; case 334: -#line 984 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = make_declarator(NULL); } -#line 4602 "parser.tab.c" /* yacc.c:1646 */ +#line 980 "parser.y" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[0].declarator); if ((yyval.declarator)->func_type) (yyval.declarator)->func_type->attrs = append_attr((yyval.declarator)->func_type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); + else if ((yyval.declarator)->type) (yyval.declarator)->type->attrs = append_attr((yyval.declarator)->type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); } +#line 4606 "parser.tab.c" /* yacc.c:1646 */ break; - case 336: -#line 990 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[-1].declarator); } -#line 4608 "parser.tab.c" /* yacc.c:1646 */ + case 335: +#line 985 "parser.y" /* yacc.c:1646 */ + { (yyval.declarator) = make_declarator(NULL); } +#line 4612 "parser.tab.c" /* yacc.c:1646 */ break; case 337: #line 991 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->array = append_array((yyval.declarator)->array, (yyvsp[0].expr)); } -#line 4614 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[-1].declarator); } +#line 4618 "parser.tab.c" /* yacc.c:1646 */ break; case 338: #line 992 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = make_declarator(NULL); (yyval.declarator)->array = append_array((yyval.declarator)->array, (yyvsp[0].expr)); } -#line 4620 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->array = append_array((yyval.declarator)->array, (yyvsp[0].expr)); } +#line 4624 "parser.tab.c" /* yacc.c:1646 */ break; case 339: -#line 994 "parser.y" /* yacc.c:1646 */ +#line 993 "parser.y" /* yacc.c:1646 */ + { (yyval.declarator) = make_declarator(NULL); (yyval.declarator)->array = append_array((yyval.declarator)->array, (yyvsp[0].expr)); } +#line 4630 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 340: +#line 995 "parser.y" /* yacc.c:1646 */ { (yyval.declarator) = make_declarator(NULL); (yyval.declarator)->func_type = append_ptrchain_type((yyval.declarator)->type, type_new_function((yyvsp[-1].var_list))); (yyval.declarator)->type = NULL; } -#line 4629 "parser.tab.c" /* yacc.c:1646 */ +#line 4639 "parser.tab.c" /* yacc.c:1646 */ break; - case 340: -#line 999 "parser.y" /* yacc.c:1646 */ + case 341: +#line 1000 "parser.y" /* yacc.c:1646 */ { (yyval.declarator) = (yyvsp[-3].declarator); (yyval.declarator)->func_type = append_ptrchain_type((yyval.declarator)->type, type_new_function((yyvsp[-1].var_list))); (yyval.declarator)->type = NULL; } -#line 4638 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 341: -#line 1008 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_ptrchain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } -#line 4644 "parser.tab.c" /* yacc.c:1646 */ +#line 4648 "parser.tab.c" /* yacc.c:1646 */ break; case 342: #line 1009 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type->attrs = append_attr((yyval.declarator)->type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); } -#line 4650 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_ptrchain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } +#line 4654 "parser.tab.c" /* yacc.c:1646 */ break; - case 344: -#line 1016 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_ptrchain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } -#line 4656 "parser.tab.c" /* yacc.c:1646 */ + case 343: +#line 1010 "parser.y" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type->attrs = append_attr((yyval.declarator)->type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); } +#line 4660 "parser.tab.c" /* yacc.c:1646 */ break; case 345: #line 1017 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type->attrs = append_attr((yyval.declarator)->type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); } -#line 4662 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_ptrchain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } +#line 4666 "parser.tab.c" /* yacc.c:1646 */ break; case 346: -#line 1021 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = make_declarator(NULL); } -#line 4668 "parser.tab.c" /* yacc.c:1646 */ +#line 1018 "parser.y" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type->attrs = append_attr((yyval.declarator)->type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); } +#line 4672 "parser.tab.c" /* yacc.c:1646 */ break; - case 348: -#line 1029 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = make_declarator((yyvsp[0].var)); } -#line 4674 "parser.tab.c" /* yacc.c:1646 */ + case 347: +#line 1022 "parser.y" /* yacc.c:1646 */ + { (yyval.declarator) = make_declarator(NULL); } +#line 4678 "parser.tab.c" /* yacc.c:1646 */ break; case 349: #line 1030 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[-1].declarator); } -#line 4680 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declarator) = make_declarator((yyvsp[0].var)); } +#line 4684 "parser.tab.c" /* yacc.c:1646 */ break; case 350: #line 1031 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->array = append_array((yyval.declarator)->array, (yyvsp[0].expr)); } -#line 4686 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[-1].declarator); } +#line 4690 "parser.tab.c" /* yacc.c:1646 */ break; case 351: #line 1032 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = make_declarator(NULL); (yyval.declarator)->array = append_array((yyval.declarator)->array, (yyvsp[0].expr)); } -#line 4692 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->array = append_array((yyval.declarator)->array, (yyvsp[0].expr)); } +#line 4696 "parser.tab.c" /* yacc.c:1646 */ break; case 352: -#line 1034 "parser.y" /* yacc.c:1646 */ +#line 1033 "parser.y" /* yacc.c:1646 */ + { (yyval.declarator) = make_declarator(NULL); (yyval.declarator)->array = append_array((yyval.declarator)->array, (yyvsp[0].expr)); } +#line 4702 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 353: +#line 1035 "parser.y" /* yacc.c:1646 */ { (yyval.declarator) = make_declarator(NULL); (yyval.declarator)->func_type = append_ptrchain_type((yyval.declarator)->type, type_new_function((yyvsp[-1].var_list))); (yyval.declarator)->type = NULL; } -#line 4701 "parser.tab.c" /* yacc.c:1646 */ +#line 4711 "parser.tab.c" /* yacc.c:1646 */ break; - case 353: -#line 1039 "parser.y" /* yacc.c:1646 */ + case 354: +#line 1040 "parser.y" /* yacc.c:1646 */ { (yyval.declarator) = (yyvsp[-3].declarator); (yyval.declarator)->func_type = append_ptrchain_type((yyval.declarator)->type, type_new_function((yyvsp[-1].var_list))); (yyval.declarator)->type = NULL; } -#line 4710 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 354: -#line 1046 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); } -#line 4716 "parser.tab.c" /* yacc.c:1646 */ +#line 4720 "parser.tab.c" /* yacc.c:1646 */ break; case 355: #line 1047 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); } -#line 4722 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); } +#line 4726 "parser.tab.c" /* yacc.c:1646 */ break; case 356: -#line 1050 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = NULL; } -#line 4728 "parser.tab.c" /* yacc.c:1646 */ +#line 1048 "parser.y" /* yacc.c:1646 */ + { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); } +#line 4732 "parser.tab.c" /* yacc.c:1646 */ break; case 357: #line 1051 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = (yyvsp[0].expr); } -#line 4734 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.expr) = NULL; } +#line 4738 "parser.tab.c" /* yacc.c:1646 */ break; case 358: -#line 1054 "parser.y" /* yacc.c:1646 */ +#line 1052 "parser.y" /* yacc.c:1646 */ + { (yyval.expr) = (yyvsp[0].expr); } +#line 4744 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 359: +#line 1055 "parser.y" /* yacc.c:1646 */ { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->bits = (yyvsp[0].expr); if (!(yyval.declarator)->bits && !(yyval.declarator)->var->name) error_loc("unnamed fields are not allowed\n"); } -#line 4743 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 359: -#line 1061 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); } -#line 4749 "parser.tab.c" /* yacc.c:1646 */ +#line 4753 "parser.tab.c" /* yacc.c:1646 */ break; case 360: -#line 1063 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); } -#line 4755 "parser.tab.c" /* yacc.c:1646 */ +#line 1062 "parser.y" /* yacc.c:1646 */ + { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); } +#line 4759 "parser.tab.c" /* yacc.c:1646 */ break; case 361: -#line 1067 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[0].declarator); } -#line 4761 "parser.tab.c" /* yacc.c:1646 */ +#line 1064 "parser.y" /* yacc.c:1646 */ + { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); } +#line 4765 "parser.tab.c" /* yacc.c:1646 */ break; case 362: #line 1068 "parser.y" /* yacc.c:1646 */ - { (yyval.declarator) = (yyvsp[-2].declarator); (yyvsp[-2].declarator)->var->eval = (yyvsp[0].expr); } -#line 4767 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[0].declarator); } +#line 4771 "parser.tab.c" /* yacc.c:1646 */ break; case 363: -#line 1072 "parser.y" /* yacc.c:1646 */ - { (yyval.num) = THREADING_APARTMENT; } -#line 4773 "parser.tab.c" /* yacc.c:1646 */ +#line 1069 "parser.y" /* yacc.c:1646 */ + { (yyval.declarator) = (yyvsp[-2].declarator); (yyvsp[-2].declarator)->var->eval = (yyvsp[0].expr); } +#line 4777 "parser.tab.c" /* yacc.c:1646 */ break; case 364: #line 1073 "parser.y" /* yacc.c:1646 */ - { (yyval.num) = THREADING_NEUTRAL; } -#line 4779 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.num) = THREADING_APARTMENT; } +#line 4783 "parser.tab.c" /* yacc.c:1646 */ break; case 365: #line 1074 "parser.y" /* yacc.c:1646 */ - { (yyval.num) = THREADING_SINGLE; } -#line 4785 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.num) = THREADING_NEUTRAL; } +#line 4789 "parser.tab.c" /* yacc.c:1646 */ break; case 366: #line 1075 "parser.y" /* yacc.c:1646 */ - { (yyval.num) = THREADING_FREE; } -#line 4791 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.num) = THREADING_SINGLE; } +#line 4795 "parser.tab.c" /* yacc.c:1646 */ break; case 367: #line 1076 "parser.y" /* yacc.c:1646 */ - { (yyval.num) = THREADING_BOTH; } -#line 4797 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.num) = THREADING_FREE; } +#line 4801 "parser.tab.c" /* yacc.c:1646 */ break; case 368: -#line 1080 "parser.y" /* yacc.c:1646 */ - { (yyval.num) = RPC_FC_RP; } -#line 4803 "parser.tab.c" /* yacc.c:1646 */ +#line 1077 "parser.y" /* yacc.c:1646 */ + { (yyval.num) = THREADING_BOTH; } +#line 4807 "parser.tab.c" /* yacc.c:1646 */ break; case 369: #line 1081 "parser.y" /* yacc.c:1646 */ - { (yyval.num) = RPC_FC_UP; } -#line 4809 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.num) = RPC_FC_RP; } +#line 4813 "parser.tab.c" /* yacc.c:1646 */ break; case 370: #line 1082 "parser.y" /* yacc.c:1646 */ - { (yyval.num) = RPC_FC_FP; } -#line 4815 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.num) = RPC_FC_UP; } +#line 4819 "parser.tab.c" /* yacc.c:1646 */ break; case 371: -#line 1085 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_struct((yyvsp[-3].str), TRUE, (yyvsp[-1].var_list)); } -#line 4821 "parser.tab.c" /* yacc.c:1646 */ +#line 1083 "parser.y" /* yacc.c:1646 */ + { (yyval.num) = RPC_FC_FP; } +#line 4825 "parser.tab.c" /* yacc.c:1646 */ break; case 372: -#line 1088 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_void(); } -#line 4827 "parser.tab.c" /* yacc.c:1646 */ +#line 1086 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = type_new_struct((yyvsp[-3].str), TRUE, (yyvsp[-1].var_list)); } +#line 4831 "parser.tab.c" /* yacc.c:1646 */ break; case 373: #line 1089 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4833 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = type_new_void(); } +#line 4837 "parser.tab.c" /* yacc.c:1646 */ break; case 374: #line 1090 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = (yyvsp[0].type); } -#line 4839 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } +#line 4843 "parser.tab.c" /* yacc.c:1646 */ break; case 375: #line 1091 "parser.y" /* yacc.c:1646 */ { (yyval.type) = (yyvsp[0].type); } -#line 4845 "parser.tab.c" /* yacc.c:1646 */ +#line 4849 "parser.tab.c" /* yacc.c:1646 */ break; case 376: #line 1092 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_enum((yyvsp[0].str), FALSE, NULL); } -#line 4851 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = (yyvsp[0].type); } +#line 4855 "parser.tab.c" /* yacc.c:1646 */ break; case 377: #line 1093 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = (yyvsp[0].type); } -#line 4857 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = type_new_enum((yyvsp[0].str), FALSE, NULL); } +#line 4861 "parser.tab.c" /* yacc.c:1646 */ break; case 378: #line 1094 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_struct((yyvsp[0].str), FALSE, NULL); } -#line 4863 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = (yyvsp[0].type); } +#line 4867 "parser.tab.c" /* yacc.c:1646 */ break; case 379: #line 1095 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = (yyvsp[0].type); } -#line 4869 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = type_new_struct((yyvsp[0].str), FALSE, NULL); } +#line 4873 "parser.tab.c" /* yacc.c:1646 */ break; case 380: #line 1096 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), FALSE, NULL); } -#line 4875 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = (yyvsp[0].type); } +#line 4879 "parser.tab.c" /* yacc.c:1646 */ break; case 381: #line 1097 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = make_safearray((yyvsp[-1].type)); } -#line 4881 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), FALSE, NULL); } +#line 4885 "parser.tab.c" /* yacc.c:1646 */ break; case 382: -#line 1101 "parser.y" /* yacc.c:1646 */ +#line 1098 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = make_safearray((yyvsp[-1].type)); } +#line 4891 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 383: +#line 1102 "parser.y" /* yacc.c:1646 */ { (yyvsp[-4].attr_list) = append_attribs((yyvsp[-4].attr_list), (yyvsp[-2].attr_list)); reg_typedefs((yyvsp[-1].declspec), (yyvsp[0].declarator_list), check_typedef_attrs((yyvsp[-4].attr_list))); (yyval.statement) = make_statement_typedef((yyvsp[0].declarator_list)); } -#line 4890 "parser.tab.c" /* yacc.c:1646 */ - break; - - case 383: -#line 1108 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_nonencapsulated_union((yyvsp[-3].str), TRUE, (yyvsp[-1].var_list)); } -#line 4896 "parser.tab.c" /* yacc.c:1646 */ +#line 4900 "parser.tab.c" /* yacc.c:1646 */ break; case 384: -#line 1111 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_encapsulated_union((yyvsp[-8].str), (yyvsp[-5].var), (yyvsp[-3].var), (yyvsp[-1].var_list)); } -#line 4902 "parser.tab.c" /* yacc.c:1646 */ +#line 1109 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = type_new_nonencapsulated_union((yyvsp[-3].str), TRUE, (yyvsp[-1].var_list)); } +#line 4906 "parser.tab.c" /* yacc.c:1646 */ break; case 385: -#line 1115 "parser.y" /* yacc.c:1646 */ - { (yyval.num) = MAKEVERSION((yyvsp[0].num), 0); } -#line 4908 "parser.tab.c" /* yacc.c:1646 */ +#line 1112 "parser.y" /* yacc.c:1646 */ + { (yyval.type) = type_new_encapsulated_union((yyvsp[-8].str), (yyvsp[-5].var), (yyvsp[-3].var), (yyvsp[-1].var_list)); } +#line 4912 "parser.tab.c" /* yacc.c:1646 */ break; case 386: #line 1116 "parser.y" /* yacc.c:1646 */ - { (yyval.num) = MAKEVERSION((yyvsp[-2].num), (yyvsp[0].num)); } -#line 4914 "parser.tab.c" /* yacc.c:1646 */ + { (yyval.num) = MAKEVERSION((yyvsp[0].num), 0); } +#line 4918 "parser.tab.c" /* yacc.c:1646 */ break; case 387: #line 1117 "parser.y" /* yacc.c:1646 */ + { (yyval.num) = MAKEVERSION((yyvsp[-2].num), (yyvsp[0].num)); } +#line 4924 "parser.tab.c" /* yacc.c:1646 */ + break; + + case 388: +#line 1118 "parser.y" /* yacc.c:1646 */ { (yyval.num) = (yyvsp[0].num); } -#line 4920 "parser.tab.c" /* yacc.c:1646 */ +#line 4930 "parser.tab.c" /* yacc.c:1646 */ break; -#line 4924 "parser.tab.c" /* yacc.c:1646 */ +#line 4934 "parser.tab.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -5148,7 +5158,7 @@ #endif return yyresult; } -#line 1120 "parser.y" /* yacc.c:1906 */ +#line 1121 "parser.y" /* yacc.c:1906 */ static void decl_builtin_basic(const char *name, enum type_basic_type type)
diff --git a/mingw-w64-tools/widl/src/parser.y b/mingw-w64-tools/widl/src/parser.y index c0c77d7..987a58e 100644 --- a/mingw-w64-tools/widl/src/parser.y +++ b/mingw-w64-tools/widl/src/parser.y
@@ -400,6 +400,7 @@ ; libraryhdr: tLIBRARY aIDENTIFIER { $$ = $2; } + | tLIBRARY aKNOWNTYPE { $$ = $2; } ; library_start: attributes libraryhdr '{' { $$ = make_library($2, check_library_attrs($2, $1)); if (!parse_only) start_typelib($$);