widl: Updated to current Wine version.
diff --git a/mingw-w64-tools/widl/src/expr.c b/mingw-w64-tools/widl/src/expr.c index b461aee..2ed4aff 100644 --- a/mingw-w64-tools/widl/src/expr.c +++ b/mingw-w64-tools/widl/src/expr.c
@@ -50,6 +50,7 @@ case TYPE_BASIC_INT64: case TYPE_BASIC_INT: case TYPE_BASIC_INT3264: + case TYPE_BASIC_LONG: case TYPE_BASIC_CHAR: case TYPE_BASIC_HYPER: case TYPE_BASIC_BYTE: @@ -82,6 +83,7 @@ case TYPE_BASIC_INT64: case TYPE_BASIC_INT: case TYPE_BASIC_INT3264: + case TYPE_BASIC_LONG: return type_basic_get_sign(type) < 0; case TYPE_BASIC_CHAR: return TRUE;
diff --git a/mingw-w64-tools/widl/src/header.c b/mingw-w64-tools/widl/src/header.c index 7681a3f..92bd391 100644 --- a/mingw-w64-tools/widl/src/header.c +++ b/mingw-w64-tools/widl/src/header.c
@@ -369,6 +369,7 @@ case TYPE_BASIC: if (type_basic_get_type(t) != TYPE_BASIC_INT32 && type_basic_get_type(t) != TYPE_BASIC_INT64 && + type_basic_get_type(t) != TYPE_BASIC_LONG && type_basic_get_type(t) != TYPE_BASIC_HYPER) { if (type_basic_get_sign(t) < 0) fprintf(h, "signed "); @@ -389,6 +390,12 @@ case TYPE_BASIC_HANDLE: fprintf(h, "handle_t"); break; case TYPE_BASIC_INT32: if (type_basic_get_sign(t) > 0) + fprintf(h, "UINT32"); + else + fprintf(h, "INT32"); + break; + case TYPE_BASIC_LONG: + if (type_basic_get_sign(t) > 0) fprintf(h, "ULONG"); else fprintf(h, "LONG"); @@ -1284,7 +1291,7 @@ if (cas) { const statement_t *stmt2 = NULL; STATEMENTS_FOR_EACH_FUNC(stmt2, type_iface_get_stmts(iface)) - if (!strcmp(stmt2->u.var->name, cas->name)) + if (!strcmp(get_name(stmt2->u.var), cas->name)) break; if (&stmt2->entry != type_iface_get_stmts(iface)) { const var_t *m = stmt2->u.var;
diff --git a/mingw-w64-tools/widl/src/parser.l b/mingw-w64-tools/widl/src/parser.l index a57ac64..342109e 100644 --- a/mingw-w64-tools/widl/src/parser.l +++ b/mingw-w64-tools/widl/src/parser.l
@@ -250,6 +250,7 @@ {"TRUE", tTRUE}, {"__cdecl", tCDECL}, {"__fastcall", tFASTCALL}, + {"__int32", tINT32}, {"__int3264", tINT3264}, {"__int64", tINT64}, {"__pascal", tPASCAL},
diff --git a/mingw-w64-tools/widl/src/parser.tab.c b/mingw-w64-tools/widl/src/parser.tab.c index 243756e..c374157 100644 --- a/mingw-w64-tools/widl/src/parser.tab.c +++ b/mingw-w64-tools/widl/src/parser.tab.c
@@ -336,96 +336,97 @@ tINLINE = 349, tINPUTSYNC = 350, tINT = 351, - tINT3264 = 352, - tINT64 = 353, - tINTERFACE = 354, - tLCID = 355, - tLENGTHIS = 356, - tLIBRARY = 357, - tLICENSED = 358, - tLOCAL = 359, - tLONG = 360, - tMAYBE = 361, - tMESSAGE = 362, - tMETHODS = 363, - tMODULE = 364, - tNAMESPACE = 365, - tNOCODE = 366, - tNONBROWSABLE = 367, - tNONCREATABLE = 368, - tNONEXTENSIBLE = 369, - tNOTIFY = 370, - tNOTIFYFLAG = 371, - tNULL = 372, - tOBJECT = 373, - tODL = 374, - tOLEAUTOMATION = 375, - tOPTIMIZE = 376, - tOPTIONAL = 377, - tOUT = 378, - tPARTIALIGNORE = 379, - tPASCAL = 380, - tPOINTERDEFAULT = 381, - tPRAGMA_WARNING = 382, - tPROGID = 383, - tPROPERTIES = 384, - tPROPGET = 385, - tPROPPUT = 386, - tPROPPUTREF = 387, - tPROXY = 388, - tPTR = 389, - tPUBLIC = 390, - tRANGE = 391, - tREADONLY = 392, - tREF = 393, - tREGISTER = 394, - tREPRESENTAS = 395, - tREQUESTEDIT = 396, - tRESTRICTED = 397, - tRETVAL = 398, - tSAFEARRAY = 399, - tSHORT = 400, - tSIGNED = 401, - tSIZEIS = 402, - tSIZEOF = 403, - tSMALL = 404, - tSOURCE = 405, - tSTATIC = 406, - tSTDCALL = 407, - tSTRICTCONTEXTHANDLE = 408, - tSTRING = 409, - tSTRUCT = 410, - tSWITCH = 411, - tSWITCHIS = 412, - tSWITCHTYPE = 413, - tTHREADING = 414, - tTRANSMITAS = 415, - tTRUE = 416, - tTYPEDEF = 417, - tUIDEFAULT = 418, - tUNION = 419, - tUNIQUE = 420, - tUNSIGNED = 421, - tUSESGETLASTERROR = 422, - tUSERMARSHAL = 423, - tUUID = 424, - tV1ENUM = 425, - tVARARG = 426, - tVERSION = 427, - tVIPROGID = 428, - tVOID = 429, - tWCHAR = 430, - tWIREMARSHAL = 431, - tAPARTMENT = 432, - tNEUTRAL = 433, - tSINGLE = 434, - tFREE = 435, - tBOTH = 436, - CAST = 437, - PPTR = 438, - POS = 439, - NEG = 440, - ADDRESSOF = 441 + tINT32 = 352, + tINT3264 = 353, + tINT64 = 354, + tINTERFACE = 355, + tLCID = 356, + tLENGTHIS = 357, + tLIBRARY = 358, + tLICENSED = 359, + tLOCAL = 360, + tLONG = 361, + tMAYBE = 362, + tMESSAGE = 363, + tMETHODS = 364, + tMODULE = 365, + tNAMESPACE = 366, + tNOCODE = 367, + tNONBROWSABLE = 368, + tNONCREATABLE = 369, + tNONEXTENSIBLE = 370, + tNOTIFY = 371, + tNOTIFYFLAG = 372, + tNULL = 373, + tOBJECT = 374, + tODL = 375, + tOLEAUTOMATION = 376, + tOPTIMIZE = 377, + tOPTIONAL = 378, + tOUT = 379, + tPARTIALIGNORE = 380, + tPASCAL = 381, + tPOINTERDEFAULT = 382, + tPRAGMA_WARNING = 383, + tPROGID = 384, + tPROPERTIES = 385, + tPROPGET = 386, + tPROPPUT = 387, + tPROPPUTREF = 388, + tPROXY = 389, + tPTR = 390, + tPUBLIC = 391, + tRANGE = 392, + tREADONLY = 393, + tREF = 394, + tREGISTER = 395, + tREPRESENTAS = 396, + tREQUESTEDIT = 397, + tRESTRICTED = 398, + tRETVAL = 399, + tSAFEARRAY = 400, + tSHORT = 401, + tSIGNED = 402, + tSIZEIS = 403, + tSIZEOF = 404, + tSMALL = 405, + tSOURCE = 406, + tSTATIC = 407, + tSTDCALL = 408, + tSTRICTCONTEXTHANDLE = 409, + tSTRING = 410, + tSTRUCT = 411, + tSWITCH = 412, + tSWITCHIS = 413, + tSWITCHTYPE = 414, + tTHREADING = 415, + tTRANSMITAS = 416, + tTRUE = 417, + tTYPEDEF = 418, + tUIDEFAULT = 419, + tUNION = 420, + tUNIQUE = 421, + tUNSIGNED = 422, + tUSESGETLASTERROR = 423, + tUSERMARSHAL = 424, + tUUID = 425, + tV1ENUM = 426, + tVARARG = 427, + tVERSION = 428, + tVIPROGID = 429, + tVOID = 430, + tWCHAR = 431, + tWIREMARSHAL = 432, + tAPARTMENT = 433, + tNEUTRAL = 434, + tSINGLE = 435, + tFREE = 436, + tBOTH = 437, + CAST = 438, + PPTR = 439, + POS = 440, + NEG = 441, + ADDRESSOF = 442 }; #endif @@ -462,7 +463,7 @@ struct _decl_spec_t *declspec; enum storage_class stgclass; -#line 466 "parser.tab.c" /* yacc.c:355 */ +#line 467 "parser.tab.c" /* yacc.c:355 */ }; typedef union YYSTYPE YYSTYPE; @@ -479,7 +480,7 @@ /* Copy the second part of user declarations. */ -#line 483 "parser.tab.c" /* yacc.c:358 */ +#line 484 "parser.tab.c" /* yacc.c:358 */ #ifdef short # undef short @@ -721,21 +722,21 @@ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2995 +#define YYLAST 3067 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 211 +#define YYNTOKENS 212 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 105 /* YYNRULES -- Number of rules. */ -#define YYNRULES 394 +#define YYNRULES 395 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 691 +#define YYNSTATES 692 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 441 +#define YYMAXUTOK 442 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -747,16 +748,16 @@ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 195, 2, 2, 2, 194, 187, 2, - 208, 209, 192, 191, 182, 190, 202, 193, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 184, 207, - 188, 210, 189, 183, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 196, 2, 2, 2, 195, 188, 2, + 209, 210, 193, 192, 183, 191, 203, 194, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 185, 208, + 189, 211, 190, 184, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 203, 2, 204, 186, 2, 2, 2, 2, 2, + 2, 204, 2, 205, 187, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 205, 185, 206, 196, 2, 2, 2, + 2, 2, 2, 206, 186, 207, 197, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -787,8 +788,8 @@ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 197, 198, 199, - 200, 201 + 175, 176, 177, 178, 179, 180, 181, 182, 198, 199, + 200, 201, 202 }; #if YYDEBUG @@ -823,18 +824,18 @@ 754, 757, 761, 767, 775, 779, 784, 785, 788, 789, 790, 793, 795, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 811, 812, 815, 816, 817, 818, - 819, 820, 821, 822, 825, 826, 834, 840, 844, 847, - 848, 852, 855, 856, 859, 868, 869, 872, 873, 876, - 882, 888, 889, 892, 893, 896, 906, 915, 921, 925, - 926, 929, 930, 933, 938, 945, 946, 947, 951, 955, - 958, 959, 962, 963, 967, 968, 972, 973, 974, 978, - 980, 982, 986, 987, 988, 989, 997, 999, 1001, 1006, - 1008, 1013, 1014, 1019, 1020, 1021, 1022, 1027, 1036, 1038, - 1039, 1044, 1046, 1050, 1051, 1058, 1059, 1060, 1061, 1062, - 1067, 1075, 1076, 1079, 1080, 1083, 1090, 1091, 1096, 1097, - 1101, 1102, 1103, 1104, 1105, 1109, 1110, 1111, 1114, 1117, - 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1129, - 1136, 1138, 1144, 1145, 1146 + 819, 820, 821, 822, 823, 826, 827, 835, 841, 845, + 848, 849, 853, 856, 857, 860, 869, 870, 873, 874, + 877, 883, 889, 890, 893, 894, 897, 907, 916, 922, + 926, 927, 930, 931, 934, 939, 946, 947, 948, 952, + 956, 959, 960, 963, 964, 968, 969, 973, 974, 975, + 979, 981, 983, 987, 988, 989, 990, 998, 1000, 1002, + 1007, 1009, 1014, 1015, 1020, 1021, 1022, 1023, 1028, 1037, + 1039, 1040, 1045, 1047, 1051, 1052, 1059, 1060, 1061, 1062, + 1063, 1068, 1076, 1077, 1080, 1081, 1084, 1091, 1092, 1097, + 1098, 1102, 1103, 1104, 1105, 1106, 1110, 1111, 1112, 1115, + 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, + 1130, 1137, 1139, 1145, 1146, 1147 }; #endif @@ -861,45 +862,45 @@ "tHELPCONTEXT", "tHELPFILE", "tHELPSTRING", "tHELPSTRINGCONTEXT", "tHELPSTRINGDLL", "tHIDDEN", "tHYPER", "tID", "tIDEMPOTENT", "tIGNORE", "tIIDIS", "tIMMEDIATEBIND", "tIMPLICITHANDLE", "tIMPORT", "tIMPORTLIB", - "tIN", "tIN_LINE", "tINLINE", "tINPUTSYNC", "tINT", "tINT3264", "tINT64", - "tINTERFACE", "tLCID", "tLENGTHIS", "tLIBRARY", "tLICENSED", "tLOCAL", - "tLONG", "tMAYBE", "tMESSAGE", "tMETHODS", "tMODULE", "tNAMESPACE", - "tNOCODE", "tNONBROWSABLE", "tNONCREATABLE", "tNONEXTENSIBLE", "tNOTIFY", - "tNOTIFYFLAG", "tNULL", "tOBJECT", "tODL", "tOLEAUTOMATION", "tOPTIMIZE", - "tOPTIONAL", "tOUT", "tPARTIALIGNORE", "tPASCAL", "tPOINTERDEFAULT", - "tPRAGMA_WARNING", "tPROGID", "tPROPERTIES", "tPROPGET", "tPROPPUT", - "tPROPPUTREF", "tPROXY", "tPTR", "tPUBLIC", "tRANGE", "tREADONLY", - "tREF", "tREGISTER", "tREPRESENTAS", "tREQUESTEDIT", "tRESTRICTED", - "tRETVAL", "tSAFEARRAY", "tSHORT", "tSIGNED", "tSIZEIS", "tSIZEOF", - "tSMALL", "tSOURCE", "tSTATIC", "tSTDCALL", "tSTRICTCONTEXTHANDLE", - "tSTRING", "tSTRUCT", "tSWITCH", "tSWITCHIS", "tSWITCHTYPE", - "tTHREADING", "tTRANSMITAS", "tTRUE", "tTYPEDEF", "tUIDEFAULT", "tUNION", - "tUNIQUE", "tUNSIGNED", "tUSESGETLASTERROR", "tUSERMARSHAL", "tUUID", - "tV1ENUM", "tVARARG", "tVERSION", "tVIPROGID", "tVOID", "tWCHAR", - "tWIREMARSHAL", "tAPARTMENT", "tNEUTRAL", "tSINGLE", "tFREE", "tBOTH", - "','", "'?'", "':'", "'|'", "'^'", "'&'", "'<'", "'>'", "'-'", "'+'", - "'*'", "'/'", "'%'", "'!'", "'~'", "CAST", "PPTR", "POS", "NEG", - "ADDRESSOF", "'.'", "'['", "']'", "'{'", "'}'", "';'", "'('", "')'", - "'='", "$accept", "input", "gbl_statements", "$@1", "imp_statements", - "$@2", "int_statements", "semicolon_opt", "statement", "pragma_warning", - "warnings", "typedecl", "cppquote", "import_start", "import", - "importlib", "libraryhdr", "library_start", "librarydef", "m_args", - "arg_list", "args", "arg", "array", "m_attributes", "attributes", - "attrib_list", "str_list", "attribute", "uuid_string", "callconv", - "cases", "case", "enums", "enum_list", "enum", "enumdef", "m_exprs", - "m_expr", "expr", "expr_list_int_const", "expr_int_const", "expr_const", - "fields", "field", "ne_union_field", "ne_union_fields", "union_field", - "s_field", "funcdef", "declaration", "m_ident", "t_ident", "ident", - "base_type", "m_int", "int_std", "coclass", "coclasshdr", "coclassdef", - "namespacedef", "coclass_ints", "coclass_int", "dispinterface", - "dispinterfacehdr", "dispint_props", "dispint_meths", "dispinterfacedef", - "inherit", "interface", "interfacehdr", "interfacedef", "interfacedec", - "module", "modulehdr", "moduledef", "storage_cls_spec", - "function_specifier", "type_qualifier", "m_type_qual_list", "decl_spec", - "m_decl_spec_no_type", "decl_spec_no_type", "declarator", - "direct_declarator", "abstract_declarator", - "abstract_declarator_no_direct", "m_abstract_declarator", - "abstract_direct_declarator", "any_declarator", + "tIN", "tIN_LINE", "tINLINE", "tINPUTSYNC", "tINT", "tINT32", "tINT3264", + "tINT64", "tINTERFACE", "tLCID", "tLENGTHIS", "tLIBRARY", "tLICENSED", + "tLOCAL", "tLONG", "tMAYBE", "tMESSAGE", "tMETHODS", "tMODULE", + "tNAMESPACE", "tNOCODE", "tNONBROWSABLE", "tNONCREATABLE", + "tNONEXTENSIBLE", "tNOTIFY", "tNOTIFYFLAG", "tNULL", "tOBJECT", "tODL", + "tOLEAUTOMATION", "tOPTIMIZE", "tOPTIONAL", "tOUT", "tPARTIALIGNORE", + "tPASCAL", "tPOINTERDEFAULT", "tPRAGMA_WARNING", "tPROGID", + "tPROPERTIES", "tPROPGET", "tPROPPUT", "tPROPPUTREF", "tPROXY", "tPTR", + "tPUBLIC", "tRANGE", "tREADONLY", "tREF", "tREGISTER", "tREPRESENTAS", + "tREQUESTEDIT", "tRESTRICTED", "tRETVAL", "tSAFEARRAY", "tSHORT", + "tSIGNED", "tSIZEIS", "tSIZEOF", "tSMALL", "tSOURCE", "tSTATIC", + "tSTDCALL", "tSTRICTCONTEXTHANDLE", "tSTRING", "tSTRUCT", "tSWITCH", + "tSWITCHIS", "tSWITCHTYPE", "tTHREADING", "tTRANSMITAS", "tTRUE", + "tTYPEDEF", "tUIDEFAULT", "tUNION", "tUNIQUE", "tUNSIGNED", + "tUSESGETLASTERROR", "tUSERMARSHAL", "tUUID", "tV1ENUM", "tVARARG", + "tVERSION", "tVIPROGID", "tVOID", "tWCHAR", "tWIREMARSHAL", "tAPARTMENT", + "tNEUTRAL", "tSINGLE", "tFREE", "tBOTH", "','", "'?'", "':'", "'|'", + "'^'", "'&'", "'<'", "'>'", "'-'", "'+'", "'*'", "'/'", "'%'", "'!'", + "'~'", "CAST", "PPTR", "POS", "NEG", "ADDRESSOF", "'.'", "'['", "']'", + "'{'", "'}'", "';'", "'('", "')'", "'='", "$accept", "input", + "gbl_statements", "$@1", "imp_statements", "$@2", "int_statements", + "semicolon_opt", "statement", "pragma_warning", "warnings", "typedecl", + "cppquote", "import_start", "import", "importlib", "libraryhdr", + "library_start", "librarydef", "m_args", "arg_list", "args", "arg", + "array", "m_attributes", "attributes", "attrib_list", "str_list", + "attribute", "uuid_string", "callconv", "cases", "case", "enums", + "enum_list", "enum", "enumdef", "m_exprs", "m_expr", "expr", + "expr_list_int_const", "expr_int_const", "expr_const", "fields", "field", + "ne_union_field", "ne_union_fields", "union_field", "s_field", "funcdef", + "declaration", "m_ident", "t_ident", "ident", "base_type", "m_int", + "int_std", "coclass", "coclasshdr", "coclassdef", "namespacedef", + "coclass_ints", "coclass_int", "dispinterface", "dispinterfacehdr", + "dispint_props", "dispint_meths", "dispinterfacedef", "inherit", + "interface", "interfacehdr", "interfacedef", "interfacedec", "module", + "modulehdr", "moduledef", "storage_cls_spec", "function_specifier", + "type_qualifier", "m_type_qual_list", "decl_spec", "m_decl_spec_no_type", + "decl_spec_no_type", "declarator", "direct_declarator", + "abstract_declarator", "abstract_declarator_no_direct", + "m_abstract_declarator", "abstract_direct_declarator", "any_declarator", "any_declarator_no_direct", "m_any_declarator", "any_direct_declarator", "declarator_list", "m_bitfield", "struct_declarator", "struct_declarator_list", "init_declarator", "threading_type", @@ -930,17 +931,17 @@ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 44, 63, 58, 124, 94, 38, 60, 62, - 45, 43, 42, 47, 37, 33, 126, 437, 438, 439, - 440, 441, 46, 91, 93, 123, 125, 59, 40, 41, - 61 + 435, 436, 437, 44, 63, 58, 124, 94, 38, 60, + 62, 45, 43, 42, 47, 37, 33, 126, 438, 439, + 440, 441, 442, 46, 91, 93, 123, 125, 59, 40, + 41, 61 }; # endif -#define YYPACT_NINF -521 +#define YYPACT_NINF -544 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-521))) + (!!((Yystate) == (-544))) #define YYTABLE_NINF -260 @@ -951,76 +952,76 @@ STATE-NUM. */ static const yytype_int16 yypact[] = { - -521, 89, 1646, -521, -521, -521, -521, -521, -521, 156, - -521, -136, 172, -521, 181, -521, -521, -521, -521, -6, - 87, -521, -521, -521, -521, 218, -6, 105, -99, -521, - -75, -6, 384, -521, -521, 223, 255, 384, -521, -521, - 2819, -521, -521, -39, -521, -521, -521, -521, -521, 25, - 2519, -19, -15, -521, -521, -11, 6, -521, 24, 3, - 27, 15, 29, 21, -521, -521, 66, -521, 44, 44, - 44, 162, 2667, 79, 44, 106, 109, -521, -521, 208, - -521, -521, 94, -521, 74, -521, -521, 119, -521, -521, - -521, -521, 279, 2667, -521, -521, 97, 107, -127, -120, - -521, -521, 122, -521, -521, 125, -521, -521, -521, 126, - 131, -521, -521, -521, -521, -521, -521, -521, -521, -521, - -521, 155, -521, -521, -521, 160, -521, -521, -521, 161, - 173, -521, -521, -521, -521, 179, 180, 183, 184, 192, - -521, 193, -521, -521, 195, -521, 196, -521, -521, 197, - 205, -521, -521, -521, -521, -521, -521, -521, -521, -521, - -521, -521, -521, -521, 211, -521, -521, -521, 212, 213, - -521, -521, -521, -521, -521, -521, 214, -521, -521, 215, - -521, -521, -521, 217, -521, -521, -521, 222, 246, 247, - 251, -521, -521, -521, 252, 260, -521, -521, 261, 263, - 264, -121, -521, -521, -521, 1528, 791, 177, 319, 322, - 337, 343, 347, 207, 182, -521, -521, -521, -521, 162, - 209, 268, -521, -521, -521, -521, -521, -55, -521, -521, - -521, 350, 271, -521, -521, -521, -521, -521, -521, -521, - -521, -521, -521, -521, -521, 162, 162, -521, 267, -96, - -521, -521, -521, 44, -521, -521, -521, 269, 355, -521, - 289, 270, -521, 276, -521, 477, 61, 355, 646, 646, - 478, 479, 646, 646, 482, 491, 646, 493, 646, 646, - 2080, 646, 646, 494, -78, 497, 646, 2667, 646, 646, - 2667, 194, 2667, 2667, 61, 75, 501, 2667, 2819, 308, - -521, 309, -521, -521, -521, 311, -521, 314, -521, -521, - -521, 15, 2593, -521, 326, -521, -521, -521, -521, 326, - -102, -521, -521, -37, -521, 332, -66, 320, 329, -521, - -521, 1130, 72, 327, -521, 646, 266, 2080, -521, -521, - -521, 333, 353, -521, 328, 534, -521, -30, 177, -21, - 335, -521, -521, 336, 341, -521, -521, -521, -521, -521, - -521, -521, -521, -521, 339, -521, 646, 646, 646, 646, - 646, 646, 575, 2328, -143, -521, 2328, 342, 344, -521, - -123, 346, 348, 349, 351, 352, 354, 357, 1334, 358, - 2593, 159, 359, -118, -521, 2328, 362, 363, 364, 367, - 365, -114, 2001, 368, -521, -521, -521, -521, -521, 370, - 378, 379, 380, 374, -521, 381, 382, 383, -521, 2819, - 543, -521, -521, -521, 162, 15, -23, -521, 1027, -521, - 375, 2593, 387, 1410, 389, 474, 1233, 15, -521, 2593, - -521, -521, -521, -521, 594, -521, 2242, 390, 414, -521, - -521, -521, 355, 646, -521, 18, -521, 2593, -521, 397, - -521, 391, -521, 401, -521, -521, -521, 2593, 12, 12, - 12, 12, 12, 12, 2111, 338, 646, 646, 607, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 608, 646, 646, -521, - -521, -521, 604, -521, -521, -521, -521, -521, -521, -521, - -521, -521, -521, 159, -521, 1775, -521, 159, -521, -521, - -521, -93, -521, 646, -521, -521, -521, -521, 646, -521, - -521, -521, -521, -521, -521, -521, -521, 610, -521, -521, - -521, -521, 405, -521, -521, 435, -521, -521, -521, -521, - 162, 169, -521, -521, 2593, 413, -521, -521, -521, 15, - -521, -521, -521, -521, 2006, -521, -521, -521, -521, 159, - 419, 355, -521, -521, 338, -521, -521, 1903, -521, 338, - -521, 420, -58, 204, 204, -521, 718, 718, 305, 305, - 2198, 2347, 2307, 103, 506, 2354, 305, 305, 115, 115, - 12, 12, 12, -521, 2270, -521, -521, -521, 340, -521, - 421, 159, 423, -521, 2080, -521, -521, 425, -521, 15, - 909, 162, -521, -521, 1336, -521, -521, -521, 444, -521, - -115, -521, 431, -521, 429, 498, -521, 430, 159, 434, - -521, 646, 2080, -521, 646, -521, -521, 340, -521, -521, - -521, 437, -521, -521, -521, -521, 15, 646, -521, 159, - -521, -521, -521, -521, 340, -521, -521, -521, 12, 438, - 2328, -521, -521, -521, -521, -521, -13, -521, -521, 646, - 475, -521, -521, 476, -52, -52, -521, -521, 454, -521, - -521 + -544, 67, 1755, -544, -544, -544, -544, -544, -544, 70, + -544, -84, 128, -544, 136, -544, -544, -544, -544, 53, + 126, -544, -544, -544, -544, -544, 142, 53, 153, -46, + -544, -45, 53, 420, -544, -544, 188, 195, 420, -544, + -544, 2890, -544, -544, -38, -544, -544, -544, -544, -544, + 58, 2588, -32, 2, -544, -544, 3, 64, -544, 68, + 41, 85, 45, 56, 119, -544, -544, 99, -544, 77, + 77, 77, 97, 2737, 109, 77, 110, 113, -544, -544, + 313, -544, -544, 18, -544, 118, -544, -544, 117, -544, + -544, -544, -544, 325, 2737, -544, -544, 59, 123, -103, + -126, -544, -544, 122, -544, -544, 129, -544, -544, -544, + 131, 135, -544, -544, -544, -544, -544, -544, -544, -544, + -544, -544, 137, -544, -544, -544, 140, -544, -544, -544, + 143, 145, -544, -544, -544, -544, 146, 147, 148, 150, + 154, -544, 162, -544, -544, 174, -544, 177, -544, -544, + 178, 183, -544, -544, -544, -544, -544, -544, -544, -544, + -544, -544, -544, -544, -544, 184, -544, -544, -544, 185, + 186, -544, -544, -544, -544, -544, -544, 187, -544, -544, + 190, -544, -544, -544, 191, -544, -544, -544, 192, 193, + 196, 197, -544, -544, -544, 198, 201, -544, -544, 202, + 203, 204, -117, -544, -544, -544, 1636, 882, 133, 222, + 254, 266, 280, 281, 155, 127, -544, -544, -544, -544, + 97, 189, 206, -544, -544, -544, -544, -544, -41, -544, + -544, -544, 289, 156, -544, -544, -544, -544, -544, -544, + -544, -544, -544, -544, -544, -544, 97, 97, -544, 208, + -133, -544, -544, -544, 77, -544, -544, -544, 141, 298, + -544, 219, 205, -544, 225, -544, 408, 165, 298, 84, + 84, 419, 422, 84, 84, 445, 446, 84, 448, 84, + 84, 2109, 84, 84, 449, -23, 450, 84, 2737, 84, + 84, 2737, 199, 2737, 2737, 165, 180, 452, 2737, 2890, + 258, -544, 255, -544, -544, -544, 260, -544, 264, -544, + -544, -544, 45, 2633, -544, 267, -544, -544, -544, -544, + 267, -108, -544, -544, 5, -544, 284, -62, 272, 275, + -544, -544, 1224, 39, 273, -544, 84, 468, 2109, -544, + -544, -544, 282, 307, -544, 283, 485, -544, 47, 133, + 51, 286, -544, -544, 287, 288, -544, -544, -544, -544, + -544, -544, -544, -544, -544, 290, -544, 84, 84, 84, + 84, 84, 84, 706, 2397, -111, -544, 2397, 294, 296, + -544, -106, 299, 300, 302, 310, 311, 312, 314, 1428, + 315, 2633, 43, 317, -87, -544, 2397, 319, 320, 321, + 340, 322, -72, 2179, 323, -544, -544, -544, -544, -544, + 324, 326, 327, 336, 332, -544, 337, 341, 342, -544, + 2890, 484, -544, -544, -544, 97, 45, 28, -544, 1120, + -544, 365, 2633, 348, 1507, 351, 469, 1328, 45, -544, + 2633, -544, -544, -544, -544, 716, -544, 2300, 352, 377, + -544, -544, -544, 298, 84, -544, 20, -544, 2633, -544, + 354, -544, 353, -544, 359, -544, -544, -544, 2633, 12, + 12, 12, 12, 12, 12, 2272, 263, 84, 84, 565, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 568, 84, 84, + -544, -544, -544, 563, -544, -544, -544, -544, -544, -544, + -544, -544, -544, -544, 43, -544, 1885, -544, 43, -544, + -544, -544, -42, -544, 84, -544, -544, -544, -544, 84, + -544, -544, -544, -544, -544, -544, -544, -544, 567, -544, + -544, -544, -544, 364, -544, -544, 392, -544, -544, -544, + -544, 97, 105, -544, -544, 2633, 369, -544, -544, -544, + 45, -544, -544, -544, -544, 2064, -544, -544, -544, -544, + 43, 370, 298, -544, -544, 263, -544, -544, 1930, -544, + 263, -544, 378, -31, 181, 181, -544, 743, 743, 104, + 104, 628, 2342, 2376, 2415, 406, 350, 104, 104, 116, + 116, 12, 12, 12, -544, 2322, -544, -544, -544, 35, + -544, 379, 43, 380, -544, 2109, -544, -544, 381, -544, + 45, 1001, 97, -544, -544, 1432, -544, -544, -544, 402, + -544, -127, -544, 386, -544, 393, 69, -544, 394, 43, + 395, -544, 84, 2109, -544, 84, -544, -544, 35, -544, + -544, -544, 396, -544, -544, -544, -544, 45, 84, -544, + 43, -544, -544, -544, -544, 35, -544, -544, -544, 12, + 397, 2397, -544, -544, -544, -544, -544, -8, -544, -544, + 84, 417, -544, -544, 423, -107, -107, -544, -544, 403, + -544, -544 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1028,108 +1029,108 @@ means the default is an error. */ static const yytype_uint16 yydefact[] = { - 3, 0, 2, 1, 33, 380, 271, 263, 282, 0, - 319, 0, 0, 270, 258, 272, 315, 269, 273, 274, - 0, 318, 276, 283, 281, 0, 274, 0, 0, 317, - 0, 274, 0, 278, 316, 258, 258, 268, 379, 264, - 74, 12, 34, 0, 28, 13, 31, 13, 11, 0, - 67, 382, 0, 381, 265, 0, 0, 9, 0, 0, - 0, 26, 0, 301, 7, 6, 0, 10, 324, 324, - 324, 0, 0, 384, 324, 0, 386, 284, 285, 0, - 292, 293, 383, 260, 0, 275, 280, 0, 303, 304, - 279, 288, 0, 0, 277, 266, 385, 0, 387, 0, - 267, 75, 0, 77, 78, 0, 79, 80, 81, 0, - 0, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 0, 95, 96, 97, 0, 99, 100, 101, 0, - 0, 104, 105, 106, 107, 0, 0, 0, 0, 0, - 113, 0, 115, 116, 0, 118, 0, 120, 121, 124, - 0, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 0, 139, 140, 141, 0, 0, - 144, 145, 146, 147, 377, 148, 0, 150, 375, 0, - 152, 153, 154, 0, 156, 157, 158, 0, 0, 0, - 0, 163, 376, 164, 0, 0, 168, 169, 0, 0, - 0, 0, 69, 173, 29, 66, 66, 66, 258, 0, - 0, 258, 258, 0, 382, 286, 294, 305, 313, 0, - 384, 386, 30, 8, 289, 4, 310, 0, 27, 308, - 309, 0, 0, 24, 328, 325, 327, 326, 261, 262, - 176, 177, 178, 179, 320, 0, 0, 332, 368, 331, - 255, 382, 384, 324, 386, 322, 32, 0, 184, 48, - 0, 0, 241, 0, 247, 0, 0, 0, 0, 0, + 3, 0, 2, 1, 33, 381, 271, 263, 282, 0, + 320, 0, 0, 270, 258, 272, 316, 269, 273, 274, + 0, 319, 276, 283, 284, 281, 0, 274, 0, 0, + 318, 0, 274, 0, 278, 317, 258, 258, 268, 380, + 264, 74, 12, 34, 0, 28, 13, 31, 13, 11, + 0, 67, 383, 0, 382, 265, 0, 0, 9, 0, + 0, 0, 26, 0, 302, 7, 6, 0, 10, 325, + 325, 325, 0, 0, 385, 325, 0, 387, 285, 286, + 0, 293, 294, 384, 260, 0, 275, 280, 0, 304, + 305, 279, 289, 0, 0, 277, 266, 386, 0, 388, + 0, 267, 75, 0, 77, 78, 0, 79, 80, 81, + 0, 0, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 0, 95, 96, 97, 0, 99, 100, 101, + 0, 0, 104, 105, 106, 107, 0, 0, 0, 0, + 0, 113, 0, 115, 116, 0, 118, 0, 120, 121, + 124, 0, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 0, 139, 140, 141, 0, + 0, 144, 145, 146, 147, 378, 148, 0, 150, 376, + 0, 152, 153, 154, 0, 156, 157, 158, 0, 0, + 0, 0, 163, 377, 164, 0, 0, 168, 169, 0, + 0, 0, 0, 69, 173, 29, 66, 66, 66, 258, + 0, 0, 258, 258, 0, 383, 287, 295, 306, 314, + 0, 385, 387, 30, 8, 290, 4, 311, 0, 27, + 309, 310, 0, 0, 24, 329, 326, 328, 327, 261, + 262, 176, 177, 178, 179, 321, 0, 0, 333, 369, + 332, 255, 383, 385, 325, 387, 323, 32, 0, 184, + 48, 0, 0, 241, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 194, 0, 0, 0, 0, 0, 194, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 74, 68, - 49, 0, 21, 22, 23, 0, 19, 0, 17, 14, - 20, 26, 0, 67, 383, 51, 52, 311, 312, 385, - 387, 53, 254, 66, 3, 0, 66, 0, 0, 302, - 24, 66, 0, 0, 330, 0, 0, 55, 334, 323, - 47, 0, 186, 187, 190, 0, 388, 66, 66, 66, - 0, 175, 174, 0, 0, 205, 196, 197, 198, 202, - 203, 204, 199, 200, 0, 201, 0, 0, 0, 0, - 0, 0, 0, 239, 0, 237, 240, 0, 0, 72, + 0, 0, 0, 194, 0, 0, 0, 0, 0, 194, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, + 68, 49, 0, 21, 22, 23, 0, 19, 0, 17, + 14, 20, 26, 0, 67, 384, 51, 52, 312, 313, + 386, 388, 53, 254, 66, 3, 0, 66, 0, 0, + 303, 24, 66, 0, 0, 331, 0, 0, 55, 335, + 324, 47, 0, 186, 187, 190, 0, 389, 66, 66, + 66, 0, 175, 174, 0, 0, 205, 196, 197, 198, + 202, 203, 204, 199, 200, 0, 201, 0, 0, 0, + 0, 0, 0, 0, 239, 0, 237, 240, 0, 0, + 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 354, 0, 0, 192, 195, 0, 0, 0, + 0, 0, 0, 0, 0, 371, 372, 373, 374, 375, + 0, 0, 0, 0, 393, 395, 0, 0, 0, 70, + 74, 0, 18, 15, 54, 0, 26, 0, 291, 66, + 296, 0, 0, 0, 0, 0, 0, 66, 26, 25, + 67, 322, 330, 334, 370, 0, 65, 0, 0, 59, + 56, 57, 191, 185, 0, 36, 0, 379, 0, 242, + 0, 391, 67, 248, 0, 76, 167, 82, 0, 229, + 228, 227, 230, 225, 226, 0, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 353, 0, 0, 192, 195, 0, 0, 0, 0, - 0, 0, 0, 0, 370, 371, 372, 373, 374, 0, - 0, 0, 0, 392, 394, 0, 0, 0, 70, 74, - 0, 18, 15, 54, 0, 26, 0, 290, 66, 295, - 0, 0, 0, 0, 0, 0, 66, 26, 25, 67, - 321, 329, 333, 369, 0, 65, 0, 0, 59, 56, - 57, 191, 185, 0, 36, 0, 378, 0, 242, 0, - 390, 67, 248, 0, 76, 167, 82, 0, 229, 228, - 227, 230, 225, 226, 0, 341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, - 94, 98, 0, 102, 103, 108, 109, 110, 111, 112, - 114, 117, 119, 353, 320, 55, 358, 353, 355, 354, - 62, 350, 123, 194, 122, 138, 142, 143, 0, 151, - 155, 159, 160, 162, 161, 165, 166, 0, 170, 171, - 172, 71, 0, 13, 361, 389, 287, 291, 5, 297, - 0, 384, 296, 299, 0, 0, 253, 300, 24, 26, - 314, 64, 63, 335, 0, 188, 189, 37, 35, 0, - 386, 256, 246, 245, 341, 236, 320, 55, 345, 341, - 342, 0, 338, 218, 219, 231, 212, 213, 216, 217, - 207, 208, 0, 209, 210, 211, 215, 214, 221, 220, - 223, 224, 222, 232, 0, 238, 73, 61, 353, 320, - 0, 353, 0, 349, 55, 357, 193, 0, 393, 26, - 66, 0, 251, 298, 66, 306, 60, 58, 363, 366, - 0, 244, 0, 257, 0, 341, 320, 0, 353, 0, - 337, 0, 55, 344, 0, 235, 348, 353, 359, 352, - 356, 0, 149, 50, 16, 362, 26, 0, 365, 0, - 243, 180, 234, 336, 353, 346, 340, 343, 233, 0, - 206, 351, 360, 307, 364, 367, 0, 339, 347, 0, - 0, 391, 181, 0, 66, 66, 250, 183, 0, 182, - 249 + 83, 94, 98, 0, 102, 103, 108, 109, 110, 111, + 112, 114, 117, 119, 354, 321, 55, 359, 354, 356, + 355, 62, 351, 123, 194, 122, 138, 142, 143, 0, + 151, 155, 159, 160, 162, 161, 165, 166, 0, 170, + 171, 172, 71, 0, 13, 362, 390, 288, 292, 5, + 298, 0, 385, 297, 300, 0, 0, 253, 301, 24, + 26, 315, 64, 63, 336, 0, 188, 189, 37, 35, + 0, 387, 256, 246, 245, 342, 236, 321, 55, 346, + 342, 343, 0, 339, 218, 219, 231, 212, 213, 216, + 217, 207, 208, 0, 209, 210, 211, 215, 214, 221, + 220, 223, 224, 222, 232, 0, 238, 73, 61, 354, + 321, 0, 354, 0, 350, 55, 358, 193, 0, 394, + 26, 66, 0, 251, 299, 66, 307, 60, 58, 364, + 367, 0, 244, 0, 257, 0, 342, 321, 0, 354, + 0, 338, 0, 55, 345, 0, 235, 349, 354, 360, + 353, 357, 0, 149, 50, 16, 363, 26, 0, 366, + 0, 243, 180, 234, 337, 354, 347, 341, 344, 233, + 0, 206, 352, 361, 308, 365, 368, 0, 340, 348, + 0, 0, 392, 181, 0, 66, 66, 250, 183, 0, + 182, 249 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -521, -521, 360, -521, -42, -521, -304, -291, 0, -521, - -521, -521, -521, -521, 227, -521, -521, -521, 10, -472, - -521, -521, -266, -218, -191, -2, -521, -521, -275, 369, - -65, -521, -521, -521, -521, 216, 13, 377, 143, -242, - -521, -228, -264, -521, -521, -521, -521, -18, -177, -521, - 237, -521, -3, -67, -521, 110, 116, 5, -521, 11, - 17, -521, -521, 624, -521, -521, -521, -521, -521, -33, - -521, 19, 16, -521, -521, 20, -521, -521, -298, -462, - -49, 32, 30, -235, -521, -521, -521, -495, -521, -520, - -521, -448, -521, -521, -521, 22, -521, 456, -521, 392, - 1, -31, -521, 7, -521 + -544, -544, 291, -544, -44, -544, -317, -304, 0, -544, + -544, -544, -544, -544, 176, -544, -544, -544, 11, -471, + -544, -544, -265, -233, -198, -2, -544, -544, -262, 329, + -67, -544, -544, -544, -544, 161, 13, 331, 91, 212, + -544, -217, -267, -544, -544, -544, -544, -68, -190, -544, + 215, -544, 48, -65, -544, 157, 152, 10, -544, 17, + 19, -544, -544, 570, -544, -544, -544, -544, -544, -22, + -544, 22, 16, -544, -544, 23, -544, -544, -322, -462, + -50, -20, -36, -224, -544, -544, -544, -512, -544, -543, + -544, -482, -544, -544, -544, -33, -544, 409, -544, 346, + 1, -53, -544, 7, -544 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 2, 324, 205, 543, 331, 229, 302, 42, - 455, 43, 44, 45, 46, 303, 213, 47, 304, 447, - 448, 449, 450, 516, 49, 313, 201, 380, 202, 353, - 517, 676, 682, 341, 342, 343, 251, 393, 394, 373, - 374, 375, 377, 347, 458, 462, 349, 687, 688, 555, - 52, 632, 84, 518, 53, 86, 54, 305, 56, 306, - 307, 323, 427, 59, 60, 326, 433, 61, 232, 62, - 63, 308, 309, 218, 66, 310, 68, 69, 70, 332, - 71, 234, 72, 248, 249, 580, 639, 581, 582, 519, - 612, 520, 521, 545, 658, 629, 630, 250, 409, 203, - 252, 74, 75, 254, 415 + -1, 1, 2, 325, 206, 544, 332, 230, 303, 43, + 456, 44, 45, 46, 47, 304, 214, 48, 305, 448, + 449, 450, 451, 517, 50, 314, 202, 381, 203, 354, + 518, 677, 683, 342, 343, 344, 252, 394, 395, 374, + 375, 376, 378, 348, 459, 463, 350, 688, 689, 556, + 53, 633, 85, 519, 54, 87, 55, 306, 57, 307, + 308, 324, 428, 60, 61, 327, 434, 62, 233, 63, + 64, 309, 310, 219, 67, 311, 69, 70, 71, 333, + 72, 235, 73, 249, 250, 581, 640, 582, 583, 520, + 613, 521, 522, 546, 659, 630, 631, 251, 410, 204, + 253, 75, 76, 255, 416 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1137,731 +1138,745 @@ number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 50, 219, 41, 73, 247, 206, 246, 55, 381, 76, - 333, 334, 48, 57, 389, 51, 312, 217, 65, 58, - 423, 64, 67, 418, 567, 679, 436, 376, 478, -259, - 376, 338, 97, 99, 440, 12, 263, 388, 680, 498, - 395, 253, 430, 610, 25, 382, 395, 402, 385, 628, - 387, 220, 608, 392, -259, 215, 174, 221, 399, 502, - 178, 298, 261, 214, 523, 607, 499, 659, 523, 613, - 351, 443, 79, 352, 325, 238, 25, 239, -259, 634, - -43, 413, 414, 299, 640, 264, 503, 192, 10, 3, - 85, 524, 660, 376, 446, 530, 87, 441, 235, 235, - 235, 236, 237, -259, 235, 637, 255, 336, 91, 92, - 336, 240, 337, 16, 635, 614, 10, 476, 477, 478, - 479, 480, 481, 482, 468, 469, 470, 471, 472, 473, - 474, 478, 426, 93, 546, 431, 90, 40, 21, 628, - 663, 94, 651, 241, 541, 336, 560, 647, 95, 432, - 642, 40, 247, 100, 246, 686, 457, 431, 431, 77, - 646, 78, 238, 649, 239, 238, 40, 239, 204, 425, - 669, 459, 463, 40, 664, 80, 456, 81, 247, 247, - 246, 246, 40, 29, 82, 460, 83, 207, -38, 544, - 666, 344, 222, 681, 327, 34, 223, 242, 240, 671, - 354, 240, 471, 50, 50, 231, 73, 73, 97, 99, - 226, 224, 76, 76, 496, 497, 677, 257, 51, 51, - 478, 88, 228, 89, 243, 566, 96, 568, 83, 225, - 241, 391, 227, 241, 583, 584, 230, 586, 587, 588, - 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, - 599, 600, 601, 602, 624, 604, 400, 578, 98, 403, - 83, 410, 411, 424, 244, 247, 417, 246, 625, 355, - 605, 233, 356, 357, 358, 359, 360, 361, 390, 258, - 245, 395, 260, 235, 242, 339, -40, 242, 391, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 627, -259, - 617, -39, -259, 615, -41, 496, 497, 493, 494, 495, - 440, 243, 262, 256, 243, 622, -42, 496, 497, 476, - 477, 478, 314, 475, 83, 315, 259, 316, 653, 439, - 265, 438, 73, 266, 267, 390, 362, 440, 76, 268, - 317, 513, 318, 238, 51, 239, 319, 461, 83, 440, - 320, 514, 83, 328, 244, 329, 578, 247, 238, 246, - 239, 578, 336, 269, 643, 673, 440, 515, 270, 271, - 245, 404, 405, 406, 407, 408, -252, 240, -252, 240, - 40, 272, 550, 363, 10, 344, 655, 273, 274, -44, - 219, 275, 276, 674, 491, 492, 493, 494, 495, 668, - 277, 278, 670, 279, 280, 281, 496, 497, 569, 241, - 579, 241, 321, 282, 364, 376, -45, 578, 574, 283, - 284, 285, 286, 287, 8, 288, 50, 365, 41, 73, - 289, 554, 551, 55, 439, 76, 438, 73, 48, 57, - 220, 51, 547, 76, 65, 58, 221, 64, 67, 51, - 611, 683, 214, 366, 290, 291, 367, 368, 444, 292, - 293, 370, 371, 242, 570, 242, 391, 19, 294, 295, - 445, 296, 297, 345, 372, -46, 330, 335, 340, 346, - 22, 23, 24, 247, 348, 246, 350, 378, 379, 26, - 243, 383, 243, 431, 431, 491, 492, 493, 494, 495, - 384, 620, 386, 396, 633, 219, 398, 496, 497, 579, - 416, 419, 638, 390, 579, 391, 429, 420, 421, 422, - 476, 477, 478, 479, 480, 481, 482, 434, 391, 31, - 576, -259, 514, 33, 435, 452, 442, 240, 453, 451, - 454, 336, 10, 336, 464, 465, 577, 467, 515, 528, - 466, 500, 542, 501, 247, 504, 246, 505, 506, 549, - 507, 508, 390, 509, 20, 391, 510, 512, 522, 241, - 579, 525, 526, 527, 529, 390, 537, 532, 355, 533, - 5, 356, 357, 358, 359, 360, 361, 534, 535, 536, - 538, 539, 540, 391, 552, 557, 564, 355, 572, 563, - 356, 357, 358, 359, 360, 361, 571, 6, 573, 7, - 585, 603, 390, 606, 619, 8, 618, 621, 50, 10, - 623, 73, 439, 242, 438, 73, 631, 76, 657, 641, - 648, 76, 650, 51, 652, 13, 661, 51, 662, 665, - 390, 208, 15, 667, 16, 362, 672, 678, 17, 355, - 243, 18, 356, 357, 358, 359, 360, 361, 19, 684, - 685, 690, 558, 412, 362, 401, 616, 689, 565, 21, - 556, 22, 23, 24, 216, 322, 397, 0, 0, 0, - 26, 675, 0, 0, 428, 0, 0, 0, 0, 0, - 576, 0, 363, 488, 489, 490, 491, 492, 493, 494, - 495, 336, 0, 0, 0, 0, 577, 0, 496, 497, - 0, 363, 0, 0, 29, 0, 362, 0, 0, 30, - 31, 32, 0, 364, 33, 0, 34, 0, 0, 0, - 211, 0, 476, 477, 478, 0, 365, 481, 482, 212, - 0, 37, 364, 0, 0, 0, 0, 0, 0, 38, - 39, 0, 0, 0, 0, 365, 0, 0, 0, 0, - 0, 0, 366, 363, 0, 367, 368, 369, 0, 0, - 370, 371, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 366, 0, 372, 367, 368, 369, 0, 0, 370, - 371, 0, 0, 0, 364, 4, 5, 0, 561, 0, - 0, 0, 372, 0, 0, 0, 0, 365, 0, 0, + 51, 220, 42, 74, 207, 247, 382, 248, 424, 77, + 313, 441, 56, 49, 437, 52, 390, 339, 66, 58, + 254, 59, 334, 335, 65, 68, 568, 629, 479, 218, + 680, 264, 608, 236, 236, 236, 614, 419, 239, 236, + 240, 262, 239, 681, 240, 611, 239, 431, 240, -259, + 237, 238, 221, 609, -259, 256, 660, 383, 222, 26, + 386, 216, 388, 635, 215, 393, 299, 3, 641, 444, + 400, 337, 499, 78, 241, 79, 338, 503, 241, 10, + 265, 661, 241, 10, 98, 100, 12, 356, 300, 326, + 357, 358, 359, 360, 361, 362, 524, 41, -259, 500, + 239, 687, 240, -259, 504, -43, 242, 638, 241, 442, + 242, 524, 175, 10, 242, 636, 179, 629, 477, 478, + 479, 10, 547, 525, 664, 80, 427, 647, 26, 432, + 650, 81, 479, 82, 561, 88, 241, 433, 531, 83, + 242, 84, 41, 193, 652, 89, 16, 90, 648, 86, + 458, 432, 432, 247, 363, 248, 92, 667, 542, 460, + 464, 243, 337, 93, 94, 243, 672, 615, 242, 243, + 205, 21, 670, 337, 352, 665, -38, 353, 643, 247, + 247, 248, 248, 678, 91, 96, 414, 415, 244, 95, + 101, 97, 244, 84, 345, 243, 244, 479, 99, 682, + 84, 545, 364, 355, 51, 51, 328, 74, 74, 41, + 223, 224, 426, 77, 77, 497, 498, 30, 236, 52, + 52, 208, 244, 243, -259, 315, -39, 84, 515, 35, + 569, 392, 245, 365, 340, 401, 515, 567, 404, 337, + 411, 412, 625, 579, 516, 418, 366, 337, 246, 227, + 244, 41, 516, 229, 457, 41, 626, 316, 461, 317, + 98, 100, 577, 425, 231, -259, 247, -41, 248, 318, + 225, 319, 367, 337, 226, 368, 369, 370, 578, 391, + 371, 372, 606, 320, 321, 84, 84, 441, 392, 616, + 245, 228, 329, 373, 330, 492, 493, 494, 495, 496, + 628, 239, 241, 240, 232, 234, 246, 497, 498, 494, + 495, 496, 618, -252, 441, -252, 654, -40, 257, 497, + 498, -42, 258, 476, 259, 260, 441, 623, 261, 263, + 440, 266, 439, 74, 242, -44, 391, 41, 267, 77, + 268, 514, 579, 441, 269, 52, 270, 579, 462, 271, + 644, 341, 272, 674, 273, 274, 275, 276, 247, 277, + 248, 322, 331, 278, 477, 478, 479, 480, 481, 482, + 483, 279, 492, 493, 494, 495, 496, 405, 406, 407, + 408, 409, 551, 280, 497, 498, 281, 282, 345, 243, + 220, 675, 283, 284, 285, 286, 287, -45, 656, 288, + 289, 290, 291, 579, 346, 292, 293, 294, 570, 580, + 295, 296, 297, 298, -46, 347, 244, 351, 575, 336, + 477, 478, 479, 480, 481, 482, 483, 51, 379, 42, + 74, 380, 555, 552, 349, 440, 77, 439, 74, 56, + 49, 221, 52, 548, 77, 66, 58, 222, 59, 612, + 52, 65, 68, 215, 384, 385, 577, 387, 397, 399, + 8, 417, 420, 684, 421, 571, 392, 337, 422, 430, + 423, 356, 578, -259, 357, 358, 359, 360, 361, 362, + 435, 436, 377, 443, 247, 377, 248, 432, 432, 452, + 453, 455, 389, 543, 454, 396, 465, 466, 467, 468, + 621, 396, 403, 19, 501, 220, 502, 634, 580, 505, + 506, 639, 507, 580, 391, 392, 22, 23, 24, 25, + 508, 509, 510, 529, 511, 513, 27, 523, 392, 526, + 527, 528, 530, 533, 534, 538, 535, 536, 363, 490, + 491, 492, 493, 494, 495, 496, 537, 539, 377, 447, + 550, 540, 541, 497, 498, 247, 553, 248, 558, 20, + 565, 573, 564, 391, 572, 392, 32, 574, 586, 580, + 34, 604, 607, 619, 620, 622, 391, 624, 632, 469, + 470, 471, 472, 473, 474, 475, 364, 658, 642, 649, + 651, 653, 662, 392, 489, 490, 491, 492, 493, 494, + 495, 496, 685, 663, 666, 668, 673, 679, 686, 497, + 498, 691, 559, 391, 566, 617, 429, 365, 690, 51, + 402, 217, 74, 440, 413, 439, 74, 676, 77, 323, + 366, 398, 77, 0, 52, 0, 0, 0, 52, 0, + 0, 391, 477, 478, 479, 480, 481, 482, 483, 557, + 485, 0, 0, 0, 0, 0, 367, 472, 0, 368, + 369, 445, 0, 0, 371, 372, 0, 0, 0, 0, + 0, 0, 0, 446, 0, 0, 0, 373, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 584, + 585, 0, 587, 588, 589, 590, 591, 592, 593, 594, + 595, 596, 597, 598, 599, 600, 601, 602, 603, 356, + 605, 5, 357, 358, 359, 360, 361, 362, 0, 356, + 0, 0, 357, 358, 359, 360, 361, 362, 0, 0, + 0, 0, 0, 0, 0, 0, 396, 0, 6, 0, + 7, 0, 0, 0, 0, 0, 8, 0, 0, 0, + 10, 0, 0, 0, 0, 0, 0, 477, 478, 479, + 0, 0, 482, 483, 0, 0, 13, 0, 0, 0, + 0, 0, 209, 15, 0, 16, 363, 0, 0, 17, + 0, 0, 18, 0, 0, 0, 363, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 6, 0, 7, 0, 0, 0, 0, - 0, 8, 9, 366, 0, 10, 367, 368, 369, 0, - 11, 370, 371, 0, 0, 0, 0, 0, 0, 12, - 0, 13, 0, 0, 372, 0, 0, 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, 301, 0, 0, 21, 0, 22, 23, 24, - 25, 0, 0, 0, 0, 0, 26, 0, 0, 0, - 0, 27, 0, 0, 0, 0, 489, 490, 491, 492, - 493, 494, 495, 4, 5, 0, 0, 0, 28, 0, - 496, 497, 0, 0, 0, 0, 0, 0, 0, 0, - 29, 0, 0, 0, 0, 30, 31, 32, 0, 0, - 33, 6, 34, 7, 0, 0, 35, 0, 0, 8, - 9, 0, 0, 10, 0, 36, 0, 37, 11, 0, - 0, 0, 0, 0, 0, 38, 39, 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, 40, 0, 0, 311, 0, 20, - 301, 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, - 0, 4, 5, 0, 0, 0, 28, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, - 0, 0, 0, 30, 31, 32, 0, 0, 33, 6, - 34, 7, 0, 0, 35, 0, 0, 8, 9, 0, - 0, 10, 0, 36, 0, 37, 11, 0, 0, 0, - 0, 0, 0, 38, 39, 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, 40, 0, 0, 654, 0, 20, 0, 0, - 0, 21, 0, 22, 23, 24, 25, 0, 0, 0, - 0, 0, 26, 0, 4, 5, 0, 27, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, - 0, 0, 6, 0, 7, 0, 29, 0, 0, 0, - 8, 30, 31, 32, 10, 0, 33, 0, 34, 11, - 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, - 13, 36, 0, 37, 0, 0, 14, 15, 0, 16, - 0, 38, 39, 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, - 40, 0, 0, 548, 0, 26, 0, 4, 5, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, - 0, 0, 0, 0, 0, 6, 0, 7, 0, 29, - 0, 0, 0, 8, 30, 31, 32, 10, 0, 33, - 0, 34, 11, 0, 0, 35, 0, 0, 0, 0, - 0, 0, 0, 13, 36, 0, 37, 0, 0, 14, - 15, 0, 16, 0, 38, 39, 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, 40, 0, 0, 437, 0, 26, 0, - 4, 5, 0, 0, 0, 0, 0, 0, 476, 477, - 478, 479, 480, 481, 482, 483, 484, 0, 0, 0, - 28, 0, 0, 0, 0, 0, 0, 0, 6, 0, - 7, 0, 29, 0, 0, 0, 8, 30, 31, 32, - 10, 0, 33, 0, 34, 11, 0, 0, 35, 0, - 0, 0, 0, 0, 0, 0, 13, 36, 0, 37, - 0, 0, 14, 15, 0, 16, 0, 38, 39, 17, - 0, 0, 18, 0, 0, 5, 0, 0, 0, 19, - 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, - 21, 0, 22, 23, 24, 0, 40, 0, 0, 559, - 0, 26, 6, 0, 7, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 10, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 0, 29, 208, 15, 0, 16, - 30, 31, 32, 17, 0, 33, 18, 34, 0, 0, - 0, 35, 0, 19, 0, 0, 0, 0, 0, 0, - 36, 0, 37, 0, 21, 0, 22, 23, 24, 0, - 38, 39, 0, 0, 0, 26, 0, 485, 0, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 0, - 0, 0, 4, 5, 0, 0, 496, 497, 0, 40, - 0, 300, 656, 511, 0, 0, 0, 0, 0, 29, - 0, 0, 0, 0, 30, 31, 32, 0, 0, 33, - 6, 34, 7, 0, 0, 211, 0, 0, 8, 9, - 0, 0, 10, 0, 212, 0, 37, 11, 0, 0, - 0, 0, 0, 0, 38, 39, 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, 40, 0, 0, 553, 0, 20, 301, - 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, 0, - 4, 5, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, - 0, 0, 30, 31, 32, 0, 0, 33, 6, 34, - 7, 0, 0, 35, 0, 0, 8, 9, 0, 0, - 10, 0, 36, 0, 37, 11, 0, 0, 0, 0, - 0, 0, 38, 39, 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, 40, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, + 0, 0, 27, 0, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 364, 0, 0, 0, 0, 0, + 0, 497, 498, 0, 364, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, + 0, 31, 32, 33, 669, 365, 34, 671, 35, 0, + 0, 0, 212, 0, 0, 365, 0, 0, 366, 0, + 377, 213, 0, 38, 0, 0, 0, 0, 366, 0, + 0, 39, 40, 0, 0, 0, 4, 5, 0, 0, + 0, 0, 0, 0, 367, 0, 0, 368, 369, 370, + 0, 0, 371, 372, 367, 0, 0, 368, 369, 370, + 0, 0, 371, 372, 6, 373, 7, 0, 0, 0, + 0, 562, 8, 9, 0, 373, 10, 0, 0, 0, + 0, 11, 490, 491, 492, 493, 494, 495, 496, 0, + 12, 0, 13, 0, 0, 0, 497, 498, 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, 302, 0, 0, 21, 0, 22, 23, + 24, 25, 26, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 0, 29, 0, 0, 0, 0, - 30, 31, 32, 0, 0, 33, 0, 34, 0, 0, - 0, 35, 0, 0, 0, 0, 0, 6, -66, 7, - 36, 0, 37, 0, 240, 8, 0, 0, 0, 10, - 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, - 0, 208, 15, 0, 16, 0, 241, 0, 17, 40, - 0, 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, 4, 5, 0, 0, 0, + 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 0, 0, 31, 32, 33, + 0, 0, 34, 6, 35, 7, 0, 0, 36, 0, + 0, 8, 9, 0, 0, 10, 0, 37, 0, 38, + 11, 0, 0, 0, 0, 0, 0, 39, 40, 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, 41, 0, 0, 312, + 0, 20, 302, 0, 0, 21, 0, 22, 23, 24, + 25, 26, 0, 0, 0, 0, 0, 27, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 5, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 242, 0, 0, 0, 0, 0, 0, 0, 5, 0, - 0, 0, 0, 0, 29, 0, 0, 0, 0, 30, - 31, 32, 0, 0, 33, 0, 34, 243, 0, 0, - 211, 0, 0, 0, 0, 6, 0, 7, 0, 212, - 0, 37, 240, 8, 0, 0, 0, 10, 0, 38, - 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 13, 0, 0, 0, 609, 0, 208, - 15, 0, 16, 0, 241, 0, 17, 0, 40, 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, 5, 0, 0, 0, 476, 477, 478, 479, 480, - 481, 482, 483, 484, 0, 0, 0, 0, 242, 626, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, - 7, 0, 29, 0, 0, 0, 8, 30, 31, 32, - 10, 0, 33, 0, 34, 243, 0, 0, 211, 0, - 0, 0, 0, 0, 0, 0, 13, 212, 0, 37, - 0, 0, 208, 15, 0, 16, 0, 38, 39, 17, - 0, 0, 18, 0, 0, 5, 0, 0, 0, 19, - 0, 0, 0, 0, 0, 636, 0, 0, 0, 0, - 21, 0, 22, 23, 24, 0, 40, 0, 0, 0, - 0, 26, 6, 0, 7, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 10, 476, 477, 478, 479, 480, - 481, 482, 483, 484, 0, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 0, 29, 208, 15, 0, 16, - 30, 31, 32, 17, 0, 33, 18, 34, 0, 0, - 0, 211, 0, 19, 0, 0, 0, 0, 0, 0, - 212, 0, 37, 0, 21, 0, 22, 23, 24, 0, - 38, 39, 0, 0, 485, 26, 486, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 0, 0, 0, 0, - 0, 0, 0, 496, 497, 0, 0, 0, 0, 40, - 531, 0, 476, 477, 478, 479, 480, 481, 482, 29, - 484, 0, 0, 0, 30, 31, 32, 0, 0, 33, - 0, 34, 0, 0, 0, 211, 0, 0, 0, 0, - 0, 0, 0, 0, 212, 0, 37, 0, 0, 0, - 0, 0, 0, 0, 38, 39, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 0, 0, 0, 0, 0, + 0, 30, 0, 0, 0, 0, 31, 32, 33, 0, + 0, 34, 6, 35, 7, 0, 0, 36, 0, 0, + 8, 9, 0, 0, 10, 0, 37, 0, 38, 11, + 0, 0, 0, 0, 0, 0, 39, 40, 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, 41, 0, 0, 655, 0, + 20, 0, 0, 0, 21, 0, 22, 23, 24, 25, + 26, 0, 0, 0, 0, 0, 27, 0, 4, 5, + 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, + 0, 0, 0, 0, 0, 0, 6, 0, 7, 0, + 30, 0, 0, 0, 8, 31, 32, 33, 10, 0, + 34, 0, 35, 11, 0, 0, 36, 0, 0, 0, + 0, 0, 0, 0, 13, 37, 0, 38, 0, 0, + 14, 15, 0, 16, 0, 39, 40, 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, 25, 41, 0, 0, 549, 0, 0, + 27, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 40, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 0, 485, 0, 486, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 0, 0, 0, 0, - 0, 0, 0, 496, 497, 0, 0, 0, 0, 0, - 575, 476, 477, 478, 479, 480, 481, 482, 483, 484, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 476, 477, 478, 479, 480, 481, 482, 483, - 484, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 476, 477, 478, 479, 480, 481, 482, 476, 477, - 478, 479, 480, 481, 482, 0, 0, 0, 0, 0, - 0, 0, 0, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 0, 0, 0, 0, 0, 0, 0, - 496, 497, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 485, 0, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 0, 0, 0, - 0, 0, 0, 0, 496, 497, 562, 0, 0, 0, - 0, 0, 0, 485, 0, 486, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 0, 0, 0, 0, 0, - 0, 0, 496, 497, 645, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 485, 644, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 0, 0, 0, 0, 0, 0, 0, 496, - 497, 485, 0, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 0, 5, 0, 0, 0, 0, 0, - 496, 497, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 6, 0, 7, 0, 0, 496, 497, 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, 208, 15, 0, 16, 0, - 0, 0, 17, 0, 0, 18, 0, 0, 5, 0, - 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 21, 0, 22, 23, 24, 25, 0, - 0, 209, 0, 0, 26, 6, 0, 7, 210, 0, - 0, 0, 0, 8, 0, 0, 0, 10, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 13, 0, 0, 0, 0, 29, 208, - 15, 0, 16, 30, 31, 32, 17, 0, 33, 18, - 34, 0, 5, 0, 211, 0, 19, 0, 0, 0, - 0, 0, 0, 212, 0, 37, 0, 21, 0, 22, - 23, 24, 0, 38, 39, 0, 0, 0, 26, 6, + 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, + 6, 0, 7, 0, 30, 0, 0, 0, 8, 31, + 32, 33, 10, 0, 34, 0, 35, 11, 0, 0, + 36, 0, 0, 0, 0, 0, 0, 0, 13, 37, + 0, 38, 0, 0, 14, 15, 0, 16, 0, 39, + 40, 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, 25, 41, 0, + 0, 438, 0, 0, 27, 0, 4, 5, 0, 0, + 0, 0, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 0, 0, 0, 0, 0, 29, 0, 0, 0, + 0, 0, 0, 0, 6, 0, 7, 0, 30, 0, + 0, 0, 8, 31, 32, 33, 10, 0, 34, 0, + 35, 11, 0, 0, 36, 0, 0, 0, 0, 0, + 0, 0, 13, 37, 0, 38, 0, 0, 14, 15, + 0, 16, 0, 39, 40, 17, 0, 0, 18, 0, + 0, 0, 5, 0, 0, 19, 0, 0, 0, 0, + 0, 0, 20, 0, 0, 0, 21, 0, 22, 23, + 24, 25, 41, 0, 0, 560, 0, 0, 27, 6, 0, 7, 0, 0, 0, 0, 0, 8, 0, 0, + 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, + 29, 0, 0, 0, 0, 0, 0, 13, 0, 0, + 0, 0, 30, 209, 15, 0, 16, 31, 32, 33, + 17, 0, 34, 18, 35, 0, 0, 0, 36, 0, + 19, 0, 0, 0, 0, 0, 0, 37, 0, 38, + 0, 21, 0, 22, 23, 24, 25, 39, 40, 0, + 0, 0, 486, 27, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 0, 0, 0, 0, 0, 0, + 0, 497, 498, 0, 0, 0, 41, 0, 512, 657, + 4, 5, 0, 0, 0, 0, 0, 30, 0, 301, + 0, 0, 31, 32, 33, 0, 0, 34, 0, 35, + 0, 0, 0, 212, 0, 0, 0, 0, 6, 0, + 7, 0, 213, 0, 38, 0, 8, 9, 0, 0, + 10, 0, 39, 40, 0, 11, 0, 0, 0, 0, + 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, + 0, 0, 14, 15, 0, 16, 0, 0, 0, 17, + 0, 41, 18, 0, 554, 0, 0, 0, 0, 19, + 0, 0, 0, 0, 0, 0, 20, 302, 0, 0, + 21, 0, 22, 23, 24, 25, 26, 0, 0, 0, + 0, 0, 27, 0, 0, 0, 0, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, + 5, 0, 0, 0, 29, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, + 0, 31, 32, 33, 0, 0, 34, 6, 35, 7, + 0, 0, 36, 0, 0, 8, 9, 0, 0, 10, + 0, 37, 0, 38, 11, 0, 0, 0, 0, 0, + 0, 39, 40, 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, + 41, 0, 0, 0, 0, 20, 0, 0, 0, 21, + 0, 22, 23, 24, 25, 26, 0, 0, 0, 0, + 0, 27, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, - 0, 0, 29, 208, 15, 0, 0, 30, 31, 32, - 17, 0, 33, 18, 34, 0, 0, 0, 211, 0, - 19, 0, 0, 0, 0, 0, 0, 212, 0, 37, - 0, 0, 0, 22, 23, 24, 0, 38, 39, 0, - 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 0, 30, 0, 0, 0, 0, + 31, 32, 33, 0, 0, 34, 0, 35, 0, 0, + 0, 36, 0, 0, 0, 0, 0, 6, -66, 7, + 37, 0, 38, 0, 241, 8, 0, 0, 0, 10, + 39, 40, 0, 0, 0, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, + 0, 209, 15, 0, 16, 0, 242, 0, 17, 41, + 0, 18, 6, 0, 7, 0, 0, 0, 19, 241, + 8, 0, 0, 0, 10, 0, 0, 0, 0, 21, + 0, 22, 23, 24, 25, 0, 0, 0, 0, 0, + 13, 27, 0, 0, 0, 0, 209, 15, 0, 16, + 0, 242, 0, 17, 0, 0, 18, 0, 0, 0, + 0, 243, 0, 19, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 21, 30, 22, 23, 24, 25, + 31, 32, 33, 0, 0, 34, 27, 35, 244, 0, + 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, + 213, 0, 38, 0, 0, 0, 243, 0, 0, 0, + 39, 40, 0, 0, 0, 0, 0, 0, 0, 5, + 30, 0, 0, 0, 0, 31, 32, 33, 610, 0, + 34, 0, 35, 244, 0, 0, 212, 627, 0, 41, + 0, 0, 0, 0, 0, 213, 6, 38, 7, 0, + 0, 0, 0, 0, 8, 39, 40, 0, 10, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0, 0, 0, 637, 13, 0, 0, 0, 0, 0, + 209, 15, 0, 16, 41, 0, 0, 17, 0, 0, + 18, 6, 0, 7, 0, 0, 0, 19, 0, 8, + 0, 0, 0, 10, 0, 0, 0, 0, 21, 0, + 22, 23, 24, 25, 0, 0, 0, 0, 0, 13, + 27, 0, 0, 0, 0, 209, 15, 0, 16, 0, + 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, + 0, 0, 19, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 0, 21, 30, 22, 23, 24, 25, 31, + 32, 33, 0, 0, 34, 27, 35, 0, 0, 0, + 212, 0, 0, 0, 0, 0, 0, 0, 0, 213, + 0, 38, 0, 0, 0, 0, 0, 0, 0, 39, + 40, 0, 0, 0, 0, 0, 0, 0, 0, 30, + 0, 0, 0, 0, 31, 32, 33, 0, 0, 34, + 0, 35, 0, 0, 0, 212, 0, 0, 41, 0, + 0, 0, 0, 0, 213, 0, 38, 0, 0, 0, + 0, 0, 0, 0, 39, 40, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 41, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 477, 478, 479, 480, + 481, 482, 483, 486, 0, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 0, 0, 0, 0, 0, + 0, 0, 497, 498, 0, 0, 0, 0, 0, 532, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 477, + 478, 479, 480, 481, 482, 483, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 486, 0, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 0, 0, + 0, 0, 0, 0, 0, 497, 498, 0, 0, 0, + 0, 0, 576, 0, 486, 0, 487, 488, 489, 490, + 491, 492, 493, 494, 495, 496, 0, 0, 0, 0, + 0, 0, 0, 497, 498, 563, 486, 0, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 0, 0, + 0, 0, 0, 0, 0, 497, 498, 646, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 0, 0, + 0, 0, 0, 0, 0, 497, 498, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 486, 645, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 0, 0, 0, 0, 0, 0, 0, 497, + 498, 486, 0, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 5, 0, 0, 0, 0, 0, 0, + 497, 498, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 0, 0, 0, 0, 0, 0, 0, 497, 498, + 6, 0, 7, 0, 0, 0, 0, 0, 8, 9, + 0, 0, 10, 0, 0, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, 12, 0, 13, 0, + 0, 0, 0, 0, 209, 15, 0, 16, 0, 0, + 0, 17, 0, 0, 18, 6, 0, 7, 0, 0, + 0, 19, 0, 8, 0, 0, 0, 10, 0, 0, + 0, 0, 21, 0, 22, 23, 24, 25, 26, 0, + 0, 210, 0, 13, 27, 0, 0, 0, 211, 209, + 15, 0, 16, 0, 0, 0, 17, 0, 0, 18, + 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 21, 30, 22, + 23, 24, 25, 31, 32, 33, 0, 0, 34, 27, + 35, 0, 5, 0, 212, 0, 0, 0, 0, 0, + 0, 0, 0, 213, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 39, 40, 0, 0, 0, 0, 6, + 0, 7, 0, 30, 0, 0, 0, 8, 31, 32, + 33, 0, 0, 34, 0, 35, 0, 0, 0, 212, + 0, 0, 0, 0, 0, 0, 0, 13, 213, 0, + 38, 0, 0, 209, 15, 0, 0, 0, 39, 40, + 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, + 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 22, 23, 24, 25, 0, 0, 0, + 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 30, 31, 32, 0, 0, 33, 0, 0, 0, - 0, 0, 211, 0, 0, 0, 0, 0, 0, 0, - 0, 212, 0, 37, 0, 0, 0, 0, 0, 0, - 0, 38, 39, 101, 0, 102, 103, 104, 105, 106, - 107, 0, 108, 0, 0, 109, 0, 110, 0, 0, - 0, 111, 112, 0, 113, 114, 115, 116, 0, 117, - 118, 119, 120, 121, 122, 123, 124, 0, 125, 0, - 126, 127, 128, 129, 130, 0, 0, 131, 0, 0, - 0, 132, 0, 133, 134, 0, 135, 136, 137, 138, - 139, 140, 0, 141, 142, 143, 144, 145, 146, 0, - 0, 147, 0, 0, 148, 0, 0, 0, 0, 149, - 150, 0, 151, 152, 0, 153, 154, 0, 0, 0, - 155, 156, 157, 158, 159, 160, 0, 161, 162, 163, - 164, 165, 166, 167, 0, 168, 0, 169, 0, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 0, 179, - 180, 181, 182, 0, 0, 0, 183, 0, 0, 184, - 0, 0, 185, 186, 0, 0, 187, 188, 189, 190, - 0, 0, 191, 0, 192, 0, 193, 194, 195, 196, - 197, 198, 199, 0, 0, 200 + 0, 0, 31, 32, 33, 0, 0, 34, 0, 0, + 0, 0, 0, 212, 0, 0, 0, 0, 0, 0, + 0, 0, 213, 0, 38, 0, 0, 0, 0, 0, + 0, 0, 39, 40, 102, 0, 103, 104, 105, 106, + 107, 108, 0, 109, 0, 0, 110, 0, 111, 0, + 0, 0, 112, 113, 0, 114, 115, 116, 117, 0, + 118, 119, 120, 121, 122, 123, 124, 125, 0, 126, + 0, 127, 128, 129, 130, 131, 0, 0, 132, 0, + 0, 0, 133, 0, 134, 135, 0, 136, 137, 138, + 139, 140, 141, 0, 142, 143, 144, 145, 146, 147, + 0, 0, 148, 0, 0, 149, 0, 0, 0, 0, + 0, 150, 151, 0, 152, 153, 0, 154, 155, 0, + 0, 0, 156, 157, 158, 159, 160, 161, 0, 162, + 163, 164, 165, 166, 167, 168, 0, 169, 0, 170, + 0, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 0, 180, 181, 182, 183, 0, 0, 0, 184, 0, + 0, 185, 0, 0, 186, 187, 0, 0, 188, 189, + 190, 191, 0, 0, 192, 0, 193, 0, 194, 195, + 196, 197, 198, 199, 200, 0, 0, 201 }; static const yytype_int16 yycheck[] = { - 2, 50, 2, 2, 71, 47, 71, 2, 272, 2, - 245, 246, 2, 2, 280, 2, 207, 50, 2, 2, - 311, 2, 2, 298, 6, 38, 330, 269, 16, 156, - 272, 249, 35, 36, 332, 58, 156, 279, 51, 182, - 282, 72, 108, 515, 99, 273, 288, 289, 276, 569, - 278, 50, 514, 281, 156, 50, 134, 50, 286, 182, - 138, 182, 93, 50, 182, 513, 209, 182, 182, 517, - 9, 335, 208, 12, 129, 3, 99, 5, 205, 574, - 207, 6, 7, 204, 579, 205, 209, 165, 44, 0, - 96, 209, 207, 335, 336, 209, 9, 332, 68, 69, - 70, 69, 70, 205, 74, 577, 74, 203, 3, 208, - 203, 39, 208, 69, 576, 208, 44, 14, 15, 16, - 17, 18, 19, 20, 366, 367, 368, 369, 370, 371, - 372, 16, 323, 208, 425, 326, 26, 203, 94, 659, - 635, 31, 614, 71, 419, 203, 437, 609, 32, 326, - 208, 203, 219, 37, 219, 207, 347, 348, 349, 3, - 608, 5, 3, 611, 5, 3, 203, 5, 207, 206, - 642, 348, 349, 203, 636, 3, 206, 5, 245, 246, - 245, 246, 203, 139, 3, 206, 5, 162, 207, 424, - 638, 258, 207, 206, 227, 151, 207, 125, 39, 647, - 267, 39, 444, 205, 206, 184, 205, 206, 211, 212, - 207, 205, 205, 206, 202, 203, 664, 9, 205, 206, - 16, 3, 207, 5, 152, 453, 3, 209, 5, 205, - 71, 280, 205, 71, 476, 477, 207, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 558, 497, 287, 475, 3, 290, - 5, 292, 293, 312, 192, 332, 297, 332, 559, 3, - 498, 205, 6, 7, 8, 9, 10, 11, 280, 205, - 208, 523, 3, 253, 125, 253, 207, 125, 337, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 564, 205, - 528, 207, 205, 521, 207, 202, 203, 192, 193, 194, - 608, 152, 205, 207, 152, 550, 207, 202, 203, 14, - 15, 16, 3, 372, 5, 3, 207, 5, 619, 331, - 208, 331, 331, 208, 208, 337, 70, 635, 331, 208, - 3, 390, 5, 3, 331, 5, 3, 349, 5, 647, - 3, 192, 5, 3, 192, 5, 574, 424, 3, 424, - 5, 579, 203, 208, 582, 656, 664, 208, 208, 208, - 208, 177, 178, 179, 180, 181, 207, 39, 209, 39, - 203, 208, 431, 117, 44, 452, 621, 208, 208, 207, - 439, 208, 208, 657, 190, 191, 192, 193, 194, 641, - 208, 208, 644, 208, 208, 208, 202, 203, 457, 71, - 475, 71, 205, 208, 148, 657, 207, 635, 467, 208, - 208, 208, 208, 208, 40, 208, 428, 161, 428, 428, - 208, 433, 431, 428, 436, 428, 436, 436, 428, 428, - 439, 428, 426, 436, 428, 428, 439, 428, 428, 436, - 515, 679, 439, 187, 208, 208, 190, 191, 192, 208, - 208, 195, 196, 125, 457, 125, 515, 83, 208, 208, - 204, 208, 208, 184, 208, 207, 205, 210, 209, 209, - 96, 97, 98, 550, 208, 550, 9, 9, 9, 105, - 152, 9, 152, 684, 685, 190, 191, 192, 193, 194, - 9, 543, 9, 9, 571, 554, 9, 202, 203, 574, - 9, 203, 577, 515, 579, 564, 184, 208, 207, 205, - 14, 15, 16, 17, 18, 19, 20, 207, 577, 145, - 192, 205, 192, 149, 205, 182, 209, 39, 210, 206, - 6, 203, 44, 203, 209, 209, 208, 208, 208, 182, - 209, 209, 9, 209, 621, 209, 621, 209, 209, 184, - 209, 209, 564, 209, 90, 614, 209, 209, 209, 71, - 635, 209, 209, 209, 209, 577, 202, 209, 3, 209, - 5, 6, 7, 8, 9, 10, 11, 209, 209, 209, - 209, 209, 209, 642, 207, 206, 182, 3, 207, 209, - 6, 7, 8, 9, 10, 11, 209, 32, 207, 34, - 3, 3, 614, 9, 209, 40, 6, 182, 620, 44, - 207, 620, 624, 125, 624, 624, 207, 620, 184, 209, - 209, 624, 209, 620, 209, 60, 205, 624, 209, 209, - 642, 66, 67, 209, 69, 70, 209, 209, 73, 3, - 152, 76, 6, 7, 8, 9, 10, 11, 83, 184, - 184, 207, 435, 294, 70, 288, 523, 685, 452, 94, - 433, 96, 97, 98, 50, 219, 284, -1, -1, -1, - 105, 659, -1, -1, 324, -1, -1, -1, -1, -1, - 192, -1, 117, 187, 188, 189, 190, 191, 192, 193, - 194, 203, -1, -1, -1, -1, 208, -1, 202, 203, - -1, 117, -1, -1, 139, -1, 70, -1, -1, 144, - 145, 146, -1, 148, 149, -1, 151, -1, -1, -1, - 155, -1, 14, 15, 16, -1, 161, 19, 20, 164, - -1, 166, 148, -1, -1, -1, -1, -1, -1, 174, - 175, -1, -1, -1, -1, 161, -1, -1, -1, -1, - -1, -1, 187, 117, -1, 190, 191, 192, -1, -1, - 195, 196, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 187, -1, 208, 190, 191, 192, -1, -1, 195, - 196, -1, -1, -1, 148, 4, 5, -1, 204, -1, - -1, -1, 208, -1, -1, -1, -1, 161, -1, -1, + 2, 51, 2, 2, 48, 72, 273, 72, 312, 2, + 208, 333, 2, 2, 331, 2, 281, 250, 2, 2, + 73, 2, 246, 247, 2, 2, 6, 570, 16, 51, + 38, 157, 514, 69, 70, 71, 518, 299, 3, 75, + 5, 94, 3, 51, 5, 516, 3, 109, 5, 157, + 70, 71, 51, 515, 157, 75, 183, 274, 51, 100, + 277, 51, 279, 575, 51, 282, 183, 0, 580, 336, + 287, 204, 183, 3, 39, 5, 209, 183, 39, 44, + 206, 208, 39, 44, 36, 37, 58, 3, 205, 130, + 6, 7, 8, 9, 10, 11, 183, 204, 206, 210, + 3, 208, 5, 206, 210, 208, 71, 578, 39, 333, + 71, 183, 135, 44, 71, 577, 139, 660, 14, 15, + 16, 44, 426, 210, 636, 209, 324, 609, 100, 327, + 612, 3, 16, 5, 438, 9, 39, 327, 210, 3, + 71, 5, 204, 166, 615, 3, 69, 5, 610, 96, + 348, 349, 350, 220, 70, 220, 3, 639, 420, 349, + 350, 126, 204, 209, 209, 126, 648, 209, 71, 126, + 208, 94, 643, 204, 9, 637, 208, 12, 209, 246, + 247, 246, 247, 665, 27, 33, 6, 7, 153, 32, + 38, 3, 153, 5, 259, 126, 153, 16, 3, 207, + 5, 425, 118, 268, 206, 207, 228, 206, 207, 204, + 208, 208, 207, 206, 207, 203, 204, 140, 254, 206, + 207, 163, 153, 126, 206, 3, 208, 5, 193, 152, + 210, 281, 193, 149, 254, 288, 193, 454, 291, 204, + 293, 294, 559, 476, 209, 298, 162, 204, 209, 208, + 153, 204, 209, 208, 207, 204, 560, 3, 207, 5, + 212, 213, 193, 313, 208, 206, 333, 208, 333, 3, + 206, 5, 188, 204, 206, 191, 192, 193, 209, 281, + 196, 197, 499, 3, 3, 5, 5, 609, 338, 522, + 193, 206, 3, 209, 5, 191, 192, 193, 194, 195, + 565, 3, 39, 5, 185, 206, 209, 203, 204, 193, + 194, 195, 529, 208, 636, 210, 620, 208, 208, 203, + 204, 208, 9, 373, 206, 208, 648, 551, 3, 206, + 332, 209, 332, 332, 71, 208, 338, 204, 209, 332, + 209, 391, 575, 665, 209, 332, 209, 580, 350, 209, + 583, 210, 209, 657, 209, 209, 209, 209, 425, 209, + 425, 206, 206, 209, 14, 15, 16, 17, 18, 19, + 20, 209, 191, 192, 193, 194, 195, 178, 179, 180, + 181, 182, 432, 209, 203, 204, 209, 209, 453, 126, + 440, 658, 209, 209, 209, 209, 209, 208, 622, 209, + 209, 209, 209, 636, 185, 209, 209, 209, 458, 476, + 209, 209, 209, 209, 208, 210, 153, 9, 468, 211, + 14, 15, 16, 17, 18, 19, 20, 429, 9, 429, + 429, 9, 434, 432, 209, 437, 429, 437, 437, 429, + 429, 440, 429, 427, 437, 429, 429, 440, 429, 516, + 437, 429, 429, 440, 9, 9, 193, 9, 9, 9, + 40, 9, 204, 680, 209, 458, 516, 204, 208, 185, + 206, 3, 209, 206, 6, 7, 8, 9, 10, 11, + 208, 206, 270, 210, 551, 273, 551, 685, 686, 207, + 183, 6, 280, 9, 211, 283, 210, 210, 210, 209, + 544, 289, 290, 83, 210, 555, 210, 572, 575, 210, + 210, 578, 210, 580, 516, 565, 96, 97, 98, 99, + 210, 210, 210, 183, 210, 210, 106, 210, 578, 210, + 210, 210, 210, 210, 210, 203, 210, 210, 70, 189, + 190, 191, 192, 193, 194, 195, 210, 210, 336, 337, + 185, 210, 210, 203, 204, 622, 208, 622, 207, 90, + 183, 208, 210, 565, 210, 615, 146, 208, 3, 636, + 150, 3, 9, 6, 210, 183, 578, 208, 208, 367, + 368, 369, 370, 371, 372, 373, 118, 185, 210, 210, + 210, 210, 206, 643, 188, 189, 190, 191, 192, 193, + 194, 195, 185, 210, 210, 210, 210, 210, 185, 203, + 204, 208, 436, 615, 453, 524, 325, 149, 686, 621, + 289, 51, 621, 625, 295, 625, 625, 660, 621, 220, + 162, 285, 625, -1, 621, -1, -1, -1, 625, -1, + -1, 643, 14, 15, 16, 17, 18, 19, 20, 434, + 22, -1, -1, -1, -1, -1, 188, 445, -1, 191, + 192, 193, -1, -1, 196, 197, -1, -1, -1, -1, + -1, -1, -1, 205, -1, -1, -1, 209, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, + 478, -1, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 3, + 498, 5, 6, 7, 8, 9, 10, 11, -1, 3, + -1, -1, 6, 7, 8, 9, 10, 11, -1, -1, + -1, -1, -1, -1, -1, -1, 524, -1, 32, -1, + 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, + 44, -1, -1, -1, -1, -1, -1, 14, 15, 16, + -1, -1, 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, - -1, -1, -1, 32, -1, 34, -1, -1, -1, -1, - -1, 40, 41, 187, -1, 44, 190, 191, 192, -1, - 49, 195, 196, -1, -1, -1, -1, -1, -1, 58, - -1, 60, -1, -1, 208, -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, 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, 188, 189, 190, 191, - 192, 193, 194, 4, 5, -1, -1, -1, 127, -1, - 202, 203, -1, -1, -1, -1, -1, -1, -1, -1, - 139, -1, -1, -1, -1, 144, 145, 146, -1, -1, - 149, 32, 151, 34, -1, -1, 155, -1, -1, 40, - 41, -1, -1, 44, -1, 164, -1, 166, 49, -1, - -1, -1, -1, -1, -1, 174, 175, 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, 203, -1, -1, 206, -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, - -1, 4, 5, -1, -1, -1, 127, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 139, -1, - -1, -1, -1, 144, 145, 146, -1, -1, 149, 32, - 151, 34, -1, -1, 155, -1, -1, 40, 41, -1, - -1, 44, -1, 164, -1, 166, 49, -1, -1, -1, - -1, -1, -1, 174, 175, 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, 203, -1, -1, 206, -1, 90, -1, -1, - -1, 94, -1, 96, 97, 98, 99, -1, -1, -1, - -1, -1, 105, -1, 4, 5, -1, 110, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 127, -1, -1, -1, -1, -1, - -1, -1, 32, -1, 34, -1, 139, -1, -1, -1, - 40, 144, 145, 146, 44, -1, 149, -1, 151, 49, - -1, -1, 155, -1, -1, -1, -1, -1, -1, -1, - 60, 164, -1, 166, -1, -1, 66, 67, -1, 69, - -1, 174, 175, 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, - 203, -1, -1, 206, -1, 105, -1, 4, 5, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 127, -1, -1, - -1, -1, -1, -1, -1, 32, -1, 34, -1, 139, - -1, -1, -1, 40, 144, 145, 146, 44, -1, 149, - -1, 151, 49, -1, -1, 155, -1, -1, -1, -1, - -1, -1, -1, 60, 164, -1, 166, -1, -1, 66, - 67, -1, 69, -1, 174, 175, 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, 203, -1, -1, 206, -1, 105, -1, - 4, 5, -1, -1, -1, -1, -1, -1, 14, 15, - 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, - 127, -1, -1, -1, -1, -1, -1, -1, 32, -1, - 34, -1, 139, -1, -1, -1, 40, 144, 145, 146, - 44, -1, 149, -1, 151, 49, -1, -1, 155, -1, - -1, -1, -1, -1, -1, -1, 60, 164, -1, 166, - -1, -1, 66, 67, -1, 69, -1, 174, 175, 73, - -1, -1, 76, -1, -1, 5, -1, -1, -1, 83, - -1, -1, -1, -1, -1, -1, 90, -1, -1, -1, - 94, -1, 96, 97, 98, -1, 203, -1, -1, 206, - -1, 105, 32, -1, 34, -1, -1, -1, -1, -1, - 40, -1, -1, -1, 44, -1, -1, -1, -1, -1, - -1, -1, -1, 127, -1, -1, -1, -1, -1, -1, - 60, -1, -1, -1, -1, 139, 66, 67, -1, 69, - 144, 145, 146, 73, -1, 149, 76, 151, -1, -1, - -1, 155, -1, 83, -1, -1, -1, -1, -1, -1, - 164, -1, 166, -1, 94, -1, 96, 97, 98, -1, - 174, 175, -1, -1, -1, 105, -1, 183, -1, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, -1, - -1, -1, 4, 5, -1, -1, 202, 203, -1, 203, - -1, 13, 206, 209, -1, -1, -1, -1, -1, 139, - -1, -1, -1, -1, 144, 145, 146, -1, -1, 149, - 32, 151, 34, -1, -1, 155, -1, -1, 40, 41, - -1, -1, 44, -1, 164, -1, 166, 49, -1, -1, - -1, -1, -1, -1, 174, 175, 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, 203, -1, -1, 206, -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, -1, - 4, 5, -1, -1, -1, 127, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 139, -1, -1, - -1, -1, 144, 145, 146, -1, -1, 149, 32, 151, - 34, -1, -1, 155, -1, -1, 40, 41, -1, -1, - 44, -1, 164, -1, 166, 49, -1, -1, -1, -1, - -1, -1, 174, 175, 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, 203, -1, -1, -1, -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, 106, -1, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 118, -1, -1, -1, -1, -1, + -1, 203, 204, -1, 118, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 140, -1, -1, -1, + -1, 145, 146, 147, 642, 149, 150, 645, 152, -1, + -1, -1, 156, -1, -1, 149, -1, -1, 162, -1, + 658, 165, -1, 167, -1, -1, -1, -1, 162, -1, + -1, 175, 176, -1, -1, -1, 4, 5, -1, -1, + -1, -1, -1, -1, 188, -1, -1, 191, 192, 193, + -1, -1, 196, 197, 188, -1, -1, 191, 192, 193, + -1, -1, 196, 197, 32, 209, 34, -1, -1, -1, + -1, 205, 40, 41, -1, 209, 44, -1, -1, -1, + -1, 49, 189, 190, 191, 192, 193, 194, 195, -1, + 58, -1, 60, -1, -1, -1, 203, 204, 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, 100, -1, -1, -1, -1, -1, 106, -1, + -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4, 5, -1, -1, -1, + 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 140, -1, -1, -1, -1, 145, 146, 147, + -1, -1, 150, 32, 152, 34, -1, -1, 156, -1, + -1, 40, 41, -1, -1, 44, -1, 165, -1, 167, + 49, -1, -1, -1, -1, -1, -1, 175, 176, 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, 204, -1, -1, 207, + -1, 90, 91, -1, -1, 94, -1, 96, 97, 98, + 99, 100, -1, -1, -1, -1, -1, 106, -1, -1, + -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 4, 5, -1, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 127, -1, -1, -1, -1, -1, -1, - 5, -1, -1, -1, -1, 139, -1, -1, -1, -1, - 144, 145, 146, -1, -1, 149, -1, 151, -1, -1, - -1, 155, -1, -1, -1, -1, -1, 32, 162, 34, - 164, -1, 166, -1, 39, 40, -1, -1, -1, 44, - 174, 175, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, - -1, 66, 67, -1, 69, -1, 71, -1, 73, 203, + -1, 140, -1, -1, -1, -1, 145, 146, 147, -1, + -1, 150, 32, 152, 34, -1, -1, 156, -1, -1, + 40, 41, -1, -1, 44, -1, 165, -1, 167, 49, + -1, -1, -1, -1, -1, -1, 175, 176, 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, 204, -1, -1, 207, -1, + 90, -1, -1, -1, 94, -1, 96, 97, 98, 99, + 100, -1, -1, -1, -1, -1, 106, -1, 4, 5, + -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 128, -1, + -1, -1, -1, -1, -1, -1, 32, -1, 34, -1, + 140, -1, -1, -1, 40, 145, 146, 147, 44, -1, + 150, -1, 152, 49, -1, -1, 156, -1, -1, -1, + -1, -1, -1, -1, 60, 165, -1, 167, -1, -1, + 66, 67, -1, 69, -1, 175, 176, 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, 99, 204, -1, -1, 207, -1, -1, + 106, -1, 4, 5, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, + 32, -1, 34, -1, 140, -1, -1, -1, 40, 145, + 146, 147, 44, -1, 150, -1, 152, 49, -1, -1, + 156, -1, -1, -1, -1, -1, -1, -1, 60, 165, + -1, 167, -1, -1, 66, 67, -1, 69, -1, 175, + 176, 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, 99, 204, -1, + -1, 207, -1, -1, 106, -1, 4, 5, -1, -1, + -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, + 22, -1, -1, -1, -1, -1, 128, -1, -1, -1, + -1, -1, -1, -1, 32, -1, 34, -1, 140, -1, + -1, -1, 40, 145, 146, 147, 44, -1, 150, -1, + 152, 49, -1, -1, 156, -1, -1, -1, -1, -1, + -1, -1, 60, 165, -1, 167, -1, -1, 66, 67, + -1, 69, -1, 175, 176, 73, -1, -1, 76, -1, + -1, -1, 5, -1, -1, 83, -1, -1, -1, -1, + -1, -1, 90, -1, -1, -1, 94, -1, 96, 97, + 98, 99, 204, -1, -1, 207, -1, -1, 106, 32, + -1, 34, -1, -1, -1, -1, -1, 40, -1, -1, + -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, + 128, -1, -1, -1, -1, -1, -1, 60, -1, -1, + -1, -1, 140, 66, 67, -1, 69, 145, 146, 147, + 73, -1, 150, 76, 152, -1, -1, -1, 156, -1, + 83, -1, -1, -1, -1, -1, -1, 165, -1, 167, + -1, 94, -1, 96, 97, 98, 99, 175, 176, -1, + -1, -1, 184, 106, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, + -1, 203, 204, -1, -1, -1, 204, -1, 210, 207, + 4, 5, -1, -1, -1, -1, -1, 140, -1, 13, + -1, -1, 145, 146, 147, -1, -1, 150, -1, 152, + -1, -1, -1, 156, -1, -1, -1, -1, 32, -1, + 34, -1, 165, -1, 167, -1, 40, 41, -1, -1, + 44, -1, 175, 176, -1, 49, -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, 204, 76, -1, 207, -1, -1, -1, -1, 83, + -1, -1, -1, -1, -1, -1, 90, 91, -1, -1, + 94, -1, 96, 97, 98, 99, 100, -1, -1, -1, + -1, -1, 106, -1, -1, -1, -1, 111, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, + 5, -1, -1, -1, 128, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 140, -1, -1, -1, + -1, 145, 146, 147, -1, -1, 150, 32, 152, 34, + -1, -1, 156, -1, -1, 40, 41, -1, -1, 44, + -1, 165, -1, 167, 49, -1, -1, -1, -1, -1, + -1, 175, 176, 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, -1, -1, -1, 94, - -1, 96, 97, 98, -1, -1, -1, -1, -1, -1, - 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 204, -1, -1, -1, -1, 90, -1, -1, -1, 94, + -1, 96, 97, 98, 99, 100, -1, -1, -1, -1, + -1, 106, -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 125, -1, -1, -1, -1, -1, -1, -1, 5, -1, - -1, -1, -1, -1, 139, -1, -1, -1, -1, 144, - 145, 146, -1, -1, 149, -1, 151, 152, -1, -1, - 155, -1, -1, -1, -1, 32, -1, 34, -1, 164, - -1, 166, 39, 40, -1, -1, -1, 44, -1, 174, - 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 60, -1, -1, -1, 192, -1, 66, - 67, -1, 69, -1, 71, -1, 73, -1, 203, 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, 5, -1, -1, -1, 14, 15, 16, 17, 18, - 19, 20, 21, 22, -1, -1, -1, -1, 125, 23, - -1, -1, -1, -1, -1, -1, -1, -1, 32, -1, - 34, -1, 139, -1, -1, -1, 40, 144, 145, 146, - 44, -1, 149, -1, 151, 152, -1, -1, 155, -1, - -1, -1, -1, -1, -1, -1, 60, 164, -1, 166, - -1, -1, 66, 67, -1, 69, -1, 174, 175, 73, - -1, -1, 76, -1, -1, 5, -1, -1, -1, 83, - -1, -1, -1, -1, -1, 192, -1, -1, -1, -1, - 94, -1, 96, 97, 98, -1, 203, -1, -1, -1, - -1, 105, 32, -1, 34, -1, -1, -1, -1, -1, - 40, -1, -1, -1, 44, 14, 15, 16, 17, 18, - 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, - 60, -1, -1, -1, -1, 139, 66, 67, -1, 69, - 144, 145, 146, 73, -1, 149, 76, 151, -1, -1, - -1, 155, -1, 83, -1, -1, -1, -1, -1, -1, - 164, -1, 166, -1, 94, -1, 96, 97, 98, -1, - 174, 175, -1, -1, 183, 105, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, -1, -1, -1, -1, - -1, -1, -1, 202, 203, -1, -1, -1, -1, 203, - 209, -1, 14, 15, 16, 17, 18, 19, 20, 139, - 22, -1, -1, -1, 144, 145, 146, -1, -1, 149, - -1, 151, -1, -1, -1, 155, -1, -1, -1, -1, - -1, -1, -1, -1, 164, -1, 166, -1, -1, -1, - -1, -1, -1, -1, 174, 175, 14, 15, 16, 17, + -1, -1, -1, 128, -1, -1, -1, -1, -1, -1, + 5, -1, -1, -1, -1, 140, -1, -1, -1, -1, + 145, 146, 147, -1, -1, 150, -1, 152, -1, -1, + -1, 156, -1, -1, -1, -1, -1, 32, 163, 34, + 165, -1, 167, -1, 39, 40, -1, -1, -1, 44, + 175, 176, -1, -1, -1, 5, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, + -1, 66, 67, -1, 69, -1, 71, -1, 73, 204, + -1, 76, 32, -1, 34, -1, -1, -1, 83, 39, + 40, -1, -1, -1, 44, -1, -1, -1, -1, 94, + -1, 96, 97, 98, 99, -1, -1, -1, -1, -1, + 60, 106, -1, -1, -1, -1, 66, 67, -1, 69, + -1, 71, -1, 73, -1, -1, 76, -1, -1, -1, + -1, 126, -1, 83, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 94, 140, 96, 97, 98, 99, + 145, 146, 147, -1, -1, 150, 106, 152, 153, -1, + -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, + 165, -1, 167, -1, -1, -1, 126, -1, -1, -1, + 175, 176, -1, -1, -1, -1, -1, -1, -1, 5, + 140, -1, -1, -1, -1, 145, 146, 147, 193, -1, + 150, -1, 152, 153, -1, -1, 156, 23, -1, 204, + -1, -1, -1, -1, -1, 165, 32, 167, 34, -1, + -1, -1, -1, -1, 40, 175, 176, -1, 44, -1, + -1, -1, -1, -1, 5, -1, -1, -1, -1, -1, + -1, -1, -1, 193, 60, -1, -1, -1, -1, -1, + 66, 67, -1, 69, 204, -1, -1, 73, -1, -1, + 76, 32, -1, 34, -1, -1, -1, 83, -1, 40, + -1, -1, -1, 44, -1, -1, -1, -1, 94, -1, + 96, 97, 98, 99, -1, -1, -1, -1, -1, 60, + 106, -1, -1, -1, -1, 66, 67, -1, 69, -1, + -1, -1, 73, -1, -1, 76, -1, -1, -1, -1, + -1, -1, 83, 14, 15, 16, 17, 18, 19, 20, + 21, 22, -1, 94, 140, 96, 97, 98, 99, 145, + 146, 147, -1, -1, 150, 106, 152, -1, -1, -1, + 156, -1, -1, -1, -1, -1, -1, -1, -1, 165, + -1, 167, -1, -1, -1, -1, -1, -1, -1, 175, + 176, -1, -1, -1, -1, -1, -1, -1, -1, 140, + -1, -1, -1, -1, 145, 146, 147, -1, -1, 150, + -1, 152, -1, -1, -1, 156, -1, -1, 204, -1, + -1, -1, -1, -1, 165, -1, 167, -1, -1, -1, + -1, -1, -1, -1, 175, 176, 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 203, 14, 15, 16, 17, 18, 19, - 20, 21, 22, -1, 183, -1, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, -1, -1, -1, -1, - -1, -1, -1, 202, 203, -1, -1, -1, -1, -1, - 209, 14, 15, 16, 17, 18, 19, 20, 21, 22, + -1, -1, -1, 204, 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, 14, 15, 16, 17, + 18, 19, 20, 184, -1, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, -1, -1, -1, -1, -1, + -1, -1, 203, 204, -1, -1, -1, -1, -1, 210, + 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, 14, 15, 16, 17, 18, 19, 20, 14, 15, - 16, 17, 18, 19, 20, -1, -1, -1, -1, -1, - -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, -1, -1, -1, -1, -1, -1, -1, - 202, 203, -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, -1, -1, -1, - -1, -1, -1, -1, -1, 183, -1, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, -1, -1, -1, - -1, -1, -1, -1, 202, 203, 204, -1, -1, -1, - -1, -1, -1, 183, -1, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, -1, -1, -1, -1, -1, - -1, -1, 202, 203, 204, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 184, -1, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, -1, -1, + -1, -1, -1, -1, -1, 203, 204, -1, -1, -1, + -1, -1, 210, -1, 184, -1, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, -1, -1, -1, -1, + -1, -1, -1, 203, 204, 205, 184, -1, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, -1, -1, + -1, -1, -1, -1, -1, 203, 204, 205, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, -1, -1, + -1, -1, -1, -1, -1, 203, 204, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, -1, -1, -1, -1, -1, -1, -1, 202, - 203, 183, -1, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, -1, 5, -1, -1, -1, -1, -1, - 202, 203, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 188, 189, 190, 191, 192, 193, 194, 202, - 203, 32, -1, 34, -1, -1, 202, 203, -1, 40, - 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, 5, -1, - -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 94, -1, 96, 97, 98, 99, -1, - -1, 102, -1, -1, 105, 32, -1, 34, 109, -1, - -1, -1, -1, 40, -1, -1, -1, 44, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 60, -1, -1, -1, -1, 139, 66, - 67, -1, 69, 144, 145, 146, 73, -1, 149, 76, - 151, -1, 5, -1, 155, -1, 83, -1, -1, -1, - -1, -1, -1, 164, -1, 166, -1, 94, -1, 96, - 97, 98, -1, 174, 175, -1, -1, -1, 105, 32, - -1, 34, -1, -1, -1, -1, -1, 40, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, - -1, -1, 139, 66, 67, -1, -1, 144, 145, 146, - 73, -1, 149, 76, 151, -1, -1, -1, 155, -1, - 83, -1, -1, -1, -1, -1, -1, 164, -1, 166, - -1, -1, -1, 96, 97, 98, -1, 174, 175, -1, - -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, -1, -1, -1, -1, -1, -1, -1, 203, + 204, 184, -1, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 5, -1, -1, -1, -1, -1, -1, + 203, 204, 187, 188, 189, 190, 191, 192, 193, 194, + 195, -1, -1, -1, -1, -1, -1, -1, 203, 204, + 32, -1, 34, -1, -1, -1, -1, -1, 40, 41, + -1, -1, 44, -1, -1, -1, -1, -1, 5, -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, 32, -1, 34, -1, -1, + -1, 83, -1, 40, -1, -1, -1, 44, -1, -1, + -1, -1, 94, -1, 96, 97, 98, 99, 100, -1, + -1, 103, -1, 60, 106, -1, -1, -1, 110, 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, -1, -1, -1, 94, 140, 96, + 97, 98, 99, 145, 146, 147, -1, -1, 150, 106, + 152, -1, 5, -1, 156, -1, -1, -1, -1, -1, + -1, -1, -1, 165, -1, 167, -1, -1, -1, -1, + -1, -1, -1, 175, 176, -1, -1, -1, -1, 32, + -1, 34, -1, 140, -1, -1, -1, 40, 145, 146, + 147, -1, -1, 150, -1, 152, -1, -1, -1, 156, + -1, -1, -1, -1, -1, -1, -1, 60, 165, -1, + 167, -1, -1, 66, 67, -1, -1, -1, 175, 176, + 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, + 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 96, 97, 98, 99, -1, -1, -1, + -1, -1, -1, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 144, 145, 146, -1, -1, 149, -1, -1, -1, - -1, -1, 155, -1, -1, -1, -1, -1, -1, -1, - -1, 164, -1, 166, -1, -1, -1, -1, -1, -1, - -1, 174, 175, 24, -1, 26, 27, 28, 29, 30, - 31, -1, 33, -1, -1, 36, -1, 38, -1, -1, - -1, 42, 43, -1, 45, 46, 47, 48, -1, 50, - 51, 52, 53, 54, 55, 56, 57, -1, 59, -1, - 61, 62, 63, 64, 65, -1, -1, 68, -1, -1, - -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, - 81, 82, -1, 84, 85, 86, 87, 88, 89, -1, - -1, 92, -1, -1, 95, -1, -1, -1, -1, 100, - 101, -1, 103, 104, -1, 106, 107, -1, -1, -1, - 111, 112, 113, 114, 115, 116, -1, 118, 119, 120, - 121, 122, 123, 124, -1, 126, -1, 128, -1, 130, - 131, 132, 133, 134, 135, 136, 137, 138, -1, 140, - 141, 142, 143, -1, -1, -1, 147, -1, -1, 150, - -1, -1, 153, 154, -1, -1, 157, 158, 159, 160, - -1, -1, 163, -1, 165, -1, 167, 168, 169, 170, - 171, 172, 173, -1, -1, 176 + -1, -1, 145, 146, 147, -1, -1, 150, -1, -1, + -1, -1, -1, 156, -1, -1, -1, -1, -1, -1, + -1, -1, 165, -1, 167, -1, -1, -1, -1, -1, + -1, -1, 175, 176, 24, -1, 26, 27, 28, 29, + 30, 31, -1, 33, -1, -1, 36, -1, 38, -1, + -1, -1, 42, 43, -1, 45, 46, 47, 48, -1, + 50, 51, 52, 53, 54, 55, 56, 57, -1, 59, + -1, 61, 62, 63, 64, 65, -1, -1, 68, -1, + -1, -1, 72, -1, 74, 75, -1, 77, 78, 79, + 80, 81, 82, -1, 84, 85, 86, 87, 88, 89, + -1, -1, 92, -1, -1, 95, -1, -1, -1, -1, + -1, 101, 102, -1, 104, 105, -1, 107, 108, -1, + -1, -1, 112, 113, 114, 115, 116, 117, -1, 119, + 120, 121, 122, 123, 124, 125, -1, 127, -1, 129, + -1, 131, 132, 133, 134, 135, 136, 137, 138, 139, + -1, 141, 142, 143, 144, -1, -1, -1, 148, -1, + -1, 151, -1, -1, 154, 155, -1, -1, 158, 159, + 160, 161, -1, -1, 164, -1, 166, -1, 168, 169, + 170, 171, 172, 173, 174, -1, -1, 177 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 212, 213, 0, 4, 5, 32, 34, 40, 41, + 0, 213, 214, 0, 4, 5, 32, 34, 40, 41, 44, 49, 58, 60, 66, 67, 69, 73, 76, 83, - 90, 94, 96, 97, 98, 99, 105, 110, 127, 139, - 144, 145, 146, 149, 151, 155, 164, 166, 174, 175, - 203, 219, 220, 222, 223, 224, 225, 228, 229, 235, - 236, 247, 261, 265, 267, 268, 269, 270, 271, 274, - 275, 278, 280, 281, 282, 283, 285, 286, 287, 288, - 289, 291, 293, 311, 312, 313, 314, 3, 5, 208, - 3, 5, 3, 5, 263, 96, 266, 9, 3, 5, - 266, 3, 208, 208, 266, 267, 3, 263, 3, 263, - 267, 24, 26, 27, 28, 29, 30, 31, 33, 36, - 38, 42, 43, 45, 46, 47, 48, 50, 51, 52, - 53, 54, 55, 56, 57, 59, 61, 62, 63, 64, - 65, 68, 72, 74, 75, 77, 78, 79, 80, 81, - 82, 84, 85, 86, 87, 88, 89, 92, 95, 100, - 101, 103, 104, 106, 107, 111, 112, 113, 114, 115, - 116, 118, 119, 120, 121, 122, 123, 124, 126, 128, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 140, - 141, 142, 143, 147, 150, 153, 154, 157, 158, 159, - 160, 163, 165, 167, 168, 169, 170, 171, 172, 173, - 176, 237, 239, 310, 207, 215, 215, 162, 66, 102, - 109, 155, 164, 227, 247, 268, 274, 280, 284, 291, - 311, 314, 207, 207, 205, 205, 207, 205, 207, 218, - 207, 184, 279, 205, 292, 293, 292, 292, 3, 5, - 39, 71, 125, 152, 192, 208, 241, 264, 294, 295, - 308, 247, 311, 312, 314, 292, 207, 9, 205, 207, - 3, 312, 205, 156, 205, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 182, 204, - 13, 91, 219, 226, 229, 268, 270, 271, 282, 283, - 286, 206, 235, 236, 3, 3, 5, 3, 5, 3, - 3, 205, 308, 272, 214, 129, 276, 280, 3, 5, - 205, 217, 290, 294, 294, 210, 203, 208, 234, 292, - 209, 244, 245, 246, 264, 184, 209, 254, 208, 257, - 9, 9, 12, 240, 264, 3, 6, 7, 8, 9, - 10, 11, 70, 117, 148, 161, 187, 190, 191, 192, - 195, 196, 208, 250, 251, 252, 250, 253, 9, 9, - 238, 253, 252, 9, 9, 252, 9, 252, 250, 233, - 236, 291, 252, 248, 249, 250, 9, 310, 9, 252, - 312, 248, 250, 312, 177, 178, 179, 180, 181, 309, - 312, 312, 240, 6, 7, 315, 9, 312, 239, 203, - 208, 207, 205, 218, 291, 206, 235, 273, 213, 184, - 108, 235, 259, 277, 207, 205, 217, 206, 219, 236, - 289, 294, 209, 253, 192, 204, 250, 230, 231, 232, - 233, 206, 182, 210, 6, 221, 206, 235, 255, 259, - 206, 236, 256, 259, 209, 209, 209, 208, 250, 250, - 250, 250, 250, 250, 250, 291, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 183, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 202, 203, 182, 209, - 209, 209, 182, 209, 209, 209, 209, 209, 209, 209, - 209, 209, 209, 291, 192, 208, 234, 241, 264, 300, - 302, 303, 209, 182, 209, 209, 209, 209, 182, 209, - 209, 209, 209, 209, 209, 209, 209, 202, 209, 209, - 209, 239, 9, 216, 294, 304, 218, 283, 206, 184, - 291, 311, 207, 206, 236, 260, 261, 206, 225, 206, - 218, 204, 204, 209, 182, 246, 252, 6, 209, 291, - 314, 209, 207, 207, 291, 209, 192, 208, 234, 241, - 296, 298, 299, 250, 250, 3, 250, 250, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 250, 3, 250, 252, 9, 302, 290, 192, - 230, 241, 301, 302, 208, 234, 249, 252, 6, 209, - 215, 182, 294, 207, 217, 218, 23, 233, 300, 306, - 307, 207, 262, 264, 298, 290, 192, 230, 241, 297, - 298, 209, 208, 234, 184, 204, 302, 290, 209, 302, - 209, 230, 209, 218, 206, 294, 206, 184, 305, 182, - 207, 205, 209, 298, 290, 209, 302, 209, 250, 230, - 250, 302, 209, 218, 253, 306, 242, 302, 209, 38, - 51, 206, 243, 252, 184, 184, 207, 258, 259, 258, - 207 + 90, 94, 96, 97, 98, 99, 100, 106, 111, 128, + 140, 145, 146, 147, 150, 152, 156, 165, 167, 175, + 176, 204, 220, 221, 223, 224, 225, 226, 229, 230, + 236, 237, 248, 262, 266, 268, 269, 270, 271, 272, + 275, 276, 279, 281, 282, 283, 284, 286, 287, 288, + 289, 290, 292, 294, 312, 313, 314, 315, 3, 5, + 209, 3, 5, 3, 5, 264, 96, 267, 9, 3, + 5, 267, 3, 209, 209, 267, 268, 3, 264, 3, + 264, 268, 24, 26, 27, 28, 29, 30, 31, 33, + 36, 38, 42, 43, 45, 46, 47, 48, 50, 51, + 52, 53, 54, 55, 56, 57, 59, 61, 62, 63, + 64, 65, 68, 72, 74, 75, 77, 78, 79, 80, + 81, 82, 84, 85, 86, 87, 88, 89, 92, 95, + 101, 102, 104, 105, 107, 108, 112, 113, 114, 115, + 116, 117, 119, 120, 121, 122, 123, 124, 125, 127, + 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 141, 142, 143, 144, 148, 151, 154, 155, 158, 159, + 160, 161, 164, 166, 168, 169, 170, 171, 172, 173, + 174, 177, 238, 240, 311, 208, 216, 216, 163, 66, + 103, 110, 156, 165, 228, 248, 269, 275, 281, 285, + 292, 312, 315, 208, 208, 206, 206, 208, 206, 208, + 219, 208, 185, 280, 206, 293, 294, 293, 293, 3, + 5, 39, 71, 126, 153, 193, 209, 242, 265, 295, + 296, 309, 248, 312, 313, 315, 293, 208, 9, 206, + 208, 3, 313, 206, 157, 206, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 183, + 205, 13, 91, 220, 227, 230, 269, 271, 272, 283, + 284, 287, 207, 236, 237, 3, 3, 5, 3, 5, + 3, 3, 206, 309, 273, 215, 130, 277, 281, 3, + 5, 206, 218, 291, 295, 295, 211, 204, 209, 235, + 293, 210, 245, 246, 247, 265, 185, 210, 255, 209, + 258, 9, 9, 12, 241, 265, 3, 6, 7, 8, + 9, 10, 11, 70, 118, 149, 162, 188, 191, 192, + 193, 196, 197, 209, 251, 252, 253, 251, 254, 9, + 9, 239, 254, 253, 9, 9, 253, 9, 253, 251, + 234, 237, 292, 253, 249, 250, 251, 9, 311, 9, + 253, 313, 249, 251, 313, 178, 179, 180, 181, 182, + 310, 313, 313, 241, 6, 7, 316, 9, 313, 240, + 204, 209, 208, 206, 219, 292, 207, 236, 274, 214, + 185, 109, 236, 260, 278, 208, 206, 218, 207, 220, + 237, 290, 295, 210, 254, 193, 205, 251, 231, 232, + 233, 234, 207, 183, 211, 6, 222, 207, 236, 256, + 260, 207, 237, 257, 260, 210, 210, 210, 209, 251, + 251, 251, 251, 251, 251, 251, 292, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 184, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 203, 204, 183, + 210, 210, 210, 183, 210, 210, 210, 210, 210, 210, + 210, 210, 210, 210, 292, 193, 209, 235, 242, 265, + 301, 303, 304, 210, 183, 210, 210, 210, 210, 183, + 210, 210, 210, 210, 210, 210, 210, 210, 203, 210, + 210, 210, 240, 9, 217, 295, 305, 219, 284, 207, + 185, 292, 312, 208, 207, 237, 261, 262, 207, 226, + 207, 219, 205, 205, 210, 183, 247, 253, 6, 210, + 292, 315, 210, 208, 208, 292, 210, 193, 209, 235, + 242, 297, 299, 300, 251, 251, 3, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 3, 251, 253, 9, 303, 291, + 193, 231, 242, 302, 303, 209, 235, 250, 253, 6, + 210, 216, 183, 295, 208, 218, 219, 23, 234, 301, + 307, 308, 208, 263, 265, 299, 291, 193, 231, 242, + 298, 299, 210, 209, 235, 185, 205, 303, 291, 210, + 303, 210, 231, 210, 219, 207, 295, 207, 185, 306, + 183, 208, 206, 210, 299, 291, 210, 303, 210, 251, + 231, 251, 303, 210, 219, 254, 307, 243, 303, 210, + 38, 51, 207, 244, 253, 185, 185, 208, 259, 260, + 259, 208 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 211, 212, 213, 214, 213, 213, 213, 213, 213, - 213, 213, 213, 215, 215, 216, 215, 215, 215, 215, - 215, 215, 215, 215, 217, 217, 218, 218, 219, 219, - 219, 219, 219, 219, 219, 220, 221, 221, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 223, 224, 225, - 226, 227, 227, 228, 229, 230, 230, 231, 231, 232, - 232, 233, 233, 234, 234, 234, 235, 235, 236, 237, - 237, 237, 238, 238, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 240, 240, 241, 241, 241, 241, - 242, 242, 243, 243, 244, 244, 244, 245, 245, 246, - 246, 247, 248, 248, 249, 249, 250, 250, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 251, 251, 252, - 253, 254, 254, 255, 255, 256, 256, 257, 257, 258, - 258, 259, 259, 260, 261, 261, 262, 262, 263, 263, - 263, 264, 264, 265, 265, 265, 265, 265, 265, 265, - 265, 265, 265, 265, 266, 266, 267, 267, 267, 267, - 267, 267, 267, 267, 268, 268, 269, 270, 271, 272, - 272, 273, 274, 274, 275, 276, 276, 277, 277, 278, - 278, 279, 279, 280, 280, 281, 282, 282, 282, 283, - 283, 284, 284, 285, 286, 287, 287, 287, 288, 289, - 290, 290, 291, 291, 292, 292, 293, 293, 293, 294, - 294, 294, 295, 295, 295, 295, 296, 296, 296, 297, - 297, 298, 298, 299, 299, 299, 299, 299, 300, 300, - 300, 301, 301, 302, 302, 303, 303, 303, 303, 303, - 303, 304, 304, 305, 305, 306, 307, 307, 308, 308, - 309, 309, 309, 309, 309, 310, 310, 310, 311, 312, - 312, 312, 312, 312, 312, 312, 312, 312, 312, 313, - 314, 314, 315, 315, 315 + 0, 212, 213, 214, 215, 214, 214, 214, 214, 214, + 214, 214, 214, 216, 216, 217, 216, 216, 216, 216, + 216, 216, 216, 216, 218, 218, 219, 219, 220, 220, + 220, 220, 220, 220, 220, 221, 222, 222, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 224, 225, 226, + 227, 228, 228, 229, 230, 231, 231, 232, 232, 233, + 233, 234, 234, 235, 235, 235, 236, 236, 237, 238, + 238, 238, 239, 239, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 241, 241, 242, 242, 242, 242, + 243, 243, 244, 244, 245, 245, 245, 246, 246, 247, + 247, 248, 249, 249, 250, 250, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 252, 252, 253, + 254, 255, 255, 256, 256, 257, 257, 258, 258, 259, + 259, 260, 260, 261, 262, 262, 263, 263, 264, 264, + 264, 265, 265, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 267, 267, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 269, 269, 270, 271, 272, + 273, 273, 274, 275, 275, 276, 277, 277, 278, 278, + 279, 279, 280, 280, 281, 281, 282, 283, 283, 283, + 284, 284, 285, 285, 286, 287, 288, 288, 288, 289, + 290, 291, 291, 292, 292, 293, 293, 294, 294, 294, + 295, 295, 295, 296, 296, 296, 296, 297, 297, 297, + 298, 298, 299, 299, 300, 300, 300, 300, 300, 301, + 301, 301, 302, 302, 303, 303, 304, 304, 304, 304, + 304, 304, 305, 305, 306, 306, 307, 308, 308, 309, + 309, 310, 310, 310, 310, 310, 311, 311, 311, 312, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 314, 315, 315, 316, 316, 316 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1895,18 +1910,18 @@ 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 + 2, 1, 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 }; @@ -2598,37 +2613,37 @@ write_dlldata((yyvsp[0].stmt_list)); write_local_stubs((yyvsp[0].stmt_list)); } -#line 2602 "parser.tab.c" /* yacc.c:1648 */ +#line 2617 "parser.tab.c" /* yacc.c:1648 */ break; case 3: #line 337 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = NULL; } -#line 2608 "parser.tab.c" /* yacc.c:1648 */ +#line 2623 "parser.tab.c" /* yacc.c:1648 */ break; case 4: #line 338 "parser.y" /* yacc.c:1648 */ { push_namespace((yyvsp[-1].str)); } -#line 2614 "parser.tab.c" /* yacc.c:1648 */ +#line 2629 "parser.tab.c" /* yacc.c:1648 */ break; case 5: #line 339 "parser.y" /* yacc.c:1648 */ { pop_namespace((yyvsp[-4].str)); (yyval.stmt_list) = append_statements((yyvsp[-5].stmt_list), (yyvsp[-1].stmt_list)); } -#line 2620 "parser.tab.c" /* yacc.c:1648 */ +#line 2635 "parser.tab.c" /* yacc.c:1648 */ break; case 6: #line 340 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_reference((yyvsp[0].type))); } -#line 2626 "parser.tab.c" /* yacc.c:1648 */ +#line 2641 "parser.tab.c" /* yacc.c:1648 */ break; case 7: #line 341 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); } -#line 2632 "parser.tab.c" /* yacc.c:1648 */ +#line 2647 "parser.tab.c" /* yacc.c:1648 */ break; case 8: @@ -2636,7 +2651,7 @@ { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); } -#line 2640 "parser.tab.c" /* yacc.c:1648 */ +#line 2655 "parser.tab.c" /* yacc.c:1648 */ break; case 9: @@ -2644,61 +2659,61 @@ { (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, current_namespace, 0); } -#line 2648 "parser.tab.c" /* yacc.c:1648 */ +#line 2663 "parser.tab.c" /* yacc.c:1648 */ break; case 10: #line 348 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); } -#line 2654 "parser.tab.c" /* yacc.c:1648 */ +#line 2669 "parser.tab.c" /* yacc.c:1648 */ break; case 11: #line 349 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); } -#line 2660 "parser.tab.c" /* yacc.c:1648 */ +#line 2675 "parser.tab.c" /* yacc.c:1648 */ break; case 12: #line 350 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } -#line 2666 "parser.tab.c" /* yacc.c:1648 */ +#line 2681 "parser.tab.c" /* yacc.c:1648 */ break; case 13: #line 353 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = NULL; } -#line 2672 "parser.tab.c" /* yacc.c:1648 */ +#line 2687 "parser.tab.c" /* yacc.c:1648 */ break; case 14: #line 354 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_reference((yyvsp[0].type))); } -#line 2678 "parser.tab.c" /* yacc.c:1648 */ +#line 2693 "parser.tab.c" /* yacc.c:1648 */ break; case 15: #line 355 "parser.y" /* yacc.c:1648 */ { push_namespace((yyvsp[-1].str)); } -#line 2684 "parser.tab.c" /* yacc.c:1648 */ +#line 2699 "parser.tab.c" /* yacc.c:1648 */ break; case 16: #line 356 "parser.y" /* yacc.c:1648 */ { pop_namespace((yyvsp[-4].str)); (yyval.stmt_list) = append_statements((yyvsp[-5].stmt_list), (yyvsp[-1].stmt_list)); } -#line 2690 "parser.tab.c" /* yacc.c:1648 */ +#line 2705 "parser.tab.c" /* yacc.c:1648 */ break; case 17: #line 357 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); } -#line 2696 "parser.tab.c" /* yacc.c:1648 */ +#line 2711 "parser.tab.c" /* yacc.c:1648 */ break; case 18: #line 358 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); } -#line 2702 "parser.tab.c" /* yacc.c:1648 */ +#line 2717 "parser.tab.c" /* yacc.c:1648 */ break; case 19: @@ -2706,85 +2721,85 @@ { (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, current_namespace, 0); } -#line 2710 "parser.tab.c" /* yacc.c:1648 */ +#line 2725 "parser.tab.c" /* yacc.c:1648 */ break; case 20: #line 362 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); } -#line 2716 "parser.tab.c" /* yacc.c:1648 */ +#line 2731 "parser.tab.c" /* yacc.c:1648 */ break; case 21: #line 363 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } -#line 2722 "parser.tab.c" /* yacc.c:1648 */ +#line 2737 "parser.tab.c" /* yacc.c:1648 */ break; case 22: #line 364 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_importlib((yyvsp[0].str))); } -#line 2728 "parser.tab.c" /* yacc.c:1648 */ +#line 2743 "parser.tab.c" /* yacc.c:1648 */ break; case 23: #line 365 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); } -#line 2734 "parser.tab.c" /* yacc.c:1648 */ +#line 2749 "parser.tab.c" /* yacc.c:1648 */ break; case 24: #line 368 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = NULL; } -#line 2740 "parser.tab.c" /* yacc.c:1648 */ +#line 2755 "parser.tab.c" /* yacc.c:1648 */ break; case 25: #line 369 "parser.y" /* yacc.c:1648 */ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } -#line 2746 "parser.tab.c" /* yacc.c:1648 */ +#line 2761 "parser.tab.c" /* yacc.c:1648 */ break; case 28: #line 377 "parser.y" /* yacc.c:1648 */ { (yyval.statement) = make_statement_cppquote((yyvsp[0].str)); } -#line 2752 "parser.tab.c" /* yacc.c:1648 */ +#line 2767 "parser.tab.c" /* yacc.c:1648 */ break; case 29: #line 378 "parser.y" /* yacc.c:1648 */ { (yyval.statement) = make_statement_type_decl((yyvsp[-1].type)); } -#line 2758 "parser.tab.c" /* yacc.c:1648 */ +#line 2773 "parser.tab.c" /* yacc.c:1648 */ break; case 30: #line 379 "parser.y" /* yacc.c:1648 */ { (yyval.statement) = make_statement_declaration((yyvsp[-1].var)); } -#line 2764 "parser.tab.c" /* yacc.c:1648 */ +#line 2779 "parser.tab.c" /* yacc.c:1648 */ break; case 31: #line 380 "parser.y" /* yacc.c:1648 */ { (yyval.statement) = make_statement_import((yyvsp[0].str)); } -#line 2770 "parser.tab.c" /* yacc.c:1648 */ +#line 2785 "parser.tab.c" /* yacc.c:1648 */ break; case 32: #line 381 "parser.y" /* yacc.c:1648 */ { (yyval.statement) = (yyvsp[-1].statement); } -#line 2776 "parser.tab.c" /* yacc.c:1648 */ +#line 2791 "parser.tab.c" /* yacc.c:1648 */ break; case 33: #line 382 "parser.y" /* yacc.c:1648 */ { (yyval.statement) = make_statement_pragma((yyvsp[0].str)); } -#line 2782 "parser.tab.c" /* yacc.c:1648 */ +#line 2797 "parser.tab.c" /* yacc.c:1648 */ break; case 34: #line 383 "parser.y" /* yacc.c:1648 */ { (yyval.statement) = NULL; } -#line 2788 "parser.tab.c" /* yacc.c:1648 */ +#line 2803 "parser.tab.c" /* yacc.c:1648 */ break; case 35: @@ -2796,61 +2811,61 @@ if(!result) error_loc("expected \"disable\" or \"enable\"\n"); } -#line 2800 "parser.tab.c" /* yacc.c:1648 */ +#line 2815 "parser.tab.c" /* yacc.c:1648 */ break; case 36: #line 397 "parser.y" /* yacc.c:1648 */ { (yyval.warning_list) = append_warning(NULL, (yyvsp[0].num)); } -#line 2806 "parser.tab.c" /* yacc.c:1648 */ +#line 2821 "parser.tab.c" /* yacc.c:1648 */ break; case 37: #line 398 "parser.y" /* yacc.c:1648 */ { (yyval.warning_list) = append_warning((yyvsp[-1].warning_list), (yyvsp[0].num)); } -#line 2812 "parser.tab.c" /* yacc.c:1648 */ +#line 2827 "parser.tab.c" /* yacc.c:1648 */ break; case 39: #line 403 "parser.y" /* yacc.c:1648 */ { (yyval.type) = type_new_enum((yyvsp[0].str), current_namespace, FALSE, NULL); } -#line 2818 "parser.tab.c" /* yacc.c:1648 */ +#line 2833 "parser.tab.c" /* yacc.c:1648 */ break; case 41: #line 405 "parser.y" /* yacc.c:1648 */ { (yyval.type) = type_new_struct((yyvsp[0].str), current_namespace, FALSE, NULL); } -#line 2824 "parser.tab.c" /* yacc.c:1648 */ +#line 2839 "parser.tab.c" /* yacc.c:1648 */ break; case 43: #line 407 "parser.y" /* yacc.c:1648 */ { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), FALSE, NULL); } -#line 2830 "parser.tab.c" /* yacc.c:1648 */ +#line 2845 "parser.tab.c" /* yacc.c:1648 */ break; case 44: #line 408 "parser.y" /* yacc.c:1648 */ { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_enum_attrs((yyvsp[-1].attr_list)); } -#line 2836 "parser.tab.c" /* yacc.c:1648 */ +#line 2851 "parser.tab.c" /* yacc.c:1648 */ break; case 45: #line 409 "parser.y" /* yacc.c:1648 */ { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_struct_attrs((yyvsp[-1].attr_list)); } -#line 2842 "parser.tab.c" /* yacc.c:1648 */ +#line 2857 "parser.tab.c" /* yacc.c:1648 */ break; case 46: #line 410 "parser.y" /* yacc.c:1648 */ { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_union_attrs((yyvsp[-1].attr_list)); } -#line 2848 "parser.tab.c" /* yacc.c:1648 */ +#line 2863 "parser.tab.c" /* yacc.c:1648 */ break; case 47: #line 413 "parser.y" /* yacc.c:1648 */ { (yyval.str) = (yyvsp[-1].str); } -#line 2854 "parser.tab.c" /* yacc.c:1648 */ +#line 2869 "parser.tab.c" /* yacc.c:1648 */ break; case 48: @@ -2861,7 +2876,7 @@ (yyval.import)->import_performed = do_import((yyvsp[-1].str)); if (!(yyval.import)->import_performed) yychar = aEOF; } -#line 2865 "parser.tab.c" /* yacc.c:1648 */ +#line 2880 "parser.tab.c" /* yacc.c:1648 */ break; case 49: @@ -2870,25 +2885,25 @@ if ((yyvsp[-2].import)->import_performed) pop_import(); free((yyvsp[-2].import)); } -#line 2874 "parser.tab.c" /* yacc.c:1648 */ +#line 2889 "parser.tab.c" /* yacc.c:1648 */ break; case 50: #line 430 "parser.y" /* yacc.c:1648 */ { (yyval.str) = (yyvsp[-2].str); if(!parse_only) add_importlib((yyvsp[-2].str), current_typelib); } -#line 2880 "parser.tab.c" /* yacc.c:1648 */ +#line 2895 "parser.tab.c" /* yacc.c:1648 */ break; case 51: #line 433 "parser.y" /* yacc.c:1648 */ { (yyval.str) = (yyvsp[0].str); } -#line 2886 "parser.tab.c" /* yacc.c:1648 */ +#line 2901 "parser.tab.c" /* yacc.c:1648 */ break; case 52: #line 434 "parser.y" /* yacc.c:1648 */ { (yyval.str) = (yyvsp[0].str); } -#line 2892 "parser.tab.c" /* yacc.c:1648 */ +#line 2907 "parser.tab.c" /* yacc.c:1648 */ break; case 53: @@ -2896,37 +2911,37 @@ { (yyval.typelib) = make_library((yyvsp[-1].str), check_library_attrs((yyvsp[-1].str), (yyvsp[-2].attr_list))); if (!parse_only && do_typelib) current_typelib = (yyval.typelib); } -#line 2900 "parser.tab.c" /* yacc.c:1648 */ +#line 2915 "parser.tab.c" /* yacc.c:1648 */ break; case 54: #line 441 "parser.y" /* yacc.c:1648 */ { (yyval.typelib) = (yyvsp[-3].typelib); (yyval.typelib)->stmts = (yyvsp[-2].stmt_list); } -#line 2906 "parser.tab.c" /* yacc.c:1648 */ +#line 2921 "parser.tab.c" /* yacc.c:1648 */ break; case 55: #line 444 "parser.y" /* yacc.c:1648 */ { (yyval.var_list) = NULL; } -#line 2912 "parser.tab.c" /* yacc.c:1648 */ +#line 2927 "parser.tab.c" /* yacc.c:1648 */ break; case 57: #line 448 "parser.y" /* yacc.c:1648 */ { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( NULL, (yyvsp[0].var) ); } -#line 2918 "parser.tab.c" /* yacc.c:1648 */ +#line 2933 "parser.tab.c" /* yacc.c:1648 */ break; case 58: #line 449 "parser.y" /* yacc.c:1648 */ { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) ); } -#line 2924 "parser.tab.c" /* yacc.c:1648 */ +#line 2939 "parser.tab.c" /* yacc.c:1648 */ break; case 60: #line 453 "parser.y" /* yacc.c:1648 */ { (yyval.var_list) = append_var( (yyvsp[-2].var_list), make_var(strdup("...")) ); } -#line 2930 "parser.tab.c" /* yacc.c:1648 */ +#line 2945 "parser.tab.c" /* yacc.c:1648 */ break; case 61: @@ -2936,7 +2951,7 @@ (yyval.var) = declare_var((yyvsp[-2].attr_list), (yyvsp[-1].declspec), (yyvsp[0].declarator), TRUE); free((yyvsp[-1].declspec)); free((yyvsp[0].declarator)); } -#line 2940 "parser.tab.c" /* yacc.c:1648 */ +#line 2955 "parser.tab.c" /* yacc.c:1648 */ break; case 62: @@ -2946,7 +2961,7 @@ (yyval.var) = declare_var(NULL, (yyvsp[-1].declspec), (yyvsp[0].declarator), TRUE); free((yyvsp[-1].declspec)); free((yyvsp[0].declarator)); } -#line 2950 "parser.tab.c" /* yacc.c:1648 */ +#line 2965 "parser.tab.c" /* yacc.c:1648 */ break; case 63: @@ -2955,511 +2970,511 @@ if (!(yyval.expr)->is_const || (yyval.expr)->cval <= 0) error_loc("array dimension is not a positive integer constant\n"); } -#line 2959 "parser.tab.c" /* yacc.c:1648 */ +#line 2974 "parser.tab.c" /* yacc.c:1648 */ break; case 64: #line 473 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr(EXPR_VOID); } -#line 2965 "parser.tab.c" /* yacc.c:1648 */ +#line 2980 "parser.tab.c" /* yacc.c:1648 */ break; case 65: #line 474 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr(EXPR_VOID); } -#line 2971 "parser.tab.c" /* yacc.c:1648 */ +#line 2986 "parser.tab.c" /* yacc.c:1648 */ break; case 66: #line 477 "parser.y" /* yacc.c:1648 */ { (yyval.attr_list) = NULL; } -#line 2977 "parser.tab.c" /* yacc.c:1648 */ +#line 2992 "parser.tab.c" /* yacc.c:1648 */ break; case 68: #line 482 "parser.y" /* yacc.c:1648 */ { (yyval.attr_list) = (yyvsp[-1].attr_list); } -#line 2983 "parser.tab.c" /* yacc.c:1648 */ +#line 2998 "parser.tab.c" /* yacc.c:1648 */ break; case 69: #line 485 "parser.y" /* yacc.c:1648 */ { (yyval.attr_list) = append_attr( NULL, (yyvsp[0].attr) ); } -#line 2989 "parser.tab.c" /* yacc.c:1648 */ +#line 3004 "parser.tab.c" /* yacc.c:1648 */ break; case 70: #line 486 "parser.y" /* yacc.c:1648 */ { (yyval.attr_list) = append_attr( (yyvsp[-2].attr_list), (yyvsp[0].attr) ); } -#line 2995 "parser.tab.c" /* yacc.c:1648 */ +#line 3010 "parser.tab.c" /* yacc.c:1648 */ break; case 71: #line 487 "parser.y" /* yacc.c:1648 */ { (yyval.attr_list) = append_attr( (yyvsp[-3].attr_list), (yyvsp[0].attr) ); } -#line 3001 "parser.tab.c" /* yacc.c:1648 */ +#line 3016 "parser.tab.c" /* yacc.c:1648 */ break; case 72: #line 490 "parser.y" /* yacc.c:1648 */ { (yyval.str_list) = append_str( NULL, (yyvsp[0].str) ); } -#line 3007 "parser.tab.c" /* yacc.c:1648 */ +#line 3022 "parser.tab.c" /* yacc.c:1648 */ break; case 73: #line 491 "parser.y" /* yacc.c:1648 */ { (yyval.str_list) = append_str( (yyvsp[-2].str_list), (yyvsp[0].str) ); } -#line 3013 "parser.tab.c" /* yacc.c:1648 */ +#line 3028 "parser.tab.c" /* yacc.c:1648 */ break; case 74: #line 494 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = NULL; } -#line 3019 "parser.tab.c" /* yacc.c:1648 */ +#line 3034 "parser.tab.c" /* yacc.c:1648 */ break; case 75: #line 495 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_AGGREGATABLE); } -#line 3025 "parser.tab.c" /* yacc.c:1648 */ +#line 3040 "parser.tab.c" /* yacc.c:1648 */ break; case 76: #line 496 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_ANNOTATION, (yyvsp[-1].str)); } -#line 3031 "parser.tab.c" /* yacc.c:1648 */ +#line 3046 "parser.tab.c" /* yacc.c:1648 */ break; case 77: #line 497 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_APPOBJECT); } -#line 3037 "parser.tab.c" /* yacc.c:1648 */ +#line 3052 "parser.tab.c" /* yacc.c:1648 */ break; case 78: #line 498 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_ASYNC); } -#line 3043 "parser.tab.c" /* yacc.c:1648 */ +#line 3058 "parser.tab.c" /* yacc.c:1648 */ break; case 79: #line 499 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_AUTO_HANDLE); } -#line 3049 "parser.tab.c" /* yacc.c:1648 */ +#line 3064 "parser.tab.c" /* yacc.c:1648 */ break; case 80: #line 500 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_BINDABLE); } -#line 3055 "parser.tab.c" /* yacc.c:1648 */ +#line 3070 "parser.tab.c" /* yacc.c:1648 */ break; case 81: #line 501 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_BROADCAST); } -#line 3061 "parser.tab.c" /* yacc.c:1648 */ +#line 3076 "parser.tab.c" /* yacc.c:1648 */ break; case 82: #line 502 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_CALLAS, (yyvsp[-1].var)); } -#line 3067 "parser.tab.c" /* yacc.c:1648 */ +#line 3082 "parser.tab.c" /* yacc.c:1648 */ break; case 83: #line 503 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_CASE, (yyvsp[-1].expr_list)); } -#line 3073 "parser.tab.c" /* yacc.c:1648 */ +#line 3088 "parser.tab.c" /* yacc.c:1648 */ break; case 84: #line 504 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_CODE); } -#line 3079 "parser.tab.c" /* yacc.c:1648 */ +#line 3094 "parser.tab.c" /* yacc.c:1648 */ break; case 85: #line 505 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_COMMSTATUS); } -#line 3085 "parser.tab.c" /* yacc.c:1648 */ +#line 3100 "parser.tab.c" /* yacc.c:1648 */ break; case 86: #line 506 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); } -#line 3091 "parser.tab.c" /* yacc.c:1648 */ +#line 3106 "parser.tab.c" /* yacc.c:1648 */ break; case 87: #line 507 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_DONT_SERIALIZE */ } -#line 3097 "parser.tab.c" /* yacc.c:1648 */ +#line 3112 "parser.tab.c" /* yacc.c:1648 */ break; case 88: #line 508 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_SERIALIZE */ } -#line 3103 "parser.tab.c" /* yacc.c:1648 */ +#line 3118 "parser.tab.c" /* yacc.c:1648 */ break; case 89: #line 509 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_CONTROL); } -#line 3109 "parser.tab.c" /* yacc.c:1648 */ +#line 3124 "parser.tab.c" /* yacc.c:1648 */ break; case 90: #line 510 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_DECODE); } -#line 3115 "parser.tab.c" /* yacc.c:1648 */ +#line 3130 "parser.tab.c" /* yacc.c:1648 */ break; case 91: #line 511 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_DEFAULT); } -#line 3121 "parser.tab.c" /* yacc.c:1648 */ +#line 3136 "parser.tab.c" /* yacc.c:1648 */ break; case 92: #line 512 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_DEFAULTBIND); } -#line 3127 "parser.tab.c" /* yacc.c:1648 */ +#line 3142 "parser.tab.c" /* yacc.c:1648 */ break; case 93: #line 513 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_DEFAULTCOLLELEM); } -#line 3133 "parser.tab.c" /* yacc.c:1648 */ +#line 3148 "parser.tab.c" /* yacc.c:1648 */ break; case 94: #line 514 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_DEFAULTVALUE, (yyvsp[-1].expr)); } -#line 3139 "parser.tab.c" /* yacc.c:1648 */ +#line 3154 "parser.tab.c" /* yacc.c:1648 */ break; case 95: #line 515 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_DEFAULTVTABLE); } -#line 3145 "parser.tab.c" /* yacc.c:1648 */ +#line 3160 "parser.tab.c" /* yacc.c:1648 */ break; case 96: #line 516 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_DISABLECONSISTENCYCHECK); } -#line 3151 "parser.tab.c" /* yacc.c:1648 */ +#line 3166 "parser.tab.c" /* yacc.c:1648 */ break; case 97: #line 517 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_DISPLAYBIND); } -#line 3157 "parser.tab.c" /* yacc.c:1648 */ +#line 3172 "parser.tab.c" /* yacc.c:1648 */ break; case 98: #line 518 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_DLLNAME, (yyvsp[-1].str)); } -#line 3163 "parser.tab.c" /* yacc.c:1648 */ +#line 3178 "parser.tab.c" /* yacc.c:1648 */ break; case 99: #line 519 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_DUAL); } -#line 3169 "parser.tab.c" /* yacc.c:1648 */ +#line 3184 "parser.tab.c" /* yacc.c:1648 */ break; case 100: #line 520 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_ENABLEALLOCATE); } -#line 3175 "parser.tab.c" /* yacc.c:1648 */ +#line 3190 "parser.tab.c" /* yacc.c:1648 */ break; case 101: #line 521 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_ENCODE); } -#line 3181 "parser.tab.c" /* yacc.c:1648 */ +#line 3196 "parser.tab.c" /* yacc.c:1648 */ break; case 102: #line 522 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_ENDPOINT, (yyvsp[-1].str_list)); } -#line 3187 "parser.tab.c" /* yacc.c:1648 */ +#line 3202 "parser.tab.c" /* yacc.c:1648 */ break; case 103: #line 523 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_ENTRY, (yyvsp[-1].expr)); } -#line 3193 "parser.tab.c" /* yacc.c:1648 */ +#line 3208 "parser.tab.c" /* yacc.c:1648 */ break; case 104: #line 524 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_EXPLICIT_HANDLE); } -#line 3199 "parser.tab.c" /* yacc.c:1648 */ +#line 3214 "parser.tab.c" /* yacc.c:1648 */ break; case 105: #line 525 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_FAULTSTATUS); } -#line 3205 "parser.tab.c" /* yacc.c:1648 */ +#line 3220 "parser.tab.c" /* yacc.c:1648 */ break; case 106: #line 526 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_FORCEALLOCATE); } -#line 3211 "parser.tab.c" /* yacc.c:1648 */ +#line 3226 "parser.tab.c" /* yacc.c:1648 */ break; case 107: #line 527 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_HANDLE); } -#line 3217 "parser.tab.c" /* yacc.c:1648 */ +#line 3232 "parser.tab.c" /* yacc.c:1648 */ break; case 108: #line 528 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_HELPCONTEXT, (yyvsp[-1].expr)); } -#line 3223 "parser.tab.c" /* yacc.c:1648 */ +#line 3238 "parser.tab.c" /* yacc.c:1648 */ break; case 109: #line 529 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_HELPFILE, (yyvsp[-1].str)); } -#line 3229 "parser.tab.c" /* yacc.c:1648 */ +#line 3244 "parser.tab.c" /* yacc.c:1648 */ break; case 110: #line 530 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_HELPSTRING, (yyvsp[-1].str)); } -#line 3235 "parser.tab.c" /* yacc.c:1648 */ +#line 3250 "parser.tab.c" /* yacc.c:1648 */ break; case 111: #line 531 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_HELPSTRINGCONTEXT, (yyvsp[-1].expr)); } -#line 3241 "parser.tab.c" /* yacc.c:1648 */ +#line 3256 "parser.tab.c" /* yacc.c:1648 */ break; case 112: #line 532 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_HELPSTRINGDLL, (yyvsp[-1].str)); } -#line 3247 "parser.tab.c" /* yacc.c:1648 */ +#line 3262 "parser.tab.c" /* yacc.c:1648 */ break; case 113: #line 533 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_HIDDEN); } -#line 3253 "parser.tab.c" /* yacc.c:1648 */ +#line 3268 "parser.tab.c" /* yacc.c:1648 */ break; case 114: #line 534 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_ID, (yyvsp[-1].expr)); } -#line 3259 "parser.tab.c" /* yacc.c:1648 */ +#line 3274 "parser.tab.c" /* yacc.c:1648 */ break; case 115: #line 535 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_IDEMPOTENT); } -#line 3265 "parser.tab.c" /* yacc.c:1648 */ +#line 3280 "parser.tab.c" /* yacc.c:1648 */ break; case 116: #line 536 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_IGNORE); } -#line 3271 "parser.tab.c" /* yacc.c:1648 */ +#line 3286 "parser.tab.c" /* yacc.c:1648 */ break; case 117: #line 537 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_IIDIS, (yyvsp[-1].expr)); } -#line 3277 "parser.tab.c" /* yacc.c:1648 */ +#line 3292 "parser.tab.c" /* yacc.c:1648 */ break; case 118: #line 538 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_IMMEDIATEBIND); } -#line 3283 "parser.tab.c" /* yacc.c:1648 */ +#line 3298 "parser.tab.c" /* yacc.c:1648 */ break; case 119: #line 539 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_IMPLICIT_HANDLE, (yyvsp[-1].var)); } -#line 3289 "parser.tab.c" /* yacc.c:1648 */ +#line 3304 "parser.tab.c" /* yacc.c:1648 */ break; case 120: #line 540 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_IN); } -#line 3295 "parser.tab.c" /* yacc.c:1648 */ +#line 3310 "parser.tab.c" /* yacc.c:1648 */ break; case 121: #line 541 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_INPUTSYNC); } -#line 3301 "parser.tab.c" /* yacc.c:1648 */ +#line 3316 "parser.tab.c" /* yacc.c:1648 */ break; case 122: #line 542 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_LENGTHIS, (yyvsp[-1].expr_list)); } -#line 3307 "parser.tab.c" /* yacc.c:1648 */ +#line 3322 "parser.tab.c" /* yacc.c:1648 */ break; case 123: #line 543 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_LIBLCID, (yyvsp[-1].expr)); } -#line 3313 "parser.tab.c" /* yacc.c:1648 */ +#line 3328 "parser.tab.c" /* yacc.c:1648 */ break; case 124: #line 544 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_PARAMLCID); } -#line 3319 "parser.tab.c" /* yacc.c:1648 */ +#line 3334 "parser.tab.c" /* yacc.c:1648 */ break; case 125: #line 545 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_LICENSED); } -#line 3325 "parser.tab.c" /* yacc.c:1648 */ +#line 3340 "parser.tab.c" /* yacc.c:1648 */ break; case 126: #line 546 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_LOCAL); } -#line 3331 "parser.tab.c" /* yacc.c:1648 */ +#line 3346 "parser.tab.c" /* yacc.c:1648 */ break; case 127: #line 547 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_MAYBE); } -#line 3337 "parser.tab.c" /* yacc.c:1648 */ +#line 3352 "parser.tab.c" /* yacc.c:1648 */ break; case 128: #line 548 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_MESSAGE); } -#line 3343 "parser.tab.c" /* yacc.c:1648 */ +#line 3358 "parser.tab.c" /* yacc.c:1648 */ break; case 129: #line 549 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_NOCODE); } -#line 3349 "parser.tab.c" /* yacc.c:1648 */ +#line 3364 "parser.tab.c" /* yacc.c:1648 */ break; case 130: #line 550 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_NONBROWSABLE); } -#line 3355 "parser.tab.c" /* yacc.c:1648 */ +#line 3370 "parser.tab.c" /* yacc.c:1648 */ break; case 131: #line 551 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_NONCREATABLE); } -#line 3361 "parser.tab.c" /* yacc.c:1648 */ +#line 3376 "parser.tab.c" /* yacc.c:1648 */ break; case 132: #line 552 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_NONEXTENSIBLE); } -#line 3367 "parser.tab.c" /* yacc.c:1648 */ +#line 3382 "parser.tab.c" /* yacc.c:1648 */ break; case 133: #line 553 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_NOTIFY); } -#line 3373 "parser.tab.c" /* yacc.c:1648 */ +#line 3388 "parser.tab.c" /* yacc.c:1648 */ break; case 134: #line 554 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_NOTIFYFLAG); } -#line 3379 "parser.tab.c" /* yacc.c:1648 */ +#line 3394 "parser.tab.c" /* yacc.c:1648 */ break; case 135: #line 555 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_OBJECT); } -#line 3385 "parser.tab.c" /* yacc.c:1648 */ +#line 3400 "parser.tab.c" /* yacc.c:1648 */ break; case 136: #line 556 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_ODL); } -#line 3391 "parser.tab.c" /* yacc.c:1648 */ +#line 3406 "parser.tab.c" /* yacc.c:1648 */ break; case 137: #line 557 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_OLEAUTOMATION); } -#line 3397 "parser.tab.c" /* yacc.c:1648 */ +#line 3412 "parser.tab.c" /* yacc.c:1648 */ break; case 138: #line 558 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_OPTIMIZE, (yyvsp[-1].str)); } -#line 3403 "parser.tab.c" /* yacc.c:1648 */ +#line 3418 "parser.tab.c" /* yacc.c:1648 */ break; case 139: #line 559 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_OPTIONAL); } -#line 3409 "parser.tab.c" /* yacc.c:1648 */ +#line 3424 "parser.tab.c" /* yacc.c:1648 */ break; case 140: #line 560 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_OUT); } -#line 3415 "parser.tab.c" /* yacc.c:1648 */ +#line 3430 "parser.tab.c" /* yacc.c:1648 */ break; case 141: #line 561 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_PARTIALIGNORE); } -#line 3421 "parser.tab.c" /* yacc.c:1648 */ +#line 3436 "parser.tab.c" /* yacc.c:1648 */ break; case 142: #line 562 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrv(ATTR_POINTERDEFAULT, (yyvsp[-1].num)); } -#line 3427 "parser.tab.c" /* yacc.c:1648 */ +#line 3442 "parser.tab.c" /* yacc.c:1648 */ break; case 143: #line 563 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_PROGID, (yyvsp[-1].str)); } -#line 3433 "parser.tab.c" /* yacc.c:1648 */ +#line 3448 "parser.tab.c" /* yacc.c:1648 */ break; case 144: #line 564 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_PROPGET); } -#line 3439 "parser.tab.c" /* yacc.c:1648 */ +#line 3454 "parser.tab.c" /* yacc.c:1648 */ break; case 145: #line 565 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_PROPPUT); } -#line 3445 "parser.tab.c" /* yacc.c:1648 */ +#line 3460 "parser.tab.c" /* yacc.c:1648 */ break; case 146: #line 566 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_PROPPUTREF); } -#line 3451 "parser.tab.c" /* yacc.c:1648 */ +#line 3466 "parser.tab.c" /* yacc.c:1648 */ break; case 147: #line 567 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_PROXY); } -#line 3457 "parser.tab.c" /* yacc.c:1648 */ +#line 3472 "parser.tab.c" /* yacc.c:1648 */ break; case 148: #line 568 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_PUBLIC); } -#line 3463 "parser.tab.c" /* yacc.c:1648 */ +#line 3478 "parser.tab.c" /* yacc.c:1648 */ break; case 149: @@ -3467,151 +3482,151 @@ { 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 3471 "parser.tab.c" /* yacc.c:1648 */ +#line 3486 "parser.tab.c" /* yacc.c:1648 */ break; case 150: #line 573 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_READONLY); } -#line 3477 "parser.tab.c" /* yacc.c:1648 */ +#line 3492 "parser.tab.c" /* yacc.c:1648 */ break; case 151: #line 574 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_REPRESENTAS, (yyvsp[-1].type)); } -#line 3483 "parser.tab.c" /* yacc.c:1648 */ +#line 3498 "parser.tab.c" /* yacc.c:1648 */ break; case 152: #line 575 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_REQUESTEDIT); } -#line 3489 "parser.tab.c" /* yacc.c:1648 */ +#line 3504 "parser.tab.c" /* yacc.c:1648 */ break; case 153: #line 576 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_RESTRICTED); } -#line 3495 "parser.tab.c" /* yacc.c:1648 */ +#line 3510 "parser.tab.c" /* yacc.c:1648 */ break; case 154: #line 577 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_RETVAL); } -#line 3501 "parser.tab.c" /* yacc.c:1648 */ +#line 3516 "parser.tab.c" /* yacc.c:1648 */ break; case 155: #line 578 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_SIZEIS, (yyvsp[-1].expr_list)); } -#line 3507 "parser.tab.c" /* yacc.c:1648 */ +#line 3522 "parser.tab.c" /* yacc.c:1648 */ break; case 156: #line 579 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_SOURCE); } -#line 3513 "parser.tab.c" /* yacc.c:1648 */ +#line 3528 "parser.tab.c" /* yacc.c:1648 */ break; case 157: #line 580 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_STRICTCONTEXTHANDLE); } -#line 3519 "parser.tab.c" /* yacc.c:1648 */ +#line 3534 "parser.tab.c" /* yacc.c:1648 */ break; case 158: #line 581 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_STRING); } -#line 3525 "parser.tab.c" /* yacc.c:1648 */ +#line 3540 "parser.tab.c" /* yacc.c:1648 */ break; case 159: #line 582 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_SWITCHIS, (yyvsp[-1].expr)); } -#line 3531 "parser.tab.c" /* yacc.c:1648 */ +#line 3546 "parser.tab.c" /* yacc.c:1648 */ break; case 160: #line 583 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_SWITCHTYPE, (yyvsp[-1].type)); } -#line 3537 "parser.tab.c" /* yacc.c:1648 */ +#line 3552 "parser.tab.c" /* yacc.c:1648 */ break; case 161: #line 584 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_TRANSMITAS, (yyvsp[-1].type)); } -#line 3543 "parser.tab.c" /* yacc.c:1648 */ +#line 3558 "parser.tab.c" /* yacc.c:1648 */ break; case 162: #line 585 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrv(ATTR_THREADING, (yyvsp[-1].num)); } -#line 3549 "parser.tab.c" /* yacc.c:1648 */ +#line 3564 "parser.tab.c" /* yacc.c:1648 */ break; case 163: #line 586 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_UIDEFAULT); } -#line 3555 "parser.tab.c" /* yacc.c:1648 */ +#line 3570 "parser.tab.c" /* yacc.c:1648 */ break; case 164: #line 587 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_USESGETLASTERROR); } -#line 3561 "parser.tab.c" /* yacc.c:1648 */ +#line 3576 "parser.tab.c" /* yacc.c:1648 */ break; case 165: #line 588 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_USERMARSHAL, (yyvsp[-1].type)); } -#line 3567 "parser.tab.c" /* yacc.c:1648 */ +#line 3582 "parser.tab.c" /* yacc.c:1648 */ break; case 166: #line 589 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_UUID, (yyvsp[-1].uuid)); } -#line 3573 "parser.tab.c" /* yacc.c:1648 */ +#line 3588 "parser.tab.c" /* yacc.c:1648 */ break; case 167: #line 590 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_ASYNCUUID, (yyvsp[-1].uuid)); } -#line 3579 "parser.tab.c" /* yacc.c:1648 */ +#line 3594 "parser.tab.c" /* yacc.c:1648 */ break; case 168: #line 591 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_V1ENUM); } -#line 3585 "parser.tab.c" /* yacc.c:1648 */ +#line 3600 "parser.tab.c" /* yacc.c:1648 */ break; case 169: #line 592 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attr(ATTR_VARARG); } -#line 3591 "parser.tab.c" /* yacc.c:1648 */ +#line 3606 "parser.tab.c" /* yacc.c:1648 */ break; case 170: #line 593 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrv(ATTR_VERSION, (yyvsp[-1].num)); } -#line 3597 "parser.tab.c" /* yacc.c:1648 */ +#line 3612 "parser.tab.c" /* yacc.c:1648 */ break; case 171: #line 594 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_VIPROGID, (yyvsp[-1].str)); } -#line 3603 "parser.tab.c" /* yacc.c:1648 */ +#line 3618 "parser.tab.c" /* yacc.c:1648 */ break; case 172: #line 595 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrp(ATTR_WIREMARSHAL, (yyvsp[-1].type)); } -#line 3609 "parser.tab.c" /* yacc.c:1648 */ +#line 3624 "parser.tab.c" /* yacc.c:1648 */ break; case 173: #line 596 "parser.y" /* yacc.c:1648 */ { (yyval.attr) = make_attrv(ATTR_POINTERTYPE, (yyvsp[0].num)); } -#line 3615 "parser.tab.c" /* yacc.c:1648 */ +#line 3630 "parser.tab.c" /* yacc.c:1648 */ break; case 175: @@ -3619,43 +3634,43 @@ { if (!is_valid_uuid((yyvsp[0].str))) error_loc("invalid UUID: %s\n", (yyvsp[0].str)); (yyval.uuid) = parse_uuid((yyvsp[0].str)); } -#line 3623 "parser.tab.c" /* yacc.c:1648 */ +#line 3638 "parser.tab.c" /* yacc.c:1648 */ break; case 176: #line 606 "parser.y" /* yacc.c:1648 */ { (yyval.str) = xstrdup("__cdecl"); } -#line 3629 "parser.tab.c" /* yacc.c:1648 */ +#line 3644 "parser.tab.c" /* yacc.c:1648 */ break; case 177: #line 607 "parser.y" /* yacc.c:1648 */ { (yyval.str) = xstrdup("__fastcall"); } -#line 3635 "parser.tab.c" /* yacc.c:1648 */ +#line 3650 "parser.tab.c" /* yacc.c:1648 */ break; case 178: #line 608 "parser.y" /* yacc.c:1648 */ { (yyval.str) = xstrdup("__pascal"); } -#line 3641 "parser.tab.c" /* yacc.c:1648 */ +#line 3656 "parser.tab.c" /* yacc.c:1648 */ break; case 179: #line 609 "parser.y" /* yacc.c:1648 */ { (yyval.str) = xstrdup("__stdcall"); } -#line 3647 "parser.tab.c" /* yacc.c:1648 */ +#line 3662 "parser.tab.c" /* yacc.c:1648 */ break; case 180: #line 612 "parser.y" /* yacc.c:1648 */ { (yyval.var_list) = NULL; } -#line 3653 "parser.tab.c" /* yacc.c:1648 */ +#line 3668 "parser.tab.c" /* yacc.c:1648 */ break; case 181: #line 613 "parser.y" /* yacc.c:1648 */ { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); } -#line 3659 "parser.tab.c" /* yacc.c:1648 */ +#line 3674 "parser.tab.c" /* yacc.c:1648 */ break; case 182: @@ -3664,7 +3679,7 @@ (yyval.var) = (yyvsp[0].var); if (!(yyval.var)) (yyval.var) = make_var(NULL); (yyval.var)->attrs = append_attr( (yyval.var)->attrs, a ); } -#line 3668 "parser.tab.c" /* yacc.c:1648 */ +#line 3683 "parser.tab.c" /* yacc.c:1648 */ break; case 183: @@ -3673,19 +3688,19 @@ (yyval.var) = (yyvsp[0].var); if (!(yyval.var)) (yyval.var) = make_var(NULL); (yyval.var)->attrs = append_attr( (yyval.var)->attrs, a ); } -#line 3677 "parser.tab.c" /* yacc.c:1648 */ +#line 3692 "parser.tab.c" /* yacc.c:1648 */ break; case 184: #line 626 "parser.y" /* yacc.c:1648 */ { (yyval.var_list) = NULL; } -#line 3683 "parser.tab.c" /* yacc.c:1648 */ +#line 3698 "parser.tab.c" /* yacc.c:1648 */ break; case 185: #line 627 "parser.y" /* yacc.c:1648 */ { (yyval.var_list) = (yyvsp[-1].var_list); } -#line 3689 "parser.tab.c" /* yacc.c:1648 */ +#line 3704 "parser.tab.c" /* yacc.c:1648 */ break; case 187: @@ -3694,7 +3709,7 @@ (yyvsp[0].var)->eval = make_exprl(EXPR_NUM, 0 /* default for first enum entry */); (yyval.var_list) = append_var( NULL, (yyvsp[0].var) ); } -#line 3698 "parser.tab.c" /* yacc.c:1648 */ +#line 3713 "parser.tab.c" /* yacc.c:1648 */ break; case 188: @@ -3709,7 +3724,7 @@ } (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) ); } -#line 3713 "parser.tab.c" /* yacc.c:1648 */ +#line 3728 "parser.tab.c" /* yacc.c:1648 */ break; case 189: @@ -3718,7 +3733,7 @@ (yyval.var)->eval = (yyvsp[0].expr); (yyval.var)->type = type_new_int(TYPE_BASIC_INT, 0); } -#line 3722 "parser.tab.c" /* yacc.c:1648 */ +#line 3737 "parser.tab.c" /* yacc.c:1648 */ break; case 190: @@ -3726,289 +3741,289 @@ { (yyval.var) = reg_const((yyvsp[0].var)); (yyval.var)->type = type_new_int(TYPE_BASIC_INT, 0); } -#line 3730 "parser.tab.c" /* yacc.c:1648 */ +#line 3745 "parser.tab.c" /* yacc.c:1648 */ break; case 191: #line 656 "parser.y" /* yacc.c:1648 */ { (yyval.type) = type_new_enum((yyvsp[-3].str), current_namespace, TRUE, (yyvsp[-1].var_list)); } -#line 3736 "parser.tab.c" /* yacc.c:1648 */ +#line 3751 "parser.tab.c" /* yacc.c:1648 */ break; case 192: #line 659 "parser.y" /* yacc.c:1648 */ { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); } -#line 3742 "parser.tab.c" /* yacc.c:1648 */ +#line 3757 "parser.tab.c" /* yacc.c:1648 */ break; case 193: #line 660 "parser.y" /* yacc.c:1648 */ { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); } -#line 3748 "parser.tab.c" /* yacc.c:1648 */ +#line 3763 "parser.tab.c" /* yacc.c:1648 */ break; case 194: #line 663 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr(EXPR_VOID); } -#line 3754 "parser.tab.c" /* yacc.c:1648 */ +#line 3769 "parser.tab.c" /* yacc.c:1648 */ break; case 196: #line 667 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_exprl(EXPR_NUM, (yyvsp[0].num)); } -#line 3760 "parser.tab.c" /* yacc.c:1648 */ +#line 3775 "parser.tab.c" /* yacc.c:1648 */ break; case 197: #line 668 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_exprl(EXPR_HEXNUM, (yyvsp[0].num)); } -#line 3766 "parser.tab.c" /* yacc.c:1648 */ +#line 3781 "parser.tab.c" /* yacc.c:1648 */ break; case 198: #line 669 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_exprd(EXPR_DOUBLE, (yyvsp[0].dbl)); } -#line 3772 "parser.tab.c" /* yacc.c:1648 */ +#line 3787 "parser.tab.c" /* yacc.c:1648 */ break; case 199: #line 670 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 0); } -#line 3778 "parser.tab.c" /* yacc.c:1648 */ +#line 3793 "parser.tab.c" /* yacc.c:1648 */ break; case 200: #line 671 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_exprl(EXPR_NUM, 0); } -#line 3784 "parser.tab.c" /* yacc.c:1648 */ +#line 3799 "parser.tab.c" /* yacc.c:1648 */ break; case 201: #line 672 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 1); } -#line 3790 "parser.tab.c" /* yacc.c:1648 */ +#line 3805 "parser.tab.c" /* yacc.c:1648 */ break; case 202: #line 673 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_exprs(EXPR_STRLIT, (yyvsp[0].str)); } -#line 3796 "parser.tab.c" /* yacc.c:1648 */ +#line 3811 "parser.tab.c" /* yacc.c:1648 */ break; case 203: #line 674 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_exprs(EXPR_WSTRLIT, (yyvsp[0].str)); } -#line 3802 "parser.tab.c" /* yacc.c:1648 */ +#line 3817 "parser.tab.c" /* yacc.c:1648 */ break; case 204: #line 675 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_exprs(EXPR_CHARCONST, (yyvsp[0].str)); } -#line 3808 "parser.tab.c" /* yacc.c:1648 */ +#line 3823 "parser.tab.c" /* yacc.c:1648 */ break; case 205: #line 676 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str)); } -#line 3814 "parser.tab.c" /* yacc.c:1648 */ +#line 3829 "parser.tab.c" /* yacc.c:1648 */ break; case 206: #line 677 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr3(EXPR_COND, (yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3820 "parser.tab.c" /* yacc.c:1648 */ +#line 3835 "parser.tab.c" /* yacc.c:1648 */ break; case 207: #line 678 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_LOGOR, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3826 "parser.tab.c" /* yacc.c:1648 */ +#line 3841 "parser.tab.c" /* yacc.c:1648 */ break; case 208: #line 679 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_LOGAND, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3832 "parser.tab.c" /* yacc.c:1648 */ +#line 3847 "parser.tab.c" /* yacc.c:1648 */ break; case 209: #line 680 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_OR , (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3838 "parser.tab.c" /* yacc.c:1648 */ +#line 3853 "parser.tab.c" /* yacc.c:1648 */ break; case 210: #line 681 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_XOR, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3844 "parser.tab.c" /* yacc.c:1648 */ +#line 3859 "parser.tab.c" /* yacc.c:1648 */ break; case 211: #line 682 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_AND, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3850 "parser.tab.c" /* yacc.c:1648 */ +#line 3865 "parser.tab.c" /* yacc.c:1648 */ break; case 212: #line 683 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_EQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3856 "parser.tab.c" /* yacc.c:1648 */ +#line 3871 "parser.tab.c" /* yacc.c:1648 */ break; case 213: #line 684 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_INEQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3862 "parser.tab.c" /* yacc.c:1648 */ +#line 3877 "parser.tab.c" /* yacc.c:1648 */ break; case 214: #line 685 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_GTR, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3868 "parser.tab.c" /* yacc.c:1648 */ +#line 3883 "parser.tab.c" /* yacc.c:1648 */ break; case 215: #line 686 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_LESS, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3874 "parser.tab.c" /* yacc.c:1648 */ +#line 3889 "parser.tab.c" /* yacc.c:1648 */ break; case 216: #line 687 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_GTREQL, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3880 "parser.tab.c" /* yacc.c:1648 */ +#line 3895 "parser.tab.c" /* yacc.c:1648 */ break; case 217: #line 688 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_LESSEQL, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3886 "parser.tab.c" /* yacc.c:1648 */ +#line 3901 "parser.tab.c" /* yacc.c:1648 */ break; case 218: #line 689 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_SHL, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3892 "parser.tab.c" /* yacc.c:1648 */ +#line 3907 "parser.tab.c" /* yacc.c:1648 */ break; case 219: #line 690 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_SHR, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3898 "parser.tab.c" /* yacc.c:1648 */ +#line 3913 "parser.tab.c" /* yacc.c:1648 */ break; case 220: #line 691 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_ADD, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3904 "parser.tab.c" /* yacc.c:1648 */ +#line 3919 "parser.tab.c" /* yacc.c:1648 */ break; case 221: #line 692 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_SUB, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3910 "parser.tab.c" /* yacc.c:1648 */ +#line 3925 "parser.tab.c" /* yacc.c:1648 */ break; case 222: #line 693 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_MOD, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3916 "parser.tab.c" /* yacc.c:1648 */ +#line 3931 "parser.tab.c" /* yacc.c:1648 */ break; case 223: #line 694 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_MUL, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3922 "parser.tab.c" /* yacc.c:1648 */ +#line 3937 "parser.tab.c" /* yacc.c:1648 */ break; case 224: #line 695 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_DIV, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3928 "parser.tab.c" /* yacc.c:1648 */ +#line 3943 "parser.tab.c" /* yacc.c:1648 */ break; case 225: #line 696 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr1(EXPR_LOGNOT, (yyvsp[0].expr)); } -#line 3934 "parser.tab.c" /* yacc.c:1648 */ +#line 3949 "parser.tab.c" /* yacc.c:1648 */ break; case 226: #line 697 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr1(EXPR_NOT, (yyvsp[0].expr)); } -#line 3940 "parser.tab.c" /* yacc.c:1648 */ +#line 3955 "parser.tab.c" /* yacc.c:1648 */ break; case 227: #line 698 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr1(EXPR_POS, (yyvsp[0].expr)); } -#line 3946 "parser.tab.c" /* yacc.c:1648 */ +#line 3961 "parser.tab.c" /* yacc.c:1648 */ break; case 228: #line 699 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr1(EXPR_NEG, (yyvsp[0].expr)); } -#line 3952 "parser.tab.c" /* yacc.c:1648 */ +#line 3967 "parser.tab.c" /* yacc.c:1648 */ break; case 229: #line 700 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr1(EXPR_ADDRESSOF, (yyvsp[0].expr)); } -#line 3958 "parser.tab.c" /* yacc.c:1648 */ +#line 3973 "parser.tab.c" /* yacc.c:1648 */ break; case 230: #line 701 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr1(EXPR_PPTR, (yyvsp[0].expr)); } -#line 3964 "parser.tab.c" /* yacc.c:1648 */ +#line 3979 "parser.tab.c" /* yacc.c:1648 */ break; case 231: #line 702 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_MEMBER, make_expr1(EXPR_PPTR, (yyvsp[-2].expr)), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); } -#line 3970 "parser.tab.c" /* yacc.c:1648 */ +#line 3985 "parser.tab.c" /* yacc.c:1648 */ break; case 232: #line 703 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_MEMBER, (yyvsp[-2].expr), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); } -#line 3976 "parser.tab.c" /* yacc.c:1648 */ +#line 3991 "parser.tab.c" /* yacc.c:1648 */ break; case 233: #line 705 "parser.y" /* yacc.c:1648 */ { (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 3982 "parser.tab.c" /* yacc.c:1648 */ +#line 3997 "parser.tab.c" /* yacc.c:1648 */ break; case 234: #line 707 "parser.y" /* yacc.c:1648 */ { (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 3988 "parser.tab.c" /* yacc.c:1648 */ +#line 4003 "parser.tab.c" /* yacc.c:1648 */ break; case 235: #line 708 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = make_expr2(EXPR_ARRAY, (yyvsp[-3].expr), (yyvsp[-1].expr)); } -#line 3994 "parser.tab.c" /* yacc.c:1648 */ +#line 4009 "parser.tab.c" /* yacc.c:1648 */ break; case 236: #line 709 "parser.y" /* yacc.c:1648 */ { (yyval.expr) = (yyvsp[-1].expr); } -#line 4000 "parser.tab.c" /* yacc.c:1648 */ +#line 4015 "parser.tab.c" /* yacc.c:1648 */ break; case 237: #line 712 "parser.y" /* yacc.c:1648 */ { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); } -#line 4006 "parser.tab.c" /* yacc.c:1648 */ +#line 4021 "parser.tab.c" /* yacc.c:1648 */ break; case 238: #line 713 "parser.y" /* yacc.c:1648 */ { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); } -#line 4012 "parser.tab.c" /* yacc.c:1648 */ +#line 4027 "parser.tab.c" /* yacc.c:1648 */ break; case 239: @@ -4017,7 +4032,7 @@ if (!(yyval.expr)->is_const) error_loc("expression is not an integer constant\n"); } -#line 4021 "parser.tab.c" /* yacc.c:1648 */ +#line 4036 "parser.tab.c" /* yacc.c:1648 */ break; case 240: @@ -4026,19 +4041,19 @@ if (!(yyval.expr)->is_const && (yyval.expr)->type != EXPR_STRLIT && (yyval.expr)->type != EXPR_WSTRLIT) error_loc("expression is not constant\n"); } -#line 4030 "parser.tab.c" /* yacc.c:1648 */ +#line 4045 "parser.tab.c" /* yacc.c:1648 */ break; case 241: #line 728 "parser.y" /* yacc.c:1648 */ { (yyval.var_list) = NULL; } -#line 4036 "parser.tab.c" /* yacc.c:1648 */ +#line 4051 "parser.tab.c" /* yacc.c:1648 */ break; case 242: #line 729 "parser.y" /* yacc.c:1648 */ { (yyval.var_list) = append_var_list((yyvsp[-1].var_list), (yyvsp[0].var_list)); } -#line 4042 "parser.tab.c" /* yacc.c:1648 */ +#line 4057 "parser.tab.c" /* yacc.c:1648 */ break; case 243: @@ -4047,7 +4062,7 @@ 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 4051 "parser.tab.c" /* yacc.c:1648 */ +#line 4066 "parser.tab.c" /* yacc.c:1648 */ break; case 244: @@ -4056,43 +4071,43 @@ v->type = (yyvsp[-1].type); v->attrs = (yyvsp[-2].attr_list); (yyval.var_list) = append_var(NULL, v); } -#line 4060 "parser.tab.c" /* yacc.c:1648 */ +#line 4075 "parser.tab.c" /* yacc.c:1648 */ break; case 245: #line 744 "parser.y" /* yacc.c:1648 */ { (yyval.var) = (yyvsp[-1].var); } -#line 4066 "parser.tab.c" /* yacc.c:1648 */ +#line 4081 "parser.tab.c" /* yacc.c:1648 */ break; case 246: #line 745 "parser.y" /* yacc.c:1648 */ { (yyval.var) = make_var(NULL); (yyval.var)->attrs = (yyvsp[-1].attr_list); } -#line 4072 "parser.tab.c" /* yacc.c:1648 */ +#line 4087 "parser.tab.c" /* yacc.c:1648 */ break; case 247: #line 748 "parser.y" /* yacc.c:1648 */ { (yyval.var_list) = NULL; } -#line 4078 "parser.tab.c" /* yacc.c:1648 */ +#line 4093 "parser.tab.c" /* yacc.c:1648 */ break; case 248: #line 749 "parser.y" /* yacc.c:1648 */ { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); } -#line 4084 "parser.tab.c" /* yacc.c:1648 */ +#line 4099 "parser.tab.c" /* yacc.c:1648 */ break; case 249: #line 753 "parser.y" /* yacc.c:1648 */ { (yyval.var) = (yyvsp[-1].var); } -#line 4090 "parser.tab.c" /* yacc.c:1648 */ +#line 4105 "parser.tab.c" /* yacc.c:1648 */ break; case 250: #line 754 "parser.y" /* yacc.c:1648 */ { (yyval.var) = NULL; } -#line 4096 "parser.tab.c" /* yacc.c:1648 */ +#line 4111 "parser.tab.c" /* yacc.c:1648 */ break; case 251: @@ -4101,7 +4116,7 @@ (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE); free((yyvsp[0].declarator)); } -#line 4105 "parser.tab.c" /* yacc.c:1648 */ +#line 4120 "parser.tab.c" /* yacc.c:1648 */ break; case 252: @@ -4110,7 +4125,7 @@ v->type = (yyvsp[0].type); v->attrs = (yyvsp[-1].attr_list); (yyval.var) = v; } -#line 4114 "parser.tab.c" /* yacc.c:1648 */ +#line 4129 "parser.tab.c" /* yacc.c:1648 */ break; case 253: @@ -4120,7 +4135,7 @@ 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 4124 "parser.tab.c" /* yacc.c:1648 */ +#line 4139 "parser.tab.c" /* yacc.c:1648 */ break; case 254: @@ -4128,7 +4143,7 @@ { (yyval.var) = declare_var((yyvsp[-2].attr_list), (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE); free((yyvsp[0].declarator)); } -#line 4132 "parser.tab.c" /* yacc.c:1648 */ +#line 4147 "parser.tab.c" /* yacc.c:1648 */ break; case 255: @@ -4136,223 +4151,229 @@ { (yyval.var) = declare_var(NULL, (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE); free((yyvsp[0].declarator)); } -#line 4140 "parser.tab.c" /* yacc.c:1648 */ +#line 4155 "parser.tab.c" /* yacc.c:1648 */ break; case 256: #line 784 "parser.y" /* yacc.c:1648 */ { (yyval.var) = NULL; } -#line 4146 "parser.tab.c" /* yacc.c:1648 */ +#line 4161 "parser.tab.c" /* yacc.c:1648 */ break; case 258: #line 788 "parser.y" /* yacc.c:1648 */ { (yyval.str) = NULL; } -#line 4152 "parser.tab.c" /* yacc.c:1648 */ +#line 4167 "parser.tab.c" /* yacc.c:1648 */ break; case 259: #line 789 "parser.y" /* yacc.c:1648 */ { (yyval.str) = (yyvsp[0].str); } -#line 4158 "parser.tab.c" /* yacc.c:1648 */ +#line 4173 "parser.tab.c" /* yacc.c:1648 */ break; case 260: #line 790 "parser.y" /* yacc.c:1648 */ { (yyval.str) = (yyvsp[0].str); } -#line 4164 "parser.tab.c" /* yacc.c:1648 */ +#line 4179 "parser.tab.c" /* yacc.c:1648 */ break; case 261: #line 793 "parser.y" /* yacc.c:1648 */ { (yyval.var) = make_var((yyvsp[0].str)); } -#line 4170 "parser.tab.c" /* yacc.c:1648 */ +#line 4185 "parser.tab.c" /* yacc.c:1648 */ break; case 262: #line 795 "parser.y" /* yacc.c:1648 */ { (yyval.var) = make_var((yyvsp[0].str)); } -#line 4176 "parser.tab.c" /* yacc.c:1648 */ +#line 4191 "parser.tab.c" /* yacc.c:1648 */ break; case 263: #line 798 "parser.y" /* yacc.c:1648 */ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4182 "parser.tab.c" /* yacc.c:1648 */ +#line 4197 "parser.tab.c" /* yacc.c:1648 */ break; case 264: #line 799 "parser.y" /* yacc.c:1648 */ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4188 "parser.tab.c" /* yacc.c:1648 */ +#line 4203 "parser.tab.c" /* yacc.c:1648 */ break; case 266: #line 801 "parser.y" /* yacc.c:1648 */ { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), -1); } -#line 4194 "parser.tab.c" /* yacc.c:1648 */ +#line 4209 "parser.tab.c" /* yacc.c:1648 */ break; case 267: #line 802 "parser.y" /* yacc.c:1648 */ { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), 1); } -#line 4200 "parser.tab.c" /* yacc.c:1648 */ +#line 4215 "parser.tab.c" /* yacc.c:1648 */ break; case 268: #line 803 "parser.y" /* yacc.c:1648 */ { (yyval.type) = type_new_int(TYPE_BASIC_INT, 1); } -#line 4206 "parser.tab.c" /* yacc.c:1648 */ +#line 4221 "parser.tab.c" /* yacc.c:1648 */ break; case 269: #line 804 "parser.y" /* yacc.c:1648 */ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4212 "parser.tab.c" /* yacc.c:1648 */ +#line 4227 "parser.tab.c" /* yacc.c:1648 */ break; case 270: #line 805 "parser.y" /* yacc.c:1648 */ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4218 "parser.tab.c" /* yacc.c:1648 */ +#line 4233 "parser.tab.c" /* yacc.c:1648 */ break; case 271: #line 806 "parser.y" /* yacc.c:1648 */ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4224 "parser.tab.c" /* yacc.c:1648 */ +#line 4239 "parser.tab.c" /* yacc.c:1648 */ break; case 272: #line 807 "parser.y" /* yacc.c:1648 */ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4230 "parser.tab.c" /* yacc.c:1648 */ +#line 4245 "parser.tab.c" /* yacc.c:1648 */ break; case 273: #line 808 "parser.y" /* yacc.c:1648 */ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4236 "parser.tab.c" /* yacc.c:1648 */ +#line 4251 "parser.tab.c" /* yacc.c:1648 */ break; case 276: #line 815 "parser.y" /* yacc.c:1648 */ { (yyval.type) = type_new_int(TYPE_BASIC_INT, 0); } -#line 4242 "parser.tab.c" /* yacc.c:1648 */ +#line 4257 "parser.tab.c" /* yacc.c:1648 */ break; case 277: #line 816 "parser.y" /* yacc.c:1648 */ { (yyval.type) = type_new_int(TYPE_BASIC_INT16, 0); } -#line 4248 "parser.tab.c" /* yacc.c:1648 */ +#line 4263 "parser.tab.c" /* yacc.c:1648 */ break; case 278: #line 817 "parser.y" /* yacc.c:1648 */ { (yyval.type) = type_new_int(TYPE_BASIC_INT8, 0); } -#line 4254 "parser.tab.c" /* yacc.c:1648 */ +#line 4269 "parser.tab.c" /* yacc.c:1648 */ break; case 279: #line 818 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = type_new_int(TYPE_BASIC_INT32, 0); } -#line 4260 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.type) = type_new_int(TYPE_BASIC_LONG, 0); } +#line 4275 "parser.tab.c" /* yacc.c:1648 */ break; case 280: #line 819 "parser.y" /* yacc.c:1648 */ { (yyval.type) = type_new_int(TYPE_BASIC_HYPER, 0); } -#line 4266 "parser.tab.c" /* yacc.c:1648 */ +#line 4281 "parser.tab.c" /* yacc.c:1648 */ break; case 281: #line 820 "parser.y" /* yacc.c:1648 */ { (yyval.type) = type_new_int(TYPE_BASIC_INT64, 0); } -#line 4272 "parser.tab.c" /* yacc.c:1648 */ +#line 4287 "parser.tab.c" /* yacc.c:1648 */ break; case 282: #line 821 "parser.y" /* yacc.c:1648 */ { (yyval.type) = type_new_int(TYPE_BASIC_CHAR, 0); } -#line 4278 "parser.tab.c" /* yacc.c:1648 */ +#line 4293 "parser.tab.c" /* yacc.c:1648 */ break; case 283: #line 822 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = type_new_int(TYPE_BASIC_INT3264, 0); } -#line 4284 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.type) = type_new_int(TYPE_BASIC_INT32, 0); } +#line 4299 "parser.tab.c" /* yacc.c:1648 */ break; case 284: -#line 825 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = type_new_coclass((yyvsp[0].str)); } -#line 4290 "parser.tab.c" /* yacc.c:1648 */ +#line 823 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = type_new_int(TYPE_BASIC_INT3264, 0); } +#line 4305 "parser.tab.c" /* yacc.c:1648 */ break; case 285: #line 826 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = type_new_coclass((yyvsp[0].str)); } +#line 4311 "parser.tab.c" /* yacc.c:1648 */ + break; + + case 286: +#line 827 "parser.y" /* yacc.c:1648 */ { (yyval.type) = find_type((yyvsp[0].str), NULL, 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 4301 "parser.tab.c" /* yacc.c:1648 */ +#line 4322 "parser.tab.c" /* yacc.c:1648 */ break; - case 286: -#line 834 "parser.y" /* yacc.c:1648 */ + case 287: +#line 835 "parser.y" /* yacc.c:1648 */ { (yyval.type) = (yyvsp[0].type); check_def((yyval.type)); (yyval.type)->attrs = check_coclass_attrs((yyvsp[0].type)->name, (yyvsp[-1].attr_list)); } -#line 4310 "parser.tab.c" /* yacc.c:1648 */ - break; - - case 287: -#line 841 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = type_coclass_define((yyvsp[-4].type), (yyvsp[-2].ifref_list)); } -#line 4316 "parser.tab.c" /* yacc.c:1648 */ +#line 4331 "parser.tab.c" /* yacc.c:1648 */ break; case 288: -#line 844 "parser.y" /* yacc.c:1648 */ - { (yyval.str) = (yyvsp[0].str); } -#line 4322 "parser.tab.c" /* yacc.c:1648 */ +#line 842 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = type_coclass_define((yyvsp[-4].type), (yyvsp[-2].ifref_list)); } +#line 4337 "parser.tab.c" /* yacc.c:1648 */ break; case 289: -#line 847 "parser.y" /* yacc.c:1648 */ - { (yyval.ifref_list) = NULL; } -#line 4328 "parser.tab.c" /* yacc.c:1648 */ +#line 845 "parser.y" /* yacc.c:1648 */ + { (yyval.str) = (yyvsp[0].str); } +#line 4343 "parser.tab.c" /* yacc.c:1648 */ break; case 290: #line 848 "parser.y" /* yacc.c:1648 */ - { (yyval.ifref_list) = append_ifref( (yyvsp[-1].ifref_list), (yyvsp[0].ifref) ); } -#line 4334 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.ifref_list) = NULL; } +#line 4349 "parser.tab.c" /* yacc.c:1648 */ break; case 291: -#line 852 "parser.y" /* yacc.c:1648 */ - { (yyval.ifref) = make_ifref((yyvsp[0].type)); (yyval.ifref)->attrs = (yyvsp[-1].attr_list); } -#line 4340 "parser.tab.c" /* yacc.c:1648 */ +#line 849 "parser.y" /* yacc.c:1648 */ + { (yyval.ifref_list) = append_ifref( (yyvsp[-1].ifref_list), (yyvsp[0].ifref) ); } +#line 4355 "parser.tab.c" /* yacc.c:1648 */ break; case 292: -#line 855 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); } -#line 4346 "parser.tab.c" /* yacc.c:1648 */ +#line 853 "parser.y" /* yacc.c:1648 */ + { (yyval.ifref) = make_ifref((yyvsp[0].type)); (yyval.ifref)->attrs = (yyvsp[-1].attr_list); } +#line 4361 "parser.tab.c" /* yacc.c:1648 */ break; case 293: #line 856 "parser.y" /* yacc.c:1648 */ { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); } -#line 4352 "parser.tab.c" /* yacc.c:1648 */ +#line 4367 "parser.tab.c" /* yacc.c:1648 */ break; case 294: -#line 859 "parser.y" /* yacc.c:1648 */ +#line 857 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); } +#line 4373 "parser.tab.c" /* yacc.c:1648 */ + break; + + case 295: +#line 860 "parser.y" /* yacc.c:1648 */ { attr_t *attrs; (yyval.type) = (yyvsp[0].type); check_def((yyval.type)); @@ -4360,75 +4381,75 @@ (yyval.type)->attrs = append_attr( check_dispiface_attrs((yyvsp[0].type)->name, (yyvsp[-1].attr_list)), attrs ); (yyval.type)->defined = TRUE; } -#line 4364 "parser.tab.c" /* yacc.c:1648 */ - break; - - case 295: -#line 868 "parser.y" /* yacc.c:1648 */ - { (yyval.var_list) = NULL; } -#line 4370 "parser.tab.c" /* yacc.c:1648 */ +#line 4385 "parser.tab.c" /* yacc.c:1648 */ break; case 296: #line 869 "parser.y" /* yacc.c:1648 */ - { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); } -#line 4376 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.var_list) = NULL; } +#line 4391 "parser.tab.c" /* yacc.c:1648 */ break; case 297: -#line 872 "parser.y" /* yacc.c:1648 */ - { (yyval.var_list) = NULL; } -#line 4382 "parser.tab.c" /* yacc.c:1648 */ +#line 870 "parser.y" /* yacc.c:1648 */ + { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); } +#line 4397 "parser.tab.c" /* yacc.c:1648 */ break; case 298: #line 873 "parser.y" /* yacc.c:1648 */ - { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); } -#line 4388 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.var_list) = NULL; } +#line 4403 "parser.tab.c" /* yacc.c:1648 */ break; case 299: -#line 879 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = (yyvsp[-4].type); - type_dispinterface_define((yyval.type), (yyvsp[-2].var_list), (yyvsp[-1].var_list)); - } -#line 4396 "parser.tab.c" /* yacc.c:1648 */ +#line 874 "parser.y" /* yacc.c:1648 */ + { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); } +#line 4409 "parser.tab.c" /* yacc.c:1648 */ break; case 300: -#line 883 "parser.y" /* yacc.c:1648 */ +#line 880 "parser.y" /* yacc.c:1648 */ { (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 4404 "parser.tab.c" /* yacc.c:1648 */ +#line 4417 "parser.tab.c" /* yacc.c:1648 */ break; case 301: -#line 888 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = NULL; } -#line 4410 "parser.tab.c" /* yacc.c:1648 */ +#line 884 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = (yyvsp[-4].type); + type_dispinterface_define_from_iface((yyval.type), (yyvsp[-2].type)); + } +#line 4425 "parser.tab.c" /* yacc.c:1648 */ break; case 302: #line 889 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = find_type_or_error2((yyvsp[0].str), 0); } -#line 4416 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.type) = NULL; } +#line 4431 "parser.tab.c" /* yacc.c:1648 */ break; case 303: -#line 892 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); } -#line 4422 "parser.tab.c" /* yacc.c:1648 */ +#line 890 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = find_type_or_error2((yyvsp[0].str), 0); } +#line 4437 "parser.tab.c" /* yacc.c:1648 */ break; case 304: #line 893 "parser.y" /* yacc.c:1648 */ { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); } -#line 4428 "parser.tab.c" /* yacc.c:1648 */ +#line 4443 "parser.tab.c" /* yacc.c:1648 */ break; case 305: -#line 896 "parser.y" /* yacc.c:1648 */ +#line 894 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); } +#line 4449 "parser.tab.c" /* yacc.c:1648 */ + break; + + case 306: +#line 897 "parser.y" /* yacc.c:1648 */ { (yyval.ifinfo).interface = (yyvsp[0].type); (yyval.ifinfo).old_pointer_default = pointer_default; if (is_attr((yyvsp[-1].attr_list), ATTR_POINTERDEFAULT)) @@ -4437,545 +4458,545 @@ (yyvsp[0].type)->attrs = check_iface_attrs((yyvsp[0].type)->name, (yyvsp[-1].attr_list)); (yyvsp[0].type)->defined = TRUE; } -#line 4441 "parser.tab.c" /* yacc.c:1648 */ +#line 4462 "parser.tab.c" /* yacc.c:1648 */ break; - case 306: -#line 907 "parser.y" /* yacc.c:1648 */ + case 307: +#line 908 "parser.y" /* yacc.c:1648 */ { (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 4452 "parser.tab.c" /* yacc.c:1648 */ +#line 4473 "parser.tab.c" /* yacc.c:1648 */ break; - case 307: -#line 917 "parser.y" /* yacc.c:1648 */ + case 308: +#line 918 "parser.y" /* yacc.c:1648 */ { (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 4461 "parser.tab.c" /* yacc.c:1648 */ - break; - - case 308: -#line 921 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = (yyvsp[-1].type); } -#line 4467 "parser.tab.c" /* yacc.c:1648 */ +#line 4482 "parser.tab.c" /* yacc.c:1648 */ break; case 309: -#line 925 "parser.y" /* yacc.c:1648 */ +#line 922 "parser.y" /* yacc.c:1648 */ { (yyval.type) = (yyvsp[-1].type); } -#line 4473 "parser.tab.c" /* yacc.c:1648 */ +#line 4488 "parser.tab.c" /* yacc.c:1648 */ break; case 310: #line 926 "parser.y" /* yacc.c:1648 */ { (yyval.type) = (yyvsp[-1].type); } -#line 4479 "parser.tab.c" /* yacc.c:1648 */ +#line 4494 "parser.tab.c" /* yacc.c:1648 */ break; case 311: -#line 929 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = type_new_module((yyvsp[0].str)); } -#line 4485 "parser.tab.c" /* yacc.c:1648 */ +#line 927 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = (yyvsp[-1].type); } +#line 4500 "parser.tab.c" /* yacc.c:1648 */ break; case 312: #line 930 "parser.y" /* yacc.c:1648 */ { (yyval.type) = type_new_module((yyvsp[0].str)); } -#line 4491 "parser.tab.c" /* yacc.c:1648 */ +#line 4506 "parser.tab.c" /* yacc.c:1648 */ break; case 313: -#line 933 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = (yyvsp[0].type); - (yyval.type)->attrs = check_module_attrs((yyvsp[0].type)->name, (yyvsp[-1].attr_list)); - } -#line 4499 "parser.tab.c" /* yacc.c:1648 */ +#line 931 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = type_new_module((yyvsp[0].str)); } +#line 4512 "parser.tab.c" /* yacc.c:1648 */ break; case 314: -#line 939 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = (yyvsp[-4].type); - type_module_define((yyval.type), (yyvsp[-2].stmt_list)); +#line 934 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = (yyvsp[0].type); + (yyval.type)->attrs = check_module_attrs((yyvsp[0].type)->name, (yyvsp[-1].attr_list)); } -#line 4507 "parser.tab.c" /* yacc.c:1648 */ +#line 4520 "parser.tab.c" /* yacc.c:1648 */ break; case 315: -#line 945 "parser.y" /* yacc.c:1648 */ - { (yyval.stgclass) = STG_EXTERN; } -#line 4513 "parser.tab.c" /* yacc.c:1648 */ +#line 940 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = (yyvsp[-4].type); + type_module_define((yyval.type), (yyvsp[-2].stmt_list)); + } +#line 4528 "parser.tab.c" /* yacc.c:1648 */ break; case 316: #line 946 "parser.y" /* yacc.c:1648 */ - { (yyval.stgclass) = STG_STATIC; } -#line 4519 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.stgclass) = STG_EXTERN; } +#line 4534 "parser.tab.c" /* yacc.c:1648 */ break; case 317: #line 947 "parser.y" /* yacc.c:1648 */ - { (yyval.stgclass) = STG_REGISTER; } -#line 4525 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.stgclass) = STG_STATIC; } +#line 4540 "parser.tab.c" /* yacc.c:1648 */ break; case 318: -#line 951 "parser.y" /* yacc.c:1648 */ - { (yyval.attr) = make_attr(ATTR_INLINE); } -#line 4531 "parser.tab.c" /* yacc.c:1648 */ +#line 948 "parser.y" /* yacc.c:1648 */ + { (yyval.stgclass) = STG_REGISTER; } +#line 4546 "parser.tab.c" /* yacc.c:1648 */ break; case 319: -#line 955 "parser.y" /* yacc.c:1648 */ - { (yyval.attr) = make_attr(ATTR_CONST); } -#line 4537 "parser.tab.c" /* yacc.c:1648 */ +#line 952 "parser.y" /* yacc.c:1648 */ + { (yyval.attr) = make_attr(ATTR_INLINE); } +#line 4552 "parser.tab.c" /* yacc.c:1648 */ break; case 320: -#line 958 "parser.y" /* yacc.c:1648 */ - { (yyval.attr_list) = NULL; } -#line 4543 "parser.tab.c" /* yacc.c:1648 */ +#line 956 "parser.y" /* yacc.c:1648 */ + { (yyval.attr) = make_attr(ATTR_CONST); } +#line 4558 "parser.tab.c" /* yacc.c:1648 */ break; case 321: #line 959 "parser.y" /* yacc.c:1648 */ - { (yyval.attr_list) = append_attr((yyvsp[-1].attr_list), (yyvsp[0].attr)); } -#line 4549 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.attr_list) = NULL; } +#line 4564 "parser.tab.c" /* yacc.c:1648 */ break; case 322: -#line 962 "parser.y" /* yacc.c:1648 */ - { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[0].declspec), NULL, NULL, STG_NONE); } -#line 4555 "parser.tab.c" /* yacc.c:1648 */ +#line 960 "parser.y" /* yacc.c:1648 */ + { (yyval.attr_list) = append_attr((yyvsp[-1].attr_list), (yyvsp[0].attr)); } +#line 4570 "parser.tab.c" /* yacc.c:1648 */ break; case 323: -#line 964 "parser.y" /* yacc.c:1648 */ - { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[-2].declspec), (yyvsp[0].declspec), NULL, STG_NONE); } -#line 4561 "parser.tab.c" /* yacc.c:1648 */ +#line 963 "parser.y" /* yacc.c:1648 */ + { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[0].declspec), NULL, NULL, STG_NONE); } +#line 4576 "parser.tab.c" /* yacc.c:1648 */ break; case 324: -#line 967 "parser.y" /* yacc.c:1648 */ - { (yyval.declspec) = NULL; } -#line 4567 "parser.tab.c" /* yacc.c:1648 */ +#line 965 "parser.y" /* yacc.c:1648 */ + { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[-2].declspec), (yyvsp[0].declspec), NULL, STG_NONE); } +#line 4582 "parser.tab.c" /* yacc.c:1648 */ break; - case 326: -#line 972 "parser.y" /* yacc.c:1648 */ - { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, (yyvsp[-1].attr), STG_NONE); } -#line 4573 "parser.tab.c" /* yacc.c:1648 */ + case 325: +#line 968 "parser.y" /* yacc.c:1648 */ + { (yyval.declspec) = NULL; } +#line 4588 "parser.tab.c" /* yacc.c:1648 */ break; case 327: #line 973 "parser.y" /* yacc.c:1648 */ { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, (yyvsp[-1].attr), STG_NONE); } -#line 4579 "parser.tab.c" /* yacc.c:1648 */ +#line 4594 "parser.tab.c" /* yacc.c:1648 */ break; case 328: #line 974 "parser.y" /* yacc.c:1648 */ - { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, NULL, (yyvsp[-1].stgclass)); } -#line 4585 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, (yyvsp[-1].attr), STG_NONE); } +#line 4600 "parser.tab.c" /* yacc.c:1648 */ break; case 329: -#line 979 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_chain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } -#line 4591 "parser.tab.c" /* yacc.c:1648 */ +#line 975 "parser.y" /* yacc.c:1648 */ + { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, NULL, (yyvsp[-1].stgclass)); } +#line 4606 "parser.tab.c" /* yacc.c:1648 */ break; case 330: #line 980 "parser.y" /* yacc.c:1648 */ - { (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 4598 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_chain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } +#line 4612 "parser.tab.c" /* yacc.c:1648 */ break; - case 332: -#line 986 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = make_declarator((yyvsp[0].var)); } -#line 4604 "parser.tab.c" /* yacc.c:1648 */ + case 331: +#line 981 "parser.y" /* yacc.c:1648 */ + { (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 4619 "parser.tab.c" /* yacc.c:1648 */ break; case 333: #line 987 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[-1].declarator); } -#line 4610 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declarator) = make_declarator((yyvsp[0].var)); } +#line 4625 "parser.tab.c" /* yacc.c:1648 */ break; case 334: #line 988 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->type = append_array((yyval.declarator)->type, (yyvsp[0].expr)); } -#line 4616 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[-1].declarator); } +#line 4631 "parser.tab.c" /* yacc.c:1648 */ break; case 335: #line 989 "parser.y" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->type = append_array((yyval.declarator)->type, (yyvsp[0].expr)); } +#line 4637 "parser.tab.c" /* yacc.c:1648 */ + break; + + case 336: +#line 990 "parser.y" /* yacc.c:1648 */ { (yyval.declarator) = (yyvsp[-3].declarator); (yyval.declarator)->func_type = append_chain_type((yyval.declarator)->type, type_new_function((yyvsp[-1].var_list))); (yyval.declarator)->type = NULL; } -#line 4625 "parser.tab.c" /* yacc.c:1648 */ - break; - - case 336: -#line 998 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_chain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } -#line 4631 "parser.tab.c" /* yacc.c:1648 */ +#line 4646 "parser.tab.c" /* yacc.c:1648 */ break; case 337: #line 999 "parser.y" /* yacc.c:1648 */ - { (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 4638 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_chain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } +#line 4652 "parser.tab.c" /* yacc.c:1648 */ break; - case 339: -#line 1007 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_chain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } -#line 4644 "parser.tab.c" /* yacc.c:1648 */ + case 338: +#line 1000 "parser.y" /* yacc.c:1648 */ + { (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 4659 "parser.tab.c" /* yacc.c:1648 */ break; case 340: #line 1008 "parser.y" /* yacc.c:1648 */ - { (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 4651 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_chain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } +#line 4665 "parser.tab.c" /* yacc.c:1648 */ break; case 341: -#line 1013 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = make_declarator(NULL); } -#line 4657 "parser.tab.c" /* yacc.c:1648 */ +#line 1009 "parser.y" /* yacc.c:1648 */ + { (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 4672 "parser.tab.c" /* yacc.c:1648 */ break; - case 343: -#line 1019 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[-1].declarator); } -#line 4663 "parser.tab.c" /* yacc.c:1648 */ + case 342: +#line 1014 "parser.y" /* yacc.c:1648 */ + { (yyval.declarator) = make_declarator(NULL); } +#line 4678 "parser.tab.c" /* yacc.c:1648 */ break; case 344: #line 1020 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->type = append_array((yyval.declarator)->type, (yyvsp[0].expr)); } -#line 4669 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[-1].declarator); } +#line 4684 "parser.tab.c" /* yacc.c:1648 */ break; case 345: #line 1021 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = make_declarator(NULL); (yyval.declarator)->type = append_array((yyval.declarator)->type, (yyvsp[0].expr)); } -#line 4675 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->type = append_array((yyval.declarator)->type, (yyvsp[0].expr)); } +#line 4690 "parser.tab.c" /* yacc.c:1648 */ break; case 346: -#line 1023 "parser.y" /* yacc.c:1648 */ +#line 1022 "parser.y" /* yacc.c:1648 */ + { (yyval.declarator) = make_declarator(NULL); (yyval.declarator)->type = append_array((yyval.declarator)->type, (yyvsp[0].expr)); } +#line 4696 "parser.tab.c" /* yacc.c:1648 */ + break; + + case 347: +#line 1024 "parser.y" /* yacc.c:1648 */ { (yyval.declarator) = make_declarator(NULL); (yyval.declarator)->func_type = append_chain_type((yyval.declarator)->type, type_new_function((yyvsp[-1].var_list))); (yyval.declarator)->type = NULL; } -#line 4684 "parser.tab.c" /* yacc.c:1648 */ +#line 4705 "parser.tab.c" /* yacc.c:1648 */ break; - case 347: -#line 1028 "parser.y" /* yacc.c:1648 */ + case 348: +#line 1029 "parser.y" /* yacc.c:1648 */ { (yyval.declarator) = (yyvsp[-3].declarator); (yyval.declarator)->func_type = append_chain_type((yyval.declarator)->type, type_new_function((yyvsp[-1].var_list))); (yyval.declarator)->type = NULL; } -#line 4693 "parser.tab.c" /* yacc.c:1648 */ - break; - - case 348: -#line 1037 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_chain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } -#line 4699 "parser.tab.c" /* yacc.c:1648 */ +#line 4714 "parser.tab.c" /* yacc.c:1648 */ break; case 349: #line 1038 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type->attrs = append_attr((yyval.declarator)->type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); } -#line 4705 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_chain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } +#line 4720 "parser.tab.c" /* yacc.c:1648 */ break; - case 351: -#line 1045 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_chain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } -#line 4711 "parser.tab.c" /* yacc.c:1648 */ + case 350: +#line 1039 "parser.y" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type->attrs = append_attr((yyval.declarator)->type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); } +#line 4726 "parser.tab.c" /* yacc.c:1648 */ break; case 352: #line 1046 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type->attrs = append_attr((yyval.declarator)->type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); } -#line 4717 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type = append_chain_type((yyval.declarator)->type, type_new_pointer(pointer_default, NULL, (yyvsp[-1].attr_list))); } +#line 4732 "parser.tab.c" /* yacc.c:1648 */ break; case 353: -#line 1050 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = make_declarator(NULL); } -#line 4723 "parser.tab.c" /* yacc.c:1648 */ +#line 1047 "parser.y" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[0].declarator); (yyval.declarator)->type->attrs = append_attr((yyval.declarator)->type->attrs, make_attrp(ATTR_CALLCONV, (yyvsp[-1].str))); } +#line 4738 "parser.tab.c" /* yacc.c:1648 */ break; - case 355: -#line 1058 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = make_declarator((yyvsp[0].var)); } -#line 4729 "parser.tab.c" /* yacc.c:1648 */ + case 354: +#line 1051 "parser.y" /* yacc.c:1648 */ + { (yyval.declarator) = make_declarator(NULL); } +#line 4744 "parser.tab.c" /* yacc.c:1648 */ break; case 356: #line 1059 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[-1].declarator); } -#line 4735 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declarator) = make_declarator((yyvsp[0].var)); } +#line 4750 "parser.tab.c" /* yacc.c:1648 */ break; case 357: #line 1060 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->type = append_array((yyval.declarator)->type, (yyvsp[0].expr)); } -#line 4741 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[-1].declarator); } +#line 4756 "parser.tab.c" /* yacc.c:1648 */ break; case 358: #line 1061 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = make_declarator(NULL); (yyval.declarator)->type = append_array((yyval.declarator)->type, (yyvsp[0].expr)); } -#line 4747 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->type = append_array((yyval.declarator)->type, (yyvsp[0].expr)); } +#line 4762 "parser.tab.c" /* yacc.c:1648 */ break; case 359: -#line 1063 "parser.y" /* yacc.c:1648 */ +#line 1062 "parser.y" /* yacc.c:1648 */ + { (yyval.declarator) = make_declarator(NULL); (yyval.declarator)->type = append_array((yyval.declarator)->type, (yyvsp[0].expr)); } +#line 4768 "parser.tab.c" /* yacc.c:1648 */ + break; + + case 360: +#line 1064 "parser.y" /* yacc.c:1648 */ { (yyval.declarator) = make_declarator(NULL); (yyval.declarator)->func_type = append_chain_type((yyval.declarator)->type, type_new_function((yyvsp[-1].var_list))); (yyval.declarator)->type = NULL; } -#line 4756 "parser.tab.c" /* yacc.c:1648 */ +#line 4777 "parser.tab.c" /* yacc.c:1648 */ break; - case 360: -#line 1068 "parser.y" /* yacc.c:1648 */ + case 361: +#line 1069 "parser.y" /* yacc.c:1648 */ { (yyval.declarator) = (yyvsp[-3].declarator); (yyval.declarator)->func_type = append_chain_type((yyval.declarator)->type, type_new_function((yyvsp[-1].var_list))); (yyval.declarator)->type = NULL; } -#line 4765 "parser.tab.c" /* yacc.c:1648 */ - break; - - case 361: -#line 1075 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); } -#line 4771 "parser.tab.c" /* yacc.c:1648 */ +#line 4786 "parser.tab.c" /* yacc.c:1648 */ break; case 362: #line 1076 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); } -#line 4777 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); } +#line 4792 "parser.tab.c" /* yacc.c:1648 */ break; case 363: -#line 1079 "parser.y" /* yacc.c:1648 */ - { (yyval.expr) = NULL; } -#line 4783 "parser.tab.c" /* yacc.c:1648 */ +#line 1077 "parser.y" /* yacc.c:1648 */ + { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); } +#line 4798 "parser.tab.c" /* yacc.c:1648 */ break; case 364: #line 1080 "parser.y" /* yacc.c:1648 */ - { (yyval.expr) = (yyvsp[0].expr); } -#line 4789 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.expr) = NULL; } +#line 4804 "parser.tab.c" /* yacc.c:1648 */ break; case 365: -#line 1083 "parser.y" /* yacc.c:1648 */ +#line 1081 "parser.y" /* yacc.c:1648 */ + { (yyval.expr) = (yyvsp[0].expr); } +#line 4810 "parser.tab.c" /* yacc.c:1648 */ + break; + + case 366: +#line 1084 "parser.y" /* yacc.c:1648 */ { (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 4798 "parser.tab.c" /* yacc.c:1648 */ - break; - - case 366: -#line 1090 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); } -#line 4804 "parser.tab.c" /* yacc.c:1648 */ +#line 4819 "parser.tab.c" /* yacc.c:1648 */ break; case 367: -#line 1092 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); } -#line 4810 "parser.tab.c" /* yacc.c:1648 */ +#line 1091 "parser.y" /* yacc.c:1648 */ + { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); } +#line 4825 "parser.tab.c" /* yacc.c:1648 */ break; case 368: -#line 1096 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[0].declarator); } -#line 4816 "parser.tab.c" /* yacc.c:1648 */ +#line 1093 "parser.y" /* yacc.c:1648 */ + { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); } +#line 4831 "parser.tab.c" /* yacc.c:1648 */ break; case 369: #line 1097 "parser.y" /* yacc.c:1648 */ - { (yyval.declarator) = (yyvsp[-2].declarator); (yyvsp[-2].declarator)->var->eval = (yyvsp[0].expr); } -#line 4822 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[0].declarator); } +#line 4837 "parser.tab.c" /* yacc.c:1648 */ break; case 370: -#line 1101 "parser.y" /* yacc.c:1648 */ - { (yyval.num) = THREADING_APARTMENT; } -#line 4828 "parser.tab.c" /* yacc.c:1648 */ +#line 1098 "parser.y" /* yacc.c:1648 */ + { (yyval.declarator) = (yyvsp[-2].declarator); (yyvsp[-2].declarator)->var->eval = (yyvsp[0].expr); } +#line 4843 "parser.tab.c" /* yacc.c:1648 */ break; case 371: #line 1102 "parser.y" /* yacc.c:1648 */ - { (yyval.num) = THREADING_NEUTRAL; } -#line 4834 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.num) = THREADING_APARTMENT; } +#line 4849 "parser.tab.c" /* yacc.c:1648 */ break; case 372: #line 1103 "parser.y" /* yacc.c:1648 */ - { (yyval.num) = THREADING_SINGLE; } -#line 4840 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.num) = THREADING_NEUTRAL; } +#line 4855 "parser.tab.c" /* yacc.c:1648 */ break; case 373: #line 1104 "parser.y" /* yacc.c:1648 */ - { (yyval.num) = THREADING_FREE; } -#line 4846 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.num) = THREADING_SINGLE; } +#line 4861 "parser.tab.c" /* yacc.c:1648 */ break; case 374: #line 1105 "parser.y" /* yacc.c:1648 */ - { (yyval.num) = THREADING_BOTH; } -#line 4852 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.num) = THREADING_FREE; } +#line 4867 "parser.tab.c" /* yacc.c:1648 */ break; case 375: -#line 1109 "parser.y" /* yacc.c:1648 */ - { (yyval.num) = FC_RP; } -#line 4858 "parser.tab.c" /* yacc.c:1648 */ +#line 1106 "parser.y" /* yacc.c:1648 */ + { (yyval.num) = THREADING_BOTH; } +#line 4873 "parser.tab.c" /* yacc.c:1648 */ break; case 376: #line 1110 "parser.y" /* yacc.c:1648 */ - { (yyval.num) = FC_UP; } -#line 4864 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.num) = FC_RP; } +#line 4879 "parser.tab.c" /* yacc.c:1648 */ break; case 377: #line 1111 "parser.y" /* yacc.c:1648 */ - { (yyval.num) = FC_FP; } -#line 4870 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.num) = FC_UP; } +#line 4885 "parser.tab.c" /* yacc.c:1648 */ break; case 378: -#line 1114 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = type_new_struct((yyvsp[-3].str), current_namespace, TRUE, (yyvsp[-1].var_list)); } -#line 4876 "parser.tab.c" /* yacc.c:1648 */ +#line 1112 "parser.y" /* yacc.c:1648 */ + { (yyval.num) = FC_FP; } +#line 4891 "parser.tab.c" /* yacc.c:1648 */ break; case 379: -#line 1117 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = type_new_void(); } -#line 4882 "parser.tab.c" /* yacc.c:1648 */ +#line 1115 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = type_new_struct((yyvsp[-3].str), current_namespace, TRUE, (yyvsp[-1].var_list)); } +#line 4897 "parser.tab.c" /* yacc.c:1648 */ break; case 380: #line 1118 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } -#line 4888 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.type) = type_new_void(); } +#line 4903 "parser.tab.c" /* yacc.c:1648 */ break; case 381: #line 1119 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = (yyvsp[0].type); } -#line 4894 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); } +#line 4909 "parser.tab.c" /* yacc.c:1648 */ break; case 382: #line 1120 "parser.y" /* yacc.c:1648 */ { (yyval.type) = (yyvsp[0].type); } -#line 4900 "parser.tab.c" /* yacc.c:1648 */ +#line 4915 "parser.tab.c" /* yacc.c:1648 */ break; case 383: #line 1121 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = type_new_enum((yyvsp[0].str), current_namespace, FALSE, NULL); } -#line 4906 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.type) = (yyvsp[0].type); } +#line 4921 "parser.tab.c" /* yacc.c:1648 */ break; case 384: #line 1122 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = (yyvsp[0].type); } -#line 4912 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.type) = type_new_enum((yyvsp[0].str), current_namespace, FALSE, NULL); } +#line 4927 "parser.tab.c" /* yacc.c:1648 */ break; case 385: #line 1123 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = type_new_struct((yyvsp[0].str), current_namespace, FALSE, NULL); } -#line 4918 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.type) = (yyvsp[0].type); } +#line 4933 "parser.tab.c" /* yacc.c:1648 */ break; case 386: #line 1124 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = (yyvsp[0].type); } -#line 4924 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.type) = type_new_struct((yyvsp[0].str), current_namespace, FALSE, NULL); } +#line 4939 "parser.tab.c" /* yacc.c:1648 */ break; case 387: #line 1125 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), FALSE, NULL); } -#line 4930 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.type) = (yyvsp[0].type); } +#line 4945 "parser.tab.c" /* yacc.c:1648 */ break; case 388: #line 1126 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = make_safearray((yyvsp[-1].type)); } -#line 4936 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), FALSE, NULL); } +#line 4951 "parser.tab.c" /* yacc.c:1648 */ break; case 389: -#line 1130 "parser.y" /* yacc.c:1648 */ +#line 1127 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = make_safearray((yyvsp[-1].type)); } +#line 4957 "parser.tab.c" /* yacc.c:1648 */ + break; + + case 390: +#line 1131 "parser.y" /* yacc.c:1648 */ { (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 4945 "parser.tab.c" /* yacc.c:1648 */ - break; - - case 390: -#line 1137 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = type_new_nonencapsulated_union((yyvsp[-3].str), TRUE, (yyvsp[-1].var_list)); } -#line 4951 "parser.tab.c" /* yacc.c:1648 */ +#line 4966 "parser.tab.c" /* yacc.c:1648 */ break; case 391: -#line 1140 "parser.y" /* yacc.c:1648 */ - { (yyval.type) = type_new_encapsulated_union((yyvsp[-8].str), (yyvsp[-5].var), (yyvsp[-3].var), (yyvsp[-1].var_list)); } -#line 4957 "parser.tab.c" /* yacc.c:1648 */ +#line 1138 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = type_new_nonencapsulated_union((yyvsp[-3].str), TRUE, (yyvsp[-1].var_list)); } +#line 4972 "parser.tab.c" /* yacc.c:1648 */ break; case 392: -#line 1144 "parser.y" /* yacc.c:1648 */ - { (yyval.num) = MAKEVERSION((yyvsp[0].num), 0); } -#line 4963 "parser.tab.c" /* yacc.c:1648 */ +#line 1141 "parser.y" /* yacc.c:1648 */ + { (yyval.type) = type_new_encapsulated_union((yyvsp[-8].str), (yyvsp[-5].var), (yyvsp[-3].var), (yyvsp[-1].var_list)); } +#line 4978 "parser.tab.c" /* yacc.c:1648 */ break; case 393: #line 1145 "parser.y" /* yacc.c:1648 */ - { (yyval.num) = MAKEVERSION((yyvsp[-2].num), (yyvsp[0].num)); } -#line 4969 "parser.tab.c" /* yacc.c:1648 */ + { (yyval.num) = MAKEVERSION((yyvsp[0].num), 0); } +#line 4984 "parser.tab.c" /* yacc.c:1648 */ break; case 394: #line 1146 "parser.y" /* yacc.c:1648 */ + { (yyval.num) = MAKEVERSION((yyvsp[-2].num), (yyvsp[0].num)); } +#line 4990 "parser.tab.c" /* yacc.c:1648 */ + break; + + case 395: +#line 1147 "parser.y" /* yacc.c:1648 */ { (yyval.num) = (yyvsp[0].num); } -#line 4975 "parser.tab.c" /* yacc.c:1648 */ +#line 4996 "parser.tab.c" /* yacc.c:1648 */ break; -#line 4979 "parser.tab.c" /* yacc.c:1648 */ +#line 5000 "parser.tab.c" /* yacc.c:1648 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -5203,7 +5224,7 @@ #endif return yyresult; } -#line 1149 "parser.y" /* yacc.c:1907 */ +#line 1150 "parser.y" /* yacc.c:1907 */ static void decl_builtin_basic(const char *name, enum type_basic_type type) @@ -5466,6 +5487,7 @@ case TYPE_BASIC_INT64: case TYPE_BASIC_INT: case TYPE_BASIC_INT3264: + case TYPE_BASIC_LONG: case TYPE_BASIC_BYTE: case TYPE_BASIC_CHAR: case TYPE_BASIC_WCHAR: @@ -6457,6 +6479,7 @@ case TYPE_BASIC_INT32: case TYPE_BASIC_INT64: case TYPE_BASIC_INT: + case TYPE_BASIC_LONG: case TYPE_BASIC_CHAR: case TYPE_BASIC_HYPER: case TYPE_BASIC_BYTE:
diff --git a/mingw-w64-tools/widl/src/parser.tab.h b/mingw-w64-tools/widl/src/parser.tab.h index 6b8974f..fd7e62d 100644 --- a/mingw-w64-tools/widl/src/parser.tab.h +++ b/mingw-w64-tools/widl/src/parser.tab.h
@@ -139,96 +139,97 @@ tINLINE = 349, tINPUTSYNC = 350, tINT = 351, - tINT3264 = 352, - tINT64 = 353, - tINTERFACE = 354, - tLCID = 355, - tLENGTHIS = 356, - tLIBRARY = 357, - tLICENSED = 358, - tLOCAL = 359, - tLONG = 360, - tMAYBE = 361, - tMESSAGE = 362, - tMETHODS = 363, - tMODULE = 364, - tNAMESPACE = 365, - tNOCODE = 366, - tNONBROWSABLE = 367, - tNONCREATABLE = 368, - tNONEXTENSIBLE = 369, - tNOTIFY = 370, - tNOTIFYFLAG = 371, - tNULL = 372, - tOBJECT = 373, - tODL = 374, - tOLEAUTOMATION = 375, - tOPTIMIZE = 376, - tOPTIONAL = 377, - tOUT = 378, - tPARTIALIGNORE = 379, - tPASCAL = 380, - tPOINTERDEFAULT = 381, - tPRAGMA_WARNING = 382, - tPROGID = 383, - tPROPERTIES = 384, - tPROPGET = 385, - tPROPPUT = 386, - tPROPPUTREF = 387, - tPROXY = 388, - tPTR = 389, - tPUBLIC = 390, - tRANGE = 391, - tREADONLY = 392, - tREF = 393, - tREGISTER = 394, - tREPRESENTAS = 395, - tREQUESTEDIT = 396, - tRESTRICTED = 397, - tRETVAL = 398, - tSAFEARRAY = 399, - tSHORT = 400, - tSIGNED = 401, - tSIZEIS = 402, - tSIZEOF = 403, - tSMALL = 404, - tSOURCE = 405, - tSTATIC = 406, - tSTDCALL = 407, - tSTRICTCONTEXTHANDLE = 408, - tSTRING = 409, - tSTRUCT = 410, - tSWITCH = 411, - tSWITCHIS = 412, - tSWITCHTYPE = 413, - tTHREADING = 414, - tTRANSMITAS = 415, - tTRUE = 416, - tTYPEDEF = 417, - tUIDEFAULT = 418, - tUNION = 419, - tUNIQUE = 420, - tUNSIGNED = 421, - tUSESGETLASTERROR = 422, - tUSERMARSHAL = 423, - tUUID = 424, - tV1ENUM = 425, - tVARARG = 426, - tVERSION = 427, - tVIPROGID = 428, - tVOID = 429, - tWCHAR = 430, - tWIREMARSHAL = 431, - tAPARTMENT = 432, - tNEUTRAL = 433, - tSINGLE = 434, - tFREE = 435, - tBOTH = 436, - CAST = 437, - PPTR = 438, - POS = 439, - NEG = 440, - ADDRESSOF = 441 + tINT32 = 352, + tINT3264 = 353, + tINT64 = 354, + tINTERFACE = 355, + tLCID = 356, + tLENGTHIS = 357, + tLIBRARY = 358, + tLICENSED = 359, + tLOCAL = 360, + tLONG = 361, + tMAYBE = 362, + tMESSAGE = 363, + tMETHODS = 364, + tMODULE = 365, + tNAMESPACE = 366, + tNOCODE = 367, + tNONBROWSABLE = 368, + tNONCREATABLE = 369, + tNONEXTENSIBLE = 370, + tNOTIFY = 371, + tNOTIFYFLAG = 372, + tNULL = 373, + tOBJECT = 374, + tODL = 375, + tOLEAUTOMATION = 376, + tOPTIMIZE = 377, + tOPTIONAL = 378, + tOUT = 379, + tPARTIALIGNORE = 380, + tPASCAL = 381, + tPOINTERDEFAULT = 382, + tPRAGMA_WARNING = 383, + tPROGID = 384, + tPROPERTIES = 385, + tPROPGET = 386, + tPROPPUT = 387, + tPROPPUTREF = 388, + tPROXY = 389, + tPTR = 390, + tPUBLIC = 391, + tRANGE = 392, + tREADONLY = 393, + tREF = 394, + tREGISTER = 395, + tREPRESENTAS = 396, + tREQUESTEDIT = 397, + tRESTRICTED = 398, + tRETVAL = 399, + tSAFEARRAY = 400, + tSHORT = 401, + tSIGNED = 402, + tSIZEIS = 403, + tSIZEOF = 404, + tSMALL = 405, + tSOURCE = 406, + tSTATIC = 407, + tSTDCALL = 408, + tSTRICTCONTEXTHANDLE = 409, + tSTRING = 410, + tSTRUCT = 411, + tSWITCH = 412, + tSWITCHIS = 413, + tSWITCHTYPE = 414, + tTHREADING = 415, + tTRANSMITAS = 416, + tTRUE = 417, + tTYPEDEF = 418, + tUIDEFAULT = 419, + tUNION = 420, + tUNIQUE = 421, + tUNSIGNED = 422, + tUSESGETLASTERROR = 423, + tUSERMARSHAL = 424, + tUUID = 425, + tV1ENUM = 426, + tVARARG = 427, + tVERSION = 428, + tVIPROGID = 429, + tVOID = 430, + tWCHAR = 431, + tWIREMARSHAL = 432, + tAPARTMENT = 433, + tNEUTRAL = 434, + tSINGLE = 435, + tFREE = 436, + tBOTH = 437, + CAST = 438, + PPTR = 439, + POS = 440, + NEG = 441, + ADDRESSOF = 442 }; #endif @@ -265,7 +266,7 @@ struct _decl_spec_t *declspec; enum storage_class stgclass; -#line 269 "parser.tab.h" /* yacc.c:1910 */ +#line 270 "parser.tab.h" /* yacc.c:1910 */ }; typedef union YYSTYPE YYSTYPE;
diff --git a/mingw-w64-tools/widl/src/parser.y b/mingw-w64-tools/widl/src/parser.y index 1cb9ab9..0f85498 100644 --- a/mingw-w64-tools/widl/src/parser.y +++ b/mingw-w64-tools/widl/src/parser.y
@@ -208,7 +208,7 @@ %token tIMPORT tIMPORTLIB %token tIN tIN_LINE tINLINE %token tINPUTSYNC -%token tINT tINT3264 tINT64 +%token tINT tINT32 tINT3264 tINT64 %token tINTERFACE %token tLCID %token tLENGTHIS tLIBRARY @@ -815,10 +815,11 @@ int_std: tINT { $$ = type_new_int(TYPE_BASIC_INT, 0); } | tSHORT m_int { $$ = type_new_int(TYPE_BASIC_INT16, 0); } | tSMALL { $$ = type_new_int(TYPE_BASIC_INT8, 0); } - | tLONG m_int { $$ = type_new_int(TYPE_BASIC_INT32, 0); } + | tLONG m_int { $$ = type_new_int(TYPE_BASIC_LONG, 0); } | tHYPER m_int { $$ = type_new_int(TYPE_BASIC_HYPER, 0); } | tINT64 { $$ = type_new_int(TYPE_BASIC_INT64, 0); } | tCHAR { $$ = type_new_int(TYPE_BASIC_CHAR, 0); } + | tINT32 { $$ = type_new_int(TYPE_BASIC_INT32, 0); } | tINT3264 { $$ = type_new_int(TYPE_BASIC_INT3264, 0); } ; @@ -1408,6 +1409,7 @@ case TYPE_BASIC_INT64: case TYPE_BASIC_INT: case TYPE_BASIC_INT3264: + case TYPE_BASIC_LONG: case TYPE_BASIC_BYTE: case TYPE_BASIC_CHAR: case TYPE_BASIC_WCHAR: @@ -2399,6 +2401,7 @@ case TYPE_BASIC_INT32: case TYPE_BASIC_INT64: case TYPE_BASIC_INT: + case TYPE_BASIC_LONG: case TYPE_BASIC_CHAR: case TYPE_BASIC_HYPER: case TYPE_BASIC_BYTE:
diff --git a/mingw-w64-tools/widl/src/parser.yy.c b/mingw-w64-tools/widl/src/parser.yy.c index db64754..6cec47a 100644 --- a/mingw-w64-tools/widl/src/parser.yy.c +++ b/mingw-w64-tools/widl/src/parser.yy.c
@@ -2642,6 +2642,7 @@ {"TRUE", tTRUE}, {"__cdecl", tCDECL}, {"__fastcall", tFASTCALL}, + {"__int32", tINT32}, {"__int3264", tINT3264}, {"__int64", tINT64}, {"__pascal", tPASCAL},
diff --git a/mingw-w64-tools/widl/src/proxy.c b/mingw-w64-tools/widl/src/proxy.c index c56ef48..12424d9 100644 --- a/mingw-w64-tools/widl/src/proxy.c +++ b/mingw-w64-tools/widl/src/proxy.c
@@ -110,7 +110,13 @@ if (type_get_type(type_pointer_get_ref(arg->type)) == TYPE_BASIC) continue; if (type_get_type(type_pointer_get_ref(arg->type)) == TYPE_ENUM) continue; } - print_proxy( "if (%s) MIDL_memset( %s, 0, sizeof( *%s ));\n", arg->name, arg->name, arg->name ); + print_proxy( "if (%s) MIDL_memset( %s, 0, ", arg->name, arg->name ); + if (is_array(arg->type) && type_array_has_conformance(arg->type)) + { + write_expr( proxy, type_array_get_conformance(arg->type), 1, 1, NULL, NULL, "" ); + fprintf( proxy, " * " ); + } + fprintf( proxy, "sizeof( *%s ));\n", arg->name ); } }
diff --git a/mingw-w64-tools/widl/src/typegen.c b/mingw-w64-tools/widl/src/typegen.c index 0301024..ce4c578 100644 --- a/mingw-w64-tools/widl/src/typegen.c +++ b/mingw-w64-tools/widl/src/typegen.c
@@ -208,7 +208,8 @@ { case TYPE_BASIC_INT8: return (sign <= 0 ? FC_SMALL : FC_USMALL); case TYPE_BASIC_INT16: return (sign <= 0 ? FC_SHORT : FC_USHORT); - case TYPE_BASIC_INT32: return (sign <= 0 ? FC_LONG : FC_ULONG); + case TYPE_BASIC_INT32: + case TYPE_BASIC_LONG: return (sign <= 0 ? FC_LONG : FC_ULONG); case TYPE_BASIC_INT64: return FC_HYPER; case TYPE_BASIC_INT: return (sign <= 0 ? FC_LONG : FC_ULONG); case TYPE_BASIC_INT3264: return (sign <= 0 ? FC_INT3264 : FC_UINT3264); @@ -234,6 +235,7 @@ case TYPE_BASIC_INT64: return FC_HYPER; case TYPE_BASIC_INT: return FC_LONG; case TYPE_BASIC_INT3264: return FC_INT3264; + case TYPE_BASIC_LONG: return FC_LONG; case TYPE_BASIC_BYTE: return FC_BYTE; case TYPE_BASIC_CHAR: return FC_CHAR; case TYPE_BASIC_WCHAR: return FC_WCHAR; @@ -2093,8 +2095,32 @@ out_attr = is_attr(attrs, ATTR_OUT); if (!in_attr && !out_attr) in_attr = 1; - if (out_attr && !in_attr && pointer_type == FC_RP) - flags |= FC_ALLOCED_ON_STACK; + if (!is_interpreted_func(current_iface, current_func)) + { + if (out_attr && !in_attr && pointer_type == FC_RP) + flags |= FC_ALLOCED_ON_STACK; + } + else if (get_stub_mode() == MODE_Oif) + { + if (context == TYPE_CONTEXT_TOPLEVELPARAM && is_ptr(type) && pointer_type == FC_RP) + { + switch (typegen_detect_type(type_pointer_get_ref(type), NULL, TDT_ALL_TYPES)) + { + case TGT_STRING: + case TGT_POINTER: + case TGT_CTXT_HANDLE: + case TGT_CTXT_HANDLE_POINTER: + flags |= FC_ALLOCED_ON_STACK; + break; + case TGT_IFACE_POINTER: + if (in_attr && out_attr) + flags |= FC_ALLOCED_ON_STACK; + break; + default: + break; + } + } + } if (is_ptr(type)) { @@ -2145,8 +2171,16 @@ else fc = get_basic_fc(ref); - if (out_attr && !in_attr) - flags |= FC_ALLOCED_ON_STACK; + if (!is_interpreted_func(current_iface, current_func)) + { + if (out_attr && !in_attr && pointer_fc == FC_RP) + flags |= FC_ALLOCED_ON_STACK; + } + else if (get_stub_mode() == MODE_Oif) + { + if (context == TYPE_CONTEXT_TOPLEVELPARAM && fc == FC_ENUM16 && pointer_fc == FC_RP) + flags |= FC_ALLOCED_ON_STACK; + } print_file(file, 2, "0x%02x, 0x%x,\t/* %s %s[simple_pointer] */\n", pointer_fc, flags, string_of_type(pointer_fc),
diff --git a/mingw-w64-tools/widl/src/typelib.c b/mingw-w64-tools/widl/src/typelib.c index 3083839..9b1de2c 100644 --- a/mingw-w64-tools/widl/src/typelib.c +++ b/mingw-w64-tools/widl/src/typelib.c
@@ -156,6 +156,7 @@ else return VT_INT; case TYPE_BASIC_INT32: + case TYPE_BASIC_LONG: case TYPE_BASIC_ERROR_STATUS_T: if (type_basic_get_sign(t) > 0) return VT_UI4;
diff --git a/mingw-w64-tools/widl/src/typetree.c b/mingw-w64-tools/widl/src/typetree.c index baf53a1..10657b0 100644 --- a/mingw-w64-tools/widl/src/typetree.c +++ b/mingw-w64-tools/widl/src/typetree.c
@@ -377,6 +377,7 @@ case TYPE_BASIC_INT64: case TYPE_BASIC_INT: case TYPE_BASIC_INT3264: + case TYPE_BASIC_LONG: case TYPE_BASIC_CHAR: case TYPE_BASIC_HYPER: case TYPE_BASIC_BYTE:
diff --git a/mingw-w64-tools/widl/src/widl.c b/mingw-w64-tools/widl/src/widl.c index 38c31ce..09378bf 100644 --- a/mingw-w64-tools/widl/src/widl.c +++ b/mingw-w64-tools/widl/src/widl.c
@@ -73,6 +73,7 @@ " --prefix-client=p Prefix names of client stubs with 'p'\n" " --prefix-server=p Prefix names of server functions with 'p'\n" " -r Generate registration script\n" +" -robust Ignored, present for midl compatibility\n" " --winrt Enable Windows Runtime mode\n" " --ns_prefix Prefix namespaces with ABI namespace\n" " -s Generate server stub\n" @@ -164,7 +165,8 @@ WIN64_OPTION, WIN32_ALIGN_OPTION, WIN64_ALIGN_OPTION, - APP_CONFIG_OPTION + APP_CONFIG_OPTION, + ROBUST_OPTION }; static const char short_options[] = @@ -180,6 +182,7 @@ { "prefix-all", 1, NULL, PREFIX_ALL_OPTION }, { "prefix-client", 1, NULL, PREFIX_CLIENT_OPTION }, { "prefix-server", 1, NULL, PREFIX_SERVER_OPTION }, + { "robust", 0, NULL, ROBUST_OPTION }, { "winrt", 0, NULL, RT_OPTION }, { "win32", 0, NULL, WIN32_OPTION }, { "win64", 0, NULL, WIN64_OPTION }, @@ -610,6 +613,9 @@ /* widl does not distinguish between app_mode and default mode, but we ignore this option for midl compatibility */ break; + case ROBUST_OPTION: + /* FIXME: Support robust option */ + break; case 'b': set_target( optarg ); break;
diff --git a/mingw-w64-tools/widl/src/widltypes.h b/mingw-w64-tools/widl/src/widltypes.h index 7891a1d..b4eb003 100644 --- a/mingw-w64-tools/widl/src/widltypes.h +++ b/mingw-w64-tools/widl/src/widltypes.h
@@ -265,6 +265,7 @@ TYPE_BASIC_INT64, TYPE_BASIC_INT, TYPE_BASIC_INT3264, + TYPE_BASIC_LONG, TYPE_BASIC_CHAR, TYPE_BASIC_HYPER, TYPE_BASIC_BYTE,
diff --git a/mingw-w64-tools/widl/src/wpp/ppy.tab.c b/mingw-w64-tools/widl/src/wpp/ppy.tab.c index 61d5426..a74f3ea 100644 --- a/mingw-w64-tools/widl/src/wpp/ppy.tab.c +++ b/mingw-w64-tools/widl/src/wpp/ppy.tab.c
@@ -1,8 +1,8 @@ -/* A Bison parser, made by GNU Bison 3.0.4. */ +/* A Bison parser, made by GNU Bison 3.0.5. */ /* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -44,7 +44,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "3.0.4" +#define YYBISON_VERSION "3.0.5" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -1178,6 +1178,7 @@ case N: \ yyformat = S; \ break + default: /* Avoid compiler warnings. */ YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); @@ -1494,31 +1495,31 @@ switch (yyn) { case 4: -#line 186 "ppy.y" /* yacc.c:1646 */ +#line 186 "ppy.y" /* yacc.c:1648 */ { pp_do_include((yyvsp[-1].cptr), 1); } -#line 1500 "ppy.tab.c" /* yacc.c:1646 */ +#line 1501 "ppy.tab.c" /* yacc.c:1648 */ break; case 5: -#line 187 "ppy.y" /* yacc.c:1646 */ +#line 187 "ppy.y" /* yacc.c:1648 */ { pp_do_include((yyvsp[-1].cptr), 0); } -#line 1506 "ppy.tab.c" /* yacc.c:1646 */ +#line 1507 "ppy.tab.c" /* yacc.c:1648 */ break; case 6: -#line 188 "ppy.y" /* yacc.c:1646 */ +#line 188 "ppy.y" /* yacc.c:1648 */ { pp_next_if_state(boolean(&(yyvsp[-1].cval))); } -#line 1512 "ppy.tab.c" /* yacc.c:1646 */ +#line 1513 "ppy.tab.c" /* yacc.c:1648 */ break; case 7: -#line 189 "ppy.y" /* yacc.c:1646 */ +#line 189 "ppy.y" /* yacc.c:1648 */ { pp_next_if_state(pplookup((yyvsp[-1].cptr)) != NULL); free((yyvsp[-1].cptr)); } -#line 1518 "ppy.tab.c" /* yacc.c:1646 */ +#line 1519 "ppy.tab.c" /* yacc.c:1648 */ break; case 8: -#line 190 "ppy.y" /* yacc.c:1646 */ +#line 190 "ppy.y" /* yacc.c:1648 */ { int t = pplookup((yyvsp[-1].cptr)) == NULL; if(pp_incl_state.state == 0 && t && !pp_incl_state.seen_junk) @@ -1539,11 +1540,11 @@ fprintf(stderr, "tIFNDEF: %s:%d: include_state=%d, include_ppp='%s', include_ifdepth=%d\n", pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth); } -#line 1543 "ppy.tab.c" /* yacc.c:1646 */ +#line 1544 "ppy.tab.c" /* yacc.c:1648 */ break; case 9: -#line 210 "ppy.y" /* yacc.c:1646 */ +#line 210 "ppy.y" /* yacc.c:1648 */ { pp_if_state_t s = pp_pop_if(); switch(s) @@ -1568,11 +1569,11 @@ pp_internal_error(__FILE__, __LINE__, "Invalid pp_if_state (%d) in #elif directive", s); } } -#line 1572 "ppy.tab.c" /* yacc.c:1646 */ +#line 1573 "ppy.tab.c" /* yacc.c:1648 */ break; case 10: -#line 234 "ppy.y" /* yacc.c:1646 */ +#line 234 "ppy.y" /* yacc.c:1648 */ { pp_if_state_t s = pp_pop_if(); switch(s) @@ -1599,11 +1600,11 @@ pp_internal_error(__FILE__, __LINE__, "Invalid pp_if_state (%d) in #else directive", s); } } -#line 1603 "ppy.tab.c" /* yacc.c:1646 */ +#line 1604 "ppy.tab.c" /* yacc.c:1648 */ break; case 11: -#line 260 "ppy.y" /* yacc.c:1646 */ +#line 260 "ppy.y" /* yacc.c:1648 */ { if(pp_pop_if() != if_error) { @@ -1621,91 +1622,91 @@ pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth); } } -#line 1625 "ppy.tab.c" /* yacc.c:1646 */ +#line 1626 "ppy.tab.c" /* yacc.c:1648 */ break; case 12: -#line 277 "ppy.y" /* yacc.c:1646 */ +#line 277 "ppy.y" /* yacc.c:1648 */ { pp_del_define((yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); } -#line 1631 "ppy.tab.c" /* yacc.c:1646 */ +#line 1632 "ppy.tab.c" /* yacc.c:1648 */ break; case 13: -#line 278 "ppy.y" /* yacc.c:1646 */ +#line 278 "ppy.y" /* yacc.c:1648 */ { pp_add_define((yyvsp[-2].cptr), (yyvsp[-1].cptr)); free((yyvsp[-2].cptr)); free((yyvsp[-1].cptr)); } -#line 1637 "ppy.tab.c" /* yacc.c:1646 */ +#line 1638 "ppy.tab.c" /* yacc.c:1648 */ break; case 14: -#line 279 "ppy.y" /* yacc.c:1646 */ +#line 279 "ppy.y" /* yacc.c:1648 */ { pp_add_macro((yyvsp[-5].cptr), macro_args, nmacro_args, (yyvsp[-1].mtext)); } -#line 1645 "ppy.tab.c" /* yacc.c:1646 */ +#line 1646 "ppy.tab.c" /* yacc.c:1648 */ break; case 15: -#line 282 "ppy.y" /* yacc.c:1646 */ +#line 282 "ppy.y" /* yacc.c:1648 */ { if((yyvsp[-1].cptr)) pp_writestring("# %d %s\n", (yyvsp[-2].sint) , (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); } -#line 1651 "ppy.tab.c" /* yacc.c:1646 */ +#line 1652 "ppy.tab.c" /* yacc.c:1648 */ break; case 16: -#line 283 "ppy.y" /* yacc.c:1646 */ +#line 283 "ppy.y" /* yacc.c:1648 */ { if((yyvsp[-1].cptr)) pp_writestring("# %d %s\n", (yyvsp[-2].sint) , (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); } -#line 1657 "ppy.tab.c" /* yacc.c:1646 */ +#line 1658 "ppy.tab.c" /* yacc.c:1648 */ break; case 17: -#line 285 "ppy.y" /* yacc.c:1646 */ +#line 285 "ppy.y" /* yacc.c:1648 */ { if((yyvsp[-2].cptr)) pp_writestring("# %d %s %d\n", (yyvsp[-3].sint), (yyvsp[-2].cptr), (yyvsp[-1].sint)); free((yyvsp[-2].cptr)); } -#line 1663 "ppy.tab.c" /* yacc.c:1646 */ +#line 1664 "ppy.tab.c" /* yacc.c:1648 */ break; case 18: -#line 287 "ppy.y" /* yacc.c:1646 */ +#line 287 "ppy.y" /* yacc.c:1648 */ { if((yyvsp[-3].cptr)) pp_writestring("# %d %s %d %d\n", (yyvsp[-4].sint) ,(yyvsp[-3].cptr), (yyvsp[-2].sint), (yyvsp[-1].sint)); free((yyvsp[-3].cptr)); } -#line 1669 "ppy.tab.c" /* yacc.c:1646 */ +#line 1670 "ppy.tab.c" /* yacc.c:1648 */ break; case 19: -#line 289 "ppy.y" /* yacc.c:1646 */ +#line 289 "ppy.y" /* yacc.c:1648 */ { if((yyvsp[-4].cptr)) pp_writestring("# %d %s %d %d %d\n", (yyvsp[-5].sint) ,(yyvsp[-4].cptr) ,(yyvsp[-3].sint) ,(yyvsp[-2].sint), (yyvsp[-1].sint)); free((yyvsp[-4].cptr)); } -#line 1675 "ppy.tab.c" /* yacc.c:1646 */ +#line 1676 "ppy.tab.c" /* yacc.c:1648 */ break; case 20: -#line 291 "ppy.y" /* yacc.c:1646 */ +#line 291 "ppy.y" /* yacc.c:1648 */ { if((yyvsp[-5].cptr)) pp_writestring("# %d %s %d %d %d %d\n", (yyvsp[-6].sint) ,(yyvsp[-5].cptr) ,(yyvsp[-4].sint) ,(yyvsp[-3].sint), (yyvsp[-2].sint), (yyvsp[-1].sint)); free((yyvsp[-5].cptr)); } -#line 1681 "ppy.tab.c" /* yacc.c:1646 */ +#line 1682 "ppy.tab.c" /* yacc.c:1648 */ break; case 22: -#line 293 "ppy.y" /* yacc.c:1646 */ +#line 293 "ppy.y" /* yacc.c:1648 */ { ppy_error("#error directive: '%s'", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); } -#line 1687 "ppy.tab.c" /* yacc.c:1646 */ +#line 1688 "ppy.tab.c" /* yacc.c:1648 */ break; case 23: -#line 294 "ppy.y" /* yacc.c:1646 */ +#line 294 "ppy.y" /* yacc.c:1648 */ { ppy_warning("#warning directive: '%s'", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); } -#line 1693 "ppy.tab.c" /* yacc.c:1646 */ +#line 1694 "ppy.tab.c" /* yacc.c:1648 */ break; case 24: -#line 295 "ppy.y" /* yacc.c:1646 */ +#line 295 "ppy.y" /* yacc.c:1648 */ { pp_writestring("#pragma %s\n", (yyvsp[-1].cptr) ? (yyvsp[-1].cptr) : ""); free((yyvsp[-1].cptr)); } -#line 1699 "ppy.tab.c" /* yacc.c:1646 */ +#line 1700 "ppy.tab.c" /* yacc.c:1648 */ break; case 25: -#line 296 "ppy.y" /* yacc.c:1646 */ +#line 296 "ppy.y" /* yacc.c:1648 */ { if(pp_status.pedantic) ppy_warning("#ident ignored (arg: '%s')", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); } -#line 1705 "ppy.tab.c" /* yacc.c:1646 */ +#line 1706 "ppy.tab.c" /* yacc.c:1648 */ break; case 26: -#line 297 "ppy.y" /* yacc.c:1646 */ +#line 297 "ppy.y" /* yacc.c:1648 */ { if((yyvsp[0].cptr)) { @@ -1719,160 +1720,160 @@ free((yyvsp[0].cptr)); } } -#line 1723 "ppy.tab.c" /* yacc.c:1646 */ +#line 1724 "ppy.tab.c" /* yacc.c:1648 */ break; case 27: -#line 310 "ppy.y" /* yacc.c:1646 */ +#line 310 "ppy.y" /* yacc.c:1648 */ { pp_do_include((yyvsp[0].cptr),1); } -#line 1731 "ppy.tab.c" /* yacc.c:1646 */ +#line 1732 "ppy.tab.c" /* yacc.c:1648 */ break; case 28: -#line 316 "ppy.y" /* yacc.c:1646 */ +#line 316 "ppy.y" /* yacc.c:1648 */ { (yyval.cptr) = NULL; } -#line 1737 "ppy.tab.c" /* yacc.c:1646 */ +#line 1738 "ppy.tab.c" /* yacc.c:1648 */ break; case 29: -#line 317 "ppy.y" /* yacc.c:1646 */ +#line 317 "ppy.y" /* yacc.c:1648 */ { (yyval.cptr) = (yyvsp[0].cptr); } -#line 1743 "ppy.tab.c" /* yacc.c:1646 */ +#line 1744 "ppy.tab.c" /* yacc.c:1648 */ break; case 30: -#line 320 "ppy.y" /* yacc.c:1646 */ +#line 320 "ppy.y" /* yacc.c:1648 */ { (yyval.cptr) = (yyvsp[0].cptr); } -#line 1749 "ppy.tab.c" /* yacc.c:1646 */ +#line 1750 "ppy.tab.c" /* yacc.c:1648 */ break; case 31: -#line 321 "ppy.y" /* yacc.c:1646 */ +#line 321 "ppy.y" /* yacc.c:1648 */ { (yyval.cptr) = (yyvsp[0].cptr); } -#line 1755 "ppy.tab.c" /* yacc.c:1646 */ +#line 1756 "ppy.tab.c" /* yacc.c:1648 */ break; case 32: -#line 322 "ppy.y" /* yacc.c:1646 */ +#line 322 "ppy.y" /* yacc.c:1648 */ { (yyval.cptr) = (yyvsp[0].cptr); } -#line 1761 "ppy.tab.c" /* yacc.c:1646 */ +#line 1762 "ppy.tab.c" /* yacc.c:1648 */ break; case 33: -#line 323 "ppy.y" /* yacc.c:1646 */ +#line 323 "ppy.y" /* yacc.c:1648 */ { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); } -#line 1767 "ppy.tab.c" /* yacc.c:1646 */ +#line 1768 "ppy.tab.c" /* yacc.c:1648 */ break; case 34: -#line 324 "ppy.y" /* yacc.c:1646 */ +#line 324 "ppy.y" /* yacc.c:1648 */ { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); } -#line 1773 "ppy.tab.c" /* yacc.c:1646 */ +#line 1774 "ppy.tab.c" /* yacc.c:1648 */ break; case 35: -#line 325 "ppy.y" /* yacc.c:1646 */ +#line 325 "ppy.y" /* yacc.c:1648 */ { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); } -#line 1779 "ppy.tab.c" /* yacc.c:1646 */ +#line 1780 "ppy.tab.c" /* yacc.c:1648 */ break; case 36: -#line 328 "ppy.y" /* yacc.c:1646 */ +#line 328 "ppy.y" /* yacc.c:1648 */ { macro_args = NULL; nmacro_args = 0; } -#line 1785 "ppy.tab.c" /* yacc.c:1646 */ +#line 1786 "ppy.tab.c" /* yacc.c:1648 */ break; case 37: -#line 331 "ppy.y" /* yacc.c:1646 */ +#line 331 "ppy.y" /* yacc.c:1648 */ { (yyval.sint) = 0; macro_args = NULL; nmacro_args = 0; } -#line 1791 "ppy.tab.c" /* yacc.c:1646 */ +#line 1792 "ppy.tab.c" /* yacc.c:1648 */ break; case 38: -#line 332 "ppy.y" /* yacc.c:1646 */ +#line 332 "ppy.y" /* yacc.c:1648 */ { (yyval.sint) = nmacro_args; } -#line 1797 "ppy.tab.c" /* yacc.c:1646 */ +#line 1798 "ppy.tab.c" /* yacc.c:1648 */ break; case 39: -#line 335 "ppy.y" /* yacc.c:1646 */ +#line 335 "ppy.y" /* yacc.c:1648 */ { (yyval.marg) = (yyvsp[0].marg); } -#line 1803 "ppy.tab.c" /* yacc.c:1646 */ +#line 1804 "ppy.tab.c" /* yacc.c:1648 */ break; case 40: -#line 336 "ppy.y" /* yacc.c:1646 */ +#line 336 "ppy.y" /* yacc.c:1648 */ { (yyval.marg) = add_new_marg(NULL, arg_list); nmacro_args *= -1; } -#line 1809 "ppy.tab.c" /* yacc.c:1646 */ +#line 1810 "ppy.tab.c" /* yacc.c:1648 */ break; case 41: -#line 339 "ppy.y" /* yacc.c:1646 */ +#line 339 "ppy.y" /* yacc.c:1648 */ { (yyval.marg) = add_new_marg((yyvsp[0].cptr), arg_single); } -#line 1815 "ppy.tab.c" /* yacc.c:1646 */ +#line 1816 "ppy.tab.c" /* yacc.c:1648 */ break; case 42: -#line 340 "ppy.y" /* yacc.c:1646 */ +#line 340 "ppy.y" /* yacc.c:1648 */ { (yyval.marg) = add_new_marg((yyvsp[0].cptr), arg_single); } -#line 1821 "ppy.tab.c" /* yacc.c:1646 */ +#line 1822 "ppy.tab.c" /* yacc.c:1648 */ break; case 43: -#line 344 "ppy.y" /* yacc.c:1646 */ +#line 344 "ppy.y" /* yacc.c:1648 */ { (yyval.mtext) = NULL; } -#line 1827 "ppy.tab.c" /* yacc.c:1646 */ +#line 1828 "ppy.tab.c" /* yacc.c:1648 */ break; case 44: -#line 345 "ppy.y" /* yacc.c:1646 */ +#line 345 "ppy.y" /* yacc.c:1648 */ { for((yyval.mtext) = (yyvsp[0].mtext); (yyval.mtext) && (yyval.mtext)->prev; (yyval.mtext) = (yyval.mtext)->prev) ; } -#line 1836 "ppy.tab.c" /* yacc.c:1646 */ +#line 1837 "ppy.tab.c" /* yacc.c:1648 */ break; case 45: -#line 351 "ppy.y" /* yacc.c:1646 */ +#line 351 "ppy.y" /* yacc.c:1648 */ { (yyval.mtext) = (yyvsp[0].mtext); } -#line 1842 "ppy.tab.c" /* yacc.c:1646 */ +#line 1843 "ppy.tab.c" /* yacc.c:1648 */ break; case 46: -#line 352 "ppy.y" /* yacc.c:1646 */ +#line 352 "ppy.y" /* yacc.c:1648 */ { (yyval.mtext) = combine_mtext((yyvsp[-1].mtext), (yyvsp[0].mtext)); } -#line 1848 "ppy.tab.c" /* yacc.c:1646 */ +#line 1849 "ppy.tab.c" /* yacc.c:1648 */ break; case 47: -#line 355 "ppy.y" /* yacc.c:1646 */ +#line 355 "ppy.y" /* yacc.c:1648 */ { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); } -#line 1854 "ppy.tab.c" /* yacc.c:1646 */ +#line 1855 "ppy.tab.c" /* yacc.c:1648 */ break; case 48: -#line 356 "ppy.y" /* yacc.c:1646 */ +#line 356 "ppy.y" /* yacc.c:1648 */ { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); } -#line 1860 "ppy.tab.c" /* yacc.c:1646 */ +#line 1861 "ppy.tab.c" /* yacc.c:1648 */ break; case 49: -#line 357 "ppy.y" /* yacc.c:1646 */ +#line 357 "ppy.y" /* yacc.c:1648 */ { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); } -#line 1866 "ppy.tab.c" /* yacc.c:1646 */ +#line 1867 "ppy.tab.c" /* yacc.c:1648 */ break; case 50: -#line 358 "ppy.y" /* yacc.c:1646 */ +#line 358 "ppy.y" /* yacc.c:1648 */ { (yyval.mtext) = new_mtext(NULL, 0, exp_concat); } -#line 1872 "ppy.tab.c" /* yacc.c:1646 */ +#line 1873 "ppy.tab.c" /* yacc.c:1648 */ break; case 51: -#line 359 "ppy.y" /* yacc.c:1646 */ +#line 359 "ppy.y" /* yacc.c:1648 */ { int mat = marg_index((yyvsp[0].cptr)); if(mat < 0) @@ -1880,11 +1881,11 @@ else (yyval.mtext) = new_mtext(NULL, mat, exp_stringize); } -#line 1884 "ppy.tab.c" /* yacc.c:1646 */ +#line 1885 "ppy.tab.c" /* yacc.c:1648 */ break; case 52: -#line 366 "ppy.y" /* yacc.c:1646 */ +#line 366 "ppy.y" /* yacc.c:1648 */ { int mat = marg_index((yyvsp[0].cptr)); if(mat >= 0) @@ -1892,203 +1893,203 @@ else if((yyvsp[0].cptr)) (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); } -#line 1896 "ppy.tab.c" /* yacc.c:1646 */ +#line 1897 "ppy.tab.c" /* yacc.c:1648 */ break; case 53: -#line 375 "ppy.y" /* yacc.c:1646 */ +#line 375 "ppy.y" /* yacc.c:1648 */ { (yyval.cval).type = cv_sint; (yyval.cval).val.si = (yyvsp[0].sint); } -#line 1902 "ppy.tab.c" /* yacc.c:1646 */ +#line 1903 "ppy.tab.c" /* yacc.c:1648 */ break; case 54: -#line 376 "ppy.y" /* yacc.c:1646 */ +#line 376 "ppy.y" /* yacc.c:1648 */ { (yyval.cval).type = cv_uint; (yyval.cval).val.ui = (yyvsp[0].uint); } -#line 1908 "ppy.tab.c" /* yacc.c:1646 */ +#line 1909 "ppy.tab.c" /* yacc.c:1648 */ break; case 55: -#line 377 "ppy.y" /* yacc.c:1646 */ +#line 377 "ppy.y" /* yacc.c:1648 */ { (yyval.cval).type = cv_slong; (yyval.cval).val.sl = (yyvsp[0].slong); } -#line 1914 "ppy.tab.c" /* yacc.c:1646 */ +#line 1915 "ppy.tab.c" /* yacc.c:1648 */ break; case 56: -#line 378 "ppy.y" /* yacc.c:1646 */ +#line 378 "ppy.y" /* yacc.c:1648 */ { (yyval.cval).type = cv_ulong; (yyval.cval).val.ul = (yyvsp[0].ulong); } -#line 1920 "ppy.tab.c" /* yacc.c:1646 */ +#line 1921 "ppy.tab.c" /* yacc.c:1648 */ break; case 57: -#line 379 "ppy.y" /* yacc.c:1646 */ +#line 379 "ppy.y" /* yacc.c:1648 */ { (yyval.cval).type = cv_sll; (yyval.cval).val.sll = (yyvsp[0].sll); } -#line 1926 "ppy.tab.c" /* yacc.c:1646 */ +#line 1927 "ppy.tab.c" /* yacc.c:1648 */ break; case 58: -#line 380 "ppy.y" /* yacc.c:1646 */ +#line 380 "ppy.y" /* yacc.c:1648 */ { (yyval.cval).type = cv_ull; (yyval.cval).val.ull = (yyvsp[0].ull); } -#line 1932 "ppy.tab.c" /* yacc.c:1646 */ +#line 1933 "ppy.tab.c" /* yacc.c:1648 */ break; case 59: -#line 381 "ppy.y" /* yacc.c:1646 */ +#line 381 "ppy.y" /* yacc.c:1648 */ { (yyval.cval).type = cv_sint; (yyval.cval).val.si = pplookup((yyvsp[0].cptr)) != NULL; } -#line 1938 "ppy.tab.c" /* yacc.c:1646 */ +#line 1939 "ppy.tab.c" /* yacc.c:1648 */ break; case 60: -#line 382 "ppy.y" /* yacc.c:1646 */ +#line 382 "ppy.y" /* yacc.c:1648 */ { (yyval.cval).type = cv_sint; (yyval.cval).val.si = pplookup((yyvsp[-1].cptr)) != NULL; } -#line 1944 "ppy.tab.c" /* yacc.c:1646 */ +#line 1945 "ppy.tab.c" /* yacc.c:1648 */ break; case 61: -#line 383 "ppy.y" /* yacc.c:1646 */ +#line 383 "ppy.y" /* yacc.c:1648 */ { (yyval.cval).type = cv_sint; (yyval.cval).val.si = 0; } -#line 1950 "ppy.tab.c" /* yacc.c:1646 */ +#line 1951 "ppy.tab.c" /* yacc.c:1648 */ break; case 62: -#line 384 "ppy.y" /* yacc.c:1646 */ +#line 384 "ppy.y" /* yacc.c:1648 */ { (yyval.cval).type = cv_sint; (yyval.cval).val.si = boolean(&(yyvsp[-2].cval)) || boolean(&(yyvsp[0].cval)); } -#line 1956 "ppy.tab.c" /* yacc.c:1646 */ +#line 1957 "ppy.tab.c" /* yacc.c:1648 */ break; case 63: -#line 385 "ppy.y" /* yacc.c:1646 */ +#line 385 "ppy.y" /* yacc.c:1648 */ { (yyval.cval).type = cv_sint; (yyval.cval).val.si = boolean(&(yyvsp[-2].cval)) && boolean(&(yyvsp[0].cval)); } -#line 1962 "ppy.tab.c" /* yacc.c:1646 */ +#line 1963 "ppy.tab.c" /* yacc.c:1648 */ break; case 64: -#line 386 "ppy.y" /* yacc.c:1646 */ +#line 386 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), ==); } -#line 1968 "ppy.tab.c" /* yacc.c:1646 */ +#line 1969 "ppy.tab.c" /* yacc.c:1648 */ break; case 65: -#line 387 "ppy.y" /* yacc.c:1646 */ +#line 387 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), !=); } -#line 1974 "ppy.tab.c" /* yacc.c:1646 */ +#line 1975 "ppy.tab.c" /* yacc.c:1648 */ break; case 66: -#line 388 "ppy.y" /* yacc.c:1646 */ +#line 388 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), <); } -#line 1980 "ppy.tab.c" /* yacc.c:1646 */ +#line 1981 "ppy.tab.c" /* yacc.c:1648 */ break; case 67: -#line 389 "ppy.y" /* yacc.c:1646 */ +#line 389 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), >); } -#line 1986 "ppy.tab.c" /* yacc.c:1646 */ +#line 1987 "ppy.tab.c" /* yacc.c:1648 */ break; case 68: -#line 390 "ppy.y" /* yacc.c:1646 */ +#line 390 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), <=); } -#line 1992 "ppy.tab.c" /* yacc.c:1646 */ +#line 1993 "ppy.tab.c" /* yacc.c:1648 */ break; case 69: -#line 391 "ppy.y" /* yacc.c:1646 */ +#line 391 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), >=); } -#line 1998 "ppy.tab.c" /* yacc.c:1646 */ +#line 1999 "ppy.tab.c" /* yacc.c:1648 */ break; case 70: -#line 392 "ppy.y" /* yacc.c:1646 */ +#line 392 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), +); } -#line 2004 "ppy.tab.c" /* yacc.c:1646 */ +#line 2005 "ppy.tab.c" /* yacc.c:1648 */ break; case 71: -#line 393 "ppy.y" /* yacc.c:1646 */ +#line 393 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), -); } -#line 2010 "ppy.tab.c" /* yacc.c:1646 */ +#line 2011 "ppy.tab.c" /* yacc.c:1648 */ break; case 72: -#line 394 "ppy.y" /* yacc.c:1646 */ +#line 394 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), ^); } -#line 2016 "ppy.tab.c" /* yacc.c:1646 */ +#line 2017 "ppy.tab.c" /* yacc.c:1648 */ break; case 73: -#line 395 "ppy.y" /* yacc.c:1646 */ +#line 395 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), &); } -#line 2022 "ppy.tab.c" /* yacc.c:1646 */ +#line 2023 "ppy.tab.c" /* yacc.c:1648 */ break; case 74: -#line 396 "ppy.y" /* yacc.c:1646 */ +#line 396 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), |); } -#line 2028 "ppy.tab.c" /* yacc.c:1646 */ +#line 2029 "ppy.tab.c" /* yacc.c:1648 */ break; case 75: -#line 397 "ppy.y" /* yacc.c:1646 */ +#line 397 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), *); } -#line 2034 "ppy.tab.c" /* yacc.c:1646 */ +#line 2035 "ppy.tab.c" /* yacc.c:1648 */ break; case 76: -#line 398 "ppy.y" /* yacc.c:1646 */ +#line 398 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), /); } -#line 2040 "ppy.tab.c" /* yacc.c:1646 */ +#line 2041 "ppy.tab.c" /* yacc.c:1648 */ break; case 77: -#line 399 "ppy.y" /* yacc.c:1646 */ +#line 399 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), <<); } -#line 2046 "ppy.tab.c" /* yacc.c:1646 */ +#line 2047 "ppy.tab.c" /* yacc.c:1648 */ break; case 78: -#line 400 "ppy.y" /* yacc.c:1646 */ +#line 400 "ppy.y" /* yacc.c:1648 */ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), >>); } -#line 2052 "ppy.tab.c" /* yacc.c:1646 */ +#line 2053 "ppy.tab.c" /* yacc.c:1648 */ break; case 79: -#line 401 "ppy.y" /* yacc.c:1646 */ +#line 401 "ppy.y" /* yacc.c:1648 */ { (yyval.cval) = (yyvsp[0].cval); } -#line 2058 "ppy.tab.c" /* yacc.c:1646 */ +#line 2059 "ppy.tab.c" /* yacc.c:1648 */ break; case 80: -#line 402 "ppy.y" /* yacc.c:1646 */ +#line 402 "ppy.y" /* yacc.c:1648 */ { UNARY_OP((yyval.cval), (yyvsp[0].cval), -); } -#line 2064 "ppy.tab.c" /* yacc.c:1646 */ +#line 2065 "ppy.tab.c" /* yacc.c:1648 */ break; case 81: -#line 403 "ppy.y" /* yacc.c:1646 */ +#line 403 "ppy.y" /* yacc.c:1648 */ { UNARY_OP((yyval.cval), (yyvsp[0].cval), ~); } -#line 2070 "ppy.tab.c" /* yacc.c:1646 */ +#line 2071 "ppy.tab.c" /* yacc.c:1648 */ break; case 82: -#line 404 "ppy.y" /* yacc.c:1646 */ +#line 404 "ppy.y" /* yacc.c:1648 */ { (yyval.cval).type = cv_sint; (yyval.cval).val.si = !boolean(&(yyvsp[0].cval)); } -#line 2076 "ppy.tab.c" /* yacc.c:1646 */ +#line 2077 "ppy.tab.c" /* yacc.c:1648 */ break; case 83: -#line 405 "ppy.y" /* yacc.c:1646 */ +#line 405 "ppy.y" /* yacc.c:1648 */ { (yyval.cval) = (yyvsp[-1].cval); } -#line 2082 "ppy.tab.c" /* yacc.c:1646 */ +#line 2083 "ppy.tab.c" /* yacc.c:1648 */ break; case 84: -#line 406 "ppy.y" /* yacc.c:1646 */ +#line 406 "ppy.y" /* yacc.c:1648 */ { (yyval.cval) = boolean(&(yyvsp[-4].cval)) ? (yyvsp[-2].cval) : (yyvsp[0].cval); } -#line 2088 "ppy.tab.c" /* yacc.c:1646 */ +#line 2089 "ppy.tab.c" /* yacc.c:1648 */ break; -#line 2092 "ppy.tab.c" /* yacc.c:1646 */ +#line 2093 "ppy.tab.c" /* yacc.c:1648 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -2316,7 +2317,7 @@ #endif return yyresult; } -#line 409 "ppy.y" /* yacc.c:1906 */ +#line 409 "ppy.y" /* yacc.c:1907 */ /*
diff --git a/mingw-w64-tools/widl/src/wpp/ppy.tab.h b/mingw-w64-tools/widl/src/wpp/ppy.tab.h index c5fafff..8846641 100644 --- a/mingw-w64-tools/widl/src/wpp/ppy.tab.h +++ b/mingw-w64-tools/widl/src/wpp/ppy.tab.h
@@ -1,8 +1,8 @@ -/* A Bison parser, made by GNU Bison 3.0.4. */ +/* A Bison parser, made by GNU Bison 3.0.5. */ /* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -96,7 +96,7 @@ union YYSTYPE { -#line 126 "ppy.y" /* yacc.c:1909 */ +#line 126 "ppy.y" /* yacc.c:1910 */ int sint; unsigned int uint; @@ -110,7 +110,7 @@ marg_t *marg; mtext_t *mtext; -#line 114 "ppy.tab.h" /* yacc.c:1909 */ +#line 114 "ppy.tab.h" /* yacc.c:1910 */ }; typedef union YYSTYPE YYSTYPE;