widl: Update to current Wine version. Signed-off-by: Jacek Caban <jacek@codeweavers.com>
diff --git a/mingw-w64-tools/widl/VERSION b/mingw-w64-tools/widl/VERSION index 6f46d8c..434c0c0 100644 --- a/mingw-w64-tools/widl/VERSION +++ b/mingw-w64-tools/widl/VERSION
@@ -1 +1 @@ -WIDL version 8.12 +WIDL version 8.13
diff --git a/mingw-w64-tools/widl/configure b/mingw-w64-tools/widl/configure index 6533ecb..7f58d46 100755 --- a/mingw-w64-tools/widl/configure +++ b/mingw-w64-tools/widl/configure
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for widl 8.12. +# Generated by GNU Autoconf 2.71 for widl 8.13. # # Report bugs to <mingw-w64-public@lists.sourceforge.net>. # @@ -610,8 +610,8 @@ # Identity of this package. PACKAGE_NAME='widl' PACKAGE_TARNAME='widl' -PACKAGE_VERSION='8.12' -PACKAGE_STRING='widl 8.12' +PACKAGE_VERSION='8.13' +PACKAGE_STRING='widl 8.13' PACKAGE_BUGREPORT='mingw-w64-public@lists.sourceforge.net' PACKAGE_URL='' @@ -1319,7 +1319,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures widl 8.12 to adapt to many kinds of systems. +\`configure' configures widl 8.13 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1391,7 +1391,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of widl 8.12:";; + short | recursive ) echo "Configuration of widl 8.13:";; esac cat <<\_ACEOF @@ -1493,7 +1493,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -widl configure 8.12 +widl configure 8.13 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1905,7 +1905,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by widl $as_me 8.12, which was +It was created by widl $as_me 8.13, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3295,7 +3295,7 @@ # Define the identity of the package. PACKAGE='widl' - VERSION='8.12' + VERSION='8.13' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -5789,7 +5789,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by widl $as_me 8.12, which was +This file was extended by widl $as_me 8.13, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5857,7 +5857,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -widl config.status 8.12 +widl config.status 8.13 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\"
diff --git a/mingw-w64-tools/widl/include/winnt.h b/mingw-w64-tools/widl/include/winnt.h index 9892605..a012299 100644 --- a/mingw-w64-tools/widl/include/winnt.h +++ b/mingw-w64-tools/widl/include/winnt.h
@@ -871,6 +871,8 @@ #define MAXDWORD 0xffffffff #define MAXLONGLONG (((LONGLONG)0x7fffffff << 32) | 0xffffffff) +#define UNICODE_NULL ((WCHAR)0) + #define UNICODE_STRING_MAX_CHARS 32767 #define FIELD_OFFSET(type, field) ((LONG)offsetof(type, field)) @@ -5466,12 +5468,6 @@ #define FILE_256_BYTE_ALIGNMENT 0x000000ff #define FILE_512_BYTE_ALIGNMENT 0x000001ff -#define COMPRESSION_FORMAT_NONE 0 -#define COMPRESSION_FORMAT_DEFAULT 1 -#define COMPRESSION_FORMAT_LZNT1 2 -#define COMPRESSION_ENGINE_STANDARD 0 -#define COMPRESSION_ENGINE_MAXIMUM 256 - #define MAILSLOT_NO_MESSAGE ((DWORD)-1) #define MAILSLOT_WAIT_FOREVER ((DWORD)-1)
diff --git a/mingw-w64-tools/widl/src/attribute.c b/mingw-w64-tools/widl/src/attribute.c index 5ea13a0..bcd804e 100644 --- a/mingw-w64-tools/widl/src/attribute.c +++ b/mingw-w64-tools/widl/src/attribute.c
@@ -153,6 +153,7 @@ /* ATTR_CUSTOM */ { 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, "custom" }, /* ATTR_DECODE */ { 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "decode" }, /* ATTR_DEFAULT */ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, "default" }, + /* ATTR_DEFAULT_OVERLOAD */ { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "default_overload" }, /* ATTR_DEFAULTBIND */ { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "defaultbind" }, /* ATTR_DEFAULTCOLLELEM */ { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "defaultcollelem" }, /* ATTR_DEFAULTVALUE */ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "defaultvalue" },
diff --git a/mingw-w64-tools/widl/src/parser.l b/mingw-w64-tools/widl/src/parser.l index afbdf71..951998d 100644 --- a/mingw-w64-tools/widl/src/parser.l +++ b/mingw-w64-tools/widl/src/parser.l
@@ -254,6 +254,7 @@ control { return tCONTROL; } custom { return tCUSTOM; } decode { return tDECODE; } + default_overload { return tDEFAULT_OVERLOAD; } defaultbind { return tDEFAULTBIND; } defaultcollelem { return tDEFAULTCOLLELEM; } defaultvalue { return tDEFAULTVALUE; }
diff --git a/mingw-w64-tools/widl/src/parser.tab.c b/mingw-w64-tools/widl/src/parser.tab.c index a70a6ef..2800f6d 100644 --- a/mingw-w64-tools/widl/src/parser.tab.c +++ b/mingw-w64-tools/widl/src/parser.tab.c
@@ -303,153 +303,154 @@ tDEFAULT = 319, /* tDEFAULT */ tDEFAULTBIND = 320, /* tDEFAULTBIND */ tDELEGATE = 321, /* tDELEGATE */ - tDEFAULTCOLLELEM = 322, /* tDEFAULTCOLLELEM */ - tDEFAULTVALUE = 323, /* tDEFAULTVALUE */ - tDEFAULTVTABLE = 324, /* tDEFAULTVTABLE */ - tDEPRECATED = 325, /* tDEPRECATED */ - tDISABLECONSISTENCYCHECK = 326, /* tDISABLECONSISTENCYCHECK */ - tDISPLAYBIND = 327, /* tDISPLAYBIND */ - tDISPINTERFACE = 328, /* tDISPINTERFACE */ - tDLLNAME = 329, /* tDLLNAME */ - tDONTFREE = 330, /* tDONTFREE */ - tDOUBLE = 331, /* tDOUBLE */ - tDUAL = 332, /* tDUAL */ - tENABLEALLOCATE = 333, /* tENABLEALLOCATE */ - tENCODE = 334, /* tENCODE */ - tENDPOINT = 335, /* tENDPOINT */ - tENTRY = 336, /* tENTRY */ - tENUM = 337, /* tENUM */ - tERRORSTATUST = 338, /* tERRORSTATUST */ - tEVENTADD = 339, /* tEVENTADD */ - tEVENTREMOVE = 340, /* tEVENTREMOVE */ - tEXCLUSIVETO = 341, /* tEXCLUSIVETO */ - tEXPLICITHANDLE = 342, /* tEXPLICITHANDLE */ - tEXTERN = 343, /* tEXTERN */ - tFALSE = 344, /* tFALSE */ - tFAULTSTATUS = 345, /* tFAULTSTATUS */ - tFLAGS = 346, /* tFLAGS */ - tFLOAT = 347, /* tFLOAT */ - tFORCEALLOCATE = 348, /* tFORCEALLOCATE */ - tHANDLE = 349, /* tHANDLE */ - tHANDLET = 350, /* tHANDLET */ - tHELPCONTEXT = 351, /* tHELPCONTEXT */ - tHELPFILE = 352, /* tHELPFILE */ - tHELPSTRING = 353, /* tHELPSTRING */ - tHELPSTRINGCONTEXT = 354, /* tHELPSTRINGCONTEXT */ - tHELPSTRINGDLL = 355, /* tHELPSTRINGDLL */ - tHIDDEN = 356, /* tHIDDEN */ - tHYPER = 357, /* tHYPER */ - tID = 358, /* tID */ - tIDEMPOTENT = 359, /* tIDEMPOTENT */ - tIGNORE = 360, /* tIGNORE */ - tIIDIS = 361, /* tIIDIS */ - tIMMEDIATEBIND = 362, /* tIMMEDIATEBIND */ - tIMPLICITHANDLE = 363, /* tIMPLICITHANDLE */ - tIMPORT = 364, /* tIMPORT */ - tIMPORTLIB = 365, /* tIMPORTLIB */ - tIN = 366, /* tIN */ - tIN_LINE = 367, /* tIN_LINE */ - tINLINE = 368, /* tINLINE */ - tINPUTSYNC = 369, /* tINPUTSYNC */ - tINT = 370, /* tINT */ - tINT32 = 371, /* tINT32 */ - tINT3264 = 372, /* tINT3264 */ - tINT64 = 373, /* tINT64 */ - tINTERFACE = 374, /* tINTERFACE */ - tLCID = 375, /* tLCID */ - tLENGTHIS = 376, /* tLENGTHIS */ - tLIBRARY = 377, /* tLIBRARY */ - tLICENSED = 378, /* tLICENSED */ - tLOCAL = 379, /* tLOCAL */ - tLONG = 380, /* tLONG */ - tMARSHALINGBEHAVIOR = 381, /* tMARSHALINGBEHAVIOR */ - tMAYBE = 382, /* tMAYBE */ - tMESSAGE = 383, /* tMESSAGE */ - tMETHODS = 384, /* tMETHODS */ - tMODULE = 385, /* tMODULE */ - tMTA = 386, /* tMTA */ - tNAMESPACE = 387, /* tNAMESPACE */ - tNOCODE = 388, /* tNOCODE */ - tNONBROWSABLE = 389, /* tNONBROWSABLE */ - tNONCREATABLE = 390, /* tNONCREATABLE */ - tNONE = 391, /* tNONE */ - tNONEXTENSIBLE = 392, /* tNONEXTENSIBLE */ - tNOTIFY = 393, /* tNOTIFY */ - tNOTIFYFLAG = 394, /* tNOTIFYFLAG */ - tNULL = 395, /* tNULL */ - tOBJECT = 396, /* tOBJECT */ - tODL = 397, /* tODL */ - tOLEAUTOMATION = 398, /* tOLEAUTOMATION */ - tOPTIMIZE = 399, /* tOPTIMIZE */ - tOPTIONAL = 400, /* tOPTIONAL */ - tOUT = 401, /* tOUT */ - tOVERLOAD = 402, /* tOVERLOAD */ - tPARTIALIGNORE = 403, /* tPARTIALIGNORE */ - tPOINTERDEFAULT = 404, /* tPOINTERDEFAULT */ - tPRAGMA_WARNING = 405, /* tPRAGMA_WARNING */ - tPROGID = 406, /* tPROGID */ - tPROPERTIES = 407, /* tPROPERTIES */ - tPROPGET = 408, /* tPROPGET */ - tPROPPUT = 409, /* tPROPPUT */ - tPROPPUTREF = 410, /* tPROPPUTREF */ - tPROTECTED = 411, /* tPROTECTED */ - tPROXY = 412, /* tPROXY */ - tPTR = 413, /* tPTR */ - tPUBLIC = 414, /* tPUBLIC */ - tRANGE = 415, /* tRANGE */ - tREADONLY = 416, /* tREADONLY */ - tREF = 417, /* tREF */ - tREGISTER = 418, /* tREGISTER */ - tREPRESENTAS = 419, /* tREPRESENTAS */ - tREQUESTEDIT = 420, /* tREQUESTEDIT */ - tREQUIRES = 421, /* tREQUIRES */ - tRESTRICTED = 422, /* tRESTRICTED */ - tRETVAL = 423, /* tRETVAL */ - tRUNTIMECLASS = 424, /* tRUNTIMECLASS */ - tSAFEARRAY = 425, /* tSAFEARRAY */ - tSHORT = 426, /* tSHORT */ - tSIGNED = 427, /* tSIGNED */ - tSINGLENODE = 428, /* tSINGLENODE */ - tSIZEIS = 429, /* tSIZEIS */ - tSIZEOF = 430, /* tSIZEOF */ - tSMALL = 431, /* tSMALL */ - tSOURCE = 432, /* tSOURCE */ - tSTANDARD = 433, /* tSTANDARD */ - tSTATIC = 434, /* tSTATIC */ - tSTRICTCONTEXTHANDLE = 435, /* tSTRICTCONTEXTHANDLE */ - tSTRING = 436, /* tSTRING */ - tSTRUCT = 437, /* tSTRUCT */ - tSWITCH = 438, /* tSWITCH */ - tSWITCHIS = 439, /* tSWITCHIS */ - tSWITCHTYPE = 440, /* tSWITCHTYPE */ - tTHREADING = 441, /* tTHREADING */ - tTRANSMITAS = 442, /* tTRANSMITAS */ - tTRUE = 443, /* tTRUE */ - tTYPEDEF = 444, /* tTYPEDEF */ - tUIDEFAULT = 445, /* tUIDEFAULT */ - tUNION = 446, /* tUNION */ - tUNIQUE = 447, /* tUNIQUE */ - tUNSIGNED = 448, /* tUNSIGNED */ - tUSESGETLASTERROR = 449, /* tUSESGETLASTERROR */ - tUSERMARSHAL = 450, /* tUSERMARSHAL */ - tUUID = 451, /* tUUID */ - tV1ENUM = 452, /* tV1ENUM */ - tVARARG = 453, /* tVARARG */ - tVERSION = 454, /* tVERSION */ - tVIPROGID = 455, /* tVIPROGID */ - tVOID = 456, /* tVOID */ - tWCHAR = 457, /* tWCHAR */ - tWIREMARSHAL = 458, /* tWIREMARSHAL */ - tAPARTMENT = 459, /* tAPARTMENT */ - tNEUTRAL = 460, /* tNEUTRAL */ - tSINGLE = 461, /* tSINGLE */ - tFREE = 462, /* tFREE */ - tBOTH = 463, /* tBOTH */ - CAST = 464, /* CAST */ - PPTR = 465, /* PPTR */ - POS = 466, /* POS */ - NEG = 467, /* NEG */ - ADDRESSOF = 468 /* ADDRESSOF */ + tDEFAULT_OVERLOAD = 322, /* tDEFAULT_OVERLOAD */ + tDEFAULTCOLLELEM = 323, /* tDEFAULTCOLLELEM */ + tDEFAULTVALUE = 324, /* tDEFAULTVALUE */ + tDEFAULTVTABLE = 325, /* tDEFAULTVTABLE */ + tDEPRECATED = 326, /* tDEPRECATED */ + tDISABLECONSISTENCYCHECK = 327, /* tDISABLECONSISTENCYCHECK */ + tDISPLAYBIND = 328, /* tDISPLAYBIND */ + tDISPINTERFACE = 329, /* tDISPINTERFACE */ + tDLLNAME = 330, /* tDLLNAME */ + tDONTFREE = 331, /* tDONTFREE */ + tDOUBLE = 332, /* tDOUBLE */ + tDUAL = 333, /* tDUAL */ + tENABLEALLOCATE = 334, /* tENABLEALLOCATE */ + tENCODE = 335, /* tENCODE */ + tENDPOINT = 336, /* tENDPOINT */ + tENTRY = 337, /* tENTRY */ + tENUM = 338, /* tENUM */ + tERRORSTATUST = 339, /* tERRORSTATUST */ + tEVENTADD = 340, /* tEVENTADD */ + tEVENTREMOVE = 341, /* tEVENTREMOVE */ + tEXCLUSIVETO = 342, /* tEXCLUSIVETO */ + tEXPLICITHANDLE = 343, /* tEXPLICITHANDLE */ + tEXTERN = 344, /* tEXTERN */ + tFALSE = 345, /* tFALSE */ + tFAULTSTATUS = 346, /* tFAULTSTATUS */ + tFLAGS = 347, /* tFLAGS */ + tFLOAT = 348, /* tFLOAT */ + tFORCEALLOCATE = 349, /* tFORCEALLOCATE */ + tHANDLE = 350, /* tHANDLE */ + tHANDLET = 351, /* tHANDLET */ + tHELPCONTEXT = 352, /* tHELPCONTEXT */ + tHELPFILE = 353, /* tHELPFILE */ + tHELPSTRING = 354, /* tHELPSTRING */ + tHELPSTRINGCONTEXT = 355, /* tHELPSTRINGCONTEXT */ + tHELPSTRINGDLL = 356, /* tHELPSTRINGDLL */ + tHIDDEN = 357, /* tHIDDEN */ + tHYPER = 358, /* tHYPER */ + tID = 359, /* tID */ + tIDEMPOTENT = 360, /* tIDEMPOTENT */ + tIGNORE = 361, /* tIGNORE */ + tIIDIS = 362, /* tIIDIS */ + tIMMEDIATEBIND = 363, /* tIMMEDIATEBIND */ + tIMPLICITHANDLE = 364, /* tIMPLICITHANDLE */ + tIMPORT = 365, /* tIMPORT */ + tIMPORTLIB = 366, /* tIMPORTLIB */ + tIN = 367, /* tIN */ + tIN_LINE = 368, /* tIN_LINE */ + tINLINE = 369, /* tINLINE */ + tINPUTSYNC = 370, /* tINPUTSYNC */ + tINT = 371, /* tINT */ + tINT32 = 372, /* tINT32 */ + tINT3264 = 373, /* tINT3264 */ + tINT64 = 374, /* tINT64 */ + tINTERFACE = 375, /* tINTERFACE */ + tLCID = 376, /* tLCID */ + tLENGTHIS = 377, /* tLENGTHIS */ + tLIBRARY = 378, /* tLIBRARY */ + tLICENSED = 379, /* tLICENSED */ + tLOCAL = 380, /* tLOCAL */ + tLONG = 381, /* tLONG */ + tMARSHALINGBEHAVIOR = 382, /* tMARSHALINGBEHAVIOR */ + tMAYBE = 383, /* tMAYBE */ + tMESSAGE = 384, /* tMESSAGE */ + tMETHODS = 385, /* tMETHODS */ + tMODULE = 386, /* tMODULE */ + tMTA = 387, /* tMTA */ + tNAMESPACE = 388, /* tNAMESPACE */ + tNOCODE = 389, /* tNOCODE */ + tNONBROWSABLE = 390, /* tNONBROWSABLE */ + tNONCREATABLE = 391, /* tNONCREATABLE */ + tNONE = 392, /* tNONE */ + tNONEXTENSIBLE = 393, /* tNONEXTENSIBLE */ + tNOTIFY = 394, /* tNOTIFY */ + tNOTIFYFLAG = 395, /* tNOTIFYFLAG */ + tNULL = 396, /* tNULL */ + tOBJECT = 397, /* tOBJECT */ + tODL = 398, /* tODL */ + tOLEAUTOMATION = 399, /* tOLEAUTOMATION */ + tOPTIMIZE = 400, /* tOPTIMIZE */ + tOPTIONAL = 401, /* tOPTIONAL */ + tOUT = 402, /* tOUT */ + tOVERLOAD = 403, /* tOVERLOAD */ + tPARTIALIGNORE = 404, /* tPARTIALIGNORE */ + tPOINTERDEFAULT = 405, /* tPOINTERDEFAULT */ + tPRAGMA_WARNING = 406, /* tPRAGMA_WARNING */ + tPROGID = 407, /* tPROGID */ + tPROPERTIES = 408, /* tPROPERTIES */ + tPROPGET = 409, /* tPROPGET */ + tPROPPUT = 410, /* tPROPPUT */ + tPROPPUTREF = 411, /* tPROPPUTREF */ + tPROTECTED = 412, /* tPROTECTED */ + tPROXY = 413, /* tPROXY */ + tPTR = 414, /* tPTR */ + tPUBLIC = 415, /* tPUBLIC */ + tRANGE = 416, /* tRANGE */ + tREADONLY = 417, /* tREADONLY */ + tREF = 418, /* tREF */ + tREGISTER = 419, /* tREGISTER */ + tREPRESENTAS = 420, /* tREPRESENTAS */ + tREQUESTEDIT = 421, /* tREQUESTEDIT */ + tREQUIRES = 422, /* tREQUIRES */ + tRESTRICTED = 423, /* tRESTRICTED */ + tRETVAL = 424, /* tRETVAL */ + tRUNTIMECLASS = 425, /* tRUNTIMECLASS */ + tSAFEARRAY = 426, /* tSAFEARRAY */ + tSHORT = 427, /* tSHORT */ + tSIGNED = 428, /* tSIGNED */ + tSINGLENODE = 429, /* tSINGLENODE */ + tSIZEIS = 430, /* tSIZEIS */ + tSIZEOF = 431, /* tSIZEOF */ + tSMALL = 432, /* tSMALL */ + tSOURCE = 433, /* tSOURCE */ + tSTANDARD = 434, /* tSTANDARD */ + tSTATIC = 435, /* tSTATIC */ + tSTRICTCONTEXTHANDLE = 436, /* tSTRICTCONTEXTHANDLE */ + tSTRING = 437, /* tSTRING */ + tSTRUCT = 438, /* tSTRUCT */ + tSWITCH = 439, /* tSWITCH */ + tSWITCHIS = 440, /* tSWITCHIS */ + tSWITCHTYPE = 441, /* tSWITCHTYPE */ + tTHREADING = 442, /* tTHREADING */ + tTRANSMITAS = 443, /* tTRANSMITAS */ + tTRUE = 444, /* tTRUE */ + tTYPEDEF = 445, /* tTYPEDEF */ + tUIDEFAULT = 446, /* tUIDEFAULT */ + tUNION = 447, /* tUNION */ + tUNIQUE = 448, /* tUNIQUE */ + tUNSIGNED = 449, /* tUNSIGNED */ + tUSESGETLASTERROR = 450, /* tUSESGETLASTERROR */ + tUSERMARSHAL = 451, /* tUSERMARSHAL */ + tUUID = 452, /* tUUID */ + tV1ENUM = 453, /* tV1ENUM */ + tVARARG = 454, /* tVARARG */ + tVERSION = 455, /* tVERSION */ + tVIPROGID = 456, /* tVIPROGID */ + tVOID = 457, /* tVOID */ + tWCHAR = 458, /* tWCHAR */ + tWIREMARSHAL = 459, /* tWIREMARSHAL */ + tAPARTMENT = 460, /* tAPARTMENT */ + tNEUTRAL = 461, /* tNEUTRAL */ + tSINGLE = 462, /* tSINGLE */ + tFREE = 463, /* tFREE */ + tBOTH = 464, /* tBOTH */ + CAST = 465, /* CAST */ + PPTR = 466, /* PPTR */ + POS = 467, /* POS */ + NEG = 468, /* NEG */ + ADDRESSOF = 469 /* ADDRESSOF */ }; typedef enum parser_tokentype parser_token_kind_t; #endif @@ -488,7 +489,7 @@ enum function_specifier function_specifier; struct namespace *namespace; -#line 492 "tools/widl/parser.tab.c" +#line 493 "tools/widl/parser.tab.c" }; typedef union PARSER_STYPE PARSER_STYPE; @@ -528,7 +529,7 @@ else init_location( &(cur), &YYRHSLOC( rhs, 0 ), NULL ); } while(0) -#line 532 "tools/widl/parser.tab.c" +#line 533 "tools/widl/parser.tab.c" /* Symbol kind. */ @@ -602,324 +603,325 @@ YYSYMBOL_tDEFAULT = 64, /* tDEFAULT */ YYSYMBOL_tDEFAULTBIND = 65, /* tDEFAULTBIND */ YYSYMBOL_tDELEGATE = 66, /* tDELEGATE */ - YYSYMBOL_tDEFAULTCOLLELEM = 67, /* tDEFAULTCOLLELEM */ - YYSYMBOL_tDEFAULTVALUE = 68, /* tDEFAULTVALUE */ - YYSYMBOL_tDEFAULTVTABLE = 69, /* tDEFAULTVTABLE */ - YYSYMBOL_tDEPRECATED = 70, /* tDEPRECATED */ - YYSYMBOL_tDISABLECONSISTENCYCHECK = 71, /* tDISABLECONSISTENCYCHECK */ - YYSYMBOL_tDISPLAYBIND = 72, /* tDISPLAYBIND */ - YYSYMBOL_tDISPINTERFACE = 73, /* tDISPINTERFACE */ - YYSYMBOL_tDLLNAME = 74, /* tDLLNAME */ - YYSYMBOL_tDONTFREE = 75, /* tDONTFREE */ - YYSYMBOL_tDOUBLE = 76, /* tDOUBLE */ - YYSYMBOL_tDUAL = 77, /* tDUAL */ - YYSYMBOL_tENABLEALLOCATE = 78, /* tENABLEALLOCATE */ - YYSYMBOL_tENCODE = 79, /* tENCODE */ - YYSYMBOL_tENDPOINT = 80, /* tENDPOINT */ - YYSYMBOL_tENTRY = 81, /* tENTRY */ - YYSYMBOL_tENUM = 82, /* tENUM */ - YYSYMBOL_tERRORSTATUST = 83, /* tERRORSTATUST */ - YYSYMBOL_tEVENTADD = 84, /* tEVENTADD */ - YYSYMBOL_tEVENTREMOVE = 85, /* tEVENTREMOVE */ - YYSYMBOL_tEXCLUSIVETO = 86, /* tEXCLUSIVETO */ - YYSYMBOL_tEXPLICITHANDLE = 87, /* tEXPLICITHANDLE */ - YYSYMBOL_tEXTERN = 88, /* tEXTERN */ - YYSYMBOL_tFALSE = 89, /* tFALSE */ - YYSYMBOL_tFAULTSTATUS = 90, /* tFAULTSTATUS */ - YYSYMBOL_tFLAGS = 91, /* tFLAGS */ - YYSYMBOL_tFLOAT = 92, /* tFLOAT */ - YYSYMBOL_tFORCEALLOCATE = 93, /* tFORCEALLOCATE */ - YYSYMBOL_tHANDLE = 94, /* tHANDLE */ - YYSYMBOL_tHANDLET = 95, /* tHANDLET */ - YYSYMBOL_tHELPCONTEXT = 96, /* tHELPCONTEXT */ - YYSYMBOL_tHELPFILE = 97, /* tHELPFILE */ - YYSYMBOL_tHELPSTRING = 98, /* tHELPSTRING */ - YYSYMBOL_tHELPSTRINGCONTEXT = 99, /* tHELPSTRINGCONTEXT */ - YYSYMBOL_tHELPSTRINGDLL = 100, /* tHELPSTRINGDLL */ - YYSYMBOL_tHIDDEN = 101, /* tHIDDEN */ - YYSYMBOL_tHYPER = 102, /* tHYPER */ - YYSYMBOL_tID = 103, /* tID */ - YYSYMBOL_tIDEMPOTENT = 104, /* tIDEMPOTENT */ - YYSYMBOL_tIGNORE = 105, /* tIGNORE */ - YYSYMBOL_tIIDIS = 106, /* tIIDIS */ - YYSYMBOL_tIMMEDIATEBIND = 107, /* tIMMEDIATEBIND */ - YYSYMBOL_tIMPLICITHANDLE = 108, /* tIMPLICITHANDLE */ - YYSYMBOL_tIMPORT = 109, /* tIMPORT */ - YYSYMBOL_tIMPORTLIB = 110, /* tIMPORTLIB */ - YYSYMBOL_tIN = 111, /* tIN */ - YYSYMBOL_tIN_LINE = 112, /* tIN_LINE */ - YYSYMBOL_tINLINE = 113, /* tINLINE */ - YYSYMBOL_tINPUTSYNC = 114, /* tINPUTSYNC */ - YYSYMBOL_tINT = 115, /* tINT */ - YYSYMBOL_tINT32 = 116, /* tINT32 */ - YYSYMBOL_tINT3264 = 117, /* tINT3264 */ - YYSYMBOL_tINT64 = 118, /* tINT64 */ - YYSYMBOL_tINTERFACE = 119, /* tINTERFACE */ - YYSYMBOL_tLCID = 120, /* tLCID */ - YYSYMBOL_tLENGTHIS = 121, /* tLENGTHIS */ - YYSYMBOL_tLIBRARY = 122, /* tLIBRARY */ - YYSYMBOL_tLICENSED = 123, /* tLICENSED */ - YYSYMBOL_tLOCAL = 124, /* tLOCAL */ - YYSYMBOL_tLONG = 125, /* tLONG */ - YYSYMBOL_tMARSHALINGBEHAVIOR = 126, /* tMARSHALINGBEHAVIOR */ - YYSYMBOL_tMAYBE = 127, /* tMAYBE */ - YYSYMBOL_tMESSAGE = 128, /* tMESSAGE */ - YYSYMBOL_tMETHODS = 129, /* tMETHODS */ - YYSYMBOL_tMODULE = 130, /* tMODULE */ - YYSYMBOL_tMTA = 131, /* tMTA */ - YYSYMBOL_tNAMESPACE = 132, /* tNAMESPACE */ - YYSYMBOL_tNOCODE = 133, /* tNOCODE */ - YYSYMBOL_tNONBROWSABLE = 134, /* tNONBROWSABLE */ - YYSYMBOL_tNONCREATABLE = 135, /* tNONCREATABLE */ - YYSYMBOL_tNONE = 136, /* tNONE */ - YYSYMBOL_tNONEXTENSIBLE = 137, /* tNONEXTENSIBLE */ - YYSYMBOL_tNOTIFY = 138, /* tNOTIFY */ - YYSYMBOL_tNOTIFYFLAG = 139, /* tNOTIFYFLAG */ - YYSYMBOL_tNULL = 140, /* tNULL */ - YYSYMBOL_tOBJECT = 141, /* tOBJECT */ - YYSYMBOL_tODL = 142, /* tODL */ - YYSYMBOL_tOLEAUTOMATION = 143, /* tOLEAUTOMATION */ - YYSYMBOL_tOPTIMIZE = 144, /* tOPTIMIZE */ - YYSYMBOL_tOPTIONAL = 145, /* tOPTIONAL */ - YYSYMBOL_tOUT = 146, /* tOUT */ - YYSYMBOL_tOVERLOAD = 147, /* tOVERLOAD */ - YYSYMBOL_tPARTIALIGNORE = 148, /* tPARTIALIGNORE */ - YYSYMBOL_tPOINTERDEFAULT = 149, /* tPOINTERDEFAULT */ - YYSYMBOL_tPRAGMA_WARNING = 150, /* tPRAGMA_WARNING */ - YYSYMBOL_tPROGID = 151, /* tPROGID */ - YYSYMBOL_tPROPERTIES = 152, /* tPROPERTIES */ - YYSYMBOL_tPROPGET = 153, /* tPROPGET */ - YYSYMBOL_tPROPPUT = 154, /* tPROPPUT */ - YYSYMBOL_tPROPPUTREF = 155, /* tPROPPUTREF */ - YYSYMBOL_tPROTECTED = 156, /* tPROTECTED */ - YYSYMBOL_tPROXY = 157, /* tPROXY */ - YYSYMBOL_tPTR = 158, /* tPTR */ - YYSYMBOL_tPUBLIC = 159, /* tPUBLIC */ - YYSYMBOL_tRANGE = 160, /* tRANGE */ - YYSYMBOL_tREADONLY = 161, /* tREADONLY */ - YYSYMBOL_tREF = 162, /* tREF */ - YYSYMBOL_tREGISTER = 163, /* tREGISTER */ - YYSYMBOL_tREPRESENTAS = 164, /* tREPRESENTAS */ - YYSYMBOL_tREQUESTEDIT = 165, /* tREQUESTEDIT */ - YYSYMBOL_tREQUIRES = 166, /* tREQUIRES */ - YYSYMBOL_tRESTRICTED = 167, /* tRESTRICTED */ - YYSYMBOL_tRETVAL = 168, /* tRETVAL */ - YYSYMBOL_tRUNTIMECLASS = 169, /* tRUNTIMECLASS */ - YYSYMBOL_tSAFEARRAY = 170, /* tSAFEARRAY */ - YYSYMBOL_tSHORT = 171, /* tSHORT */ - YYSYMBOL_tSIGNED = 172, /* tSIGNED */ - YYSYMBOL_tSINGLENODE = 173, /* tSINGLENODE */ - YYSYMBOL_tSIZEIS = 174, /* tSIZEIS */ - YYSYMBOL_tSIZEOF = 175, /* tSIZEOF */ - YYSYMBOL_tSMALL = 176, /* tSMALL */ - YYSYMBOL_tSOURCE = 177, /* tSOURCE */ - YYSYMBOL_tSTANDARD = 178, /* tSTANDARD */ - YYSYMBOL_tSTATIC = 179, /* tSTATIC */ - YYSYMBOL_tSTRICTCONTEXTHANDLE = 180, /* tSTRICTCONTEXTHANDLE */ - YYSYMBOL_tSTRING = 181, /* tSTRING */ - YYSYMBOL_tSTRUCT = 182, /* tSTRUCT */ - YYSYMBOL_tSWITCH = 183, /* tSWITCH */ - YYSYMBOL_tSWITCHIS = 184, /* tSWITCHIS */ - YYSYMBOL_tSWITCHTYPE = 185, /* tSWITCHTYPE */ - YYSYMBOL_tTHREADING = 186, /* tTHREADING */ - YYSYMBOL_tTRANSMITAS = 187, /* tTRANSMITAS */ - YYSYMBOL_tTRUE = 188, /* tTRUE */ - YYSYMBOL_tTYPEDEF = 189, /* tTYPEDEF */ - YYSYMBOL_tUIDEFAULT = 190, /* tUIDEFAULT */ - YYSYMBOL_tUNION = 191, /* tUNION */ - YYSYMBOL_tUNIQUE = 192, /* tUNIQUE */ - YYSYMBOL_tUNSIGNED = 193, /* tUNSIGNED */ - YYSYMBOL_tUSESGETLASTERROR = 194, /* tUSESGETLASTERROR */ - YYSYMBOL_tUSERMARSHAL = 195, /* tUSERMARSHAL */ - YYSYMBOL_tUUID = 196, /* tUUID */ - YYSYMBOL_tV1ENUM = 197, /* tV1ENUM */ - YYSYMBOL_tVARARG = 198, /* tVARARG */ - YYSYMBOL_tVERSION = 199, /* tVERSION */ - YYSYMBOL_tVIPROGID = 200, /* tVIPROGID */ - YYSYMBOL_tVOID = 201, /* tVOID */ - YYSYMBOL_tWCHAR = 202, /* tWCHAR */ - YYSYMBOL_tWIREMARSHAL = 203, /* tWIREMARSHAL */ - YYSYMBOL_tAPARTMENT = 204, /* tAPARTMENT */ - YYSYMBOL_tNEUTRAL = 205, /* tNEUTRAL */ - YYSYMBOL_tSINGLE = 206, /* tSINGLE */ - YYSYMBOL_tFREE = 207, /* tFREE */ - YYSYMBOL_tBOTH = 208, /* tBOTH */ - YYSYMBOL_209_ = 209, /* ',' */ - YYSYMBOL_210_ = 210, /* '?' */ - YYSYMBOL_211_ = 211, /* ':' */ - YYSYMBOL_212_ = 212, /* '|' */ - YYSYMBOL_213_ = 213, /* '^' */ - YYSYMBOL_214_ = 214, /* '&' */ - YYSYMBOL_215_ = 215, /* '<' */ - YYSYMBOL_216_ = 216, /* '>' */ - YYSYMBOL_217_ = 217, /* '-' */ - YYSYMBOL_218_ = 218, /* '+' */ - YYSYMBOL_219_ = 219, /* '*' */ - YYSYMBOL_220_ = 220, /* '/' */ - YYSYMBOL_221_ = 221, /* '%' */ - YYSYMBOL_222_ = 222, /* '!' */ - YYSYMBOL_223_ = 223, /* '~' */ - YYSYMBOL_CAST = 224, /* CAST */ - YYSYMBOL_PPTR = 225, /* PPTR */ - YYSYMBOL_POS = 226, /* POS */ - YYSYMBOL_NEG = 227, /* NEG */ - YYSYMBOL_ADDRESSOF = 228, /* ADDRESSOF */ - YYSYMBOL_229_ = 229, /* '.' */ - YYSYMBOL_230_ = 230, /* '[' */ - YYSYMBOL_231_ = 231, /* ']' */ - YYSYMBOL_232_ = 232, /* ';' */ - YYSYMBOL_233_ = 233, /* '{' */ - YYSYMBOL_234_ = 234, /* '}' */ - YYSYMBOL_235_ = 235, /* '(' */ - YYSYMBOL_236_ = 236, /* ')' */ - YYSYMBOL_237_ = 237, /* '=' */ - YYSYMBOL_YYACCEPT = 238, /* $accept */ - YYSYMBOL_input = 239, /* input */ - YYSYMBOL_m_acf = 240, /* m_acf */ - YYSYMBOL_decl_statements = 241, /* decl_statements */ - YYSYMBOL_decl_block = 242, /* decl_block */ - YYSYMBOL_imp_decl_statements = 243, /* imp_decl_statements */ - YYSYMBOL_imp_decl_block = 244, /* imp_decl_block */ - YYSYMBOL_gbl_statements = 245, /* gbl_statements */ - YYSYMBOL_246_1 = 246, /* $@1 */ - YYSYMBOL_imp_statements = 247, /* imp_statements */ - YYSYMBOL_248_2 = 248, /* $@2 */ - YYSYMBOL_int_statements = 249, /* int_statements */ - YYSYMBOL_semicolon_opt = 250, /* semicolon_opt */ - YYSYMBOL_statement = 251, /* statement */ - YYSYMBOL_pragma_warning = 252, /* pragma_warning */ - YYSYMBOL_warnings = 253, /* warnings */ - YYSYMBOL_typedecl = 254, /* typedecl */ - YYSYMBOL_cppquote = 255, /* cppquote */ - YYSYMBOL_import_start = 256, /* import_start */ - YYSYMBOL_import = 257, /* import */ - YYSYMBOL_importlib = 258, /* importlib */ - YYSYMBOL_libraryhdr = 259, /* libraryhdr */ - YYSYMBOL_library_start = 260, /* library_start */ - YYSYMBOL_librarydef = 261, /* librarydef */ - YYSYMBOL_m_args = 262, /* m_args */ - YYSYMBOL_arg_list = 263, /* arg_list */ - YYSYMBOL_args = 264, /* args */ - YYSYMBOL_arg = 265, /* arg */ - YYSYMBOL_array = 266, /* array */ - YYSYMBOL_m_attributes = 267, /* m_attributes */ - YYSYMBOL_attributes = 268, /* attributes */ - YYSYMBOL_attrib_list = 269, /* attrib_list */ - YYSYMBOL_str_list = 270, /* str_list */ - YYSYMBOL_marshaling_behavior = 271, /* marshaling_behavior */ - YYSYMBOL_contract_ver = 272, /* contract_ver */ - YYSYMBOL_contract_req = 273, /* contract_req */ - YYSYMBOL_static_attr = 274, /* static_attr */ - YYSYMBOL_activatable_attr = 275, /* activatable_attr */ - YYSYMBOL_access_attr = 276, /* access_attr */ - YYSYMBOL_composable_attr = 277, /* composable_attr */ - YYSYMBOL_deprecated_attr = 278, /* deprecated_attr */ - YYSYMBOL_attribute = 279, /* attribute */ - YYSYMBOL_callconv = 280, /* callconv */ - YYSYMBOL_cases = 281, /* cases */ - YYSYMBOL_case = 282, /* case */ - YYSYMBOL_enums = 283, /* enums */ - YYSYMBOL_enum_list = 284, /* enum_list */ - YYSYMBOL_enum_member = 285, /* enum_member */ - YYSYMBOL_enum = 286, /* enum */ - YYSYMBOL_enumdef = 287, /* enumdef */ - YYSYMBOL_m_exprs = 288, /* m_exprs */ - YYSYMBOL_m_expr = 289, /* m_expr */ - YYSYMBOL_expr = 290, /* expr */ - YYSYMBOL_expr_list_int_const = 291, /* expr_list_int_const */ - YYSYMBOL_expr_int_const = 292, /* expr_int_const */ - YYSYMBOL_expr_const = 293, /* expr_const */ - YYSYMBOL_fields = 294, /* fields */ - YYSYMBOL_field = 295, /* field */ - YYSYMBOL_ne_union_field = 296, /* ne_union_field */ - YYSYMBOL_ne_union_fields = 297, /* ne_union_fields */ - YYSYMBOL_union_field = 298, /* union_field */ - YYSYMBOL_s_field = 299, /* s_field */ - YYSYMBOL_funcdef = 300, /* funcdef */ - YYSYMBOL_declaration = 301, /* declaration */ - YYSYMBOL_m_ident = 302, /* m_ident */ - YYSYMBOL_m_typename = 303, /* m_typename */ - YYSYMBOL_typename = 304, /* typename */ - YYSYMBOL_ident = 305, /* ident */ - YYSYMBOL_base_type = 306, /* base_type */ - YYSYMBOL_m_int = 307, /* m_int */ - YYSYMBOL_int_std = 308, /* int_std */ - YYSYMBOL_namespace_pfx = 309, /* namespace_pfx */ - YYSYMBOL_qualified_type = 310, /* qualified_type */ - YYSYMBOL_parameterized_type = 311, /* parameterized_type */ - YYSYMBOL_parameterized_type_arg = 312, /* parameterized_type_arg */ - YYSYMBOL_parameterized_type_args = 313, /* parameterized_type_args */ - YYSYMBOL_coclass = 314, /* coclass */ - YYSYMBOL_coclassdef = 315, /* coclassdef */ - YYSYMBOL_runtimeclass = 316, /* runtimeclass */ - YYSYMBOL_runtimeclass_def = 317, /* runtimeclass_def */ - YYSYMBOL_apicontract = 318, /* apicontract */ - YYSYMBOL_apicontract_def = 319, /* apicontract_def */ - YYSYMBOL_namespacedef = 320, /* namespacedef */ - YYSYMBOL_class_interfaces = 321, /* class_interfaces */ - YYSYMBOL_class_interface = 322, /* class_interface */ - YYSYMBOL_dispinterface = 323, /* dispinterface */ - YYSYMBOL_dispattributes = 324, /* dispattributes */ - YYSYMBOL_dispint_props = 325, /* dispint_props */ - YYSYMBOL_dispint_meths = 326, /* dispint_meths */ - YYSYMBOL_dispinterfacedef = 327, /* dispinterfacedef */ - YYSYMBOL_inherit = 328, /* inherit */ - YYSYMBOL_type_parameter = 329, /* type_parameter */ - YYSYMBOL_type_parameters = 330, /* type_parameters */ - YYSYMBOL_interface = 331, /* interface */ - YYSYMBOL_332_3 = 332, /* $@3 */ - YYSYMBOL_333_4 = 333, /* $@4 */ - YYSYMBOL_delegatedef = 334, /* delegatedef */ - YYSYMBOL_335_5 = 335, /* $@5 */ - YYSYMBOL_336_6 = 336, /* $@6 */ - YYSYMBOL_required_types = 337, /* required_types */ - YYSYMBOL_requires = 338, /* requires */ - YYSYMBOL_interfacedef = 339, /* interfacedef */ - YYSYMBOL_340_7 = 340, /* $@7 */ - YYSYMBOL_interfaceref = 341, /* interfaceref */ - YYSYMBOL_dispinterfaceref = 342, /* dispinterfaceref */ - YYSYMBOL_module = 343, /* module */ - YYSYMBOL_moduledef = 344, /* moduledef */ - YYSYMBOL_storage_cls_spec = 345, /* storage_cls_spec */ - YYSYMBOL_function_specifier = 346, /* function_specifier */ - YYSYMBOL_type_qualifier = 347, /* type_qualifier */ - YYSYMBOL_m_type_qual_list = 348, /* m_type_qual_list */ - YYSYMBOL_decl_spec = 349, /* decl_spec */ - YYSYMBOL_unqualified_decl_spec = 350, /* unqualified_decl_spec */ - YYSYMBOL_m_decl_spec_no_type = 351, /* m_decl_spec_no_type */ - YYSYMBOL_decl_spec_no_type = 352, /* decl_spec_no_type */ - YYSYMBOL_declarator = 353, /* declarator */ - YYSYMBOL_direct_declarator = 354, /* direct_declarator */ - YYSYMBOL_abstract_declarator = 355, /* abstract_declarator */ - YYSYMBOL_abstract_declarator_no_direct = 356, /* abstract_declarator_no_direct */ - YYSYMBOL_m_abstract_declarator = 357, /* m_abstract_declarator */ - YYSYMBOL_abstract_direct_declarator = 358, /* abstract_direct_declarator */ - YYSYMBOL_any_declarator = 359, /* any_declarator */ - YYSYMBOL_any_declarator_no_direct = 360, /* any_declarator_no_direct */ - YYSYMBOL_m_any_declarator = 361, /* m_any_declarator */ - YYSYMBOL_any_direct_declarator = 362, /* any_direct_declarator */ - YYSYMBOL_declarator_list = 363, /* declarator_list */ - YYSYMBOL_m_bitfield = 364, /* m_bitfield */ - YYSYMBOL_struct_declarator = 365, /* struct_declarator */ - YYSYMBOL_struct_declarator_list = 366, /* struct_declarator_list */ - YYSYMBOL_init_declarator = 367, /* init_declarator */ - YYSYMBOL_threading_type = 368, /* threading_type */ - YYSYMBOL_pointer_type = 369, /* pointer_type */ - YYSYMBOL_structdef = 370, /* structdef */ - YYSYMBOL_unqualified_type = 371, /* unqualified_type */ - YYSYMBOL_type = 372, /* type */ - YYSYMBOL_typedef = 373, /* typedef */ - YYSYMBOL_uniondef = 374, /* uniondef */ - YYSYMBOL_version = 375, /* version */ - YYSYMBOL_acf_statements = 376, /* acf_statements */ - YYSYMBOL_acf_int_statements = 377, /* acf_int_statements */ - YYSYMBOL_acf_int_statement = 378, /* acf_int_statement */ - YYSYMBOL_acf_interface = 379, /* acf_interface */ - YYSYMBOL_acf_attributes = 380, /* acf_attributes */ - YYSYMBOL_acf_attribute_list = 381, /* acf_attribute_list */ - YYSYMBOL_acf_attribute = 382, /* acf_attribute */ - YYSYMBOL_allocate_option_list = 383, /* allocate_option_list */ - YYSYMBOL_allocate_option = 384 /* allocate_option */ + YYSYMBOL_tDEFAULT_OVERLOAD = 67, /* tDEFAULT_OVERLOAD */ + YYSYMBOL_tDEFAULTCOLLELEM = 68, /* tDEFAULTCOLLELEM */ + YYSYMBOL_tDEFAULTVALUE = 69, /* tDEFAULTVALUE */ + YYSYMBOL_tDEFAULTVTABLE = 70, /* tDEFAULTVTABLE */ + YYSYMBOL_tDEPRECATED = 71, /* tDEPRECATED */ + YYSYMBOL_tDISABLECONSISTENCYCHECK = 72, /* tDISABLECONSISTENCYCHECK */ + YYSYMBOL_tDISPLAYBIND = 73, /* tDISPLAYBIND */ + YYSYMBOL_tDISPINTERFACE = 74, /* tDISPINTERFACE */ + YYSYMBOL_tDLLNAME = 75, /* tDLLNAME */ + YYSYMBOL_tDONTFREE = 76, /* tDONTFREE */ + YYSYMBOL_tDOUBLE = 77, /* tDOUBLE */ + YYSYMBOL_tDUAL = 78, /* tDUAL */ + YYSYMBOL_tENABLEALLOCATE = 79, /* tENABLEALLOCATE */ + YYSYMBOL_tENCODE = 80, /* tENCODE */ + YYSYMBOL_tENDPOINT = 81, /* tENDPOINT */ + YYSYMBOL_tENTRY = 82, /* tENTRY */ + YYSYMBOL_tENUM = 83, /* tENUM */ + YYSYMBOL_tERRORSTATUST = 84, /* tERRORSTATUST */ + YYSYMBOL_tEVENTADD = 85, /* tEVENTADD */ + YYSYMBOL_tEVENTREMOVE = 86, /* tEVENTREMOVE */ + YYSYMBOL_tEXCLUSIVETO = 87, /* tEXCLUSIVETO */ + YYSYMBOL_tEXPLICITHANDLE = 88, /* tEXPLICITHANDLE */ + YYSYMBOL_tEXTERN = 89, /* tEXTERN */ + YYSYMBOL_tFALSE = 90, /* tFALSE */ + YYSYMBOL_tFAULTSTATUS = 91, /* tFAULTSTATUS */ + YYSYMBOL_tFLAGS = 92, /* tFLAGS */ + YYSYMBOL_tFLOAT = 93, /* tFLOAT */ + YYSYMBOL_tFORCEALLOCATE = 94, /* tFORCEALLOCATE */ + YYSYMBOL_tHANDLE = 95, /* tHANDLE */ + YYSYMBOL_tHANDLET = 96, /* tHANDLET */ + YYSYMBOL_tHELPCONTEXT = 97, /* tHELPCONTEXT */ + YYSYMBOL_tHELPFILE = 98, /* tHELPFILE */ + YYSYMBOL_tHELPSTRING = 99, /* tHELPSTRING */ + YYSYMBOL_tHELPSTRINGCONTEXT = 100, /* tHELPSTRINGCONTEXT */ + YYSYMBOL_tHELPSTRINGDLL = 101, /* tHELPSTRINGDLL */ + YYSYMBOL_tHIDDEN = 102, /* tHIDDEN */ + YYSYMBOL_tHYPER = 103, /* tHYPER */ + YYSYMBOL_tID = 104, /* tID */ + YYSYMBOL_tIDEMPOTENT = 105, /* tIDEMPOTENT */ + YYSYMBOL_tIGNORE = 106, /* tIGNORE */ + YYSYMBOL_tIIDIS = 107, /* tIIDIS */ + YYSYMBOL_tIMMEDIATEBIND = 108, /* tIMMEDIATEBIND */ + YYSYMBOL_tIMPLICITHANDLE = 109, /* tIMPLICITHANDLE */ + YYSYMBOL_tIMPORT = 110, /* tIMPORT */ + YYSYMBOL_tIMPORTLIB = 111, /* tIMPORTLIB */ + YYSYMBOL_tIN = 112, /* tIN */ + YYSYMBOL_tIN_LINE = 113, /* tIN_LINE */ + YYSYMBOL_tINLINE = 114, /* tINLINE */ + YYSYMBOL_tINPUTSYNC = 115, /* tINPUTSYNC */ + YYSYMBOL_tINT = 116, /* tINT */ + YYSYMBOL_tINT32 = 117, /* tINT32 */ + YYSYMBOL_tINT3264 = 118, /* tINT3264 */ + YYSYMBOL_tINT64 = 119, /* tINT64 */ + YYSYMBOL_tINTERFACE = 120, /* tINTERFACE */ + YYSYMBOL_tLCID = 121, /* tLCID */ + YYSYMBOL_tLENGTHIS = 122, /* tLENGTHIS */ + YYSYMBOL_tLIBRARY = 123, /* tLIBRARY */ + YYSYMBOL_tLICENSED = 124, /* tLICENSED */ + YYSYMBOL_tLOCAL = 125, /* tLOCAL */ + YYSYMBOL_tLONG = 126, /* tLONG */ + YYSYMBOL_tMARSHALINGBEHAVIOR = 127, /* tMARSHALINGBEHAVIOR */ + YYSYMBOL_tMAYBE = 128, /* tMAYBE */ + YYSYMBOL_tMESSAGE = 129, /* tMESSAGE */ + YYSYMBOL_tMETHODS = 130, /* tMETHODS */ + YYSYMBOL_tMODULE = 131, /* tMODULE */ + YYSYMBOL_tMTA = 132, /* tMTA */ + YYSYMBOL_tNAMESPACE = 133, /* tNAMESPACE */ + YYSYMBOL_tNOCODE = 134, /* tNOCODE */ + YYSYMBOL_tNONBROWSABLE = 135, /* tNONBROWSABLE */ + YYSYMBOL_tNONCREATABLE = 136, /* tNONCREATABLE */ + YYSYMBOL_tNONE = 137, /* tNONE */ + YYSYMBOL_tNONEXTENSIBLE = 138, /* tNONEXTENSIBLE */ + YYSYMBOL_tNOTIFY = 139, /* tNOTIFY */ + YYSYMBOL_tNOTIFYFLAG = 140, /* tNOTIFYFLAG */ + YYSYMBOL_tNULL = 141, /* tNULL */ + YYSYMBOL_tOBJECT = 142, /* tOBJECT */ + YYSYMBOL_tODL = 143, /* tODL */ + YYSYMBOL_tOLEAUTOMATION = 144, /* tOLEAUTOMATION */ + YYSYMBOL_tOPTIMIZE = 145, /* tOPTIMIZE */ + YYSYMBOL_tOPTIONAL = 146, /* tOPTIONAL */ + YYSYMBOL_tOUT = 147, /* tOUT */ + YYSYMBOL_tOVERLOAD = 148, /* tOVERLOAD */ + YYSYMBOL_tPARTIALIGNORE = 149, /* tPARTIALIGNORE */ + YYSYMBOL_tPOINTERDEFAULT = 150, /* tPOINTERDEFAULT */ + YYSYMBOL_tPRAGMA_WARNING = 151, /* tPRAGMA_WARNING */ + YYSYMBOL_tPROGID = 152, /* tPROGID */ + YYSYMBOL_tPROPERTIES = 153, /* tPROPERTIES */ + YYSYMBOL_tPROPGET = 154, /* tPROPGET */ + YYSYMBOL_tPROPPUT = 155, /* tPROPPUT */ + YYSYMBOL_tPROPPUTREF = 156, /* tPROPPUTREF */ + YYSYMBOL_tPROTECTED = 157, /* tPROTECTED */ + YYSYMBOL_tPROXY = 158, /* tPROXY */ + YYSYMBOL_tPTR = 159, /* tPTR */ + YYSYMBOL_tPUBLIC = 160, /* tPUBLIC */ + YYSYMBOL_tRANGE = 161, /* tRANGE */ + YYSYMBOL_tREADONLY = 162, /* tREADONLY */ + YYSYMBOL_tREF = 163, /* tREF */ + YYSYMBOL_tREGISTER = 164, /* tREGISTER */ + YYSYMBOL_tREPRESENTAS = 165, /* tREPRESENTAS */ + YYSYMBOL_tREQUESTEDIT = 166, /* tREQUESTEDIT */ + YYSYMBOL_tREQUIRES = 167, /* tREQUIRES */ + YYSYMBOL_tRESTRICTED = 168, /* tRESTRICTED */ + YYSYMBOL_tRETVAL = 169, /* tRETVAL */ + YYSYMBOL_tRUNTIMECLASS = 170, /* tRUNTIMECLASS */ + YYSYMBOL_tSAFEARRAY = 171, /* tSAFEARRAY */ + YYSYMBOL_tSHORT = 172, /* tSHORT */ + YYSYMBOL_tSIGNED = 173, /* tSIGNED */ + YYSYMBOL_tSINGLENODE = 174, /* tSINGLENODE */ + YYSYMBOL_tSIZEIS = 175, /* tSIZEIS */ + YYSYMBOL_tSIZEOF = 176, /* tSIZEOF */ + YYSYMBOL_tSMALL = 177, /* tSMALL */ + YYSYMBOL_tSOURCE = 178, /* tSOURCE */ + YYSYMBOL_tSTANDARD = 179, /* tSTANDARD */ + YYSYMBOL_tSTATIC = 180, /* tSTATIC */ + YYSYMBOL_tSTRICTCONTEXTHANDLE = 181, /* tSTRICTCONTEXTHANDLE */ + YYSYMBOL_tSTRING = 182, /* tSTRING */ + YYSYMBOL_tSTRUCT = 183, /* tSTRUCT */ + YYSYMBOL_tSWITCH = 184, /* tSWITCH */ + YYSYMBOL_tSWITCHIS = 185, /* tSWITCHIS */ + YYSYMBOL_tSWITCHTYPE = 186, /* tSWITCHTYPE */ + YYSYMBOL_tTHREADING = 187, /* tTHREADING */ + YYSYMBOL_tTRANSMITAS = 188, /* tTRANSMITAS */ + YYSYMBOL_tTRUE = 189, /* tTRUE */ + YYSYMBOL_tTYPEDEF = 190, /* tTYPEDEF */ + YYSYMBOL_tUIDEFAULT = 191, /* tUIDEFAULT */ + YYSYMBOL_tUNION = 192, /* tUNION */ + YYSYMBOL_tUNIQUE = 193, /* tUNIQUE */ + YYSYMBOL_tUNSIGNED = 194, /* tUNSIGNED */ + YYSYMBOL_tUSESGETLASTERROR = 195, /* tUSESGETLASTERROR */ + YYSYMBOL_tUSERMARSHAL = 196, /* tUSERMARSHAL */ + YYSYMBOL_tUUID = 197, /* tUUID */ + YYSYMBOL_tV1ENUM = 198, /* tV1ENUM */ + YYSYMBOL_tVARARG = 199, /* tVARARG */ + YYSYMBOL_tVERSION = 200, /* tVERSION */ + YYSYMBOL_tVIPROGID = 201, /* tVIPROGID */ + YYSYMBOL_tVOID = 202, /* tVOID */ + YYSYMBOL_tWCHAR = 203, /* tWCHAR */ + YYSYMBOL_tWIREMARSHAL = 204, /* tWIREMARSHAL */ + YYSYMBOL_tAPARTMENT = 205, /* tAPARTMENT */ + YYSYMBOL_tNEUTRAL = 206, /* tNEUTRAL */ + YYSYMBOL_tSINGLE = 207, /* tSINGLE */ + YYSYMBOL_tFREE = 208, /* tFREE */ + YYSYMBOL_tBOTH = 209, /* tBOTH */ + YYSYMBOL_210_ = 210, /* ',' */ + YYSYMBOL_211_ = 211, /* '?' */ + YYSYMBOL_212_ = 212, /* ':' */ + YYSYMBOL_213_ = 213, /* '|' */ + YYSYMBOL_214_ = 214, /* '^' */ + YYSYMBOL_215_ = 215, /* '&' */ + YYSYMBOL_216_ = 216, /* '<' */ + YYSYMBOL_217_ = 217, /* '>' */ + YYSYMBOL_218_ = 218, /* '-' */ + YYSYMBOL_219_ = 219, /* '+' */ + YYSYMBOL_220_ = 220, /* '*' */ + YYSYMBOL_221_ = 221, /* '/' */ + YYSYMBOL_222_ = 222, /* '%' */ + YYSYMBOL_223_ = 223, /* '!' */ + YYSYMBOL_224_ = 224, /* '~' */ + YYSYMBOL_CAST = 225, /* CAST */ + YYSYMBOL_PPTR = 226, /* PPTR */ + YYSYMBOL_POS = 227, /* POS */ + YYSYMBOL_NEG = 228, /* NEG */ + YYSYMBOL_ADDRESSOF = 229, /* ADDRESSOF */ + YYSYMBOL_230_ = 230, /* '.' */ + YYSYMBOL_231_ = 231, /* '[' */ + YYSYMBOL_232_ = 232, /* ']' */ + YYSYMBOL_233_ = 233, /* ';' */ + YYSYMBOL_234_ = 234, /* '{' */ + YYSYMBOL_235_ = 235, /* '}' */ + YYSYMBOL_236_ = 236, /* '(' */ + YYSYMBOL_237_ = 237, /* ')' */ + YYSYMBOL_238_ = 238, /* '=' */ + YYSYMBOL_YYACCEPT = 239, /* $accept */ + YYSYMBOL_input = 240, /* input */ + YYSYMBOL_m_acf = 241, /* m_acf */ + YYSYMBOL_decl_statements = 242, /* decl_statements */ + YYSYMBOL_decl_block = 243, /* decl_block */ + YYSYMBOL_imp_decl_statements = 244, /* imp_decl_statements */ + YYSYMBOL_imp_decl_block = 245, /* imp_decl_block */ + YYSYMBOL_gbl_statements = 246, /* gbl_statements */ + YYSYMBOL_247_1 = 247, /* $@1 */ + YYSYMBOL_imp_statements = 248, /* imp_statements */ + YYSYMBOL_249_2 = 249, /* $@2 */ + YYSYMBOL_int_statements = 250, /* int_statements */ + YYSYMBOL_semicolon_opt = 251, /* semicolon_opt */ + YYSYMBOL_statement = 252, /* statement */ + YYSYMBOL_pragma_warning = 253, /* pragma_warning */ + YYSYMBOL_warnings = 254, /* warnings */ + YYSYMBOL_typedecl = 255, /* typedecl */ + YYSYMBOL_cppquote = 256, /* cppquote */ + YYSYMBOL_import_start = 257, /* import_start */ + YYSYMBOL_import = 258, /* import */ + YYSYMBOL_importlib = 259, /* importlib */ + YYSYMBOL_libraryhdr = 260, /* libraryhdr */ + YYSYMBOL_library_start = 261, /* library_start */ + YYSYMBOL_librarydef = 262, /* librarydef */ + YYSYMBOL_m_args = 263, /* m_args */ + YYSYMBOL_arg_list = 264, /* arg_list */ + YYSYMBOL_args = 265, /* args */ + YYSYMBOL_arg = 266, /* arg */ + YYSYMBOL_array = 267, /* array */ + YYSYMBOL_m_attributes = 268, /* m_attributes */ + YYSYMBOL_attributes = 269, /* attributes */ + YYSYMBOL_attrib_list = 270, /* attrib_list */ + YYSYMBOL_str_list = 271, /* str_list */ + YYSYMBOL_marshaling_behavior = 272, /* marshaling_behavior */ + YYSYMBOL_contract_ver = 273, /* contract_ver */ + YYSYMBOL_contract_req = 274, /* contract_req */ + YYSYMBOL_static_attr = 275, /* static_attr */ + YYSYMBOL_activatable_attr = 276, /* activatable_attr */ + YYSYMBOL_access_attr = 277, /* access_attr */ + YYSYMBOL_composable_attr = 278, /* composable_attr */ + YYSYMBOL_deprecated_attr = 279, /* deprecated_attr */ + YYSYMBOL_attribute = 280, /* attribute */ + YYSYMBOL_callconv = 281, /* callconv */ + YYSYMBOL_cases = 282, /* cases */ + YYSYMBOL_case = 283, /* case */ + YYSYMBOL_enums = 284, /* enums */ + YYSYMBOL_enum_list = 285, /* enum_list */ + YYSYMBOL_enum_member = 286, /* enum_member */ + YYSYMBOL_enum = 287, /* enum */ + YYSYMBOL_enumdef = 288, /* enumdef */ + YYSYMBOL_m_exprs = 289, /* m_exprs */ + YYSYMBOL_m_expr = 290, /* m_expr */ + YYSYMBOL_expr = 291, /* expr */ + YYSYMBOL_expr_list_int_const = 292, /* expr_list_int_const */ + YYSYMBOL_expr_int_const = 293, /* expr_int_const */ + YYSYMBOL_expr_const = 294, /* expr_const */ + YYSYMBOL_fields = 295, /* fields */ + YYSYMBOL_field = 296, /* field */ + YYSYMBOL_ne_union_field = 297, /* ne_union_field */ + YYSYMBOL_ne_union_fields = 298, /* ne_union_fields */ + YYSYMBOL_union_field = 299, /* union_field */ + YYSYMBOL_s_field = 300, /* s_field */ + YYSYMBOL_funcdef = 301, /* funcdef */ + YYSYMBOL_declaration = 302, /* declaration */ + YYSYMBOL_m_ident = 303, /* m_ident */ + YYSYMBOL_m_typename = 304, /* m_typename */ + YYSYMBOL_typename = 305, /* typename */ + YYSYMBOL_ident = 306, /* ident */ + YYSYMBOL_base_type = 307, /* base_type */ + YYSYMBOL_m_int = 308, /* m_int */ + YYSYMBOL_int_std = 309, /* int_std */ + YYSYMBOL_namespace_pfx = 310, /* namespace_pfx */ + YYSYMBOL_qualified_type = 311, /* qualified_type */ + YYSYMBOL_parameterized_type = 312, /* parameterized_type */ + YYSYMBOL_parameterized_type_arg = 313, /* parameterized_type_arg */ + YYSYMBOL_parameterized_type_args = 314, /* parameterized_type_args */ + YYSYMBOL_coclass = 315, /* coclass */ + YYSYMBOL_coclassdef = 316, /* coclassdef */ + YYSYMBOL_runtimeclass = 317, /* runtimeclass */ + YYSYMBOL_runtimeclass_def = 318, /* runtimeclass_def */ + YYSYMBOL_apicontract = 319, /* apicontract */ + YYSYMBOL_apicontract_def = 320, /* apicontract_def */ + YYSYMBOL_namespacedef = 321, /* namespacedef */ + YYSYMBOL_class_interfaces = 322, /* class_interfaces */ + YYSYMBOL_class_interface = 323, /* class_interface */ + YYSYMBOL_dispinterface = 324, /* dispinterface */ + YYSYMBOL_dispattributes = 325, /* dispattributes */ + YYSYMBOL_dispint_props = 326, /* dispint_props */ + YYSYMBOL_dispint_meths = 327, /* dispint_meths */ + YYSYMBOL_dispinterfacedef = 328, /* dispinterfacedef */ + YYSYMBOL_inherit = 329, /* inherit */ + YYSYMBOL_type_parameter = 330, /* type_parameter */ + YYSYMBOL_type_parameters = 331, /* type_parameters */ + YYSYMBOL_interface = 332, /* interface */ + YYSYMBOL_333_3 = 333, /* $@3 */ + YYSYMBOL_334_4 = 334, /* $@4 */ + YYSYMBOL_delegatedef = 335, /* delegatedef */ + YYSYMBOL_336_5 = 336, /* $@5 */ + YYSYMBOL_337_6 = 337, /* $@6 */ + YYSYMBOL_required_types = 338, /* required_types */ + YYSYMBOL_requires = 339, /* requires */ + YYSYMBOL_interfacedef = 340, /* interfacedef */ + YYSYMBOL_341_7 = 341, /* $@7 */ + YYSYMBOL_interfaceref = 342, /* interfaceref */ + YYSYMBOL_dispinterfaceref = 343, /* dispinterfaceref */ + YYSYMBOL_module = 344, /* module */ + YYSYMBOL_moduledef = 345, /* moduledef */ + YYSYMBOL_storage_cls_spec = 346, /* storage_cls_spec */ + YYSYMBOL_function_specifier = 347, /* function_specifier */ + YYSYMBOL_type_qualifier = 348, /* type_qualifier */ + YYSYMBOL_m_type_qual_list = 349, /* m_type_qual_list */ + YYSYMBOL_decl_spec = 350, /* decl_spec */ + YYSYMBOL_unqualified_decl_spec = 351, /* unqualified_decl_spec */ + YYSYMBOL_m_decl_spec_no_type = 352, /* m_decl_spec_no_type */ + YYSYMBOL_decl_spec_no_type = 353, /* decl_spec_no_type */ + YYSYMBOL_declarator = 354, /* declarator */ + YYSYMBOL_direct_declarator = 355, /* direct_declarator */ + YYSYMBOL_abstract_declarator = 356, /* abstract_declarator */ + YYSYMBOL_abstract_declarator_no_direct = 357, /* abstract_declarator_no_direct */ + YYSYMBOL_m_abstract_declarator = 358, /* m_abstract_declarator */ + YYSYMBOL_abstract_direct_declarator = 359, /* abstract_direct_declarator */ + YYSYMBOL_any_declarator = 360, /* any_declarator */ + YYSYMBOL_any_declarator_no_direct = 361, /* any_declarator_no_direct */ + YYSYMBOL_m_any_declarator = 362, /* m_any_declarator */ + YYSYMBOL_any_direct_declarator = 363, /* any_direct_declarator */ + YYSYMBOL_declarator_list = 364, /* declarator_list */ + YYSYMBOL_m_bitfield = 365, /* m_bitfield */ + YYSYMBOL_struct_declarator = 366, /* struct_declarator */ + YYSYMBOL_struct_declarator_list = 367, /* struct_declarator_list */ + YYSYMBOL_init_declarator = 368, /* init_declarator */ + YYSYMBOL_threading_type = 369, /* threading_type */ + YYSYMBOL_pointer_type = 370, /* pointer_type */ + YYSYMBOL_structdef = 371, /* structdef */ + YYSYMBOL_unqualified_type = 372, /* unqualified_type */ + YYSYMBOL_type = 373, /* type */ + YYSYMBOL_typedef = 374, /* typedef */ + YYSYMBOL_uniondef = 375, /* uniondef */ + YYSYMBOL_version = 376, /* version */ + YYSYMBOL_acf_statements = 377, /* acf_statements */ + YYSYMBOL_acf_int_statements = 378, /* acf_int_statements */ + YYSYMBOL_acf_int_statement = 379, /* acf_int_statement */ + YYSYMBOL_acf_interface = 380, /* acf_interface */ + YYSYMBOL_acf_attributes = 381, /* acf_attributes */ + YYSYMBOL_acf_attribute_list = 382, /* acf_attribute_list */ + YYSYMBOL_acf_attribute = 383, /* acf_attribute */ + YYSYMBOL_allocate_option_list = 384, /* allocate_option_list */ + YYSYMBOL_allocate_option = 385 /* allocate_option */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -1250,19 +1252,19 @@ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3739 +#define YYLAST 3781 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 238 +#define YYNTOKENS 239 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 147 /* YYNRULES -- Number of rules. */ -#define YYNRULES 499 +#define YYNRULES 500 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 924 +#define YYNSTATES 925 /* YYMAXUTOK -- Last valid token kind. */ -#define YYMAXUTOK 468 +#define YYMAXUTOK 469 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -1279,16 +1281,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, 222, 2, 2, 2, 221, 214, 2, - 235, 236, 219, 218, 209, 217, 229, 220, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 211, 232, - 215, 237, 216, 210, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 223, 2, 2, 2, 222, 215, 2, + 236, 237, 220, 219, 210, 218, 230, 221, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 212, 233, + 216, 238, 217, 211, 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, 230, 2, 231, 213, 2, 2, 2, 2, 2, + 2, 231, 2, 232, 214, 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, 233, 212, 234, 223, 2, 2, 2, + 2, 2, 2, 234, 213, 235, 224, 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, @@ -1322,63 +1324,64 @@ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 224, 225, 226, 227, 228 + 205, 206, 207, 208, 209, 225, 226, 227, 228, 229 }; #if PARSER_DEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 368, 368, 384, 385, 389, 390, 396, 400, 401, - 406, 410, 411, 411, 413, 414, 415, 416, 417, 420, - 423, 424, 426, 427, 429, 430, 431, 432, 436, 437, - 438, 439, 439, 441, 442, 443, 444, 447, 448, 450, - 451, 453, 454, 455, 456, 457, 461, 462, 466, 467, - 471, 472, 473, 474, 475, 476, 477, 480, 488, 496, - 497, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 512, 515, 517, 520, 524, 526, 530, 535, 536, 539, - 540, 543, 544, 548, 553, 560, 564, 565, 569, 570, - 574, 577, 578, 579, 582, 583, 587, 588, 589, 593, - 594, 598, 606, 613, 617, 621, 622, 626, 634, 639, - 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, - 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, - 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, - 673, 674, 675, 676, 677, 678, 679, 680, 684, 685, - 686, 687, 688, 689, 690, 691, 692, 694, 695, 696, - 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, - 707, 708, 709, 711, 712, 713, 714, 715, 716, 717, - 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, - 728, 729, 730, 731, 732, 733, 734, 735, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, - 762, 763, 764, 767, 768, 769, 770, 774, 775, 778, - 782, 789, 790, 791, 794, 798, 810, 815, 819, 824, - 827, 828, 832, 833, 836, 837, 838, 839, 840, 841, - 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, - 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, - 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, - 872, 873, 875, 877, 878, 881, 882, 885, 891, 898, - 899, 902, 907, 914, 915, 919, 920, 924, 925, 928, - 932, 938, 946, 950, 956, 957, 961, 962, 965, 966, - 969, 972, 973, 974, 975, 976, 977, 978, 979, 980, - 981, 982, 986, 987, 990, 991, 992, 993, 994, 995, - 996, 997, 998, 1002, 1003, 1007, 1008, 1011, 1016, 1017, - 1018, 1019, 1020, 1024, 1025, 1029, 1032, 1036, 1039, 1044, - 1047, 1051, 1052, 1056, 1057, 1061, 1062, 1065, 1068, 1071, - 1072, 1075, 1076, 1080, 1082, 1087, 1088, 1089, 1092, 1096, - 1097, 1101, 1102, 1102, 1102, 1106, 1111, 1112, 1110, 1119, - 1120, 1121, 1122, 1126, 1127, 1130, 1130, 1143, 1147, 1148, - 1149, 1153, 1156, 1159, 1164, 1165, 1166, 1170, 1174, 1178, - 1179, 1182, 1183, 1187, 1189, 1194, 1195, 1199, 1200, 1201, - 1205, 1207, 1208, 1212, 1213, 1214, 1215, 1220, 1222, 1223, - 1228, 1230, 1235, 1236, 1241, 1242, 1243, 1244, 1248, 1256, - 1258, 1259, 1264, 1266, 1271, 1272, 1279, 1280, 1281, 1282, - 1283, 1287, 1294, 1295, 1299, 1300, 1303, 1310, 1311, 1316, - 1317, 1321, 1322, 1323, 1324, 1325, 1326, 1330, 1331, 1332, - 1335, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, - 1348, 1352, 1353, 1354, 1357, 1364, 1366, 1372, 1373, 1374, - 1378, 1379, 1383, 1384, 1388, 1395, 1404, 1405, 1409, 1410, - 1414, 1416, 1417, 1418, 1422, 1423, 1428, 1429, 1430, 1431 + 0, 369, 369, 385, 386, 390, 391, 397, 401, 402, + 407, 411, 412, 412, 414, 415, 416, 417, 418, 421, + 424, 425, 427, 428, 430, 431, 432, 433, 437, 438, + 439, 440, 440, 442, 443, 444, 445, 448, 449, 451, + 452, 454, 455, 456, 457, 458, 462, 463, 467, 468, + 472, 473, 474, 475, 476, 477, 478, 481, 489, 497, + 498, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 513, 516, 518, 521, 525, 527, 531, 536, 537, 540, + 541, 544, 545, 549, 554, 561, 565, 566, 570, 571, + 575, 578, 579, 580, 583, 584, 588, 589, 590, 594, + 595, 599, 607, 614, 618, 622, 623, 627, 635, 640, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, + 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 686, + 687, 688, 689, 690, 691, 692, 693, 694, 696, 697, + 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + 708, 709, 710, 711, 713, 714, 715, 716, 717, 718, + 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 742, + 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, + 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, + 763, 764, 765, 766, 769, 770, 771, 772, 776, 777, + 780, 784, 791, 792, 793, 796, 800, 812, 817, 821, + 826, 829, 830, 834, 835, 838, 839, 840, 841, 842, + 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, + 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, + 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, + 873, 874, 875, 877, 879, 880, 883, 884, 887, 893, + 900, 901, 904, 909, 916, 917, 921, 922, 926, 927, + 930, 934, 940, 948, 952, 958, 959, 963, 964, 967, + 968, 971, 974, 975, 976, 977, 978, 979, 980, 981, + 982, 983, 984, 988, 989, 992, 993, 994, 995, 996, + 997, 998, 999, 1000, 1004, 1005, 1009, 1010, 1013, 1018, + 1019, 1020, 1021, 1022, 1026, 1027, 1031, 1034, 1038, 1041, + 1046, 1049, 1053, 1054, 1058, 1059, 1063, 1064, 1067, 1070, + 1073, 1074, 1077, 1078, 1082, 1084, 1089, 1090, 1091, 1094, + 1098, 1099, 1103, 1104, 1104, 1104, 1108, 1113, 1114, 1112, + 1121, 1122, 1123, 1124, 1128, 1129, 1132, 1132, 1145, 1149, + 1150, 1151, 1155, 1158, 1161, 1166, 1167, 1168, 1172, 1176, + 1180, 1181, 1184, 1185, 1189, 1191, 1196, 1197, 1201, 1202, + 1203, 1207, 1209, 1210, 1214, 1215, 1216, 1217, 1222, 1224, + 1225, 1230, 1232, 1237, 1238, 1243, 1244, 1245, 1246, 1250, + 1258, 1260, 1261, 1266, 1268, 1273, 1274, 1281, 1282, 1283, + 1284, 1285, 1289, 1296, 1297, 1301, 1302, 1305, 1312, 1313, + 1318, 1319, 1323, 1324, 1325, 1326, 1327, 1328, 1332, 1333, + 1334, 1337, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, + 1349, 1350, 1354, 1355, 1356, 1359, 1366, 1368, 1374, 1375, + 1376, 1380, 1381, 1385, 1386, 1390, 1397, 1406, 1407, 1411, + 1412, 1416, 1418, 1419, 1420, 1424, 1425, 1430, 1431, 1432, + 1433 }; #endif @@ -1407,63 +1410,63 @@ "tCONTEXTHANDLE", "tCONTEXTHANDLENOSERIALIZE", "tCONTEXTHANDLESERIALIZE", "tCONTRACT", "tCONTRACTVERSION", "tCONTROL", "tCPPQUOTE", "tCUSTOM", "tDECLARE", "tDECODE", "tDEFAULT", "tDEFAULTBIND", "tDELEGATE", - "tDEFAULTCOLLELEM", "tDEFAULTVALUE", "tDEFAULTVTABLE", "tDEPRECATED", - "tDISABLECONSISTENCYCHECK", "tDISPLAYBIND", "tDISPINTERFACE", "tDLLNAME", - "tDONTFREE", "tDOUBLE", "tDUAL", "tENABLEALLOCATE", "tENCODE", - "tENDPOINT", "tENTRY", "tENUM", "tERRORSTATUST", "tEVENTADD", - "tEVENTREMOVE", "tEXCLUSIVETO", "tEXPLICITHANDLE", "tEXTERN", "tFALSE", - "tFAULTSTATUS", "tFLAGS", "tFLOAT", "tFORCEALLOCATE", "tHANDLE", - "tHANDLET", "tHELPCONTEXT", "tHELPFILE", "tHELPSTRING", - "tHELPSTRINGCONTEXT", "tHELPSTRINGDLL", "tHIDDEN", "tHYPER", "tID", - "tIDEMPOTENT", "tIGNORE", "tIIDIS", "tIMMEDIATEBIND", "tIMPLICITHANDLE", - "tIMPORT", "tIMPORTLIB", "tIN", "tIN_LINE", "tINLINE", "tINPUTSYNC", - "tINT", "tINT32", "tINT3264", "tINT64", "tINTERFACE", "tLCID", - "tLENGTHIS", "tLIBRARY", "tLICENSED", "tLOCAL", "tLONG", - "tMARSHALINGBEHAVIOR", "tMAYBE", "tMESSAGE", "tMETHODS", "tMODULE", - "tMTA", "tNAMESPACE", "tNOCODE", "tNONBROWSABLE", "tNONCREATABLE", - "tNONE", "tNONEXTENSIBLE", "tNOTIFY", "tNOTIFYFLAG", "tNULL", "tOBJECT", - "tODL", "tOLEAUTOMATION", "tOPTIMIZE", "tOPTIONAL", "tOUT", "tOVERLOAD", - "tPARTIALIGNORE", "tPOINTERDEFAULT", "tPRAGMA_WARNING", "tPROGID", - "tPROPERTIES", "tPROPGET", "tPROPPUT", "tPROPPUTREF", "tPROTECTED", - "tPROXY", "tPTR", "tPUBLIC", "tRANGE", "tREADONLY", "tREF", "tREGISTER", - "tREPRESENTAS", "tREQUESTEDIT", "tREQUIRES", "tRESTRICTED", "tRETVAL", - "tRUNTIMECLASS", "tSAFEARRAY", "tSHORT", "tSIGNED", "tSINGLENODE", - "tSIZEIS", "tSIZEOF", "tSMALL", "tSOURCE", "tSTANDARD", "tSTATIC", - "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", "m_acf", "decl_statements", - "decl_block", "imp_decl_statements", "imp_decl_block", "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", - "marshaling_behavior", "contract_ver", "contract_req", "static_attr", - "activatable_attr", "access_attr", "composable_attr", "deprecated_attr", - "attribute", "callconv", "cases", "case", "enums", "enum_list", - "enum_member", "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", "m_typename", "typename", "ident", "base_type", - "m_int", "int_std", "namespace_pfx", "qualified_type", - "parameterized_type", "parameterized_type_arg", - "parameterized_type_args", "coclass", "coclassdef", "runtimeclass", - "runtimeclass_def", "apicontract", "apicontract_def", "namespacedef", - "class_interfaces", "class_interface", "dispinterface", "dispattributes", - "dispint_props", "dispint_meths", "dispinterfacedef", "inherit", - "type_parameter", "type_parameters", "interface", "$@3", "$@4", - "delegatedef", "$@5", "$@6", "required_types", "requires", - "interfacedef", "$@7", "interfaceref", "dispinterfaceref", "module", - "moduledef", "storage_cls_spec", "function_specifier", "type_qualifier", - "m_type_qual_list", "decl_spec", "unqualified_decl_spec", - "m_decl_spec_no_type", "decl_spec_no_type", "declarator", - "direct_declarator", "abstract_declarator", + "tDEFAULT_OVERLOAD", "tDEFAULTCOLLELEM", "tDEFAULTVALUE", + "tDEFAULTVTABLE", "tDEPRECATED", "tDISABLECONSISTENCYCHECK", + "tDISPLAYBIND", "tDISPINTERFACE", "tDLLNAME", "tDONTFREE", "tDOUBLE", + "tDUAL", "tENABLEALLOCATE", "tENCODE", "tENDPOINT", "tENTRY", "tENUM", + "tERRORSTATUST", "tEVENTADD", "tEVENTREMOVE", "tEXCLUSIVETO", + "tEXPLICITHANDLE", "tEXTERN", "tFALSE", "tFAULTSTATUS", "tFLAGS", + "tFLOAT", "tFORCEALLOCATE", "tHANDLE", "tHANDLET", "tHELPCONTEXT", + "tHELPFILE", "tHELPSTRING", "tHELPSTRINGCONTEXT", "tHELPSTRINGDLL", + "tHIDDEN", "tHYPER", "tID", "tIDEMPOTENT", "tIGNORE", "tIIDIS", + "tIMMEDIATEBIND", "tIMPLICITHANDLE", "tIMPORT", "tIMPORTLIB", "tIN", + "tIN_LINE", "tINLINE", "tINPUTSYNC", "tINT", "tINT32", "tINT3264", + "tINT64", "tINTERFACE", "tLCID", "tLENGTHIS", "tLIBRARY", "tLICENSED", + "tLOCAL", "tLONG", "tMARSHALINGBEHAVIOR", "tMAYBE", "tMESSAGE", + "tMETHODS", "tMODULE", "tMTA", "tNAMESPACE", "tNOCODE", "tNONBROWSABLE", + "tNONCREATABLE", "tNONE", "tNONEXTENSIBLE", "tNOTIFY", "tNOTIFYFLAG", + "tNULL", "tOBJECT", "tODL", "tOLEAUTOMATION", "tOPTIMIZE", "tOPTIONAL", + "tOUT", "tOVERLOAD", "tPARTIALIGNORE", "tPOINTERDEFAULT", + "tPRAGMA_WARNING", "tPROGID", "tPROPERTIES", "tPROPGET", "tPROPPUT", + "tPROPPUTREF", "tPROTECTED", "tPROXY", "tPTR", "tPUBLIC", "tRANGE", + "tREADONLY", "tREF", "tREGISTER", "tREPRESENTAS", "tREQUESTEDIT", + "tREQUIRES", "tRESTRICTED", "tRETVAL", "tRUNTIMECLASS", "tSAFEARRAY", + "tSHORT", "tSIGNED", "tSINGLENODE", "tSIZEIS", "tSIZEOF", "tSMALL", + "tSOURCE", "tSTANDARD", "tSTATIC", "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", "m_acf", "decl_statements", "decl_block", "imp_decl_statements", + "imp_decl_block", "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", "marshaling_behavior", "contract_ver", + "contract_req", "static_attr", "activatable_attr", "access_attr", + "composable_attr", "deprecated_attr", "attribute", "callconv", "cases", + "case", "enums", "enum_list", "enum_member", "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", + "m_typename", "typename", "ident", "base_type", "m_int", "int_std", + "namespace_pfx", "qualified_type", "parameterized_type", + "parameterized_type_arg", "parameterized_type_args", "coclass", + "coclassdef", "runtimeclass", "runtimeclass_def", "apicontract", + "apicontract_def", "namespacedef", "class_interfaces", "class_interface", + "dispinterface", "dispattributes", "dispint_props", "dispint_meths", + "dispinterfacedef", "inherit", "type_parameter", "type_parameters", + "interface", "$@3", "$@4", "delegatedef", "$@5", "$@6", "required_types", + "requires", "interfacedef", "$@7", "interfaceref", "dispinterfaceref", + "module", "moduledef", "storage_cls_spec", "function_specifier", + "type_qualifier", "m_type_qual_list", "decl_spec", + "unqualified_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", @@ -1483,12 +1486,12 @@ } #endif -#define YYPACT_NINF (-659) +#define YYPACT_NINF (-704) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-487) +#define YYTABLE_NINF (-488) #define yytable_value_is_error(Yyn) \ 0 @@ -1497,99 +1500,99 @@ STATE-NUM. */ static const yytype_int16 yypact[] = { - -659, 137, 1874, -659, -61, -659, -35, -15, 176, -659, - -659, -659, 176, -659, -33, -25, 176, -659, 327, -659, - -659, -659, -659, 101, 214, -659, -659, -659, -659, -659, - 176, 101, 259, 60, -659, 176, 71, 101, 497, -659, - -659, 328, 362, 497, -659, -659, 3536, -659, -659, -659, - -659, 50, -659, -659, -659, -659, -659, -4, 2935, 81, - 87, -659, -659, -659, 366, 138, -659, 143, -659, 149, - -659, 164, -659, -105, 171, 195, 173, 175, -659, -659, - -659, 177, 177, 177, 147, 1427, 178, -659, 177, 179, - 181, -659, 120, -659, -15, 290, -659, -659, -659, -659, - 406, -659, -659, 129, 183, -659, -659, -659, 185, 203, - -659, -659, 111, -659, 1427, -659, -659, 169, 188, -68, - -84, -659, 187, -659, 189, -659, -659, 191, -659, -659, - -659, 192, 193, -659, -659, 196, -659, -659, -659, 198, - 199, -659, 204, -659, -659, -659, -659, 207, -659, 208, - -659, -659, 209, -659, -659, -659, 211, 212, -659, -659, - 213, -659, -659, -659, -659, -659, 215, 217, 220, 221, - 223, -659, 230, -659, -659, 231, -659, 235, -659, -659, - 239, 240, -659, -659, 241, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, 244, -659, -659, 245, - -659, 246, 257, -659, -659, -659, -659, -659, -659, -659, - 260, -659, -659, 261, -659, -659, -659, 262, -659, 263, - -659, -659, 270, 271, 272, 273, -659, -659, -659, 274, - 275, -659, -659, 276, 279, 280, -53, -659, -659, -659, - 2006, 1135, 1427, 176, 200, 205, 367, 176, 371, 374, - 258, 284, 285, 306, 286, -659, 147, 288, 289, -659, - 265, 307, 3241, -659, -659, -659, 470, -659, -659, 294, - -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, 147, 147, -659, -659, 291, -38, -659, -659, - -659, 177, -659, -659, -659, 298, -659, -659, -659, -27, - -659, -659, 518, 293, -31, 54, -659, -659, 324, 325, - 302, -659, 311, -659, 3139, 532, 538, 176, 946, 3139, - 3139, 551, 547, 946, 559, 560, 561, 946, 3139, 946, - 562, 569, 946, 570, 946, 946, 2472, 946, 946, 55, - 571, 574, -37, 576, 946, 1427, 946, 3139, 946, 1427, - 281, 1427, 1427, 580, 238, 588, 1427, 3536, 368, -659, - 370, 365, -659, -659, -659, -659, 369, -659, 373, -659, - 376, -659, 68, 377, 378, -659, -659, -659, 173, 176, - -659, 3139, -659, -659, 383, -659, 383, -75, -659, -659, - 387, 386, 389, 306, -659, -659, -659, 366, 93, 385, - -659, -86, -659, -659, -21, 104, 388, -659, 946, 218, - 2472, -659, -659, 25, 120, -659, 392, -659, 387, -659, - 176, 394, 397, 384, -659, 176, 623, 623, -659, 88, - 200, 94, -659, 400, 421, 401, 402, 405, -659, -659, - -659, -659, -659, -659, -659, -659, -659, 398, -659, 946, - 946, 946, 946, 946, 946, 887, 2716, -107, -659, 408, - 437, 411, 439, 424, 418, 446, 2716, 420, 448, 422, - 425, -659, -97, 426, 427, 428, 434, 438, 440, 441, - 442, 2363, 449, 3139, 133, 451, -96, -659, 2716, -659, - -659, -659, 452, 454, 455, 458, 459, 487, 461, -66, - 462, 491, 2477, 466, -659, -659, -659, -659, -659, -659, - 467, 468, 471, 472, 431, -659, 480, 481, 482, -659, - 3536, -659, 710, -659, -659, -659, -659, -659, -659, -659, - -93, 147, 1582, 115, 138, -659, -659, 173, 555, -659, - -659, -659, 3241, -659, 1445, 512, -44, 493, -659, -659, - -659, -659, 936, -659, 2607, 492, 520, -659, -659, -659, - -659, -659, -659, -42, -659, -659, 541, 516, -659, -659, - 116, 946, -659, -659, 524, -659, 36, 53, -659, 3139, - -659, 3139, 498, -659, 495, -659, 503, -659, 3037, -659, - -659, -659, 3286, 34, 34, 34, 34, 34, 34, -659, - 2582, 159, 3378, 177, 946, 946, 734, 946, 946, 946, - 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, - 946, 946, 946, 946, 735, 946, 946, -659, -659, 144, - -659, 551, 733, -659, 946, -659, 737, -659, -659, 732, - -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, - -659, 133, -659, 2138, -659, 133, -659, -659, -659, -13, - -659, 946, -659, -659, -659, -659, -659, -659, 946, -659, - -659, -659, 3139, -659, -659, -659, -659, -659, -659, 736, - -659, -659, -659, -659, -29, 507, -659, -659, 2472, -659, - 535, 173, -659, 556, 3139, 173, 47, -659, 117, -659, - 387, 513, -659, -659, -659, 536, 517, 1031, 514, -659, - -659, -659, 2370, 25, -659, 521, 526, 541, 3241, -659, - -659, 176, 534, -659, -659, -659, 133, 529, 147, 123, - 176, -659, -659, -659, -659, 159, -659, -659, 2254, -659, - 159, -659, 527, 51, 177, -659, 283, 283, -659, 777, - 777, 463, 463, 802, 2735, 2695, 824, 1631, 1071, 463, - 463, 40, 40, 34, 34, 34, -659, 2656, -659, -659, - -659, 543, -659, 528, 557, -659, -659, 79, -659, 531, - 133, 533, -659, 2472, -659, -659, 537, -659, -659, 387, - -659, 173, 1290, 176, 539, 147, -659, -659, 176, 387, - 540, 544, 173, 138, -659, 568, -659, -659, -659, -659, - 3139, 546, -659, -659, -659, -659, -659, 760, -659, -659, - -32, -659, -659, 572, -659, -98, -659, -659, 549, -659, - 548, 372, -659, 550, 133, 552, -659, 946, 2472, -659, - -659, 946, -659, 3139, -659, 3139, -659, 79, -659, -659, - -659, 558, -659, 553, -659, -659, 62, 173, -659, -659, - 563, 366, -659, -659, -659, -659, 387, 1719, -659, 573, - 578, 946, -659, 133, -659, -659, -659, -659, 79, -659, - -659, -659, 34, 564, 2716, -659, -659, -659, -659, 3241, - 545, -659, 579, 138, -659, 173, -659, -659, -659, -659, - 33, -659, -659, 64, 2472, -659, 946, 592, -659, -659, - 581, 582, 595, 165, -659, -659, 165, -659, -659, 583, - 173, -659, -659, -659 + -704, 136, 1892, -704, -65, -704, -42, -15, 306, -704, + -704, -704, 306, -704, 0, -10, 306, -704, 372, -704, + -704, -704, -704, 66, 237, -704, -704, -704, -704, -704, + 306, 66, 230, 25, -704, 306, 59, 66, 575, -704, + -704, 400, 405, 575, -704, -704, 3577, -704, -704, -704, + -704, 70, -704, -704, -704, -704, -704, 6, 2968, 101, + 108, -704, -704, -704, 408, 67, -704, 120, -704, 134, + -704, 155, -704, 117, 171, 198, 179, 185, -704, -704, + -704, 272, 272, 272, 79, 3244, 188, -704, 272, 212, + 232, -704, 80, -704, -15, 172, -704, -704, -704, -704, + 301, -704, -704, 86, 151, -704, -704, -704, 238, 177, + -704, -704, 82, -704, 3244, -704, -704, 228, 162, -49, + -67, -704, 204, -704, 234, -704, -704, 236, -704, -704, + -704, 244, 247, -704, -704, 249, -704, -704, -704, 250, + 251, -704, 252, -704, -704, -704, -704, -704, 253, -704, + 254, -704, -704, 256, -704, -704, -704, 265, 266, -704, + -704, 267, -704, -704, -704, -704, -704, 268, 269, 270, + 273, 274, -704, 275, -704, -704, 276, -704, 278, -704, + -704, 280, 281, -704, -704, 282, -704, -704, -704, -704, + -704, -704, -704, -704, -704, -704, -704, 284, -704, -704, + 285, -704, 286, 287, -704, -704, -704, -704, -704, -704, + -704, 288, -704, -704, 289, -704, -704, -704, 291, -704, + 292, -704, -704, 293, 298, 300, 303, -704, -704, -704, + 310, 317, -704, -704, 318, 319, 322, -57, -704, -704, + -704, 2025, 1164, 3244, 306, 235, 240, 414, 306, 436, + 448, 243, 304, 279, 307, 308, -704, 79, 330, 331, + -704, 337, 354, 3180, -704, -704, -704, 569, -704, -704, + 342, -704, -704, -704, -704, -704, -704, -704, -704, -704, + -704, -704, -704, 79, 79, -704, -704, 341, -32, -704, + -704, -704, 272, -704, -704, -704, 350, -704, -704, -704, + -46, -704, -704, 583, 360, -40, 119, -704, -704, 379, + 386, 362, -704, 364, -704, 3152, 592, 587, 306, 942, + 3152, 3152, 598, 589, 942, 597, 600, 602, 942, 3152, + 942, 603, 610, 942, 611, 942, 942, 2434, 942, 942, + 40, 612, 616, -4, 617, 942, 3244, 942, 3152, 942, + 3244, 241, 3244, 3244, 591, 195, 618, 3244, 3577, 398, + -704, 396, 397, -704, -704, -704, -704, 399, -704, 401, + -704, 403, -704, 118, 404, 406, -704, -704, -704, 179, + 306, -704, 3152, -704, -704, 409, -704, 409, -64, -704, + -704, 451, 410, 416, 307, -704, -704, -704, 408, 140, + 420, -704, -12, -704, -704, 10, 96, 412, -704, 942, + 607, 2434, -704, -704, 71, 80, -704, 411, -704, 451, + -704, 306, 418, 431, 417, -704, 306, 636, 636, -704, + 128, 235, 135, -704, 419, 444, 421, 422, 424, -704, + -704, -704, -704, -704, -704, -704, -704, -704, 426, -704, + 942, 942, 942, 942, 942, 942, 961, 2688, -92, -704, + 427, 447, 428, 453, 439, 438, 463, 2688, 442, 466, + 445, 446, -704, -79, 449, 452, 458, 459, 461, 462, + 467, 468, 890, 471, 3152, 49, 472, -66, -704, 2688, + -704, -704, -704, 476, 477, 480, 481, 482, 474, 483, + -59, 485, 475, 2469, 487, -704, -704, -704, -704, -704, + -704, 489, 491, 492, 493, 473, -704, 495, 497, 499, + -704, 3577, -704, 672, -704, -704, -704, -704, -704, -704, + -704, -43, 79, 1532, 152, 67, -704, -704, 179, 521, + -704, -704, -704, 3180, -704, 1430, 526, -62, 506, -704, + -704, -704, -704, 758, -704, 2567, 503, 531, -704, -704, + -704, -704, -704, -704, -54, -704, -704, 552, 528, -704, + -704, 163, 942, -704, -704, 535, -704, 51, 53, -704, + 3152, -704, 3152, 512, -704, 517, -704, 518, -704, 3060, + -704, -704, -704, 3336, 35, 35, 35, 35, 35, 35, + -704, 2542, 126, 3418, 272, 942, 942, 750, 942, 942, + 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, + 942, 942, 942, 942, 942, 752, 942, 942, -704, -704, + -3, -704, 598, 751, -704, 942, -704, 755, -704, -704, + 753, -704, -704, -704, -704, -704, -704, -704, -704, -704, + -704, -704, 49, -704, 2158, -704, 49, -704, -704, -704, + 50, -704, 942, -704, -704, -704, -704, -704, -704, 942, + -704, -704, -704, 3152, -704, -704, -704, -704, -704, -704, + 754, -704, -704, -704, -704, -24, 522, -704, -704, 2434, + -704, 560, 179, -704, 581, 3152, 179, 41, -704, 164, + -704, 451, 539, -704, -704, -704, 562, 543, 1736, 542, + -704, -704, -704, 2342, 71, -704, 547, 544, 552, 3180, + -704, -704, 306, 563, -704, -704, -704, 49, 548, 79, + 169, 306, -704, -704, -704, -704, 126, -704, -704, 2250, + -704, 126, -704, 549, 77, 272, -704, 213, 213, -704, + 277, 277, 160, 160, 2707, 2726, 2647, 2746, 2771, 207, + 160, 160, -13, -13, 35, 35, 35, -704, 2619, -704, + -704, -704, 574, -704, 550, 579, -704, -704, 109, -704, + 555, 49, 558, -704, 2434, -704, -704, 561, -704, -704, + 451, -704, 179, 1297, 306, 564, 79, -704, -704, 306, + 451, 566, 570, 179, 67, -704, 594, -704, -704, -704, + -704, 3152, 573, -704, -704, -704, -704, -704, 780, -704, + -704, 57, -704, -704, 585, -704, -91, -704, -704, 568, + -704, 572, 113, -704, 576, 49, 577, -704, 942, 2434, + -704, -704, 942, -704, 3152, -704, 3152, -704, 109, -704, + -704, -704, 578, -704, 595, -704, -704, 58, 179, -704, + -704, 586, 408, -704, -704, -704, -704, 451, 1634, -704, + 588, 590, 942, -704, 49, -704, -704, -704, -704, 109, + -704, -704, -704, 35, 596, 2688, -704, -704, -704, -704, + 3180, 571, -704, 599, 67, -704, 179, -704, -704, -704, + -704, 36, -704, -704, 72, 2434, -704, 942, 608, -704, + -704, 601, 604, 623, 224, -704, -704, 224, -704, -704, + 605, 179, -704, -704, -704 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1597,139 +1600,139 @@ means the default is an error. */ static const yytype_int16 yydefact[] = { - 11, 0, 88, 1, 308, 55, 470, 480, 0, 319, - 311, 330, 0, 398, 0, 0, 0, 318, 306, 320, - 394, 317, 321, 322, 0, 397, 324, 331, 332, 329, - 0, 322, 0, 0, 396, 0, 0, 322, 0, 326, - 395, 306, 306, 316, 461, 312, 109, 2, 27, 26, - 56, 0, 50, 28, 53, 28, 25, 0, 89, 463, - 0, 335, 462, 313, 0, 0, 473, 0, 19, 0, + 11, 0, 88, 1, 309, 55, 471, 481, 0, 320, + 312, 331, 0, 399, 0, 0, 0, 319, 307, 321, + 395, 318, 322, 323, 0, 398, 325, 332, 333, 330, + 0, 323, 0, 0, 397, 0, 0, 323, 0, 327, + 396, 307, 307, 317, 462, 313, 109, 2, 27, 26, + 56, 0, 50, 28, 53, 28, 25, 0, 89, 464, + 0, 336, 463, 314, 0, 0, 474, 0, 19, 0, 23, 0, 21, 0, 0, 0, 48, 0, 17, 16, - 24, 405, 405, 405, 0, 0, 465, 471, 405, 0, - 467, 333, 0, 4, 480, 0, 308, 309, 349, 345, - 0, 5, 357, 464, 0, 307, 323, 328, 0, 371, - 327, 351, 0, 347, 0, 325, 314, 466, 0, 468, - 0, 315, 0, 111, 0, 113, 114, 0, 115, 116, + 24, 406, 406, 406, 0, 0, 466, 472, 406, 0, + 468, 334, 0, 4, 481, 0, 309, 310, 350, 346, + 0, 5, 358, 465, 0, 308, 324, 329, 0, 372, + 328, 352, 0, 348, 0, 326, 315, 467, 0, 469, + 0, 316, 0, 111, 0, 113, 114, 0, 115, 116, 117, 0, 0, 120, 122, 0, 123, 124, 125, 0, - 0, 128, 0, 130, 131, 132, 133, 0, 135, 0, - 137, 138, 0, 140, 141, 142, 0, 0, 145, 146, - 0, 148, 149, 150, 151, 152, 0, 0, 0, 0, - 0, 158, 0, 160, 161, 0, 163, 0, 165, 166, - 169, 0, 170, 171, 0, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 0, 185, 186, 0, - 188, 0, 0, 191, 192, 193, 194, 195, 459, 196, - 0, 198, 457, 0, 200, 201, 202, 0, 204, 0, - 206, 207, 0, 0, 0, 0, 212, 458, 213, 0, - 0, 217, 218, 0, 0, 0, 0, 91, 222, 51, - 88, 88, 0, 0, 88, 0, 306, 0, 306, 306, - 0, 463, 0, 365, 0, 385, 0, 465, 467, 52, - 308, 472, 0, 18, 22, 20, 0, 12, 15, 0, - 49, 387, 14, 409, 406, 408, 407, 223, 224, 225, - 226, 399, 0, 0, 310, 413, 449, 412, 303, 463, - 465, 405, 467, 401, 54, 0, 492, 491, 493, 0, - 488, 481, 0, 0, 0, 88, 71, 372, 0, 0, - 0, 289, 0, 295, 0, 0, 0, 0, 0, 0, + 0, 128, 0, 130, 131, 133, 132, 134, 0, 136, + 0, 138, 139, 0, 141, 142, 143, 0, 0, 146, + 147, 0, 149, 150, 151, 152, 153, 0, 0, 0, + 0, 0, 159, 0, 161, 162, 0, 164, 0, 166, + 167, 170, 0, 171, 172, 0, 174, 175, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 0, 186, 187, + 0, 189, 0, 0, 192, 193, 194, 195, 196, 460, + 197, 0, 199, 458, 0, 201, 202, 203, 0, 205, + 0, 207, 208, 0, 0, 0, 0, 213, 459, 214, + 0, 0, 218, 219, 0, 0, 0, 0, 91, 223, + 51, 88, 88, 0, 0, 88, 0, 307, 0, 307, + 307, 0, 464, 0, 366, 0, 386, 0, 466, 468, + 52, 309, 473, 0, 18, 22, 20, 0, 12, 15, + 0, 49, 388, 14, 410, 407, 409, 408, 224, 225, + 226, 227, 400, 0, 0, 311, 414, 450, 413, 304, + 464, 466, 406, 468, 402, 54, 0, 493, 492, 494, + 0, 489, 482, 0, 0, 0, 88, 71, 373, 0, + 0, 0, 290, 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, - 0, 0, 0, 0, 0, 0, 242, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 109, 90, 72, - 0, 0, 45, 42, 43, 44, 0, 36, 0, 40, - 0, 38, 0, 0, 0, 34, 33, 41, 48, 0, - 392, 0, 89, 46, 464, 74, 466, 468, 75, 353, - 0, 0, 0, 365, 302, 334, 338, 0, 339, 341, - 343, 0, 352, 11, 0, 0, 0, 411, 0, 0, - 77, 415, 402, 0, 0, 487, 0, 70, 0, 7, - 0, 0, 233, 238, 234, 0, 0, 0, 469, 88, - 88, 88, 104, 0, 0, 0, 0, 0, 253, 244, - 245, 246, 250, 251, 252, 247, 248, 0, 249, 0, - 0, 0, 0, 0, 0, 0, 287, 0, 285, 0, - 0, 0, 0, 99, 0, 0, 288, 0, 0, 0, - 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 434, 0, 0, 240, 243, 96, - 97, 98, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 456, 451, 452, 453, 454, 455, - 0, 0, 0, 0, 477, 479, 0, 0, 0, 92, - 109, 8, 0, 35, 39, 37, 31, 30, 29, 76, - 0, 0, 88, 88, 366, 367, 353, 48, 383, 336, - 340, 342, 0, 337, 88, 0, 88, 0, 400, 410, - 414, 450, 0, 87, 0, 0, 81, 78, 79, 498, - 496, 499, 497, 0, 494, 489, 482, 0, 236, 239, - 88, 0, 368, 369, 373, 59, 0, 0, 460, 0, - 290, 0, 0, 475, 89, 296, 0, 110, 0, 112, - 216, 118, 0, 277, 276, 275, 278, 273, 274, 470, - 0, 422, 0, 405, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, + 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 109, 90, + 72, 0, 0, 45, 42, 43, 44, 0, 36, 0, + 40, 0, 38, 0, 0, 0, 34, 33, 41, 48, + 0, 393, 0, 89, 46, 465, 74, 467, 469, 75, + 354, 0, 0, 0, 366, 303, 335, 339, 0, 340, + 342, 344, 0, 353, 11, 0, 0, 0, 412, 0, + 0, 77, 416, 403, 0, 0, 488, 0, 70, 0, + 7, 0, 0, 234, 239, 235, 0, 0, 0, 470, + 88, 88, 88, 104, 0, 0, 0, 0, 0, 254, + 245, 246, 247, 251, 252, 253, 248, 249, 0, 250, + 0, 0, 0, 0, 0, 0, 0, 288, 0, 286, + 0, 0, 0, 0, 99, 0, 0, 289, 0, 0, + 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 435, 0, 0, 241, 244, + 96, 97, 98, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 457, 452, 453, 454, 455, + 456, 0, 0, 0, 0, 478, 480, 0, 0, 0, + 92, 109, 8, 0, 35, 39, 37, 31, 30, 29, + 76, 0, 0, 88, 88, 367, 368, 354, 48, 384, + 337, 341, 343, 0, 338, 88, 0, 88, 0, 401, + 411, 415, 451, 0, 87, 0, 0, 81, 78, 79, + 499, 497, 500, 498, 0, 495, 490, 483, 0, 237, + 240, 88, 0, 369, 370, 374, 59, 0, 0, 461, + 0, 291, 0, 0, 476, 89, 297, 0, 110, 0, + 112, 217, 118, 0, 278, 277, 276, 279, 274, 275, + 471, 0, 423, 0, 406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 119, 121, 0, - 126, 0, 0, 127, 0, 134, 0, 136, 139, 0, - 143, 144, 147, 153, 154, 155, 156, 157, 159, 162, - 164, 434, 399, 77, 439, 434, 436, 435, 84, 431, - 168, 242, 167, 172, 184, 187, 189, 190, 0, 199, - 203, 205, 0, 208, 209, 211, 210, 214, 215, 0, - 219, 220, 221, 93, 0, 0, 28, 376, 77, 442, - 474, 48, 47, 0, 89, 48, 0, 354, 88, 350, - 0, 0, 344, 13, 359, 0, 0, 0, 0, 86, - 85, 416, 0, 0, 490, 486, 0, 482, 0, 235, - 237, 0, 0, 60, 57, 58, 0, 467, 0, 465, - 304, 294, 293, 101, 103, 422, 284, 399, 77, 426, - 422, 423, 0, 419, 405, 403, 266, 267, 279, 260, - 261, 264, 265, 255, 256, 0, 257, 258, 259, 263, - 262, 269, 268, 271, 272, 270, 280, 0, 286, 106, - 105, 0, 100, 0, 0, 95, 83, 434, 399, 0, - 434, 0, 430, 77, 438, 241, 0, 102, 478, 0, - 10, 48, 88, 0, 0, 0, 393, 346, 0, 0, - 0, 0, 48, 379, 380, 384, 46, 361, 360, 363, - 0, 0, 301, 364, 82, 80, 495, 0, 485, 483, - 0, 370, 374, 444, 447, 0, 292, 299, 0, 305, - 0, 422, 399, 0, 434, 0, 418, 0, 77, 425, - 404, 0, 283, 0, 129, 0, 429, 434, 440, 433, - 437, 0, 197, 0, 73, 32, 0, 48, 443, 391, - 335, 0, 390, 355, 356, 348, 0, 88, 362, 0, - 0, 0, 446, 0, 291, 227, 282, 417, 434, 427, - 421, 424, 281, 0, 254, 107, 108, 432, 441, 0, - 0, 375, 336, 381, 382, 48, 484, 6, 445, 448, - 0, 420, 428, 0, 77, 386, 0, 0, 476, 228, - 0, 0, 0, 88, 9, 377, 88, 298, 230, 0, - 48, 229, 297, 378 + 0, 0, 0, 0, 0, 0, 0, 0, 119, 121, + 0, 126, 0, 0, 127, 0, 135, 0, 137, 140, + 0, 144, 145, 148, 154, 155, 156, 157, 158, 160, + 163, 165, 435, 400, 77, 440, 435, 437, 436, 84, + 432, 169, 243, 168, 173, 185, 188, 190, 191, 0, + 200, 204, 206, 0, 209, 210, 212, 211, 215, 216, + 0, 220, 221, 222, 93, 0, 0, 28, 377, 77, + 443, 475, 48, 47, 0, 89, 48, 0, 355, 88, + 351, 0, 0, 345, 13, 360, 0, 0, 0, 0, + 86, 85, 417, 0, 0, 491, 487, 0, 483, 0, + 236, 238, 0, 0, 60, 57, 58, 0, 468, 0, + 466, 305, 295, 294, 101, 103, 423, 285, 400, 77, + 427, 423, 424, 0, 420, 406, 404, 267, 268, 280, + 261, 262, 265, 266, 256, 257, 0, 258, 259, 260, + 264, 263, 270, 269, 272, 273, 271, 281, 0, 287, + 106, 105, 0, 100, 0, 0, 95, 83, 435, 400, + 0, 435, 0, 431, 77, 439, 242, 0, 102, 479, + 0, 10, 48, 88, 0, 0, 0, 394, 347, 0, + 0, 0, 0, 48, 380, 381, 385, 46, 362, 361, + 364, 0, 0, 302, 365, 82, 80, 496, 0, 486, + 484, 0, 371, 375, 445, 448, 0, 293, 300, 0, + 306, 0, 423, 400, 0, 435, 0, 419, 0, 77, + 426, 405, 0, 284, 0, 129, 0, 430, 435, 441, + 434, 438, 0, 198, 0, 73, 32, 0, 48, 444, + 392, 336, 0, 391, 356, 357, 349, 0, 88, 363, + 0, 0, 0, 447, 0, 292, 228, 283, 418, 435, + 428, 422, 425, 282, 0, 255, 107, 108, 433, 442, + 0, 0, 376, 337, 382, 383, 48, 485, 6, 446, + 449, 0, 421, 429, 0, 77, 387, 0, 0, 477, + 229, 0, 0, 0, 88, 9, 378, 88, 299, 231, + 0, 48, 230, 298, 379 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -659, -659, -659, -659, -659, -659, -659, 382, -659, -51, - -659, -36, -331, -1, -659, 352, -659, -659, -659, -659, - -659, -659, -659, 29, -587, -659, -659, -314, -276, -241, - -2, -659, -659, -659, 499, -268, -659, -659, -659, -659, - -659, -285, -69, -659, -659, -659, -659, -659, 242, 17, - 445, 153, 304, -659, -288, -319, -659, -659, -659, -659, - -108, -335, -659, 109, -659, 26, -6, -63, -257, 96, - 256, -249, -255, -246, 277, -658, 18, 30, 21, 32, - 23, 37, 38, 295, -659, 28, -659, -659, -659, -659, - 444, 112, 39, 16, -659, -659, 43, -659, -659, -659, - -659, 46, -659, -659, -659, -659, 48, -659, -659, -354, - -583, 7, 243, -45, -55, -229, -659, -659, -659, -630, - -659, -655, -659, -568, -659, -659, -659, -43, -659, 584, - -659, 496, 12, -392, -8, -659, 15, -659, 740, 122, - -659, -659, 127, -659, 443, -659, 140 + -704, -704, -704, -704, -704, -704, -704, 432, -704, -52, + -704, 5, -328, -1, -704, 437, -704, -704, -704, -704, + -704, -704, -704, 29, -587, -704, -704, -291, -263, -240, + -2, -704, -704, -704, 502, -266, -704, -704, -704, -704, + -704, -271, -69, -704, -704, -704, -704, -704, 257, 17, + 498, 178, 407, -704, -285, -321, -704, -704, -704, -704, + -73, -325, -704, 138, -704, 56, -6, -63, -252, 233, + 283, -219, -243, -259, 309, -703, 16, 30, 21, 32, + 28, 37, 38, 312, -704, 20, -704, -704, -704, -704, + 456, 125, 60, 11, -704, -704, 39, -704, -704, -704, + -704, 45, -704, -704, -704, -704, 47, -704, -704, -364, + -503, 7, 262, -45, -55, -194, -704, -704, -704, -607, + -704, -611, -704, -575, -704, -704, -704, -5, -704, 613, + -704, 529, 12, -380, 19, -704, 15, -704, 770, 153, + -704, -704, 158, -704, 464, -704, 167 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 1, 47, 304, 48, 684, 362, 2, 403, 240, - 686, 532, 271, 363, 50, 576, 51, 52, 53, 54, - 364, 250, 55, 365, 555, 556, 557, 558, 654, 57, - 382, 236, 472, 492, 733, 432, 500, 433, 771, 459, - 469, 237, 655, 900, 909, 421, 422, 423, 424, 289, - 486, 487, 456, 457, 458, 467, 429, 580, 585, 431, - 918, 919, 811, 60, 828, 104, 61, 656, 62, 107, - 63, 64, 65, 66, 400, 401, 366, 367, 368, 369, - 370, 371, 372, 533, 697, 373, 75, 546, 707, 76, - 391, 573, 574, 374, 425, 722, 375, 793, 920, 805, - 701, 376, 393, 800, 801, 245, 377, 81, 82, 83, - 405, 484, 601, 273, 85, 286, 287, 741, 835, 742, - 743, 657, 781, 658, 659, 690, 872, 824, 825, 288, - 510, 238, 290, 87, 88, 89, 292, 516, 93, 716, - 717, 94, 95, 299, 300, 563, 564 + 0, 1, 47, 305, 48, 685, 363, 2, 404, 241, + 687, 533, 272, 364, 50, 577, 51, 52, 53, 54, + 365, 251, 55, 366, 556, 557, 558, 559, 655, 57, + 383, 237, 473, 493, 734, 433, 501, 434, 772, 460, + 470, 238, 656, 901, 910, 422, 423, 424, 425, 290, + 487, 488, 457, 458, 459, 468, 430, 581, 586, 432, + 919, 920, 812, 60, 829, 104, 61, 657, 62, 107, + 63, 64, 65, 66, 401, 402, 367, 368, 369, 370, + 371, 372, 373, 534, 698, 374, 75, 547, 708, 76, + 392, 574, 575, 375, 426, 723, 376, 794, 921, 806, + 702, 377, 394, 801, 802, 246, 378, 81, 82, 83, + 406, 485, 602, 274, 85, 287, 288, 742, 836, 743, + 744, 658, 782, 659, 660, 691, 873, 825, 826, 289, + 511, 239, 291, 87, 88, 89, 293, 517, 93, 717, + 718, 94, 95, 300, 301, 564, 565 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1737,912 +1740,923 @@ number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 58, 49, 98, 381, 241, 396, 99, 398, 473, 84, - 102, 411, 105, 397, 86, 283, 399, 90, 77, 59, - 67, 285, 482, 69, 109, 71, 274, 274, 274, 113, - 74, 56, 68, 274, 70, 105, 105, 275, 276, 72, - 73, 475, 723, 293, 478, 78, 480, 529, 79, 485, - 80, 548, 461, 406, 407, 606, 497, 559, 261, 723, - 820, 606, 242, 603, 420, 256, 779, 118, 120, 777, - 257, 823, 519, 258, 255, 251, 252, 291, 284, 253, - 906, 254, 96, 776, 97, 705, 489, 782, 418, 551, - 789, 277, 278, 279, 280, 582, 586, 907, 30, 312, - 560, 794, 626, 269, -486, 830, 310, 96, -308, 97, - 836, 873, 639, 661, 308, -308, 277, 278, 279, 280, - 798, 208, 687, 542, 266, 212, 243, 110, 267, 627, - 543, 545, 13, 115, 874, 534, 96, 3, 97, 640, - 662, 397, 688, 661, 535, 277, 278, 279, 280, 313, - 96, 833, 97, 295, 831, 227, 357, 13, -308, 277, - 278, 279, 280, 567, -66, -308, 799, 713, 91, 397, - 670, 277, 278, 279, 280, 309, 549, 542, 358, 96, - -309, 97, 414, 296, 870, 244, 46, 283, 579, 581, - 581, 490, 409, 285, 714, 847, 851, 410, 561, 297, - 603, 877, 100, 419, 415, 790, 699, 298, 101, 846, - 744, 706, 849, 283, 283, 92, 106, 409, 823, 285, - 285, 438, 783, 108, 439, 440, 441, 442, 443, 444, - 13, 903, 562, 491, 379, 683, 274, 380, 58, 58, - 105, 385, 105, 105, 514, 515, 412, 84, 84, 878, - 284, 883, 86, 86, 437, 90, 90, 59, 59, 621, - 622, 623, 111, 624, 625, 20, 880, 908, 16, 624, - 625, 721, 724, 542, 118, 120, 284, 284, 890, 887, - 910, 409, 239, 720, 46, 396, 838, 398, -231, 725, - 25, 693, 696, 397, 116, 112, 399, 266, 652, 121, - 769, 526, 689, 770, 606, 581, 114, 445, 262, 409, - 901, 284, 540, -61, 653, 773, 530, 911, 46, 259, - 734, 434, 578, 281, 46, 739, 460, 462, 583, 420, - 103, 117, 97, 97, 483, 474, 283, 498, 768, 282, - 34, 503, 285, 511, 512, 46, 46, 46, 518, 695, - -232, 802, 652, 262, 501, -300, 40, 568, 446, -300, - 796, -62, -308, 409, 797, 119, 281, 97, 653, 260, - 384, 97, 97, 284, 386, 263, 97, 387, 737, 97, - 786, 264, 282, 784, 277, 278, 279, 280, 531, 409, - 4, 539, 97, 447, 738, 46, 265, 917, 815, 284, - 602, -64, -308, 268, 787, 270, 448, 272, 483, 302, - -63, 294, 504, -65, 284, 303, 305, 306, 307, 572, - 547, 311, 314, 548, 315, 13, 316, 317, 318, 584, - 46, 319, 449, 320, 321, 450, 451, 552, 383, 322, - 453, 454, 323, 324, 325, 803, 326, 327, 328, 553, - 329, 397, 330, 455, 804, 331, 332, 696, 333, 739, - 854, 396, 283, 398, 739, 334, 335, 839, 285, 397, - 336, 865, 399, 402, 337, 338, 339, 548, 284, 340, - 341, 342, 604, 605, 606, 505, 506, 507, 508, 509, - 651, 388, 343, 548, 395, 344, 345, 346, 347, 827, - 619, 620, 621, 622, 623, 348, 349, 350, 351, 352, - 353, 354, 624, 625, 355, 356, -67, 390, 389, 392, - -68, -69, -336, 416, 548, 284, 891, 404, 408, 417, - 694, 692, 740, 413, 853, 426, 427, 602, 428, 84, - 397, 435, 58, 49, 86, 11, 430, 90, 274, 59, - 861, 84, 898, 862, 436, 739, 86, 463, 745, 90, - 77, 59, 67, 465, 905, 69, 858, 71, 468, 470, - 471, 476, 74, 56, 68, 885, 70, 886, 477, 479, - 493, 72, 73, 494, 780, 496, 726, 78, 728, 923, - 79, 737, 80, 729, 727, 462, 513, 517, 520, 23, - 522, 523, 409, 521, 541, 524, 570, 738, 525, 527, - 528, 893, 26, 27, 28, 29, -308, 397, 912, 536, - 894, 571, 31, 537, 550, 566, 693, 466, 569, 575, - 588, 466, 396, 592, 398, 792, 587, 589, 590, 481, - 397, 591, 488, 399, 628, 284, 629, 630, 631, 284, - 488, 483, 502, 632, 633, 634, 635, 636, 637, 283, - 679, 638, 641, 642, 643, 285, 740, 829, 37, 834, - 644, 740, 581, 39, 645, 581, 646, 647, 648, 462, - 619, 620, 621, 622, 623, 650, 483, 660, 663, 274, - 664, 665, 624, 625, 666, 667, 668, 669, 671, 840, - 672, 256, 674, 675, 676, 810, 257, 677, 678, 258, - 483, 251, 466, 554, 84, 572, 680, 681, 682, 685, - 284, 700, 284, 704, 284, 708, 283, 731, 711, 712, - 715, 718, 285, 721, 730, 732, 483, 748, 766, 772, - 774, 775, 788, 791, 795, 244, 806, 807, 813, 808, - 822, 92, 843, 593, 594, 595, 596, 597, 598, 600, - 818, 826, 740, 837, 844, 869, 845, 848, 889, 850, - 867, 284, 863, 852, 284, 857, 864, 866, 868, 577, - 904, 483, 875, 871, 876, 544, 879, 572, 881, 284, - 58, 499, 859, 860, 888, -388, 604, 605, 606, 84, - 902, 609, 610, 913, 86, 896, 916, 90, 921, 59, - 897, -389, 719, 914, 785, 922, 812, 256, 915, 702, - 464, 604, 605, 606, 607, 608, 609, 610, 284, 612, - 899, 698, 856, 821, 301, 735, 483, 538, 495, 819, - 394, 284, 817, 604, 605, 606, 607, 608, 609, 610, - 462, 0, 462, 816, 0, 892, 596, 565, 0, 0, - 0, 0, 0, 0, 0, 694, 692, 284, 0, 0, - 0, 0, 284, 0, 84, 0, 0, 0, 0, 86, - 0, 0, 90, 0, 59, 0, 0, 0, 0, 0, - 438, 0, 599, 439, 440, 441, 442, 443, 444, 0, - 0, 0, 483, 0, 0, 0, 0, 0, 746, 747, - 0, 749, 750, 751, 752, 753, 754, 755, 756, 757, - 758, 759, 760, 761, 762, 763, 764, 765, 9, 767, - 10, 0, 0, 0, 0, 11, 0, 0, 466, 438, - 13, 0, 439, 440, 441, 442, 443, 444, 0, 438, - 0, 0, 439, 440, 441, 442, 443, 444, 0, 0, - 0, 0, 0, 17, 0, 488, 0, 0, 0, 246, - 19, 0, 0, 0, 0, 20, 445, 0, 0, 21, - 0, 0, 22, 0, 0, 0, 0, 0, 0, 23, - 0, 0, 617, 618, 619, 620, 621, 622, 623, 0, - 25, 0, 26, 27, 28, 29, 624, 625, 0, 0, - 0, 0, 31, 0, 614, 615, 616, 617, 618, 619, - 620, 621, 622, 623, 0, 445, 0, 446, 0, 0, - 0, 624, 625, 0, 4, 445, 6, 615, 616, 617, - 618, 619, 620, 621, 622, 623, 0, 0, 0, 0, - 34, 0, 0, 624, 625, 0, 0, 36, 37, 38, - 0, 0, 447, 39, 0, 0, 40, 0, 0, 248, - 0, 0, 9, 0, 10, 448, 446, 0, 249, 11, - 43, 0, 0, 0, 13, 0, 446, 0, 44, 45, - 604, 605, 606, 607, 608, 609, 610, 0, 0, 0, - 0, 449, 0, 0, 450, 451, 452, 17, 0, 453, - 454, 447, 0, 246, 19, 0, 0, 0, 0, 20, - 0, 447, 455, 21, 448, 0, 22, 0, 0, 0, - 0, 0, 0, 23, 448, 0, 0, 0, 4, 5, - 6, 882, 0, 0, 25, 884, 26, 27, 28, 29, - 449, 0, 0, 450, 451, 452, 31, 0, 453, 454, - 449, 0, 0, 450, 451, 452, 0, 709, 453, 454, - 8, 455, 0, 0, 0, 466, 9, 0, 10, 0, - 0, 455, 0, 11, 12, 0, 0, 0, 13, 0, - 0, 0, 0, 0, 34, 14, 0, 360, 0, 0, - 0, 36, 37, 38, 0, 0, 0, 39, 16, 0, - 40, 17, 0, 248, 0, 0, 0, 18, 19, 0, - 0, 0, 249, 20, 43, 0, 0, 21, 0, 0, - 22, 0, 44, 45, 0, 0, 0, 23, 0, 0, - 0, 0, 0, 0, 24, 361, 0, 0, 25, 0, - 26, 27, 28, 29, 30, 0, 0, 0, 0, 0, - 31, 46, 0, 0, 0, 809, 0, 32, 0, 0, + 58, 49, 98, 242, 400, 382, 99, 474, 607, 84, + 102, 397, 105, 77, 86, 284, 821, 90, 67, 59, + 399, 286, 74, 69, 109, 412, 275, 275, 275, 113, + 71, 56, 68, 275, 70, 105, 105, 276, 277, 72, + 73, 78, 549, 294, 398, 476, 483, 79, 479, 80, + 481, 530, 96, 486, 97, 462, 607, 724, 262, 724, + 498, 278, 279, 280, 281, 257, 421, 780, 706, 256, + 258, 490, 243, 259, 253, 252, 604, 777, 285, 254, + 419, 783, 96, 907, 97, 309, 255, 520, 552, 407, + 408, 278, 279, 280, 281, 270, 790, 118, 120, 96, + 908, 97, 795, 560, 292, -487, 583, 587, 278, 279, + 280, 281, 96, 296, 97, 799, 824, 313, 627, 874, + -309, 278, 279, 280, 281, 278, 279, 280, 281, 831, + 30, 640, 536, 311, 837, -309, 3, 244, 278, 279, + 280, 281, 875, 297, 662, 628, 310, 561, 535, 13, + 778, 662, 834, 358, 770, 209, 714, 771, 641, 213, + 298, 800, 13, 546, 415, 91, 13, 314, 299, 46, + -309, 663, 398, 688, -310, 359, 568, 491, 671, 605, + 606, 607, 106, 715, -66, -309, 416, 904, 284, 228, + 580, 582, 582, 689, 286, 420, 245, 852, 543, 410, + 398, 515, 516, 847, 411, 544, 850, 622, 623, 624, + 700, 791, 550, 604, 284, 284, 92, 625, 626, 492, + 286, 286, 707, 745, 101, 878, 605, 606, 607, 608, + 609, 610, 611, 111, 607, 832, 100, 275, 381, 58, + 58, 105, 386, 105, 105, 562, 108, 413, 84, 84, + 684, 285, 884, 86, 86, 438, 90, 90, 59, 59, + 881, 112, 380, 824, 110, 625, 626, 543, 722, 653, + 115, 909, 16, 888, 871, 891, 848, 285, 285, 563, + 410, 410, 543, 263, 400, 654, 784, 721, 725, 911, + 726, 397, 303, 694, 697, 114, 605, 606, 607, 282, + 399, 610, 611, 240, 902, 118, 120, 582, 410, 96, + 304, 97, 285, 839, 774, 283, 282, 531, 912, -62, + -309, 116, 435, 735, 398, 13, 121, 461, 463, 653, + 879, 421, 283, 738, -61, 484, 475, 284, 690, 740, + 410, 260, 769, 286, 410, 654, 738, 267, 267, 739, + 46, 268, 527, 264, -232, 502, 263, 410, 569, 46, + 541, 20, 739, 579, 797, 499, 46, 265, 798, 504, + 584, 512, 513, 505, 285, 103, 519, 97, 620, 621, + 622, 623, 624, 46, 787, 306, 25, 696, 266, 532, + 625, 626, 540, 308, 46, 46, 312, 785, -233, 803, + 285, 603, -301, 117, 269, 97, -301, 788, 119, 484, + 97, 261, 271, 97, 549, 285, 548, 385, 273, 97, + 573, -63, 816, 618, 619, 620, 621, 622, 623, 624, + 585, 620, 621, 622, 623, 624, 34, 625, 626, 387, + 315, 97, 805, 625, 626, 295, 506, 507, 508, 509, + 510, 388, 40, 97, 4, 46, 97, 918, 804, 697, + 400, -64, -309, 284, 855, -65, 46, 397, 549, 286, + 316, 307, 317, 740, 384, 866, 399, 389, 740, 285, + 318, 840, 398, 319, 549, 320, 321, 322, 323, 324, + 325, 652, 326, 618, 619, 620, 621, 622, 623, 624, + 398, 327, 328, 329, 330, 331, 332, 625, 626, 333, + 334, 335, 336, 390, 337, 549, 338, 339, 340, 391, + 341, 342, 343, 344, 345, 346, 285, 347, 348, 349, + 892, 695, 693, 741, 350, 828, 351, -67, 603, 352, + 84, 863, 393, 58, 49, 86, 353, 854, 90, 275, + 59, 899, 84, 354, 355, 356, 77, 86, 357, 746, + 90, 67, 59, -68, -69, 74, 69, 396, 906, 740, + -337, 398, 403, 71, 56, 68, 405, 70, 886, 409, + 887, 862, 72, 73, 78, 781, 414, 727, 417, 729, + 79, 427, 80, 924, 730, 728, 463, 418, 428, 429, + 431, 436, 859, 437, 464, 466, 469, 514, 895, 471, + 439, 472, 477, 440, 441, 442, 443, 444, 445, 478, + 480, 494, 913, 11, 894, 495, 497, 518, 694, 521, + 522, 400, 524, 523, 525, 793, 526, 528, 397, 529, + 542, 571, 576, -309, 537, 567, 285, 399, 398, 551, + 285, 538, 484, 570, 589, 572, 588, 630, 590, 591, + 284, 592, 593, 632, 629, 631, 286, 741, 830, 633, + 835, 398, 741, 635, 582, 634, 637, 582, 23, 636, + 463, 686, 638, 639, 669, 673, 642, 484, 701, 643, + 275, 26, 27, 28, 29, 644, 645, 446, 646, 647, + 841, 31, 257, 680, 648, 649, 811, 258, 651, 661, + 259, 484, 252, 664, 665, 84, 573, 666, 667, 668, + 670, 285, 672, 285, 675, 285, 676, 284, 677, 678, + 679, 467, 681, 286, 682, 467, 683, 484, 705, 709, + 712, 713, 716, 482, 719, 722, 489, 37, 447, 731, + 732, 733, 39, 749, 489, 767, 503, 773, 775, 792, + 789, 439, 776, 741, 440, 441, 442, 443, 444, 445, + 796, 245, 285, 807, 808, 285, 809, 814, 92, 819, + 823, 827, 484, 448, 844, 870, 838, 845, 573, 846, + 285, 58, 849, 860, 861, 851, 449, 872, 853, 864, + 84, 858, 876, 865, 867, 86, 869, 905, 90, 877, + 59, 890, 868, 880, 882, 889, 467, 555, 257, -389, + 914, 897, 450, 898, 465, 451, 452, 553, 720, 285, + 454, 455, -390, 903, 915, 917, 545, 484, 923, 554, + 786, 916, 285, 456, 922, 500, 813, 822, 446, 699, + 539, 463, 703, 463, 857, 736, 893, 594, 595, 596, + 597, 598, 599, 601, 302, 578, 695, 693, 285, 900, + 395, 820, 496, 285, 818, 84, 0, 0, 0, 566, + 86, 817, 0, 90, 0, 59, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, + 0, 0, 0, 484, 0, 0, 0, 0, 0, 605, + 606, 607, 608, 609, 610, 611, 612, 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 33, 617, 618, 619, 620, - 621, 622, 623, 4, 5, 6, 0, 0, 34, 0, - 624, 625, 0, 0, 35, 36, 37, 38, 0, 0, - 0, 39, 0, 0, 40, 0, 0, 41, 0, 0, - 0, 0, 0, 0, 0, 8, 42, 0, 43, 0, - 0, 9, 0, 10, 0, 0, 44, 45, 11, 12, - 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, - 14, 0, 360, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 0, 46, 17, 0, 0, 378, - 0, 0, 18, 19, 0, 0, 0, 0, 20, 0, - 0, 0, 21, 0, 0, 22, 0, 0, 0, 0, - 0, 0, 23, 0, 0, 0, 0, 0, 0, 24, - 361, 0, 0, 25, 0, 26, 27, 28, 29, 30, - 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, - 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 4, 0, 6, 0, 0, 0, 0, 0, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 0, 4, 5, - 6, 0, 0, 34, 0, 0, 0, 0, 0, 35, - 36, 37, 38, 0, 0, 0, 39, 0, 9, 40, - 10, 0, 41, 0, 0, 11, 0, 0, 0, 0, - 8, 42, 0, 43, 0, 0, 9, 0, 10, 0, - 0, 44, 45, 11, 12, 0, 0, 0, 13, 0, - 0, 0, 0, 17, 0, 14, 0, 15, 0, 246, - 19, 0, 0, 0, 0, 0, 0, 0, 16, 21, - 46, 17, 22, 0, 855, 0, 0, 18, 19, 23, + 0, 0, 0, 0, 448, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 439, 0, 449, 440, 441, + 442, 443, 444, 445, 0, 0, 0, 0, 0, 0, + 597, 0, 0, 0, 439, 0, 600, 440, 441, 442, + 443, 444, 445, 450, 0, 0, 451, 452, 453, 0, + 0, 454, 455, 0, 0, 0, 0, 0, 0, 0, + 710, 0, 0, 0, 456, 0, 0, 0, 0, 0, + 0, 0, 9, 0, 10, 0, 0, 0, 0, 11, + 0, 0, 747, 748, 13, 750, 751, 752, 753, 754, + 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, + 765, 766, 446, 768, 0, 0, 0, 0, 17, 0, + 0, 0, 467, 0, 247, 19, 0, 0, 0, 0, + 20, 446, 0, 0, 21, 0, 0, 22, 0, 0, + 0, 0, 0, 0, 23, 0, 0, 0, 0, 489, + 0, 0, 0, 0, 0, 25, 0, 26, 27, 28, + 29, 0, 0, 447, 0, 0, 0, 31, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 614, 447, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 0, 0, 0, 0, 0, 448, 0, + 625, 626, 0, 0, 0, 34, 0, 650, 0, 0, + 0, 449, 36, 37, 38, 0, 0, 448, 39, 0, + 0, 40, 0, 0, 249, 0, 0, 0, 0, 0, + 449, 0, 0, 250, 0, 43, 0, 450, 0, 0, + 451, 452, 453, 44, 45, 454, 455, 4, 5, 6, + 0, 0, 0, 0, 0, 0, 450, 0, 456, 451, + 452, 453, 0, 0, 454, 455, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 456, 0, 8, + 0, 0, 0, 0, 0, 9, 0, 10, 0, 0, + 0, 0, 11, 12, 0, 0, 0, 13, 0, 0, + 0, 0, 0, 0, 14, 0, 361, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, + 0, 17, 0, 0, 0, 883, 0, 18, 19, 885, 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, - 22, 0, 26, 27, 28, 29, 0, 23, 0, 0, - 0, 0, 31, 0, 24, 0, 0, 0, 25, 0, + 22, 0, 0, 0, 0, 0, 0, 23, 0, 0, + 0, 0, 0, 0, 24, 362, 0, 0, 25, 467, 26, 27, 28, 29, 30, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 32, 0, 0, - 0, 0, 0, 0, 0, 4, 5, 6, 0, 0, - 0, 0, 0, 0, 0, 33, 0, 36, 37, 38, - 0, 0, 0, 39, 0, 0, 0, 0, 34, 248, - 0, 0, 0, 0, 35, 36, 37, 38, 249, 0, - 43, 39, 0, 9, 40, 10, 0, 41, 44, 45, - 11, 0, 0, 0, 0, 13, 42, 0, 43, 0, - 0, 0, 14, 0, 0, 0, 44, 45, 0, 0, - 604, 605, 606, 607, 608, 609, 610, 0, 17, 0, - 0, 0, 0, 0, 18, 19, 0, 0, 0, 0, - 20, 0, 0, 0, 21, 46, 0, 22, 0, 703, - 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, - 0, 24, 0, 0, 0, 25, 0, 26, 27, 28, - 29, 0, 0, 0, 0, 0, 0, 31, 0, 0, + 4, 5, 6, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, + 0, 0, 8, 0, 35, 36, 37, 38, 9, 0, + 10, 39, 0, 0, 40, 11, 12, 41, 0, 0, + 13, 0, 0, 0, 0, 0, 42, 14, 43, 361, + 0, 0, 0, 0, 0, 0, 44, 45, 0, 0, + 0, 16, 0, 0, 17, 0, 0, 0, 0, 0, + 18, 19, 0, 0, 0, 0, 20, 0, 0, 0, + 21, 0, 0, 22, 0, 46, 0, 0, 0, 379, + 23, 0, 0, 0, 0, 0, 0, 24, 362, 0, + 0, 25, 0, 26, 27, 28, 29, 30, 0, 0, + 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, + 32, 0, 0, 4, 5, 6, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 5, 6, 0, 0, 0, 0, 0, - 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, - 0, 0, 36, 37, 38, 0, 0, 0, 39, 0, - 9, 40, 10, 0, 41, 0, 0, 11, 0, 0, - 0, 0, 13, 42, 0, 43, 0, 0, 0, 14, - 0, 0, 0, 44, 45, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, - 0, 18, 19, 0, 0, 0, 0, 20, 0, 0, - 0, 21, 46, 0, 22, 0, 691, 0, 0, 0, - 0, 23, 0, 0, 0, 0, 0, 0, 24, 0, - 0, 0, 25, 0, 26, 27, 28, 29, 0, 0, - 0, 0, 0, 0, 31, 616, 617, 618, 619, 620, - 621, 622, 623, 0, 0, 0, 0, 0, 0, 0, - 624, 625, 0, 0, 0, 0, 0, 0, 0, 33, - 0, 0, 0, 0, -3, 0, 0, 4, 5, 6, - 0, 0, 34, 0, 0, 0, 0, 0, 0, 36, - 37, 38, 7, 0, 0, 39, 0, 0, 40, 0, - 0, 41, 0, 0, 0, 0, 0, 0, 0, 8, - 42, 0, 43, 0, 0, 9, 0, 10, 0, 0, - 44, 45, 11, 12, 0, 0, 0, 13, 0, 0, - 0, 0, 0, 0, 14, 0, 15, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 46, - 17, 0, 0, 895, 0, 0, 18, 19, 0, 0, - 0, 0, 20, 0, 0, 0, 21, 0, 0, 22, - 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, - 0, 0, 0, 24, 0, 0, 0, 25, 0, 26, - 27, 28, 29, 30, 0, 0, 0, 0, 0, 31, - 0, 0, 0, 0, 0, 0, 32, 0, 0, 4, - 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 359, 33, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, - 0, 8, 0, 35, 36, 37, 38, 9, 0, 10, - 39, 0, 0, 40, 11, 12, 41, 0, 0, 13, - 0, 0, 0, 0, 0, 42, 14, 43, 360, 0, - 0, 0, 0, 0, 0, 44, 45, 0, 0, 16, + 0, 34, 0, 0, 0, 8, 0, 35, 36, 37, + 38, 9, 0, 10, 39, 0, 0, 40, 11, 12, + 41, 0, 0, 13, 0, 0, 0, 0, 0, 42, + 14, 43, 15, 0, 0, 0, 0, 0, 0, 44, + 45, 0, 0, 0, 16, 0, 0, 17, 0, 0, + 0, 0, 0, 18, 19, 0, 0, 0, 0, 20, + 0, 0, 0, 21, 0, 0, 22, 0, 46, 0, + 0, 0, 856, 23, 0, 4, 5, 6, 0, 0, + 24, 0, 0, 0, 25, 0, 26, 27, 28, 29, + 30, 0, 0, 0, 0, 0, 31, 0, 0, 0, + 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 9, 0, 10, 0, 0, 0, 0, + 11, 33, 0, 0, 0, 13, 0, 0, 0, 0, + 0, 0, 14, 0, 34, 0, 0, 0, 0, 0, + 35, 36, 37, 38, 0, 0, 0, 39, 0, 17, + 40, 0, 0, 41, 0, 18, 19, 0, 0, 0, + 0, 20, 42, 0, 43, 21, 0, 0, 22, 0, + 0, 0, 44, 45, 0, 23, 0, 4, 5, 6, + 0, 0, 24, 0, 0, 0, 25, 0, 26, 27, + 28, 29, 0, 0, 0, 0, 0, 0, 31, 0, + 0, 46, 0, 0, 0, 704, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 9, 0, 10, 0, 0, + 0, 0, 11, 33, 0, 0, 0, 13, 0, 0, + 0, 0, 0, 0, 14, 0, 34, 0, 0, 0, + 0, 0, 0, 36, 37, 38, 0, 0, 0, 39, + 0, 17, 40, 0, 0, 41, 0, 18, 19, 0, + 0, 0, 0, 20, 42, 0, 43, 21, 0, 0, + 22, 0, 0, 0, 44, 45, 0, 23, 0, 4, + 0, 6, 0, 0, 24, 0, 0, 0, 25, 0, + 26, 27, 28, 29, 0, 0, 0, 0, 0, 0, + 31, 0, 0, 46, 0, 0, 0, 692, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 9, 0, 10, + 0, 0, 0, 0, 11, 33, 0, 0, 0, 13, + 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, + 0, 0, 0, 0, 0, 36, 37, 38, 0, 0, + 0, 39, 0, 17, 40, 0, 0, 41, 0, 247, + 19, 0, 0, 0, 0, 20, 42, 0, 43, 21, + 0, 0, 22, 0, 0, 0, 44, 45, 0, 23, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 25, 0, 26, 27, 28, 29, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 46, 0, 0, 0, 896, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -3, 0, 0, 4, 5, 6, 0, 0, + 34, 0, 0, 0, 0, 0, 0, 36, 37, 38, + 7, 0, 0, 39, 0, 0, 40, 0, 0, 249, + 0, 0, 0, 0, 0, 0, 0, 8, 250, 0, + 43, 0, 0, 9, 0, 10, 0, 0, 44, 45, + 11, 12, 0, 0, 0, 13, 0, 0, 0, 0, + 0, 0, 14, 0, 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 46, 0, 17, + 0, 810, 0, 0, 0, 18, 19, 0, 0, 0, + 0, 20, 0, 0, 0, 21, 0, 0, 22, 0, + 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, + 0, 0, 24, 0, 0, 0, 25, 0, 26, 27, + 28, 29, 30, 0, 0, 0, 0, 0, 31, 0, + 0, 0, 0, 0, 0, 32, 0, 0, 4, 5, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 360, 33, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, + 8, 0, 35, 36, 37, 38, 9, 0, 10, 39, + 0, 0, 40, 11, 12, 41, 0, 0, 13, 0, + 0, 0, 0, 0, 42, 14, 43, 361, 0, 0, + 0, 0, 0, 0, 44, 45, 0, 0, 0, 16, 0, 0, 17, 0, 0, 0, 0, 0, 18, 19, 0, 0, 0, 0, 20, 0, 0, 0, 21, 0, - 0, 22, 0, 0, 46, 0, 0, 0, 23, 0, - 0, 0, 0, 0, 0, 24, 361, 0, 0, 25, + 0, 22, 0, 46, 0, 0, 0, 0, 23, 0, + 0, 0, 0, 0, 0, 24, 362, 0, 0, 25, 0, 26, 27, 28, 29, 30, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 32, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, - 277, 278, 279, 280, 0, 0, 33, 0, 0, 0, + 278, 279, 280, 281, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 35, 36, 37, 38, 9, 0, 10, 39, 0, 0, 40, 11, 0, 41, 0, 0, 13, 0, 0, 0, 0, 0, 42, 0, 43, 0, 0, 0, 0, 0, 0, 0, 44, 45, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, - 246, 19, 0, 0, 0, 0, 20, 0, 0, 0, - 21, 0, 0, 22, 0, 0, 46, 0, 0, 0, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 25, 0, 26, 27, 28, 29, 4, 0, 6, - 0, 0, 0, 31, 0, 0, 277, 278, 279, 280, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 9, 0, 10, 0, 0, - 0, 34, 11, 0, 0, 0, 0, 13, 36, 37, - 38, 0, 0, 0, 39, 0, 0, 40, 0, 0, - 248, 0, 0, 0, 0, 0, 0, 0, 0, 249, - 17, 43, 0, 0, 0, 0, 246, 19, 0, 44, - 45, 0, 20, 0, 0, 0, 21, 0, 0, 22, - 0, 0, 0, 0, 0, 0, 23, 778, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 25, 46, 26, - 27, 28, 29, 4, 0, 6, 0, 0, 0, 31, - 0, 0, 604, 605, 606, 607, 608, 609, 610, 611, - 612, 0, 0, 0, 0, 0, 0, 0, 814, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 9, 0, 10, 0, 0, 0, 34, 11, 0, - 0, 0, 0, 13, 36, 37, 38, 0, 0, 0, - 39, 0, 0, 40, 0, 0, 248, 0, 0, 0, - 0, 0, 0, 0, 0, 249, 17, 43, 0, 0, - 0, 0, 246, 19, 0, 44, 45, 0, 20, 0, - 0, 0, 21, 0, 0, 22, 0, 0, 0, 0, - 0, 0, 23, 832, 0, 4, 0, 6, 0, 0, - 0, 0, 0, 25, 46, 26, 27, 28, 29, 0, - 0, 0, 0, 0, 0, 31, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 0, 0, 0, 0, 0, - 0, 0, 0, 9, 0, 10, 0, 0, 0, 0, - 11, 0, 0, 0, 0, 13, 0, 0, 0, 0, - 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, - 36, 37, 38, 0, 0, 0, 39, 0, 17, 40, - 0, 0, 248, 0, 246, 19, 0, 0, 0, 0, - 20, 249, 0, 43, 21, 0, 0, 22, 0, 0, - 0, 44, 45, 613, 23, 614, 615, 616, 617, 618, - 619, 620, 621, 622, 623, 25, 0, 26, 27, 28, - 29, 0, 624, 625, 0, 0, 0, 31, 0, 649, - 46, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 34, 0, 0, 0, 0, - 0, 0, 36, 37, 38, 0, 0, 0, 39, 0, - 0, 40, 0, 0, 248, 0, 0, 0, 0, 0, - 0, 0, 0, 249, 0, 43, 0, 0, 0, 0, - 0, 0, 0, 44, 45, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 0, 0, 0, 613, 0, 614, - 615, 616, 617, 618, 619, 620, 621, 622, 623, 0, - 0, 0, 46, 0, 0, 0, 624, 625, 0, 0, - 0, 0, 0, 673, 604, 605, 606, 607, 608, 609, - 610, 611, 612, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 604, 605, 606, 607, 608, 609, - 610, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 613, 0, 614, 615, 616, 617, 618, 619, - 620, 621, 622, 623, 0, 0, 0, 0, 0, 0, - 0, 624, 625, 0, 0, 0, 0, 613, 736, 614, - 615, 616, 617, 618, 619, 620, 621, 622, 623, 0, - 0, 0, 0, 0, 0, 0, 624, 625, 710, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 613, 0, 614, 615, - 616, 617, 618, 619, 620, 621, 622, 623, 0, 0, - 0, 0, 0, 0, 0, 624, 625, 842, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 613, 841, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 0, 0, 0, - 0, 0, 0, 0, 624, 625, 613, 0, 614, 615, - 616, 617, 618, 619, 620, 621, 622, 623, 4, 0, - 6, 0, 0, 0, 0, 624, 625, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 0, 0, 0, - 0, 0, 0, 0, 624, 625, 0, 0, 0, 0, - 8, 0, 0, 0, 0, 0, 9, 0, 10, 0, - 0, 0, 0, 11, 12, 0, 0, 0, 13, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -358, 0, - 0, 17, 0, 0, 0, 0, 0, 246, 19, 0, - 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, - 22, 0, 0, 0, 0, 0, 0, 23, 0, 0, - 4, 0, 6, 463, 0, 0, 0, 0, 25, 0, - 26, 27, 28, 29, 30, 0, 0, 247, 0, 0, - 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, - 10, 0, 0, 0, 0, 11, 0, 0, 0, 0, - 13, 0, 0, 0, 0, 0, 0, 0, 34, 0, - 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, - 0, 39, 0, 17, 40, 0, 0, 248, 0, 246, - 19, 0, 0, 0, 0, 20, 249, 0, 43, 21, - 0, 0, 22, 0, 0, 0, 44, 45, 0, 23, - 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, - 25, 0, 26, 27, 28, 29, 0, 0, 0, 0, - 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 9, 0, 10, 0, 0, 0, 0, 11, 0, 0, - 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, - 34, 0, 0, 0, 0, 0, 0, 36, 37, 38, - 0, 0, 0, 39, 0, 17, 40, 0, 0, 248, - 0, 246, 19, 0, 0, 0, 0, 20, 249, 0, - 43, 21, 0, 0, 22, 0, 0, 0, 44, 45, - 0, 23, 0, 0, 4, 0, 97, 0, 0, 0, + 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, + 0, 247, 19, 0, 0, 0, 0, 20, 0, 0, + 0, 21, 0, 4, 22, 6, 46, 0, 0, 0, + 0, 23, 278, 279, 280, 281, 0, 0, 0, 0, 0, 0, 25, 0, 26, 27, 28, 29, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, + 0, 9, 0, 10, 0, 0, 0, 0, 11, 0, + 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 9, 0, 10, 0, 0, 0, 0, 11, - 0, 599, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 34, 0, 0, 0, 0, 0, 0, 36, - 37, 38, 0, 0, 0, 39, 0, 17, 40, 0, - 0, 248, 0, 0, 19, 0, 0, 9, 0, 10, - 249, 0, 43, 21, 11, 0, 22, 0, 0, 13, - 44, 45, 0, 23, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, - 0, 0, 17, 0, 0, 0, 31, 0, 246, 19, - 0, 0, 0, 0, 20, 0, 0, 0, 21, 0, - 0, 22, 0, 599, 0, 0, 0, 0, 23, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, - 0, 26, 27, 28, 29, 0, 0, 0, 0, 0, - 0, 31, 37, 38, 0, 0, 0, 39, 0, 9, - 0, 10, 0, 0, 0, 0, 11, 0, 0, 0, - 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, - 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, - 0, 0, 0, 0, 17, 0, 36, 37, 38, 0, - 246, 19, 39, 0, 0, 40, 0, 0, 248, 0, - 21, 0, 0, 22, 0, 0, 0, 249, 0, 43, - 23, 0, 0, 0, 0, 0, 0, 44, 45, 0, - 0, 0, 0, 26, 27, 28, 29, 0, 0, 0, - 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, + 0, 0, 34, 0, 0, 0, 0, 17, 0, 36, + 37, 38, 0, 247, 19, 39, 0, 0, 40, 20, + 0, 249, 0, 21, 0, 4, 22, 6, 0, 0, + 250, 0, 43, 23, 0, 0, 0, 0, 0, 0, + 44, 45, 0, 0, 25, 0, 26, 27, 28, 29, + 815, 0, 0, 0, 0, 0, 31, 0, 779, 0, + 0, 0, 0, 9, 0, 10, 0, 0, 0, 46, + 11, 0, 0, 0, 0, 13, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 34, 0, 0, 0, 0, 17, + 0, 36, 37, 38, 0, 247, 19, 39, 0, 0, + 40, 20, 0, 249, 0, 21, 0, 4, 22, 6, + 0, 0, 250, 0, 43, 23, 0, 0, 0, 0, + 0, 0, 44, 45, 0, 0, 25, 0, 26, 27, + 28, 29, 0, 0, 0, 0, 0, 0, 31, 0, + 833, 0, 0, 0, 0, 9, 0, 10, 0, 0, + 0, 46, 11, 0, 0, 0, 0, 13, 605, 606, + 607, 608, 609, 610, 611, 612, 613, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, + 0, 17, 0, 36, 37, 38, 0, 247, 19, 39, + 0, 0, 40, 20, 0, 249, 0, 21, 0, 0, + 22, 0, 0, 0, 250, 0, 43, 23, 0, 0, + 0, 0, 0, 0, 44, 45, 0, 0, 25, 0, + 26, 27, 28, 29, 0, 0, 0, 0, 0, 0, + 31, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 605, 606, 607, 608, + 609, 610, 611, 612, 613, 0, 0, 0, 34, 0, + 0, 0, 0, 0, 0, 36, 37, 38, 0, 0, + 0, 39, 0, 0, 40, 0, 0, 249, 0, 0, + 0, 0, 0, 0, 0, 0, 250, 0, 43, 0, + 0, 0, 0, 0, 0, 0, 44, 45, 605, 606, + 607, 608, 609, 610, 611, 612, 613, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 46, 605, 606, 607, 608, + 609, 610, 611, 612, 613, 0, 0, 0, 0, 0, + 614, 0, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 0, 0, 0, 0, 0, 0, 0, 625, + 626, 0, 0, 0, 0, 0, 674, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 605, 606, 607, 608, + 609, 610, 611, 0, 613, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 605, 606, 607, 608, 609, + 610, 611, 0, 614, 0, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 605, 606, 607, 608, 609, + 610, 611, 625, 626, 0, 0, 0, 0, 614, 737, + 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, + 605, 606, 607, 608, 609, 610, 611, 625, 626, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, - 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, - 248, 0, 0, 0, 0, 122, 123, 0, 0, 249, - 124, 43, 125, 126, 127, 128, 129, 0, 130, 44, - 45, 131, 0, 132, 0, 0, 133, 134, 135, 0, - 136, 137, 138, 139, 140, 141, 0, 142, 0, 143, - 144, 145, 0, 146, 147, 148, 149, 150, 151, 0, - 152, 0, 0, 153, 154, 155, 156, 157, 0, 0, - 158, 159, 160, 161, 0, 0, 162, 163, 0, 164, - 165, 0, 166, 167, 168, 169, 170, 171, 0, 172, - 173, 174, 175, 176, 177, 0, 0, 178, 0, 0, - 179, 0, 0, 0, 0, 0, 180, 181, 0, 182, - 183, 0, 184, 185, 186, 0, 0, 0, 0, 187, - 188, 189, 0, 190, 191, 192, 0, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 0, 202, 0, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, - 213, 214, 0, 215, 216, 0, 0, 0, 0, 0, - 217, 0, 0, 218, 0, 219, 220, 221, 0, 0, - 222, 223, 224, 225, 0, 0, 226, 0, 227, 0, - 228, 229, 230, 231, 232, 233, 234, 0, 0, 235 + 614, 0, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 0, 0, 0, 0, 0, 0, 0, 625, + 626, 843, 0, 0, 0, 0, 0, 0, 614, 842, + 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, + 0, 0, 0, 0, 0, 0, 0, 625, 626, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 614, + 0, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 0, 0, 0, 0, 0, 0, 0, 625, 626, + 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, + 0, 0, 0, 0, 0, 0, 0, 625, 626, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 0, + 0, 0, 0, 0, 0, 0, 625, 626, 0, 0, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 0, + 0, 4, 0, 6, 0, 0, 625, 626, 0, 0, + 0, 0, 0, 0, 0, 0, 617, 618, 619, 620, + 621, 622, 623, 624, 0, 0, 0, 0, 0, 0, + 0, 625, 626, 8, 0, 0, 0, 0, 0, 9, + 0, 10, 0, 0, 0, 0, 11, 12, 0, 0, + 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -359, 0, 0, 17, 0, 0, 0, 0, + 0, 247, 19, 0, 0, 0, 0, 20, 0, 0, + 0, 21, 0, 4, 22, 6, 464, 0, 0, 0, + 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 25, 0, 26, 27, 28, 29, 30, 0, + 0, 248, 0, 0, 31, 0, 0, 0, 0, 0, + 0, 9, 0, 10, 0, 0, 0, 0, 11, 0, + 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 34, 0, 0, 0, 0, 17, 35, 36, + 37, 38, 0, 247, 19, 39, 0, 0, 40, 20, + 0, 249, 0, 21, 0, 4, 22, 6, 0, 0, + 250, 0, 43, 23, 0, 0, 0, 0, 0, 0, + 44, 45, 0, 0, 25, 0, 26, 27, 28, 29, + 0, 0, 0, 4, 0, 97, 31, 0, 0, 0, + 0, 0, 0, 9, 0, 10, 0, 0, 0, 0, + 11, 0, 0, 0, 0, 13, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 9, 0, 10, 34, 0, 0, 0, 11, 17, + 0, 36, 37, 38, 0, 247, 19, 39, 0, 0, + 40, 20, 0, 249, 0, 21, 0, 4, 22, 6, + 0, 0, 250, 0, 43, 23, 0, 17, 0, 0, + 0, 0, 44, 45, 19, 0, 25, 0, 26, 27, + 28, 29, 0, 21, 0, 0, 22, 0, 31, 0, + 0, 0, 0, 23, 0, 9, 0, 10, 0, 0, + 0, 0, 11, 0, 0, 0, 26, 27, 28, 29, + 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, + 0, 17, 0, 36, 37, 38, 0, 247, 19, 39, + 0, 0, 40, 0, 0, 249, 0, 21, 0, 0, + 22, 600, 0, 0, 250, 0, 43, 23, 0, 0, + 0, 0, 37, 38, 44, 45, 0, 39, 0, 0, + 26, 27, 28, 29, 0, 0, 0, 0, 0, 0, + 31, 0, 0, 0, 43, 0, 0, 9, 0, 10, + 0, 0, 0, 45, 11, 0, 0, 0, 0, 13, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 17, 0, 36, 37, 38, 0, 247, + 19, 39, 0, 600, 0, 20, 0, 249, 0, 21, + 0, 0, 22, 0, 0, 0, 250, 0, 43, 23, + 0, 0, 0, 0, 0, 0, 44, 45, 0, 0, + 25, 0, 26, 27, 28, 29, 0, 0, 0, 9, + 0, 10, 31, 0, 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, + 34, 247, 19, 0, 0, 0, 0, 36, 37, 38, + 0, 21, 0, 39, 22, 0, 40, 0, 0, 249, + 0, 23, 0, 0, 0, 0, 0, 0, 250, 0, + 43, 0, 0, 0, 26, 27, 28, 29, 44, 45, + 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, + 37, 38, 0, 0, 0, 39, 0, 0, 0, 0, + 0, 249, 0, 0, 0, 0, 122, 123, 0, 0, + 250, 124, 43, 125, 126, 127, 128, 129, 0, 130, + 44, 45, 131, 0, 132, 0, 0, 133, 134, 135, + 0, 136, 137, 138, 139, 140, 141, 0, 142, 0, + 143, 144, 145, 0, 146, 147, 148, 149, 150, 151, + 152, 0, 153, 0, 0, 154, 155, 156, 157, 158, + 0, 0, 159, 160, 161, 162, 0, 0, 163, 164, + 0, 165, 166, 0, 167, 168, 169, 170, 171, 172, + 0, 173, 174, 175, 176, 177, 178, 0, 0, 179, + 0, 0, 180, 0, 0, 0, 0, 0, 181, 182, + 0, 183, 184, 0, 185, 186, 187, 0, 0, 0, + 0, 188, 189, 190, 0, 191, 192, 193, 0, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 0, 203, + 0, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 0, 214, 215, 0, 216, 217, 0, 0, 0, + 0, 0, 218, 0, 0, 219, 0, 220, 221, 222, + 0, 0, 223, 224, 225, 226, 0, 0, 227, 0, + 228, 0, 229, 230, 231, 232, 233, 234, 235, 0, + 0, 236 }; static const yytype_int16 yycheck[] = { - 2, 2, 8, 244, 55, 262, 12, 262, 327, 2, - 16, 287, 18, 262, 2, 84, 262, 2, 2, 2, - 2, 84, 336, 2, 30, 2, 81, 82, 83, 35, + 2, 2, 8, 55, 263, 245, 12, 328, 21, 2, + 16, 263, 18, 2, 2, 84, 719, 2, 2, 2, + 263, 84, 2, 2, 30, 288, 81, 82, 83, 35, 2, 2, 2, 88, 2, 41, 42, 82, 83, 2, - 2, 329, 6, 88, 332, 2, 334, 378, 2, 337, - 2, 405, 320, 282, 283, 21, 344, 32, 64, 6, - 718, 21, 66, 455, 305, 58, 653, 41, 42, 652, - 58, 726, 357, 58, 58, 58, 58, 85, 84, 58, - 47, 58, 3, 651, 5, 129, 31, 655, 119, 408, - 119, 12, 13, 14, 15, 430, 431, 64, 119, 183, - 75, 688, 209, 75, 119, 735, 114, 3, 183, 5, - 740, 209, 209, 209, 3, 183, 12, 13, 14, 15, - 73, 158, 215, 209, 229, 162, 130, 31, 233, 236, - 216, 152, 53, 37, 232, 390, 3, 0, 5, 236, - 236, 390, 235, 209, 390, 12, 13, 14, 15, 233, - 3, 738, 5, 33, 737, 192, 209, 53, 233, 12, - 13, 14, 15, 418, 232, 233, 119, 209, 229, 418, - 236, 12, 13, 14, 15, 64, 405, 209, 231, 3, - 215, 5, 209, 63, 216, 189, 230, 256, 429, 430, - 431, 136, 230, 256, 236, 778, 783, 235, 173, 79, - 592, 831, 235, 234, 231, 234, 537, 87, 233, 777, - 602, 546, 780, 282, 283, 230, 115, 230, 873, 282, - 283, 3, 235, 9, 6, 7, 8, 9, 10, 11, - 53, 889, 207, 178, 242, 520, 291, 243, 240, 241, - 246, 247, 248, 249, 6, 7, 291, 240, 241, 832, - 256, 838, 240, 241, 317, 240, 241, 240, 241, 219, - 220, 221, 3, 229, 230, 88, 834, 234, 73, 229, - 230, 209, 236, 209, 248, 249, 282, 283, 216, 847, - 216, 230, 232, 571, 230, 542, 235, 542, 234, 236, - 113, 532, 533, 542, 38, 235, 542, 229, 219, 43, - 156, 233, 531, 159, 21, 546, 235, 89, 215, 230, - 878, 317, 219, 232, 235, 634, 379, 904, 230, 232, - 588, 314, 234, 219, 230, 601, 319, 320, 234, 570, - 3, 3, 5, 5, 336, 328, 405, 345, 626, 235, - 163, 349, 405, 351, 352, 230, 230, 230, 356, 234, - 234, 234, 219, 215, 347, 232, 179, 420, 140, 236, - 691, 232, 233, 230, 695, 3, 219, 5, 235, 3, - 3, 5, 5, 379, 3, 232, 5, 3, 219, 5, - 668, 232, 235, 659, 12, 13, 14, 15, 381, 230, - 3, 397, 5, 175, 235, 230, 232, 232, 712, 405, - 455, 232, 233, 232, 672, 232, 188, 232, 410, 119, - 232, 232, 131, 232, 420, 9, 233, 232, 215, 425, - 404, 233, 235, 777, 235, 53, 235, 235, 235, 431, - 230, 235, 214, 235, 235, 217, 218, 219, 233, 235, - 222, 223, 235, 235, 235, 700, 235, 235, 235, 231, - 235, 700, 235, 235, 700, 235, 235, 698, 235, 735, - 791, 718, 531, 718, 740, 235, 235, 743, 531, 718, - 235, 802, 718, 3, 235, 235, 235, 831, 484, 235, - 235, 235, 19, 20, 21, 204, 205, 206, 207, 208, - 483, 233, 235, 847, 229, 235, 235, 235, 235, 728, - 217, 218, 219, 220, 221, 235, 235, 235, 235, 235, - 235, 235, 229, 230, 235, 235, 232, 211, 233, 233, - 232, 232, 215, 5, 878, 531, 857, 233, 237, 236, - 532, 532, 601, 235, 789, 211, 211, 592, 236, 532, - 789, 9, 544, 544, 532, 48, 235, 532, 603, 532, - 799, 544, 871, 799, 16, 831, 544, 6, 603, 544, - 544, 544, 544, 16, 895, 544, 795, 544, 9, 9, - 9, 9, 544, 544, 544, 843, 544, 845, 9, 9, - 9, 544, 544, 9, 653, 9, 579, 544, 581, 920, - 544, 219, 544, 581, 579, 588, 16, 9, 230, 102, - 235, 232, 230, 233, 219, 232, 209, 235, 232, 232, - 232, 866, 115, 116, 117, 118, 233, 866, 906, 233, - 866, 237, 125, 234, 236, 233, 867, 323, 234, 6, - 209, 327, 889, 235, 889, 686, 236, 236, 236, 335, - 889, 236, 338, 889, 236, 651, 209, 236, 209, 655, - 346, 653, 348, 229, 236, 209, 236, 209, 236, 728, - 229, 236, 236, 236, 236, 728, 735, 730, 171, 738, - 236, 740, 913, 176, 236, 916, 236, 236, 236, 672, - 217, 218, 219, 220, 221, 236, 688, 236, 236, 744, - 236, 236, 229, 230, 236, 236, 209, 236, 236, 744, - 209, 694, 236, 236, 236, 707, 694, 236, 236, 694, - 712, 694, 408, 409, 707, 721, 236, 236, 236, 9, - 726, 166, 728, 211, 730, 232, 795, 232, 236, 209, - 189, 215, 795, 209, 236, 232, 738, 3, 3, 6, - 3, 9, 6, 236, 209, 189, 233, 211, 234, 232, - 216, 230, 209, 449, 450, 451, 452, 453, 454, 455, - 234, 232, 831, 236, 236, 5, 209, 236, 215, 236, - 806, 777, 232, 236, 780, 236, 232, 209, 232, 427, - 235, 783, 233, 211, 236, 403, 236, 793, 236, 795, - 792, 346, 798, 799, 236, 232, 19, 20, 21, 792, - 236, 24, 25, 211, 792, 232, 211, 792, 916, 792, - 232, 232, 570, 232, 661, 232, 707, 810, 236, 542, - 321, 19, 20, 21, 22, 23, 24, 25, 834, 27, - 873, 536, 793, 721, 94, 592, 838, 393, 342, 717, - 256, 847, 715, 19, 20, 21, 22, 23, 24, 25, - 843, -1, 845, 713, -1, 861, 552, 414, -1, -1, - -1, -1, -1, -1, -1, 867, 867, 873, -1, -1, - -1, -1, 878, -1, 867, -1, -1, -1, -1, 867, - -1, -1, 867, -1, 867, -1, -1, -1, -1, -1, - 3, -1, 5, 6, 7, 8, 9, 10, 11, -1, - -1, -1, 904, -1, -1, -1, -1, -1, 604, 605, - -1, 607, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 618, 619, 620, 621, 622, 623, 41, 625, - 43, -1, -1, -1, -1, 48, -1, -1, 634, 3, - 53, -1, 6, 7, 8, 9, 10, 11, -1, 3, - -1, -1, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, -1, 76, -1, 661, -1, -1, -1, 82, - 83, -1, -1, -1, -1, 88, 89, -1, -1, 92, - -1, -1, 95, -1, -1, -1, -1, -1, -1, 102, - -1, -1, 215, 216, 217, 218, 219, 220, 221, -1, - 113, -1, 115, 116, 117, 118, 229, 230, -1, -1, - -1, -1, 125, -1, 212, 213, 214, 215, 216, 217, - 218, 219, 220, 221, -1, 89, -1, 140, -1, -1, - -1, 229, 230, -1, 3, 89, 5, 213, 214, 215, - 216, 217, 218, 219, 220, 221, -1, -1, -1, -1, - 163, -1, -1, 229, 230, -1, -1, 170, 171, 172, - -1, -1, 175, 176, -1, -1, 179, -1, -1, 182, - -1, -1, 41, -1, 43, 188, 140, -1, 191, 48, - 193, -1, -1, -1, 53, -1, 140, -1, 201, 202, - 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, - -1, 214, -1, -1, 217, 218, 219, 76, -1, 222, - 223, 175, -1, 82, 83, -1, -1, -1, -1, 88, - -1, 175, 235, 92, 188, -1, 95, -1, -1, -1, - -1, -1, -1, 102, 188, -1, -1, -1, 3, 4, - 5, 837, -1, -1, 113, 841, 115, 116, 117, 118, - 214, -1, -1, 217, 218, 219, 125, -1, 222, 223, - 214, -1, -1, 217, 218, 219, -1, 231, 222, 223, - 35, 235, -1, -1, -1, 871, 41, -1, 43, -1, - -1, 235, -1, 48, 49, -1, -1, -1, 53, -1, - -1, -1, -1, -1, 163, 60, -1, 62, -1, -1, - -1, 170, 171, 172, -1, -1, -1, 176, 73, -1, - 179, 76, -1, 182, -1, -1, -1, 82, 83, -1, - -1, -1, 191, 88, 193, -1, -1, 92, -1, -1, - 95, -1, 201, 202, -1, -1, -1, 102, -1, -1, - -1, -1, -1, -1, 109, 110, -1, -1, 113, -1, - 115, 116, 117, 118, 119, -1, -1, -1, -1, -1, - 125, 230, -1, -1, -1, 234, -1, 132, -1, -1, + 2, 2, 406, 88, 263, 330, 337, 2, 333, 2, + 335, 379, 3, 338, 5, 321, 21, 6, 64, 6, + 345, 12, 13, 14, 15, 58, 306, 654, 130, 58, + 58, 31, 66, 58, 58, 58, 456, 652, 84, 58, + 120, 656, 3, 47, 5, 3, 58, 358, 409, 283, + 284, 12, 13, 14, 15, 75, 120, 41, 42, 3, + 64, 5, 689, 32, 85, 120, 431, 432, 12, 13, + 14, 15, 3, 33, 5, 74, 727, 184, 210, 210, + 184, 12, 13, 14, 15, 12, 13, 14, 15, 736, + 120, 210, 391, 114, 741, 184, 0, 131, 12, 13, + 14, 15, 233, 63, 210, 237, 64, 76, 391, 53, + 653, 210, 739, 210, 157, 159, 210, 160, 237, 163, + 80, 120, 53, 153, 210, 230, 53, 234, 88, 231, + 234, 237, 391, 216, 216, 232, 419, 137, 237, 19, + 20, 21, 116, 237, 233, 234, 232, 890, 257, 193, + 430, 431, 432, 236, 257, 235, 190, 784, 210, 231, + 419, 6, 7, 778, 236, 217, 781, 220, 221, 222, + 538, 235, 406, 593, 283, 284, 231, 230, 231, 179, + 283, 284, 547, 603, 234, 832, 19, 20, 21, 22, + 23, 24, 25, 3, 21, 738, 236, 292, 244, 241, + 242, 247, 248, 249, 250, 174, 9, 292, 241, 242, + 521, 257, 839, 241, 242, 318, 241, 242, 241, 242, + 835, 236, 243, 874, 31, 230, 231, 210, 210, 220, + 37, 235, 74, 848, 217, 217, 779, 283, 284, 208, + 231, 231, 210, 216, 543, 236, 236, 572, 237, 217, + 237, 543, 120, 533, 534, 236, 19, 20, 21, 220, + 543, 24, 25, 233, 879, 249, 250, 547, 231, 3, + 9, 5, 318, 236, 635, 236, 220, 380, 905, 233, + 234, 38, 315, 589, 543, 53, 43, 320, 321, 220, + 833, 571, 236, 220, 233, 337, 329, 406, 532, 602, + 231, 233, 627, 406, 231, 236, 220, 230, 230, 236, + 231, 234, 234, 233, 235, 348, 216, 231, 421, 231, + 220, 89, 236, 235, 692, 346, 231, 233, 696, 350, + 235, 352, 353, 132, 380, 3, 357, 5, 218, 219, + 220, 221, 222, 231, 669, 234, 114, 235, 233, 382, + 230, 231, 398, 216, 231, 231, 234, 660, 235, 235, + 406, 456, 233, 3, 233, 5, 237, 673, 3, 411, + 5, 3, 233, 5, 778, 421, 405, 3, 233, 5, + 426, 233, 713, 216, 217, 218, 219, 220, 221, 222, + 432, 218, 219, 220, 221, 222, 164, 230, 231, 3, + 236, 5, 701, 230, 231, 233, 205, 206, 207, 208, + 209, 3, 180, 5, 3, 231, 5, 233, 701, 699, + 719, 233, 234, 532, 792, 233, 231, 719, 832, 532, + 236, 233, 236, 736, 234, 803, 719, 234, 741, 485, + 236, 744, 701, 236, 848, 236, 236, 236, 236, 236, + 236, 484, 236, 216, 217, 218, 219, 220, 221, 222, + 719, 236, 236, 236, 236, 236, 236, 230, 231, 236, + 236, 236, 236, 234, 236, 879, 236, 236, 236, 212, + 236, 236, 236, 236, 236, 236, 532, 236, 236, 236, + 858, 533, 533, 602, 236, 729, 236, 233, 593, 236, + 533, 800, 234, 545, 545, 533, 236, 790, 533, 604, + 533, 872, 545, 236, 236, 236, 545, 545, 236, 604, + 545, 545, 545, 233, 233, 545, 545, 230, 896, 832, + 216, 790, 3, 545, 545, 545, 234, 545, 844, 238, + 846, 800, 545, 545, 545, 654, 236, 580, 5, 582, + 545, 212, 545, 921, 582, 580, 589, 237, 212, 237, + 236, 9, 796, 16, 6, 16, 9, 16, 867, 9, + 3, 9, 9, 6, 7, 8, 9, 10, 11, 9, + 9, 9, 907, 48, 867, 9, 9, 9, 868, 231, + 234, 890, 233, 236, 233, 687, 233, 233, 890, 233, + 220, 210, 6, 234, 234, 234, 652, 890, 867, 237, + 656, 235, 654, 235, 210, 238, 237, 210, 237, 237, + 729, 237, 236, 210, 237, 237, 729, 736, 731, 230, + 739, 890, 741, 210, 914, 237, 210, 917, 103, 237, + 673, 9, 237, 237, 210, 210, 237, 689, 167, 237, + 745, 116, 117, 118, 119, 237, 237, 90, 237, 237, + 745, 126, 695, 230, 237, 237, 708, 695, 237, 237, + 695, 713, 695, 237, 237, 708, 722, 237, 237, 237, + 237, 727, 237, 729, 237, 731, 237, 796, 237, 237, + 237, 324, 237, 796, 237, 328, 237, 739, 212, 233, + 237, 210, 190, 336, 216, 210, 339, 172, 141, 237, + 233, 233, 177, 3, 347, 3, 349, 6, 3, 237, + 6, 3, 9, 832, 6, 7, 8, 9, 10, 11, + 210, 190, 778, 234, 212, 781, 233, 235, 231, 235, + 217, 233, 784, 176, 210, 5, 237, 237, 794, 210, + 796, 793, 237, 799, 800, 237, 189, 212, 237, 233, + 793, 237, 234, 233, 210, 793, 233, 236, 793, 237, + 793, 216, 807, 237, 237, 237, 409, 410, 811, 233, + 212, 233, 215, 233, 322, 218, 219, 220, 571, 835, + 223, 224, 233, 237, 233, 212, 404, 839, 233, 232, + 662, 237, 848, 236, 917, 347, 708, 722, 90, 537, + 394, 844, 543, 846, 794, 593, 862, 450, 451, 452, + 453, 454, 455, 456, 94, 428, 868, 868, 874, 874, + 257, 718, 343, 879, 716, 868, -1, -1, -1, 415, + 868, 714, -1, 868, -1, 868, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, + -1, -1, -1, 905, -1, -1, -1, -1, -1, 19, + 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 150, 215, 216, 217, 218, - 219, 220, 221, 3, 4, 5, -1, -1, 163, -1, - 229, 230, -1, -1, 169, 170, 171, 172, -1, -1, - -1, 176, -1, -1, 179, -1, -1, 182, -1, -1, - -1, -1, -1, -1, -1, 35, 191, -1, 193, -1, - -1, 41, -1, 43, -1, -1, 201, 202, 48, 49, - -1, -1, -1, 53, -1, -1, -1, -1, -1, -1, - 60, -1, 62, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 73, -1, 230, 76, -1, -1, 234, - -1, -1, 82, 83, -1, -1, -1, -1, 88, -1, - -1, -1, 92, -1, -1, 95, -1, -1, -1, -1, - -1, -1, 102, -1, -1, -1, -1, -1, -1, 109, - 110, -1, -1, 113, -1, 115, 116, 117, 118, 119, - -1, -1, -1, -1, -1, 125, -1, -1, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, - 150, -1, -1, -1, -1, -1, -1, -1, 3, 4, - 5, -1, -1, 163, -1, -1, -1, -1, -1, 169, - 170, 171, 172, -1, -1, -1, 176, -1, 41, 179, - 43, -1, 182, -1, -1, 48, -1, -1, -1, -1, - 35, 191, -1, 193, -1, -1, 41, -1, 43, -1, - -1, 201, 202, 48, 49, -1, -1, -1, 53, -1, - -1, -1, -1, 76, -1, 60, -1, 62, -1, 82, - 83, -1, -1, -1, -1, -1, -1, -1, 73, 92, - 230, 76, 95, -1, 234, -1, -1, 82, 83, 102, - -1, -1, -1, 88, -1, -1, -1, 92, -1, -1, - 95, -1, 115, 116, 117, 118, -1, 102, -1, -1, - -1, -1, 125, -1, 109, -1, -1, -1, 113, -1, - 115, 116, 117, 118, 119, -1, -1, -1, -1, -1, - 125, -1, -1, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, 3, 4, 5, -1, -1, - -1, -1, -1, -1, -1, 150, -1, 170, 171, 172, - -1, -1, -1, 176, -1, -1, -1, -1, 163, 182, - -1, -1, -1, -1, 169, 170, 171, 172, 191, -1, - 193, 176, -1, 41, 179, 43, -1, 182, 201, 202, - 48, -1, -1, -1, -1, 53, 191, -1, 193, -1, - -1, -1, 60, -1, -1, -1, 201, 202, -1, -1, - 19, 20, 21, 22, 23, 24, 25, -1, 76, -1, - -1, -1, -1, -1, 82, 83, -1, -1, -1, -1, - 88, -1, -1, -1, 92, 230, -1, 95, -1, 234, - -1, -1, -1, -1, 102, -1, -1, -1, -1, -1, - -1, 109, -1, -1, -1, 113, -1, 115, 116, 117, - 118, -1, -1, -1, -1, -1, -1, 125, -1, -1, + -1, -1, -1, -1, 176, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3, -1, 189, 6, 7, + 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, + 553, -1, -1, -1, 3, -1, 5, 6, 7, 8, + 9, 10, 11, 215, -1, -1, 218, 219, 220, -1, + -1, 223, 224, -1, -1, -1, -1, -1, -1, -1, + 232, -1, -1, -1, 236, -1, -1, -1, -1, -1, + -1, -1, 41, -1, 43, -1, -1, -1, -1, 48, + -1, -1, 605, 606, 53, 608, 609, 610, 611, 612, + 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 90, 626, -1, -1, -1, -1, 77, -1, + -1, -1, 635, -1, 83, 84, -1, -1, -1, -1, + 89, 90, -1, -1, 93, -1, -1, 96, -1, -1, + -1, -1, -1, -1, 103, -1, -1, -1, -1, 662, + -1, -1, -1, -1, -1, 114, -1, 116, 117, 118, + 119, -1, -1, 141, -1, -1, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3, 4, 5, -1, -1, -1, -1, -1, - -1, -1, 150, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 163, -1, -1, -1, -1, - -1, -1, 170, 171, 172, -1, -1, -1, 176, -1, - 41, 179, 43, -1, 182, -1, -1, 48, -1, -1, - -1, -1, 53, 191, -1, 193, -1, -1, -1, 60, - -1, -1, -1, 201, 202, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, - -1, 82, 83, -1, -1, -1, -1, 88, -1, -1, - -1, 92, 230, -1, 95, -1, 234, -1, -1, -1, - -1, 102, -1, -1, -1, -1, -1, -1, 109, -1, - -1, -1, 113, -1, 115, 116, 117, 118, -1, -1, - -1, -1, -1, -1, 125, 214, 215, 216, 217, 218, - 219, 220, 221, -1, -1, -1, -1, -1, -1, -1, - 229, 230, -1, -1, -1, -1, -1, -1, -1, 150, - -1, -1, -1, -1, 0, -1, -1, 3, 4, 5, - -1, -1, 163, -1, -1, -1, -1, -1, -1, 170, - 171, 172, 18, -1, -1, 176, -1, -1, 179, -1, - -1, 182, -1, -1, -1, -1, -1, -1, -1, 35, - 191, -1, 193, -1, -1, 41, -1, 43, -1, -1, - 201, 202, 48, 49, -1, -1, -1, 53, -1, -1, - -1, -1, -1, -1, 60, -1, 62, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 73, -1, 230, - 76, -1, -1, 234, -1, -1, 82, 83, -1, -1, - -1, -1, 88, -1, -1, -1, 92, -1, -1, 95, - -1, -1, -1, -1, -1, -1, 102, -1, -1, -1, - -1, -1, -1, 109, -1, -1, -1, 113, -1, 115, - 116, 117, 118, 119, -1, -1, -1, -1, -1, 125, - -1, -1, -1, -1, -1, -1, 132, -1, -1, 3, - 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 17, 150, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 163, -1, -1, - -1, 35, -1, 169, 170, 171, 172, 41, -1, 43, - 176, -1, -1, 179, 48, 49, 182, -1, -1, 53, - -1, -1, -1, -1, -1, 191, 60, 193, 62, -1, - -1, -1, -1, -1, -1, 201, 202, -1, -1, 73, - -1, -1, 76, -1, -1, -1, -1, -1, 82, 83, - -1, -1, -1, -1, 88, -1, -1, -1, 92, -1, - -1, 95, -1, -1, 230, -1, -1, -1, 102, -1, - -1, -1, -1, -1, -1, 109, 110, -1, -1, 113, - -1, 115, 116, 117, 118, 119, -1, -1, -1, -1, - -1, 125, -1, -1, -1, -1, -1, -1, 132, -1, - -1, 3, -1, 5, -1, -1, -1, -1, -1, -1, - 12, 13, 14, 15, -1, -1, 150, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 163, - -1, -1, -1, -1, -1, 169, 170, 171, 172, 41, - -1, 43, 176, -1, -1, 179, 48, -1, 182, -1, - -1, 53, -1, -1, -1, -1, -1, 191, -1, 193, - -1, -1, -1, -1, -1, -1, -1, 201, 202, -1, - -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, - 82, 83, -1, -1, -1, -1, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 230, -1, -1, -1, - 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 113, -1, 115, 116, 117, 118, 3, -1, 5, - -1, -1, -1, 125, -1, -1, 12, 13, 14, 15, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 211, 141, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 222, -1, -1, -1, -1, -1, 176, -1, + 230, 231, -1, -1, -1, 164, -1, 237, -1, -1, + -1, 189, 171, 172, 173, -1, -1, 176, 177, -1, + -1, 180, -1, -1, 183, -1, -1, -1, -1, -1, + 189, -1, -1, 192, -1, 194, -1, 215, -1, -1, + 218, 219, 220, 202, 203, 223, 224, 3, 4, 5, + -1, -1, -1, -1, -1, -1, 215, -1, 236, 218, + 219, 220, -1, -1, 223, 224, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 236, -1, 35, -1, -1, -1, -1, -1, 41, -1, 43, -1, -1, - -1, 163, 48, -1, -1, -1, -1, 53, 170, 171, - 172, -1, -1, -1, 176, -1, -1, 179, -1, -1, - 182, -1, -1, -1, -1, -1, -1, -1, -1, 191, - 76, 193, -1, -1, -1, -1, 82, 83, -1, 201, - 202, -1, 88, -1, -1, -1, 92, -1, -1, 95, - -1, -1, -1, -1, -1, -1, 102, 219, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 113, 230, 115, - 116, 117, 118, 3, -1, 5, -1, -1, -1, 125, - -1, -1, 19, 20, 21, 22, 23, 24, 25, 26, - 27, -1, -1, -1, -1, -1, -1, -1, 28, -1, + -1, -1, 48, 49, -1, -1, -1, 53, -1, -1, + -1, -1, -1, -1, 60, -1, 62, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 74, -1, + -1, 77, -1, -1, -1, 838, -1, 83, 84, 842, + -1, -1, -1, 89, -1, -1, -1, 93, -1, -1, + 96, -1, -1, -1, -1, -1, -1, 103, -1, -1, + -1, -1, -1, -1, 110, 111, -1, -1, 114, 872, + 116, 117, 118, 119, 120, -1, -1, -1, -1, -1, + 126, -1, -1, -1, -1, -1, -1, 133, -1, -1, + 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 151, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 164, -1, + -1, -1, 35, -1, 170, 171, 172, 173, 41, -1, + 43, 177, -1, -1, 180, 48, 49, 183, -1, -1, + 53, -1, -1, -1, -1, -1, 192, 60, 194, 62, + -1, -1, -1, -1, -1, -1, 202, 203, -1, -1, + -1, 74, -1, -1, 77, -1, -1, -1, -1, -1, + 83, 84, -1, -1, -1, -1, 89, -1, -1, -1, + 93, -1, -1, 96, -1, 231, -1, -1, -1, 235, + 103, -1, -1, -1, -1, -1, -1, 110, 111, -1, + -1, 114, -1, 116, 117, 118, 119, 120, -1, -1, + -1, -1, -1, 126, -1, -1, -1, -1, -1, -1, + 133, -1, -1, 3, 4, 5, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 151, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 41, -1, 43, -1, -1, -1, 163, 48, -1, - -1, -1, -1, 53, 170, 171, 172, -1, -1, -1, - 176, -1, -1, 179, -1, -1, 182, -1, -1, -1, - -1, -1, -1, -1, -1, 191, 76, 193, -1, -1, - -1, -1, 82, 83, -1, 201, 202, -1, 88, -1, - -1, -1, 92, -1, -1, 95, -1, -1, -1, -1, - -1, -1, 102, 219, -1, 3, -1, 5, -1, -1, - -1, -1, -1, 113, 230, 115, 116, 117, 118, -1, - -1, -1, -1, -1, -1, 125, 19, 20, 21, 22, + -1, 164, -1, -1, -1, 35, -1, 170, 171, 172, + 173, 41, -1, 43, 177, -1, -1, 180, 48, 49, + 183, -1, -1, 53, -1, -1, -1, -1, -1, 192, + 60, 194, 62, -1, -1, -1, -1, -1, -1, 202, + 203, -1, -1, -1, 74, -1, -1, 77, -1, -1, + -1, -1, -1, 83, 84, -1, -1, -1, -1, 89, + -1, -1, -1, 93, -1, -1, 96, -1, 231, -1, + -1, -1, 235, 103, -1, 3, 4, 5, -1, -1, + 110, -1, -1, -1, 114, -1, 116, 117, 118, 119, + 120, -1, -1, -1, -1, -1, 126, -1, -1, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 41, -1, 43, -1, -1, -1, -1, + 48, 151, -1, -1, -1, 53, -1, -1, -1, -1, + -1, -1, 60, -1, 164, -1, -1, -1, -1, -1, + 170, 171, 172, 173, -1, -1, -1, 177, -1, 77, + 180, -1, -1, 183, -1, 83, 84, -1, -1, -1, + -1, 89, 192, -1, 194, 93, -1, -1, 96, -1, + -1, -1, 202, 203, -1, 103, -1, 3, 4, 5, + -1, -1, 110, -1, -1, -1, 114, -1, 116, 117, + 118, 119, -1, -1, -1, -1, -1, -1, 126, -1, + -1, 231, -1, -1, -1, 235, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 41, -1, 43, -1, -1, + -1, -1, 48, 151, -1, -1, -1, 53, -1, -1, + -1, -1, -1, -1, 60, -1, 164, -1, -1, -1, + -1, -1, -1, 171, 172, 173, -1, -1, -1, 177, + -1, 77, 180, -1, -1, 183, -1, 83, 84, -1, + -1, -1, -1, 89, 192, -1, 194, 93, -1, -1, + 96, -1, -1, -1, 202, 203, -1, 103, -1, 3, + -1, 5, -1, -1, 110, -1, -1, -1, 114, -1, + 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, + 126, -1, -1, 231, -1, -1, -1, 235, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 41, -1, 43, + -1, -1, -1, -1, 48, 151, -1, -1, -1, 53, + -1, -1, -1, -1, -1, -1, -1, -1, 164, -1, + -1, -1, -1, -1, -1, 171, 172, 173, -1, -1, + -1, 177, -1, 77, 180, -1, -1, 183, -1, 83, + 84, -1, -1, -1, -1, 89, 192, -1, 194, 93, + -1, -1, 96, -1, -1, -1, 202, 203, -1, 103, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 114, -1, 116, 117, 118, 119, -1, -1, -1, -1, + -1, -1, 126, -1, -1, 231, -1, -1, -1, 235, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 0, -1, -1, 3, 4, 5, -1, -1, + 164, -1, -1, -1, -1, -1, -1, 171, 172, 173, + 18, -1, -1, 177, -1, -1, 180, -1, -1, 183, + -1, -1, -1, -1, -1, -1, -1, 35, 192, -1, + 194, -1, -1, 41, -1, 43, -1, -1, 202, 203, + 48, 49, -1, -1, -1, 53, -1, -1, -1, -1, + -1, -1, 60, -1, 62, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 74, 231, -1, 77, + -1, 235, -1, -1, -1, 83, 84, -1, -1, -1, + -1, 89, -1, -1, -1, 93, -1, -1, 96, -1, + -1, -1, -1, -1, -1, 103, -1, -1, -1, -1, + -1, -1, 110, -1, -1, -1, 114, -1, 116, 117, + 118, 119, 120, -1, -1, -1, -1, -1, 126, -1, + -1, -1, -1, -1, -1, 133, -1, -1, 3, 4, + 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 17, 151, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 164, -1, -1, -1, + 35, -1, 170, 171, 172, 173, 41, -1, 43, 177, + -1, -1, 180, 48, 49, 183, -1, -1, 53, -1, + -1, -1, -1, -1, 192, 60, 194, 62, -1, -1, + -1, -1, -1, -1, 202, 203, -1, -1, -1, 74, + -1, -1, 77, -1, -1, -1, -1, -1, 83, 84, + -1, -1, -1, -1, 89, -1, -1, -1, 93, -1, + -1, 96, -1, 231, -1, -1, -1, -1, 103, -1, + -1, -1, -1, -1, -1, 110, 111, -1, -1, 114, + -1, 116, 117, 118, 119, 120, -1, -1, -1, -1, + -1, 126, -1, -1, -1, -1, -1, -1, 133, -1, + -1, 3, -1, 5, -1, -1, -1, -1, -1, -1, + 12, 13, 14, 15, -1, -1, 151, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 164, + -1, -1, -1, -1, -1, 170, 171, 172, 173, 41, + -1, 43, 177, -1, -1, 180, 48, -1, 183, -1, + -1, 53, -1, -1, -1, -1, -1, 192, -1, 194, + -1, -1, -1, -1, -1, -1, -1, 202, 203, -1, + -1, -1, -1, -1, -1, 77, -1, -1, -1, -1, + -1, 83, 84, -1, -1, -1, -1, 89, -1, -1, + -1, 93, -1, 3, 96, 5, 231, -1, -1, -1, + -1, 103, 12, 13, 14, 15, -1, -1, -1, -1, + -1, -1, 114, -1, 116, 117, 118, 119, -1, -1, + -1, -1, -1, -1, 126, -1, -1, -1, -1, -1, + -1, 41, -1, 43, -1, -1, -1, -1, 48, -1, + -1, -1, -1, 53, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 164, -1, -1, -1, -1, 77, -1, 171, + 172, 173, -1, 83, 84, 177, -1, -1, 180, 89, + -1, 183, -1, 93, -1, 3, 96, 5, -1, -1, + 192, -1, 194, 103, -1, -1, -1, -1, -1, -1, + 202, 203, -1, -1, 114, -1, 116, 117, 118, 119, + 28, -1, -1, -1, -1, -1, 126, -1, 220, -1, + -1, -1, -1, 41, -1, 43, -1, -1, -1, 231, + 48, -1, -1, -1, -1, 53, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 164, -1, -1, -1, -1, 77, + -1, 171, 172, 173, -1, 83, 84, 177, -1, -1, + 180, 89, -1, 183, -1, 93, -1, 3, 96, 5, + -1, -1, 192, -1, 194, 103, -1, -1, -1, -1, + -1, -1, 202, 203, -1, -1, 114, -1, 116, 117, + 118, 119, -1, -1, -1, -1, -1, -1, 126, -1, + 220, -1, -1, -1, -1, 41, -1, 43, -1, -1, + -1, 231, 48, -1, -1, -1, -1, 53, 19, 20, + 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 164, -1, -1, -1, + -1, 77, -1, 171, 172, 173, -1, 83, 84, 177, + -1, -1, 180, 89, -1, 183, -1, 93, -1, -1, + 96, -1, -1, -1, 192, -1, 194, 103, -1, -1, + -1, -1, -1, -1, 202, 203, -1, -1, 114, -1, + 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, + 126, 19, 20, 21, 22, 23, 24, 25, 26, 27, + -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 19, 20, 21, 22, + 23, 24, 25, 26, 27, -1, -1, -1, 164, -1, + -1, -1, -1, -1, -1, 171, 172, 173, -1, -1, + -1, 177, -1, -1, 180, -1, -1, 183, -1, -1, + -1, -1, -1, -1, -1, -1, 192, -1, 194, -1, + -1, -1, -1, -1, -1, -1, 202, 203, 19, 20, + 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 231, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, + 211, -1, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, -1, -1, -1, -1, -1, -1, -1, 230, + 231, -1, -1, -1, -1, -1, 237, 19, 20, 21, + 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 19, 20, 21, 22, + 23, 24, 25, -1, 27, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 19, 20, 21, 22, 23, + 24, 25, -1, 211, -1, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 19, 20, 21, 22, 23, + 24, 25, 230, 231, -1, -1, -1, -1, 211, 237, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 19, 20, 21, 22, 23, 24, 25, 230, 231, 232, + -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, + 211, -1, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, -1, -1, -1, -1, -1, -1, -1, 230, + 231, 232, -1, -1, -1, -1, -1, -1, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + -1, -1, -1, -1, -1, -1, -1, 230, 231, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, + -1, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 222, -1, -1, -1, -1, -1, -1, -1, 230, 231, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + -1, -1, -1, -1, -1, -1, -1, 230, 231, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, -1, + -1, -1, -1, -1, -1, -1, 230, 231, -1, -1, + 214, 215, 216, 217, 218, 219, 220, 221, 222, -1, + -1, 3, -1, 5, -1, -1, 230, 231, -1, -1, + -1, -1, -1, -1, -1, -1, 215, 216, 217, 218, + 219, 220, 221, 222, -1, -1, -1, -1, -1, -1, + -1, 230, 231, 35, -1, -1, -1, -1, -1, 41, + -1, 43, -1, -1, -1, -1, 48, 49, -1, -1, + -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 74, -1, -1, 77, -1, -1, -1, -1, + -1, 83, 84, -1, -1, -1, -1, 89, -1, -1, + -1, 93, -1, 3, 96, 5, 6, -1, -1, -1, + -1, 103, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 114, -1, 116, 117, 118, 119, 120, -1, + -1, 123, -1, -1, 126, -1, -1, -1, -1, -1, + -1, 41, -1, 43, -1, -1, -1, -1, 48, -1, + -1, -1, -1, 53, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 164, -1, -1, -1, -1, 77, 170, 171, + 172, 173, -1, 83, 84, 177, -1, -1, 180, 89, + -1, 183, -1, 93, -1, 3, 96, 5, -1, -1, + 192, -1, 194, 103, -1, -1, -1, -1, -1, -1, + 202, 203, -1, -1, 114, -1, 116, 117, 118, 119, + -1, -1, -1, 3, -1, 5, 126, -1, -1, -1, -1, -1, -1, 41, -1, 43, -1, -1, -1, -1, 48, -1, -1, -1, -1, 53, -1, -1, -1, -1, - -1, -1, -1, 163, -1, -1, -1, -1, -1, -1, - 170, 171, 172, -1, -1, -1, 176, -1, 76, 179, - -1, -1, 182, -1, 82, 83, -1, -1, -1, -1, - 88, 191, -1, 193, 92, -1, -1, 95, -1, -1, - -1, 201, 202, 210, 102, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 113, -1, 115, 116, 117, - 118, -1, 229, 230, -1, -1, -1, 125, -1, 236, - 230, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 163, -1, -1, -1, -1, - -1, -1, 170, 171, 172, -1, -1, -1, 176, -1, - -1, 179, -1, -1, 182, -1, -1, -1, -1, -1, - -1, -1, -1, 191, -1, 193, -1, -1, -1, -1, - -1, -1, -1, 201, 202, 19, 20, 21, 22, 23, - 24, 25, 26, 27, -1, -1, -1, 210, -1, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, - -1, -1, 230, -1, -1, -1, 229, 230, -1, -1, - -1, -1, -1, 236, 19, 20, 21, 22, 23, 24, - 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 19, 20, 21, 22, 23, - 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 19, 20, 21, 22, 23, 24, - 25, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 41, -1, 43, 164, -1, -1, -1, 48, 77, + -1, 171, 172, 173, -1, 83, 84, 177, -1, -1, + 180, 89, -1, 183, -1, 93, -1, 3, 96, 5, + -1, -1, 192, -1, 194, 103, -1, 77, -1, -1, + -1, -1, 202, 203, 84, -1, 114, -1, 116, 117, + 118, 119, -1, 93, -1, -1, 96, -1, 126, -1, + -1, -1, -1, 103, -1, 41, -1, 43, -1, -1, + -1, -1, 48, -1, -1, -1, 116, 117, 118, 119, + -1, -1, -1, -1, -1, -1, 126, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 164, -1, -1, -1, + -1, 77, -1, 171, 172, 173, -1, 83, 84, 177, + -1, -1, 180, -1, -1, 183, -1, 93, -1, -1, + 96, 5, -1, -1, 192, -1, 194, 103, -1, -1, + -1, -1, 172, 173, 202, 203, -1, 177, -1, -1, + 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, + 126, -1, -1, -1, 194, -1, -1, 41, -1, 43, + -1, -1, -1, 203, 48, -1, -1, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 210, -1, 212, 213, 214, 215, 216, 217, - 218, 219, 220, 221, -1, -1, -1, -1, -1, -1, - -1, 229, 230, -1, -1, -1, -1, 210, 236, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, - -1, -1, -1, -1, -1, -1, 229, 230, 231, -1, + -1, -1, -1, 77, -1, 171, 172, 173, -1, 83, + 84, 177, -1, 5, -1, 89, -1, 183, -1, 93, + -1, -1, 96, -1, -1, -1, 192, -1, 194, 103, + -1, -1, -1, -1, -1, -1, 202, 203, -1, -1, + 114, -1, 116, 117, 118, 119, -1, -1, -1, 41, + -1, 43, 126, -1, -1, -1, 48, -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, 210, -1, 212, 213, - 214, 215, 216, 217, 218, 219, 220, 221, -1, -1, - -1, -1, -1, -1, -1, 229, 230, 231, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, -1, -1, -1, - -1, -1, -1, -1, 229, 230, 210, -1, 212, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 3, -1, - 5, -1, -1, -1, -1, 229, 230, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, -1, -1, -1, - -1, -1, -1, -1, 229, 230, -1, -1, -1, -1, - 35, -1, -1, -1, -1, -1, 41, -1, 43, -1, - -1, -1, -1, 48, 49, -1, -1, -1, 53, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 73, -1, - -1, 76, -1, -1, -1, -1, -1, 82, 83, -1, - -1, -1, -1, 88, -1, -1, -1, 92, -1, -1, - 95, -1, -1, -1, -1, -1, -1, 102, -1, -1, - 3, -1, 5, 6, -1, -1, -1, -1, 113, -1, - 115, 116, 117, 118, 119, -1, -1, 122, -1, -1, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 41, -1, - 43, -1, -1, -1, -1, 48, -1, -1, -1, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 163, -1, - -1, -1, -1, -1, 169, 170, 171, 172, -1, -1, - -1, 176, -1, 76, 179, -1, -1, 182, -1, 82, - 83, -1, -1, -1, -1, 88, 191, -1, 193, 92, - -1, -1, 95, -1, -1, -1, 201, 202, -1, 102, - -1, -1, 3, -1, 5, -1, -1, -1, -1, -1, - 113, -1, 115, 116, 117, 118, -1, -1, -1, -1, - -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 41, -1, 43, -1, -1, -1, -1, 48, -1, -1, - -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, - 163, -1, -1, -1, -1, -1, -1, 170, 171, 172, - -1, -1, -1, 176, -1, 76, 179, -1, -1, 182, - -1, 82, 83, -1, -1, -1, -1, 88, 191, -1, - 193, 92, -1, -1, 95, -1, -1, -1, 201, 202, - -1, 102, -1, -1, 3, -1, 5, -1, -1, -1, - -1, -1, 113, -1, 115, 116, 117, 118, -1, -1, - -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 41, -1, 43, -1, -1, -1, -1, 48, - -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 163, -1, -1, -1, -1, -1, -1, 170, - 171, 172, -1, -1, -1, 176, -1, 76, 179, -1, - -1, 182, -1, -1, 83, -1, -1, 41, -1, 43, - 191, -1, 193, 92, 48, -1, 95, -1, -1, 53, - 201, 202, -1, 102, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, - -1, -1, 76, -1, -1, -1, 125, -1, 82, 83, - -1, -1, -1, -1, 88, -1, -1, -1, 92, -1, - -1, 95, -1, 5, -1, -1, -1, -1, 102, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 113, - -1, 115, 116, 117, 118, -1, -1, -1, -1, -1, - -1, 125, 171, 172, -1, -1, -1, 176, -1, 41, - -1, 43, -1, -1, -1, -1, 48, -1, -1, -1, - -1, -1, -1, -1, 193, -1, -1, -1, -1, -1, - -1, -1, -1, 202, -1, -1, -1, -1, -1, 163, - -1, -1, -1, -1, 76, -1, 170, 171, 172, -1, - 82, 83, 176, -1, -1, 179, -1, -1, 182, -1, - 92, -1, -1, 95, -1, -1, -1, 191, -1, 193, - 102, -1, -1, -1, -1, -1, -1, 201, 202, -1, - -1, -1, -1, 115, 116, 117, 118, -1, -1, -1, - -1, -1, -1, 125, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 77, -1, -1, -1, -1, + 164, 83, 84, -1, -1, -1, -1, 171, 172, 173, + -1, 93, -1, 177, 96, -1, 180, -1, -1, 183, + -1, 103, -1, -1, -1, -1, -1, -1, 192, -1, + 194, -1, -1, -1, 116, 117, 118, 119, 202, 203, + -1, -1, -1, -1, 126, -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, -1, -1, -1, -1, -1, -1, 170, 171, - 172, -1, -1, -1, 176, -1, -1, -1, -1, -1, - 182, -1, -1, -1, -1, 29, 30, -1, -1, 191, - 34, 193, 36, 37, 38, 39, 40, -1, 42, 201, - 202, 45, -1, 47, -1, -1, 50, 51, 52, -1, - 54, 55, 56, 57, 58, 59, -1, 61, -1, 63, - 64, 65, -1, 67, 68, 69, 70, 71, 72, -1, - 74, -1, -1, 77, 78, 79, 80, 81, -1, -1, - 84, 85, 86, 87, -1, -1, 90, 91, -1, 93, - 94, -1, 96, 97, 98, 99, 100, 101, -1, 103, - 104, 105, 106, 107, 108, -1, -1, 111, -1, -1, - 114, -1, -1, -1, -1, -1, 120, 121, -1, 123, - 124, -1, 126, 127, 128, -1, -1, -1, -1, 133, - 134, 135, -1, 137, 138, 139, -1, 141, 142, 143, - 144, 145, 146, 147, 148, 149, -1, 151, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, -1, - 164, 165, -1, 167, 168, -1, -1, -1, -1, -1, - 174, -1, -1, 177, -1, 179, 180, 181, -1, -1, - 184, 185, 186, 187, -1, -1, 190, -1, 192, -1, - 194, 195, 196, 197, 198, 199, 200, -1, -1, 203 + -1, -1, -1, -1, -1, -1, -1, -1, -1, 171, + 172, 173, -1, -1, -1, 177, -1, -1, -1, -1, + -1, 183, -1, -1, -1, -1, 29, 30, -1, -1, + 192, 34, 194, 36, 37, 38, 39, 40, -1, 42, + 202, 203, 45, -1, 47, -1, -1, 50, 51, 52, + -1, 54, 55, 56, 57, 58, 59, -1, 61, -1, + 63, 64, 65, -1, 67, 68, 69, 70, 71, 72, + 73, -1, 75, -1, -1, 78, 79, 80, 81, 82, + -1, -1, 85, 86, 87, 88, -1, -1, 91, 92, + -1, 94, 95, -1, 97, 98, 99, 100, 101, 102, + -1, 104, 105, 106, 107, 108, 109, -1, -1, 112, + -1, -1, 115, -1, -1, -1, -1, -1, 121, 122, + -1, 124, 125, -1, 127, 128, 129, -1, -1, -1, + -1, 134, 135, 136, -1, 138, 139, 140, -1, 142, + 143, 144, 145, 146, 147, 148, 149, 150, -1, 152, + -1, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, -1, 165, 166, -1, 168, 169, -1, -1, -1, + -1, -1, 175, -1, -1, 178, -1, 180, 181, 182, + -1, -1, 185, 186, 187, 188, -1, -1, 191, -1, + 193, -1, 195, 196, 197, 198, 199, 200, 201, -1, + -1, 204 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { - 0, 239, 245, 0, 3, 4, 5, 18, 35, 41, - 43, 48, 49, 53, 60, 62, 73, 76, 82, 83, - 88, 92, 95, 102, 109, 113, 115, 116, 117, 118, - 119, 125, 132, 150, 163, 169, 170, 171, 172, 176, - 179, 182, 191, 193, 201, 202, 230, 240, 242, 251, - 252, 254, 255, 256, 257, 260, 261, 267, 268, 287, - 301, 304, 306, 308, 309, 310, 311, 314, 315, 316, - 317, 318, 319, 320, 323, 324, 327, 331, 334, 339, - 344, 345, 346, 347, 349, 352, 370, 371, 372, 373, - 374, 229, 230, 376, 379, 380, 3, 5, 304, 304, - 235, 233, 304, 3, 303, 304, 115, 307, 9, 304, - 307, 3, 235, 304, 235, 307, 308, 3, 303, 3, - 303, 308, 29, 30, 34, 36, 37, 38, 39, 40, + 0, 240, 246, 0, 3, 4, 5, 18, 35, 41, + 43, 48, 49, 53, 60, 62, 74, 77, 83, 84, + 89, 93, 96, 103, 110, 114, 116, 117, 118, 119, + 120, 126, 133, 151, 164, 170, 171, 172, 173, 177, + 180, 183, 192, 194, 202, 203, 231, 241, 243, 252, + 253, 255, 256, 257, 258, 261, 262, 268, 269, 288, + 302, 305, 307, 309, 310, 311, 312, 315, 316, 317, + 318, 319, 320, 321, 324, 325, 328, 332, 335, 340, + 345, 346, 347, 348, 350, 353, 371, 372, 373, 374, + 375, 230, 231, 377, 380, 381, 3, 5, 305, 305, + 236, 234, 305, 3, 304, 305, 116, 308, 9, 305, + 308, 3, 236, 305, 236, 308, 309, 3, 304, 3, + 304, 309, 29, 30, 34, 36, 37, 38, 39, 40, 42, 45, 47, 50, 51, 52, 54, 55, 56, 57, 58, 59, 61, 63, 64, 65, 67, 68, 69, 70, - 71, 72, 74, 77, 78, 79, 80, 81, 84, 85, - 86, 87, 90, 91, 93, 94, 96, 97, 98, 99, - 100, 101, 103, 104, 105, 106, 107, 108, 111, 114, - 120, 121, 123, 124, 126, 127, 128, 133, 134, 135, - 137, 138, 139, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 151, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 164, 165, 167, 168, 174, 177, 179, - 180, 181, 184, 185, 186, 187, 190, 192, 194, 195, - 196, 197, 198, 199, 200, 203, 269, 279, 369, 232, - 247, 247, 66, 130, 189, 343, 82, 122, 182, 191, - 259, 287, 314, 316, 318, 331, 349, 370, 374, 232, - 3, 304, 215, 232, 232, 232, 229, 233, 232, 323, - 232, 250, 232, 351, 352, 351, 351, 12, 13, 14, - 15, 219, 235, 280, 304, 305, 353, 354, 367, 287, - 370, 372, 374, 351, 232, 33, 63, 79, 87, 381, - 382, 376, 119, 9, 241, 233, 232, 215, 3, 64, - 372, 233, 183, 233, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 209, 231, 17, - 62, 110, 244, 251, 258, 261, 314, 315, 316, 317, - 318, 319, 320, 323, 331, 334, 339, 344, 234, 372, - 304, 267, 268, 233, 3, 304, 3, 3, 233, 233, - 211, 328, 233, 340, 367, 229, 306, 309, 310, 311, - 312, 313, 3, 246, 233, 348, 353, 353, 237, 230, - 235, 266, 351, 235, 209, 231, 5, 236, 119, 234, - 267, 283, 284, 285, 286, 332, 211, 211, 236, 294, - 235, 297, 273, 275, 349, 9, 16, 305, 3, 6, - 7, 8, 9, 10, 11, 89, 140, 175, 188, 214, - 217, 218, 219, 222, 223, 235, 290, 291, 292, 277, - 349, 273, 349, 6, 272, 16, 290, 293, 9, 278, - 9, 9, 270, 293, 349, 292, 9, 9, 292, 9, - 292, 290, 265, 268, 349, 292, 288, 289, 290, 31, - 136, 178, 271, 9, 9, 369, 9, 292, 372, 288, - 274, 349, 290, 372, 131, 204, 205, 206, 207, 208, - 368, 372, 372, 16, 6, 7, 375, 9, 372, 279, - 230, 233, 235, 232, 232, 232, 233, 232, 232, 250, - 305, 349, 249, 321, 310, 311, 233, 234, 328, 304, - 219, 219, 209, 216, 245, 152, 325, 331, 347, 353, - 236, 293, 219, 231, 290, 262, 263, 264, 265, 32, - 75, 173, 207, 383, 384, 382, 233, 310, 305, 234, - 209, 237, 304, 329, 330, 6, 253, 253, 234, 267, - 295, 267, 299, 234, 268, 296, 299, 236, 209, 236, - 236, 236, 235, 290, 290, 290, 290, 290, 290, 5, - 290, 350, 352, 371, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 210, 212, 213, 214, 215, 216, 217, - 218, 219, 220, 221, 229, 230, 209, 236, 236, 209, - 236, 209, 229, 236, 209, 236, 209, 236, 236, 209, + 71, 72, 73, 75, 78, 79, 80, 81, 82, 85, + 86, 87, 88, 91, 92, 94, 95, 97, 98, 99, + 100, 101, 102, 104, 105, 106, 107, 108, 109, 112, + 115, 121, 122, 124, 125, 127, 128, 129, 134, 135, + 136, 138, 139, 140, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 152, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 165, 166, 168, 169, 175, 178, + 180, 181, 182, 185, 186, 187, 188, 191, 193, 195, + 196, 197, 198, 199, 200, 201, 204, 270, 280, 370, + 233, 248, 248, 66, 131, 190, 344, 83, 123, 183, + 192, 260, 288, 315, 317, 319, 332, 350, 371, 375, + 233, 3, 305, 216, 233, 233, 233, 230, 234, 233, + 324, 233, 251, 233, 352, 353, 352, 352, 12, 13, + 14, 15, 220, 236, 281, 305, 306, 354, 355, 368, + 288, 371, 373, 375, 352, 233, 33, 63, 80, 88, + 382, 383, 377, 120, 9, 242, 234, 233, 216, 3, + 64, 373, 234, 184, 234, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 349, 219, 235, 266, 280, 305, 359, 361, 362, - 236, 209, 236, 236, 236, 236, 236, 236, 209, 236, - 236, 236, 209, 236, 236, 236, 236, 236, 236, 229, - 236, 236, 236, 279, 243, 9, 248, 215, 235, 353, - 363, 234, 251, 267, 268, 234, 267, 322, 321, 250, - 166, 338, 312, 234, 211, 129, 299, 326, 232, 231, - 231, 236, 209, 209, 236, 189, 377, 378, 215, 286, - 292, 209, 333, 6, 236, 236, 349, 374, 349, 370, - 236, 232, 232, 272, 273, 350, 236, 219, 235, 266, - 280, 355, 357, 358, 371, 351, 290, 290, 3, 290, - 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 290, 290, 3, 290, 292, 156, - 159, 276, 6, 293, 3, 9, 361, 348, 219, 262, - 280, 360, 361, 235, 266, 289, 292, 273, 6, 119, - 234, 236, 247, 335, 262, 209, 250, 250, 73, 119, - 341, 342, 234, 310, 311, 337, 233, 211, 232, 234, - 268, 300, 301, 234, 28, 265, 384, 380, 234, 377, - 313, 329, 216, 359, 365, 366, 232, 353, 302, 305, - 357, 348, 219, 262, 280, 356, 357, 236, 235, 266, - 351, 211, 231, 209, 236, 209, 361, 348, 236, 361, - 236, 262, 236, 310, 250, 234, 330, 236, 353, 304, - 304, 309, 311, 232, 232, 250, 209, 249, 232, 5, - 216, 211, 364, 209, 232, 233, 236, 357, 348, 236, - 361, 236, 290, 262, 290, 273, 273, 361, 236, 215, - 216, 250, 304, 310, 311, 234, 232, 232, 293, 365, - 281, 361, 236, 313, 235, 250, 47, 64, 234, 282, - 216, 262, 292, 211, 232, 236, 211, 232, 298, 299, - 336, 298, 232, 250 + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 210, 232, + 17, 62, 111, 245, 252, 259, 262, 315, 316, 317, + 318, 319, 320, 321, 324, 332, 335, 340, 345, 235, + 373, 305, 268, 269, 234, 3, 305, 3, 3, 234, + 234, 212, 329, 234, 341, 368, 230, 307, 310, 311, + 312, 313, 314, 3, 247, 234, 349, 354, 354, 238, + 231, 236, 267, 352, 236, 210, 232, 5, 237, 120, + 235, 268, 284, 285, 286, 287, 333, 212, 212, 237, + 295, 236, 298, 274, 276, 350, 9, 16, 306, 3, + 6, 7, 8, 9, 10, 11, 90, 141, 176, 189, + 215, 218, 219, 220, 223, 224, 236, 291, 292, 293, + 278, 350, 274, 350, 6, 273, 16, 291, 294, 9, + 279, 9, 9, 271, 294, 350, 293, 9, 9, 293, + 9, 293, 291, 266, 269, 350, 293, 289, 290, 291, + 31, 137, 179, 272, 9, 9, 370, 9, 293, 373, + 289, 275, 350, 291, 373, 132, 205, 206, 207, 208, + 209, 369, 373, 373, 16, 6, 7, 376, 9, 373, + 280, 231, 234, 236, 233, 233, 233, 234, 233, 233, + 251, 306, 350, 250, 322, 311, 312, 234, 235, 329, + 305, 220, 220, 210, 217, 246, 153, 326, 332, 348, + 354, 237, 294, 220, 232, 291, 263, 264, 265, 266, + 32, 76, 174, 208, 384, 385, 383, 234, 311, 306, + 235, 210, 238, 305, 330, 331, 6, 254, 254, 235, + 268, 296, 268, 300, 235, 269, 297, 300, 237, 210, + 237, 237, 237, 236, 291, 291, 291, 291, 291, 291, + 5, 291, 351, 353, 372, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 211, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 230, 231, 210, 237, 237, + 210, 237, 210, 230, 237, 210, 237, 210, 237, 237, + 210, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 237, 350, 220, 236, 267, 281, 306, 360, 362, + 363, 237, 210, 237, 237, 237, 237, 237, 237, 210, + 237, 237, 237, 210, 237, 237, 237, 237, 237, 237, + 230, 237, 237, 237, 280, 244, 9, 249, 216, 236, + 354, 364, 235, 252, 268, 269, 235, 268, 323, 322, + 251, 167, 339, 313, 235, 212, 130, 300, 327, 233, + 232, 232, 237, 210, 210, 237, 190, 378, 379, 216, + 287, 293, 210, 334, 6, 237, 237, 350, 375, 350, + 371, 237, 233, 233, 273, 274, 351, 237, 220, 236, + 267, 281, 356, 358, 359, 372, 352, 291, 291, 3, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 3, 291, 293, + 157, 160, 277, 6, 294, 3, 9, 362, 349, 220, + 263, 281, 361, 362, 236, 267, 290, 293, 274, 6, + 120, 235, 237, 248, 336, 263, 210, 251, 251, 74, + 120, 342, 343, 235, 311, 312, 338, 234, 212, 233, + 235, 269, 301, 302, 235, 28, 266, 385, 381, 235, + 378, 314, 330, 217, 360, 366, 367, 233, 354, 303, + 306, 358, 349, 220, 263, 281, 357, 358, 237, 236, + 267, 352, 212, 232, 210, 237, 210, 362, 349, 237, + 362, 237, 263, 237, 311, 251, 235, 331, 237, 354, + 305, 305, 310, 312, 233, 233, 251, 210, 250, 233, + 5, 217, 212, 365, 210, 233, 234, 237, 358, 349, + 237, 362, 237, 291, 263, 291, 274, 274, 362, 237, + 216, 217, 251, 305, 311, 312, 235, 233, 233, 294, + 366, 282, 362, 237, 314, 236, 251, 47, 64, 235, + 283, 217, 263, 293, 212, 233, 237, 212, 233, 299, + 300, 337, 299, 233, 251 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { - 0, 238, 239, 240, 240, 241, 241, 242, 243, 243, - 244, 245, 246, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 247, 247, - 247, 248, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 249, 249, 250, 250, - 251, 251, 251, 251, 251, 251, 251, 252, 252, 253, - 253, 254, 254, 254, 254, 254, 254, 254, 254, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 262, 263, - 263, 264, 264, 265, 265, 266, 266, 266, 267, 267, - 268, 269, 269, 269, 270, 270, 271, 271, 271, 272, - 272, 273, 274, 275, 275, 276, 276, 277, 278, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 280, 280, 280, 280, 281, 281, 282, - 282, 283, 283, 283, 284, 284, 285, 286, 286, 287, - 288, 288, 289, 289, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 290, 291, 291, 292, 293, 294, - 294, 295, 295, 296, 296, 297, 297, 298, 298, 299, - 299, 300, 301, 301, 302, 302, 303, 303, 304, 304, - 305, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 307, 307, 308, 308, 308, 308, 308, 308, - 308, 308, 308, 309, 309, 310, 310, 311, 312, 312, - 312, 312, 312, 313, 313, 314, 315, 316, 317, 318, - 319, 320, 320, 321, 321, 322, 322, 323, 324, 325, - 325, 326, 326, 327, 327, 328, 328, 328, 329, 330, - 330, 331, 332, 333, 331, 334, 335, 336, 334, 337, - 337, 337, 337, 338, 338, 340, 339, 339, 341, 341, - 341, 342, 343, 344, 345, 345, 345, 346, 347, 348, - 348, 349, 349, 350, 350, 351, 351, 352, 352, 352, - 353, 353, 353, 354, 354, 354, 354, 355, 355, 355, - 356, 356, 357, 357, 358, 358, 358, 358, 358, 359, - 359, 359, 360, 360, 361, 361, 362, 362, 362, 362, - 362, 362, 363, 363, 364, 364, 365, 366, 366, 367, - 367, 368, 368, 368, 368, 368, 368, 369, 369, 369, - 370, 371, 371, 371, 371, 371, 371, 371, 371, 371, - 371, 372, 372, 372, 373, 374, 374, 375, 375, 375, - 376, 376, 377, 377, 378, 379, 380, 380, 381, 381, - 382, 382, 382, 382, 383, 383, 384, 384, 384, 384 + 0, 239, 240, 241, 241, 242, 242, 243, 244, 244, + 245, 246, 247, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 246, 246, 246, 246, 246, 246, 248, 248, + 248, 249, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 250, 250, 251, 251, + 252, 252, 252, 252, 252, 252, 252, 253, 253, 254, + 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 263, 264, + 264, 265, 265, 266, 266, 267, 267, 267, 268, 268, + 269, 270, 270, 270, 271, 271, 272, 272, 272, 273, + 273, 274, 275, 276, 276, 277, 277, 278, 279, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 281, 281, 281, 281, 282, 282, + 283, 283, 284, 284, 284, 285, 285, 286, 287, 287, + 288, 289, 289, 290, 290, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 292, 292, 293, 294, + 295, 295, 296, 296, 297, 297, 298, 298, 299, 299, + 300, 300, 301, 302, 302, 303, 303, 304, 304, 305, + 305, 306, 307, 307, 307, 307, 307, 307, 307, 307, + 307, 307, 307, 308, 308, 309, 309, 309, 309, 309, + 309, 309, 309, 309, 310, 310, 311, 311, 312, 313, + 313, 313, 313, 313, 314, 314, 315, 316, 317, 318, + 319, 320, 321, 321, 322, 322, 323, 323, 324, 325, + 326, 326, 327, 327, 328, 328, 329, 329, 329, 330, + 331, 331, 332, 333, 334, 332, 335, 336, 337, 335, + 338, 338, 338, 338, 339, 339, 341, 340, 340, 342, + 342, 342, 343, 344, 345, 346, 346, 346, 347, 348, + 349, 349, 350, 350, 351, 351, 352, 352, 353, 353, + 353, 354, 354, 354, 355, 355, 355, 355, 356, 356, + 356, 357, 357, 358, 358, 359, 359, 359, 359, 359, + 360, 360, 360, 361, 361, 362, 362, 363, 363, 363, + 363, 363, 363, 364, 364, 365, 365, 366, 367, 367, + 368, 368, 369, 369, 369, 369, 369, 369, 370, 370, + 370, 371, 372, 372, 372, 372, 372, 372, 372, 372, + 372, 372, 373, 373, 373, 374, 375, 375, 376, 376, + 376, 377, 377, 378, 378, 379, 380, 381, 381, 382, + 382, 383, 383, 383, 383, 384, 384, 385, 385, 385, + 385 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -2661,43 +2675,44 @@ 3, 3, 3, 3, 1, 1, 1, 5, 5, 0, 4, 1, 4, 1, 1, 1, 1, 1, 4, 4, 1, 4, 1, 1, 1, 1, 4, 4, 1, 6, - 1, 1, 1, 1, 4, 1, 4, 1, 1, 4, - 1, 1, 1, 4, 4, 1, 1, 4, 1, 1, - 1, 1, 1, 4, 4, 4, 4, 4, 1, 4, - 1, 1, 4, 1, 4, 1, 1, 4, 4, 1, - 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 4, 1, 1, 4, 1, 4, - 4, 1, 1, 1, 1, 1, 1, 6, 1, 4, - 1, 1, 1, 4, 1, 4, 1, 1, 4, 4, - 4, 4, 1, 1, 4, 4, 4, 1, 1, 4, - 4, 4, 1, 1, 1, 1, 1, 0, 2, 4, - 3, 0, 2, 1, 1, 3, 2, 3, 1, 5, - 1, 3, 0, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 5, 3, 3, 3, 3, 3, + 1, 1, 1, 1, 1, 4, 1, 4, 1, 1, + 4, 1, 1, 1, 4, 4, 1, 1, 4, 1, + 1, 1, 1, 1, 4, 4, 4, 4, 4, 1, + 4, 1, 1, 4, 1, 4, 1, 1, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 4, 1, 1, 4, 1, + 4, 4, 1, 1, 1, 1, 1, 1, 6, 1, + 4, 1, 1, 1, 4, 1, 4, 1, 1, 4, + 4, 4, 4, 1, 1, 4, 4, 4, 1, 1, + 4, 4, 4, 1, 1, 1, 1, 1, 0, 2, + 4, 3, 0, 2, 1, 1, 3, 2, 3, 1, + 5, 1, 3, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 2, 2, 2, 2, 2, 2, 3, - 3, 5, 5, 4, 3, 1, 3, 1, 1, 0, - 2, 4, 3, 2, 2, 0, 2, 2, 1, 3, - 2, 1, 3, 2, 0, 1, 0, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, - 1, 1, 0, 1, 1, 2, 1, 2, 2, 1, - 1, 1, 1, 2, 3, 1, 2, 4, 1, 1, - 2, 1, 2, 1, 3, 2, 6, 2, 7, 2, - 5, 2, 3, 0, 2, 3, 3, 2, 1, 2, - 3, 2, 3, 6, 6, 0, 2, 2, 1, 1, - 3, 2, 0, 0, 7, 8, 0, 0, 13, 1, - 1, 3, 3, 0, 2, 0, 9, 2, 2, 3, - 2, 2, 2, 6, 1, 1, 1, 1, 1, 0, - 2, 2, 3, 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, 1, - 5, 1, 1, 1, 2, 1, 2, 1, 2, 4, - 1, 1, 2, 1, 5, 5, 10, 1, 3, 1, - 0, 2, 0, 2, 4, 6, 0, 3, 1, 3, - 4, 1, 1, 1, 1, 3, 1, 1, 1, 1 + 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, + 3, 3, 5, 5, 4, 3, 1, 3, 1, 1, + 0, 2, 4, 3, 2, 2, 0, 2, 2, 1, + 3, 2, 1, 3, 2, 0, 1, 0, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, + 1, 1, 1, 0, 1, 1, 2, 1, 2, 2, + 1, 1, 1, 1, 2, 3, 1, 2, 4, 1, + 1, 2, 1, 2, 1, 3, 2, 6, 2, 7, + 2, 5, 2, 3, 0, 2, 3, 3, 2, 1, + 2, 3, 2, 3, 6, 6, 0, 2, 2, 1, + 1, 3, 2, 0, 0, 7, 8, 0, 0, 13, + 1, 1, 3, 3, 0, 2, 0, 9, 2, 2, + 3, 2, 2, 2, 6, 1, 1, 1, 1, 1, + 0, 2, 2, 3, 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, + 1, 5, 1, 1, 1, 2, 1, 2, 1, 2, + 4, 1, 1, 2, 1, 5, 5, 10, 1, 3, + 1, 0, 2, 0, 2, 4, 6, 0, 3, 1, + 3, 4, 1, 1, 1, 1, 3, 1, 1, 1, + 1 }; @@ -3553,7 +3568,7 @@ switch (yyn) { case 2: /* input: gbl_statements m_acf */ -#line 368 "tools/widl/parser.y" +#line 369 "tools/widl/parser.y" { (yyvsp[-1].stmt_list) = append_parameterized_type_stmts((yyvsp[-1].stmt_list)); check_statements((yyvsp[-1].stmt_list), FALSE); check_all_user_types((yyvsp[-1].stmt_list)); @@ -3567,323 +3582,323 @@ write_dlldata((yyvsp[-1].stmt_list)); write_local_stubs((yyvsp[-1].stmt_list)); } -#line 3571 "tools/widl/parser.tab.c" +#line 3586 "tools/widl/parser.tab.c" break; case 5: /* decl_statements: %empty */ -#line 389 "tools/widl/parser.y" +#line 390 "tools/widl/parser.y" { (yyval.stmt_list) = NULL; } -#line 3577 "tools/widl/parser.tab.c" +#line 3592 "tools/widl/parser.tab.c" break; case 6: /* decl_statements: decl_statements tINTERFACE qualified_type '<' parameterized_type_args '>' ';' */ -#line 391 "tools/widl/parser.y" +#line 392 "tools/widl/parser.y" { parameterized_type_stmts = append_statement(parameterized_type_stmts, make_statement_parameterized_type((yyvsp[-4].type), (yyvsp[-2].typeref_list))); (yyval.stmt_list) = append_statement((yyvsp[-6].stmt_list), make_statement_reference(type_parameterized_type_specialize_declare((yyvsp[-4].type), (yyvsp[-2].typeref_list)))); } -#line 3585 "tools/widl/parser.tab.c" +#line 3600 "tools/widl/parser.tab.c" break; case 7: /* decl_block: tDECLARE '{' decl_statements '}' */ -#line 396 "tools/widl/parser.y" +#line 397 "tools/widl/parser.y" { (yyval.stmt_list) = (yyvsp[-1].stmt_list); } -#line 3591 "tools/widl/parser.tab.c" +#line 3606 "tools/widl/parser.tab.c" break; case 8: /* imp_decl_statements: %empty */ -#line 400 "tools/widl/parser.y" +#line 401 "tools/widl/parser.y" { (yyval.stmt_list) = NULL; } -#line 3597 "tools/widl/parser.tab.c" +#line 3612 "tools/widl/parser.tab.c" break; case 9: /* imp_decl_statements: imp_decl_statements tINTERFACE qualified_type '<' parameterized_type_args '>' ';' */ -#line 402 "tools/widl/parser.y" +#line 403 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-6].stmt_list), make_statement_reference(type_parameterized_type_specialize_declare((yyvsp[-4].type), (yyvsp[-2].typeref_list)))); } -#line 3603 "tools/widl/parser.tab.c" +#line 3618 "tools/widl/parser.tab.c" break; case 10: /* imp_decl_block: tDECLARE '{' imp_decl_statements '}' */ -#line 406 "tools/widl/parser.y" +#line 407 "tools/widl/parser.y" { (yyval.stmt_list) = (yyvsp[-1].stmt_list); } -#line 3609 "tools/widl/parser.tab.c" +#line 3624 "tools/widl/parser.tab.c" break; case 11: /* gbl_statements: %empty */ -#line 410 "tools/widl/parser.y" +#line 411 "tools/widl/parser.y" { (yyval.stmt_list) = NULL; } -#line 3615 "tools/widl/parser.tab.c" +#line 3630 "tools/widl/parser.tab.c" break; case 12: /* $@1: %empty */ -#line 411 "tools/widl/parser.y" +#line 412 "tools/widl/parser.y" { push_namespaces((yyvsp[-1].str_list)); } -#line 3621 "tools/widl/parser.tab.c" +#line 3636 "tools/widl/parser.tab.c" break; case 13: /* gbl_statements: gbl_statements namespacedef '{' $@1 gbl_statements '}' */ -#line 412 "tools/widl/parser.y" +#line 413 "tools/widl/parser.y" { pop_namespaces((yyvsp[-4].str_list)); (yyval.stmt_list) = append_statements((yyvsp[-5].stmt_list), (yyvsp[-1].stmt_list)); } -#line 3627 "tools/widl/parser.tab.c" +#line 3642 "tools/widl/parser.tab.c" break; case 14: /* gbl_statements: gbl_statements interface ';' */ -#line 413 "tools/widl/parser.y" +#line 414 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-2].stmt_list), make_statement_reference((yyvsp[-1].type))); } -#line 3633 "tools/widl/parser.tab.c" +#line 3648 "tools/widl/parser.tab.c" break; case 15: /* gbl_statements: gbl_statements dispinterface ';' */ -#line 414 "tools/widl/parser.y" +#line 415 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-2].stmt_list), make_statement_reference((yyvsp[-1].type))); } -#line 3639 "tools/widl/parser.tab.c" +#line 3654 "tools/widl/parser.tab.c" break; case 16: /* gbl_statements: gbl_statements interfacedef */ -#line 415 "tools/widl/parser.y" +#line 416 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); } -#line 3645 "tools/widl/parser.tab.c" +#line 3660 "tools/widl/parser.tab.c" break; case 17: /* gbl_statements: gbl_statements delegatedef */ -#line 416 "tools/widl/parser.y" +#line 417 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); } -#line 3651 "tools/widl/parser.tab.c" +#line 3666 "tools/widl/parser.tab.c" break; case 18: /* gbl_statements: gbl_statements coclass ';' */ -#line 417 "tools/widl/parser.y" +#line 418 "tools/widl/parser.y" { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); } -#line 3659 "tools/widl/parser.tab.c" +#line 3674 "tools/widl/parser.tab.c" break; case 19: /* gbl_statements: gbl_statements coclassdef */ -#line 420 "tools/widl/parser.y" +#line 421 "tools/widl/parser.y" { (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 3667 "tools/widl/parser.tab.c" +#line 3682 "tools/widl/parser.tab.c" break; case 20: /* gbl_statements: gbl_statements apicontract ';' */ -#line 423 "tools/widl/parser.y" +#line 424 "tools/widl/parser.y" { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); } -#line 3673 "tools/widl/parser.tab.c" +#line 3688 "tools/widl/parser.tab.c" break; case 21: /* gbl_statements: gbl_statements apicontract_def */ -#line 424 "tools/widl/parser.y" +#line 425 "tools/widl/parser.y" { (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 3680 "tools/widl/parser.tab.c" +#line 3695 "tools/widl/parser.tab.c" break; case 22: /* gbl_statements: gbl_statements runtimeclass ';' */ -#line 426 "tools/widl/parser.y" +#line 427 "tools/widl/parser.y" { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); } -#line 3686 "tools/widl/parser.tab.c" +#line 3701 "tools/widl/parser.tab.c" break; case 23: /* gbl_statements: gbl_statements runtimeclass_def */ -#line 427 "tools/widl/parser.y" +#line 428 "tools/widl/parser.y" { (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 3693 "tools/widl/parser.tab.c" +#line 3708 "tools/widl/parser.tab.c" break; case 24: /* gbl_statements: gbl_statements moduledef */ -#line 429 "tools/widl/parser.y" +#line 430 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); } -#line 3699 "tools/widl/parser.tab.c" +#line 3714 "tools/widl/parser.tab.c" break; case 25: /* gbl_statements: gbl_statements librarydef */ -#line 430 "tools/widl/parser.y" +#line 431 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); } -#line 3705 "tools/widl/parser.tab.c" +#line 3720 "tools/widl/parser.tab.c" break; case 26: /* gbl_statements: gbl_statements statement */ -#line 431 "tools/widl/parser.y" +#line 432 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } -#line 3711 "tools/widl/parser.tab.c" +#line 3726 "tools/widl/parser.tab.c" break; case 27: /* gbl_statements: gbl_statements decl_block */ -#line 432 "tools/widl/parser.y" +#line 433 "tools/widl/parser.y" { (yyval.stmt_list) = append_statements((yyvsp[-1].stmt_list), (yyvsp[0].stmt_list)); } -#line 3717 "tools/widl/parser.tab.c" +#line 3732 "tools/widl/parser.tab.c" break; case 28: /* imp_statements: %empty */ -#line 436 "tools/widl/parser.y" +#line 437 "tools/widl/parser.y" { (yyval.stmt_list) = NULL; } -#line 3723 "tools/widl/parser.tab.c" +#line 3738 "tools/widl/parser.tab.c" break; case 29: /* imp_statements: imp_statements interface ';' */ -#line 437 "tools/widl/parser.y" +#line 438 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-2].stmt_list), make_statement_reference((yyvsp[-1].type))); } -#line 3729 "tools/widl/parser.tab.c" +#line 3744 "tools/widl/parser.tab.c" break; case 30: /* imp_statements: imp_statements dispinterface ';' */ -#line 438 "tools/widl/parser.y" +#line 439 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-2].stmt_list), make_statement_reference((yyvsp[-1].type))); } -#line 3735 "tools/widl/parser.tab.c" +#line 3750 "tools/widl/parser.tab.c" break; case 31: /* $@2: %empty */ -#line 439 "tools/widl/parser.y" +#line 440 "tools/widl/parser.y" { push_namespaces((yyvsp[-1].str_list)); } -#line 3741 "tools/widl/parser.tab.c" +#line 3756 "tools/widl/parser.tab.c" break; case 32: /* imp_statements: imp_statements namespacedef '{' $@2 imp_statements '}' */ -#line 440 "tools/widl/parser.y" +#line 441 "tools/widl/parser.y" { pop_namespaces((yyvsp[-4].str_list)); (yyval.stmt_list) = append_statements((yyvsp[-5].stmt_list), (yyvsp[-1].stmt_list)); } -#line 3747 "tools/widl/parser.tab.c" +#line 3762 "tools/widl/parser.tab.c" break; case 33: /* imp_statements: imp_statements interfacedef */ -#line 441 "tools/widl/parser.y" +#line 442 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); } -#line 3753 "tools/widl/parser.tab.c" +#line 3768 "tools/widl/parser.tab.c" break; case 34: /* imp_statements: imp_statements delegatedef */ -#line 442 "tools/widl/parser.y" +#line 443 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); } -#line 3759 "tools/widl/parser.tab.c" +#line 3774 "tools/widl/parser.tab.c" break; case 35: /* imp_statements: imp_statements coclass ';' */ -#line 443 "tools/widl/parser.y" +#line 444 "tools/widl/parser.y" { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); } -#line 3765 "tools/widl/parser.tab.c" +#line 3780 "tools/widl/parser.tab.c" break; case 36: /* imp_statements: imp_statements coclassdef */ -#line 444 "tools/widl/parser.y" +#line 445 "tools/widl/parser.y" { (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 3773 "tools/widl/parser.tab.c" +#line 3788 "tools/widl/parser.tab.c" break; case 37: /* imp_statements: imp_statements apicontract ';' */ -#line 447 "tools/widl/parser.y" +#line 448 "tools/widl/parser.y" { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); } -#line 3779 "tools/widl/parser.tab.c" +#line 3794 "tools/widl/parser.tab.c" break; case 38: /* imp_statements: imp_statements apicontract_def */ -#line 448 "tools/widl/parser.y" +#line 449 "tools/widl/parser.y" { (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 3786 "tools/widl/parser.tab.c" +#line 3801 "tools/widl/parser.tab.c" break; case 39: /* imp_statements: imp_statements runtimeclass ';' */ -#line 450 "tools/widl/parser.y" +#line 451 "tools/widl/parser.y" { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); } -#line 3792 "tools/widl/parser.tab.c" +#line 3807 "tools/widl/parser.tab.c" break; case 40: /* imp_statements: imp_statements runtimeclass_def */ -#line 451 "tools/widl/parser.y" +#line 452 "tools/widl/parser.y" { (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 3799 "tools/widl/parser.tab.c" +#line 3814 "tools/widl/parser.tab.c" break; case 41: /* imp_statements: imp_statements moduledef */ -#line 453 "tools/widl/parser.y" +#line 454 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); } -#line 3805 "tools/widl/parser.tab.c" +#line 3820 "tools/widl/parser.tab.c" break; case 42: /* imp_statements: imp_statements statement */ -#line 454 "tools/widl/parser.y" +#line 455 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } -#line 3811 "tools/widl/parser.tab.c" +#line 3826 "tools/widl/parser.tab.c" break; case 43: /* imp_statements: imp_statements importlib */ -#line 455 "tools/widl/parser.y" +#line 456 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_importlib((yyvsp[0].str))); } -#line 3817 "tools/widl/parser.tab.c" +#line 3832 "tools/widl/parser.tab.c" break; case 44: /* imp_statements: imp_statements librarydef */ -#line 456 "tools/widl/parser.y" +#line 457 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); } -#line 3823 "tools/widl/parser.tab.c" +#line 3838 "tools/widl/parser.tab.c" break; case 45: /* imp_statements: imp_statements imp_decl_block */ -#line 457 "tools/widl/parser.y" +#line 458 "tools/widl/parser.y" { (yyval.stmt_list) = append_statements((yyvsp[-1].stmt_list), (yyvsp[0].stmt_list)); } -#line 3829 "tools/widl/parser.tab.c" +#line 3844 "tools/widl/parser.tab.c" break; case 46: /* int_statements: %empty */ -#line 461 "tools/widl/parser.y" +#line 462 "tools/widl/parser.y" { (yyval.stmt_list) = NULL; } -#line 3835 "tools/widl/parser.tab.c" +#line 3850 "tools/widl/parser.tab.c" break; case 47: /* int_statements: int_statements statement */ -#line 462 "tools/widl/parser.y" +#line 463 "tools/widl/parser.y" { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } -#line 3841 "tools/widl/parser.tab.c" +#line 3856 "tools/widl/parser.tab.c" break; case 50: /* statement: cppquote */ -#line 471 "tools/widl/parser.y" +#line 472 "tools/widl/parser.y" { (yyval.statement) = make_statement_cppquote((yyvsp[0].str)); } -#line 3847 "tools/widl/parser.tab.c" +#line 3862 "tools/widl/parser.tab.c" break; case 51: /* statement: typedecl ';' */ -#line 472 "tools/widl/parser.y" +#line 473 "tools/widl/parser.y" { (yyval.statement) = make_statement_type_decl((yyvsp[-1].type)); } -#line 3853 "tools/widl/parser.tab.c" +#line 3868 "tools/widl/parser.tab.c" break; case 52: /* statement: declaration ';' */ -#line 473 "tools/widl/parser.y" +#line 474 "tools/widl/parser.y" { (yyval.statement) = make_statement_declaration((yyvsp[-1].var)); } -#line 3859 "tools/widl/parser.tab.c" +#line 3874 "tools/widl/parser.tab.c" break; case 53: /* statement: import */ -#line 474 "tools/widl/parser.y" +#line 475 "tools/widl/parser.y" { (yyval.statement) = make_statement_import((yyvsp[0].str)); } -#line 3865 "tools/widl/parser.tab.c" +#line 3880 "tools/widl/parser.tab.c" break; case 54: /* statement: typedef ';' */ -#line 475 "tools/widl/parser.y" +#line 476 "tools/widl/parser.y" { (yyval.statement) = (yyvsp[-1].statement); } -#line 3871 "tools/widl/parser.tab.c" +#line 3886 "tools/widl/parser.tab.c" break; case 55: /* statement: aPRAGMA */ -#line 476 "tools/widl/parser.y" +#line 477 "tools/widl/parser.y" { (yyval.statement) = make_statement_pragma((yyvsp[0].str)); } -#line 3877 "tools/widl/parser.tab.c" +#line 3892 "tools/widl/parser.tab.c" break; case 56: /* statement: pragma_warning */ -#line 477 "tools/widl/parser.y" +#line 478 "tools/widl/parser.y" { (yyval.statement) = NULL; } -#line 3883 "tools/widl/parser.tab.c" +#line 3898 "tools/widl/parser.tab.c" break; case 57: /* pragma_warning: tPRAGMA_WARNING '(' aIDENTIFIER ':' warnings ')' */ -#line 481 "tools/widl/parser.y" +#line 482 "tools/widl/parser.y" { int result; (yyval.statement) = NULL; @@ -3891,1054 +3906,1060 @@ if(!result) error_loc("expected \"disable\", \"enable\" or \"default\"\n"); } -#line 3895 "tools/widl/parser.tab.c" +#line 3910 "tools/widl/parser.tab.c" break; case 58: /* pragma_warning: tPRAGMA_WARNING '(' tDEFAULT ':' warnings ')' */ -#line 489 "tools/widl/parser.y" +#line 490 "tools/widl/parser.y" { (yyval.statement) = NULL; do_warning("default", (yyvsp[-1].warning_list)); } -#line 3904 "tools/widl/parser.tab.c" +#line 3919 "tools/widl/parser.tab.c" break; case 59: /* warnings: aNUM */ -#line 496 "tools/widl/parser.y" +#line 497 "tools/widl/parser.y" { (yyval.warning_list) = append_warning(NULL, (yyvsp[0].num)); } -#line 3910 "tools/widl/parser.tab.c" +#line 3925 "tools/widl/parser.tab.c" break; case 60: /* warnings: warnings aNUM */ -#line 497 "tools/widl/parser.y" +#line 498 "tools/widl/parser.y" { (yyval.warning_list) = append_warning((yyvsp[-1].warning_list), (yyvsp[0].num)); } -#line 3916 "tools/widl/parser.tab.c" +#line 3931 "tools/widl/parser.tab.c" break; case 62: /* typedecl: tENUM aIDENTIFIER */ -#line 502 "tools/widl/parser.y" +#line 503 "tools/widl/parser.y" { (yyval.type) = type_new_enum((yyvsp[0].str), current_namespace, FALSE, NULL); } -#line 3922 "tools/widl/parser.tab.c" +#line 3937 "tools/widl/parser.tab.c" break; case 64: /* typedecl: tSTRUCT aIDENTIFIER */ -#line 504 "tools/widl/parser.y" +#line 505 "tools/widl/parser.y" { (yyval.type) = type_new_struct((yyvsp[0].str), current_namespace, FALSE, NULL); } -#line 3928 "tools/widl/parser.tab.c" +#line 3943 "tools/widl/parser.tab.c" break; case 66: /* typedecl: tUNION aIDENTIFIER */ -#line 506 "tools/widl/parser.y" +#line 507 "tools/widl/parser.y" { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), current_namespace, FALSE, NULL); } -#line 3934 "tools/widl/parser.tab.c" +#line 3949 "tools/widl/parser.tab.c" break; case 67: /* typedecl: attributes enumdef */ -#line 507 "tools/widl/parser.y" +#line 508 "tools/widl/parser.y" { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_enum_attrs((yyvsp[-1].attr_list)); } -#line 3940 "tools/widl/parser.tab.c" +#line 3955 "tools/widl/parser.tab.c" break; case 68: /* typedecl: attributes structdef */ -#line 508 "tools/widl/parser.y" +#line 509 "tools/widl/parser.y" { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_struct_attrs((yyvsp[-1].attr_list)); } -#line 3946 "tools/widl/parser.tab.c" +#line 3961 "tools/widl/parser.tab.c" break; case 69: /* typedecl: attributes uniondef */ -#line 509 "tools/widl/parser.y" +#line 510 "tools/widl/parser.y" { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_union_attrs((yyvsp[-1].attr_list)); } -#line 3952 "tools/widl/parser.tab.c" +#line 3967 "tools/widl/parser.tab.c" break; case 70: /* cppquote: tCPPQUOTE '(' aSTRING ')' */ -#line 512 "tools/widl/parser.y" +#line 513 "tools/widl/parser.y" { (yyval.str) = (yyvsp[-1].str); } -#line 3958 "tools/widl/parser.tab.c" +#line 3973 "tools/widl/parser.tab.c" break; case 71: /* import_start: tIMPORT aSTRING ';' */ -#line 515 "tools/widl/parser.y" +#line 516 "tools/widl/parser.y" { (yyval.str) = (yyvsp[-1].str); push_import( (yyvsp[-1].str), &yylloc ); } -#line 3964 "tools/widl/parser.tab.c" +#line 3979 "tools/widl/parser.tab.c" break; case 72: /* import: import_start imp_statements aEOF */ -#line 517 "tools/widl/parser.y" +#line 518 "tools/widl/parser.y" { pop_import( &yylloc ); } -#line 3970 "tools/widl/parser.tab.c" +#line 3985 "tools/widl/parser.tab.c" break; case 73: /* importlib: tIMPORTLIB '(' aSTRING ')' semicolon_opt */ -#line 521 "tools/widl/parser.y" +#line 522 "tools/widl/parser.y" { (yyval.str) = (yyvsp[-2].str); if(!parse_only) add_importlib((yyvsp[-2].str), current_typelib); } -#line 3976 "tools/widl/parser.tab.c" +#line 3991 "tools/widl/parser.tab.c" break; case 74: /* libraryhdr: tLIBRARY typename */ -#line 524 "tools/widl/parser.y" +#line 525 "tools/widl/parser.y" { (yyval.str) = (yyvsp[0].str); } -#line 3982 "tools/widl/parser.tab.c" +#line 3997 "tools/widl/parser.tab.c" break; case 75: /* library_start: attributes libraryhdr '{' */ -#line 526 "tools/widl/parser.y" +#line 527 "tools/widl/parser.y" { (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 3990 "tools/widl/parser.tab.c" +#line 4005 "tools/widl/parser.tab.c" break; case 76: /* librarydef: library_start imp_statements '}' semicolon_opt */ -#line 531 "tools/widl/parser.y" +#line 532 "tools/widl/parser.y" { (yyval.typelib) = (yyvsp[-3].typelib); (yyval.typelib)->stmts = (yyvsp[-2].stmt_list); } -#line 3996 "tools/widl/parser.tab.c" +#line 4011 "tools/widl/parser.tab.c" break; case 77: /* m_args: %empty */ -#line 535 "tools/widl/parser.y" +#line 536 "tools/widl/parser.y" { (yyval.var_list) = NULL; } -#line 4002 "tools/widl/parser.tab.c" +#line 4017 "tools/widl/parser.tab.c" break; case 79: /* arg_list: arg */ -#line 539 "tools/widl/parser.y" +#line 540 "tools/widl/parser.y" { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( NULL, (yyvsp[0].var) ); } -#line 4008 "tools/widl/parser.tab.c" +#line 4023 "tools/widl/parser.tab.c" break; case 80: /* arg_list: arg_list ',' arg */ -#line 540 "tools/widl/parser.y" +#line 541 "tools/widl/parser.y" { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) ); } -#line 4014 "tools/widl/parser.tab.c" +#line 4029 "tools/widl/parser.tab.c" break; case 82: /* args: arg_list ',' ELLIPSIS */ -#line 544 "tools/widl/parser.y" +#line 545 "tools/widl/parser.y" { (yyval.var_list) = append_var( (yyvsp[-2].var_list), make_var(xstrdup("...")) ); } -#line 4020 "tools/widl/parser.tab.c" +#line 4035 "tools/widl/parser.tab.c" break; case 83: /* arg: attributes decl_spec m_any_declarator */ -#line 548 "tools/widl/parser.y" +#line 549 "tools/widl/parser.y" { if ((yyvsp[-1].declspec)->stgclass != STG_NONE && (yyvsp[-1].declspec)->stgclass != STG_REGISTER) error_loc("invalid storage class for function parameter\n"); (yyval.var) = declare_var((yyvsp[-2].attr_list), (yyvsp[-1].declspec), (yyvsp[0].declarator), TRUE); free((yyvsp[-1].declspec)); free((yyvsp[0].declarator)); } -#line 4030 "tools/widl/parser.tab.c" +#line 4045 "tools/widl/parser.tab.c" break; case 84: /* arg: decl_spec m_any_declarator */ -#line 553 "tools/widl/parser.y" +#line 554 "tools/widl/parser.y" { if ((yyvsp[-1].declspec)->stgclass != STG_NONE && (yyvsp[-1].declspec)->stgclass != STG_REGISTER) error_loc("invalid storage class for function parameter\n"); (yyval.var) = declare_var(NULL, (yyvsp[-1].declspec), (yyvsp[0].declarator), TRUE); free((yyvsp[-1].declspec)); free((yyvsp[0].declarator)); } -#line 4040 "tools/widl/parser.tab.c" +#line 4055 "tools/widl/parser.tab.c" break; case 85: /* array: '[' expr ']' */ -#line 560 "tools/widl/parser.y" +#line 561 "tools/widl/parser.y" { (yyval.expr) = (yyvsp[-1].expr); if (!(yyval.expr)->is_const || (yyval.expr)->cval <= 0) error_loc("array dimension is not a positive integer constant\n"); } -#line 4049 "tools/widl/parser.tab.c" +#line 4064 "tools/widl/parser.tab.c" break; case 86: /* array: '[' '*' ']' */ -#line 564 "tools/widl/parser.y" +#line 565 "tools/widl/parser.y" { (yyval.expr) = make_expr(EXPR_VOID); } -#line 4055 "tools/widl/parser.tab.c" +#line 4070 "tools/widl/parser.tab.c" break; case 87: /* array: '[' ']' */ -#line 565 "tools/widl/parser.y" +#line 566 "tools/widl/parser.y" { (yyval.expr) = make_expr(EXPR_VOID); } -#line 4061 "tools/widl/parser.tab.c" +#line 4076 "tools/widl/parser.tab.c" break; case 88: /* m_attributes: %empty */ -#line 569 "tools/widl/parser.y" +#line 570 "tools/widl/parser.y" { (yyval.attr_list) = NULL; } -#line 4067 "tools/widl/parser.tab.c" +#line 4082 "tools/widl/parser.tab.c" break; case 90: /* attributes: '[' attrib_list ']' */ -#line 574 "tools/widl/parser.y" +#line 575 "tools/widl/parser.y" { (yyval.attr_list) = (yyvsp[-1].attr_list); } -#line 4073 "tools/widl/parser.tab.c" +#line 4088 "tools/widl/parser.tab.c" break; case 91: /* attrib_list: attribute */ -#line 577 "tools/widl/parser.y" +#line 578 "tools/widl/parser.y" { (yyval.attr_list) = append_attr( NULL, (yyvsp[0].attr) ); } -#line 4079 "tools/widl/parser.tab.c" +#line 4094 "tools/widl/parser.tab.c" break; case 92: /* attrib_list: attrib_list ',' attribute */ -#line 578 "tools/widl/parser.y" +#line 579 "tools/widl/parser.y" { (yyval.attr_list) = append_attr( (yyvsp[-2].attr_list), (yyvsp[0].attr) ); } -#line 4085 "tools/widl/parser.tab.c" +#line 4100 "tools/widl/parser.tab.c" break; case 93: /* attrib_list: attrib_list ']' '[' attribute */ -#line 579 "tools/widl/parser.y" +#line 580 "tools/widl/parser.y" { (yyval.attr_list) = append_attr( (yyvsp[-3].attr_list), (yyvsp[0].attr) ); } -#line 4091 "tools/widl/parser.tab.c" +#line 4106 "tools/widl/parser.tab.c" break; case 94: /* str_list: aSTRING */ -#line 582 "tools/widl/parser.y" +#line 583 "tools/widl/parser.y" { (yyval.str_list) = append_str( NULL, (yyvsp[0].str) ); } -#line 4097 "tools/widl/parser.tab.c" +#line 4112 "tools/widl/parser.tab.c" break; case 95: /* str_list: str_list ',' aSTRING */ -#line 583 "tools/widl/parser.y" +#line 584 "tools/widl/parser.y" { (yyval.str_list) = append_str( (yyvsp[-2].str_list), (yyvsp[0].str) ); } -#line 4103 "tools/widl/parser.tab.c" +#line 4118 "tools/widl/parser.tab.c" break; case 96: /* marshaling_behavior: tAGILE */ -#line 587 "tools/widl/parser.y" +#line 588 "tools/widl/parser.y" { (yyval.num) = MARSHALING_AGILE; } -#line 4109 "tools/widl/parser.tab.c" +#line 4124 "tools/widl/parser.tab.c" break; case 97: /* marshaling_behavior: tNONE */ -#line 588 "tools/widl/parser.y" +#line 589 "tools/widl/parser.y" { (yyval.num) = MARSHALING_NONE; } -#line 4115 "tools/widl/parser.tab.c" +#line 4130 "tools/widl/parser.tab.c" break; case 98: /* marshaling_behavior: tSTANDARD */ -#line 589 "tools/widl/parser.y" +#line 590 "tools/widl/parser.y" { (yyval.num) = MARSHALING_STANDARD; } -#line 4121 "tools/widl/parser.tab.c" +#line 4136 "tools/widl/parser.tab.c" break; case 99: /* contract_ver: aNUM */ -#line 593 "tools/widl/parser.y" +#line 594 "tools/widl/parser.y" { (yyval.num) = MAKEVERSION(0, (yyvsp[0].num)); } -#line 4127 "tools/widl/parser.tab.c" +#line 4142 "tools/widl/parser.tab.c" break; case 100: /* contract_ver: aNUM '.' aNUM */ -#line 594 "tools/widl/parser.y" +#line 595 "tools/widl/parser.y" { (yyval.num) = MAKEVERSION((yyvsp[0].num), (yyvsp[-2].num)); } -#line 4133 "tools/widl/parser.tab.c" +#line 4148 "tools/widl/parser.tab.c" break; case 101: /* contract_req: decl_spec ',' contract_ver */ -#line 598 "tools/widl/parser.y" +#line 599 "tools/widl/parser.y" { if ((yyvsp[-2].declspec)->type->type_type != TYPE_APICONTRACT) error_loc("type %s is not an apicontract\n", (yyvsp[-2].declspec)->type->name); (yyval.expr) = make_exprl(EXPR_NUM, (yyvsp[0].num)); (yyval.expr) = make_exprt(EXPR_GTREQL, declare_var(NULL, (yyvsp[-2].declspec), make_declarator(NULL), 0), (yyval.expr)); } -#line 4143 "tools/widl/parser.tab.c" +#line 4158 "tools/widl/parser.tab.c" break; case 102: /* static_attr: decl_spec ',' contract_req */ -#line 606 "tools/widl/parser.y" +#line 607 "tools/widl/parser.y" { if ((yyvsp[-2].declspec)->type->type_type != TYPE_INTERFACE) error_loc("type %s is not an interface\n", (yyvsp[-2].declspec)->type->name); (yyval.expr) = make_exprt(EXPR_MEMBER, declare_var(NULL, (yyvsp[-2].declspec), make_declarator(NULL), 0), (yyvsp[0].expr)); } -#line 4152 "tools/widl/parser.tab.c" - break; - - case 103: /* activatable_attr: decl_spec ',' contract_req */ -#line 613 "tools/widl/parser.y" - { if ((yyvsp[-2].declspec)->type->type_type != TYPE_INTERFACE) - error_loc("type %s is not an interface\n", (yyvsp[-2].declspec)->type->name); - (yyval.expr) = make_exprt(EXPR_MEMBER, declare_var(NULL, (yyvsp[-2].declspec), make_declarator(NULL), 0), (yyvsp[0].expr)); - } -#line 4161 "tools/widl/parser.tab.c" - break; - - case 104: /* activatable_attr: contract_req */ -#line 617 "tools/widl/parser.y" - { (yyval.expr) = (yyvsp[0].expr); } #line 4167 "tools/widl/parser.tab.c" break; + case 103: /* activatable_attr: decl_spec ',' contract_req */ +#line 614 "tools/widl/parser.y" + { if ((yyvsp[-2].declspec)->type->type_type != TYPE_INTERFACE) + error_loc("type %s is not an interface\n", (yyvsp[-2].declspec)->type->name); + (yyval.expr) = make_exprt(EXPR_MEMBER, declare_var(NULL, (yyvsp[-2].declspec), make_declarator(NULL), 0), (yyvsp[0].expr)); + } +#line 4176 "tools/widl/parser.tab.c" + break; + + case 104: /* activatable_attr: contract_req */ +#line 618 "tools/widl/parser.y" + { (yyval.expr) = (yyvsp[0].expr); } +#line 4182 "tools/widl/parser.tab.c" + break; + case 105: /* access_attr: tPUBLIC */ -#line 621 "tools/widl/parser.y" +#line 622 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_PUBLIC, 0 ); } -#line 4173 "tools/widl/parser.tab.c" +#line 4188 "tools/widl/parser.tab.c" break; case 106: /* access_attr: tPROTECTED */ -#line 622 "tools/widl/parser.y" +#line 623 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_PROTECTED, 0 ); } -#line 4179 "tools/widl/parser.tab.c" +#line 4194 "tools/widl/parser.tab.c" break; case 107: /* composable_attr: decl_spec ',' access_attr ',' contract_req */ -#line 627 "tools/widl/parser.y" +#line 628 "tools/widl/parser.y" { if ((yyvsp[-4].declspec)->type->type_type != TYPE_INTERFACE) error_loc( "type %s is not an interface\n", (yyvsp[-4].declspec)->type->name ); (yyval.expr) = make_exprt( EXPR_MEMBER, declare_var( append_attr( NULL, (yyvsp[-2].attr) ), (yyvsp[-4].declspec), make_declarator( NULL ), 0 ), (yyvsp[0].expr) ); } -#line 4188 "tools/widl/parser.tab.c" +#line 4203 "tools/widl/parser.tab.c" break; case 108: /* deprecated_attr: aSTRING ',' aIDENTIFIER ',' contract_req */ -#line 635 "tools/widl/parser.y" +#line 636 "tools/widl/parser.y" { (yyval.expr) = make_expr3( EXPR_MEMBER, make_exprs( EXPR_STRLIT, (yyvsp[-4].str) ), make_exprs( EXPR_IDENTIFIER, (yyvsp[-2].str) ), (yyvsp[0].expr) ); } -#line 4194 "tools/widl/parser.tab.c" +#line 4209 "tools/widl/parser.tab.c" break; case 109: /* attribute: %empty */ -#line 639 "tools/widl/parser.y" +#line 640 "tools/widl/parser.y" { (yyval.attr) = NULL; } -#line 4200 "tools/widl/parser.tab.c" +#line 4215 "tools/widl/parser.tab.c" break; case 110: /* attribute: tACTIVATABLE '(' activatable_attr ')' */ -#line 640 "tools/widl/parser.y" +#line 641 "tools/widl/parser.y" { (yyval.attr) = attr_ptr( (yyloc), ATTR_ACTIVATABLE, (yyvsp[-1].expr) ); } -#line 4206 "tools/widl/parser.tab.c" +#line 4221 "tools/widl/parser.tab.c" break; case 111: /* attribute: tAGGREGATABLE */ -#line 641 "tools/widl/parser.y" +#line 642 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_AGGREGATABLE, 0 ); } -#line 4212 "tools/widl/parser.tab.c" +#line 4227 "tools/widl/parser.tab.c" break; case 112: /* attribute: tANNOTATION '(' aSTRING ')' */ -#line 642 "tools/widl/parser.y" +#line 643 "tools/widl/parser.y" { (yyval.attr) = attr_ptr( (yyloc), ATTR_ANNOTATION, (yyvsp[-1].str) ); } -#line 4218 "tools/widl/parser.tab.c" +#line 4233 "tools/widl/parser.tab.c" break; case 113: /* attribute: tAPPOBJECT */ -#line 643 "tools/widl/parser.y" +#line 644 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_APPOBJECT, 0 ); } -#line 4224 "tools/widl/parser.tab.c" +#line 4239 "tools/widl/parser.tab.c" break; case 114: /* attribute: tASYNC */ -#line 644 "tools/widl/parser.y" +#line 645 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_ASYNC, 0 ); } -#line 4230 "tools/widl/parser.tab.c" +#line 4245 "tools/widl/parser.tab.c" break; case 115: /* attribute: tAUTOHANDLE */ -#line 645 "tools/widl/parser.y" +#line 646 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_AUTO_HANDLE, 0 ); } -#line 4236 "tools/widl/parser.tab.c" +#line 4251 "tools/widl/parser.tab.c" break; case 116: /* attribute: tBINDABLE */ -#line 646 "tools/widl/parser.y" +#line 647 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_BINDABLE, 0 ); } -#line 4242 "tools/widl/parser.tab.c" +#line 4257 "tools/widl/parser.tab.c" break; case 117: /* attribute: tBROADCAST */ -#line 647 "tools/widl/parser.y" +#line 648 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_BROADCAST, 0 ); } -#line 4248 "tools/widl/parser.tab.c" +#line 4263 "tools/widl/parser.tab.c" break; case 118: /* attribute: tCALLAS '(' ident ')' */ -#line 648 "tools/widl/parser.y" +#line 649 "tools/widl/parser.y" { (yyval.attr) = attr_ptr( (yyloc), ATTR_CALLAS, (yyvsp[-1].var) ); } -#line 4254 "tools/widl/parser.tab.c" +#line 4269 "tools/widl/parser.tab.c" break; case 119: /* attribute: tCASE '(' expr_list_int_const ')' */ -#line 649 "tools/widl/parser.y" +#line 650 "tools/widl/parser.y" { (yyval.attr) = attr_ptr( (yyloc), ATTR_CASE, (yyvsp[-1].expr_list) ); } -#line 4260 "tools/widl/parser.tab.c" +#line 4275 "tools/widl/parser.tab.c" break; case 120: /* attribute: tCODE */ -#line 650 "tools/widl/parser.y" +#line 651 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_CODE, 0 ); } -#line 4266 "tools/widl/parser.tab.c" +#line 4281 "tools/widl/parser.tab.c" break; case 121: /* attribute: tCOMPOSABLE '(' composable_attr ')' */ -#line 651 "tools/widl/parser.y" +#line 652 "tools/widl/parser.y" { (yyval.attr) = attr_ptr( (yyloc), ATTR_COMPOSABLE, (yyvsp[-1].expr) ); } -#line 4272 "tools/widl/parser.tab.c" +#line 4287 "tools/widl/parser.tab.c" break; case 122: /* attribute: tCOMMSTATUS */ -#line 652 "tools/widl/parser.y" +#line 653 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_COMMSTATUS, 0 ); } -#line 4278 "tools/widl/parser.tab.c" +#line 4293 "tools/widl/parser.tab.c" break; case 123: /* attribute: tCONTEXTHANDLE */ -#line 653 "tools/widl/parser.y" +#line 654 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_CONTEXTHANDLE, 0 ); } -#line 4284 "tools/widl/parser.tab.c" +#line 4299 "tools/widl/parser.tab.c" break; case 124: /* attribute: tCONTEXTHANDLENOSERIALIZE */ -#line 654 "tools/widl/parser.y" +#line 655 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_CONTEXTHANDLE, 0 ); /* RPC_CONTEXT_HANDLE_DONT_SERIALIZE */ } -#line 4290 "tools/widl/parser.tab.c" +#line 4305 "tools/widl/parser.tab.c" break; case 125: /* attribute: tCONTEXTHANDLESERIALIZE */ -#line 655 "tools/widl/parser.y" +#line 656 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_CONTEXTHANDLE, 0 ); /* RPC_CONTEXT_HANDLE_SERIALIZE */ } -#line 4296 "tools/widl/parser.tab.c" +#line 4311 "tools/widl/parser.tab.c" break; case 126: /* attribute: tCONTRACT '(' contract_req ')' */ -#line 656 "tools/widl/parser.y" +#line 657 "tools/widl/parser.y" { (yyval.attr) = attr_ptr( (yyloc), ATTR_CONTRACT, (yyvsp[-1].expr) ); } -#line 4302 "tools/widl/parser.tab.c" +#line 4317 "tools/widl/parser.tab.c" break; case 127: /* attribute: tCONTRACTVERSION '(' contract_ver ')' */ -#line 657 "tools/widl/parser.y" +#line 658 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_CONTRACTVERSION, (yyvsp[-1].num) ); } -#line 4308 "tools/widl/parser.tab.c" +#line 4323 "tools/widl/parser.tab.c" break; case 128: /* attribute: tCONTROL */ -#line 658 "tools/widl/parser.y" +#line 659 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_CONTROL, 0 ); } -#line 4314 "tools/widl/parser.tab.c" +#line 4329 "tools/widl/parser.tab.c" break; case 129: /* attribute: tCUSTOM '(' aUUID ',' expr_const ')' */ -#line 659 "tools/widl/parser.y" +#line 660 "tools/widl/parser.y" { attr_custdata_t *data = xmalloc( sizeof(*data) ); data->id = *(yyvsp[-3].uuid); data->pval = (yyvsp[-1].expr); (yyval.attr) = attr_ptr( (yyloc), ATTR_CUSTOM, data ); } -#line 4323 "tools/widl/parser.tab.c" +#line 4338 "tools/widl/parser.tab.c" break; case 130: /* attribute: tDECODE */ -#line 663 "tools/widl/parser.y" +#line 664 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_DECODE, 0 ); } -#line 4329 "tools/widl/parser.tab.c" +#line 4344 "tools/widl/parser.tab.c" break; case 131: /* attribute: tDEFAULT */ -#line 664 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_DEFAULT, 0 ); } -#line 4335 "tools/widl/parser.tab.c" - break; - - case 132: /* attribute: tDEFAULTBIND */ #line 665 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_DEFAULTBIND, 0 ); } -#line 4341 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_DEFAULT, 0 ); } +#line 4350 "tools/widl/parser.tab.c" break; - case 133: /* attribute: tDEFAULTCOLLELEM */ + case 132: /* attribute: tDEFAULT_OVERLOAD */ #line 666 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_DEFAULTCOLLELEM, 0 ); } -#line 4347 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_DEFAULT_OVERLOAD, 0 ); } +#line 4356 "tools/widl/parser.tab.c" break; - case 134: /* attribute: tDEFAULTVALUE '(' expr_const ')' */ + case 133: /* attribute: tDEFAULTBIND */ #line 667 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_DEFAULTVALUE, (yyvsp[-1].expr) ); } -#line 4353 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_DEFAULTBIND, 0 ); } +#line 4362 "tools/widl/parser.tab.c" break; - case 135: /* attribute: tDEFAULTVTABLE */ + case 134: /* attribute: tDEFAULTCOLLELEM */ #line 668 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_DEFAULTVTABLE, 0 ); } -#line 4359 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_DEFAULTCOLLELEM, 0 ); } +#line 4368 "tools/widl/parser.tab.c" break; - case 136: /* attribute: tDEPRECATED '(' deprecated_attr ')' */ + case 135: /* attribute: tDEFAULTVALUE '(' expr_const ')' */ #line 669 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_DEPRECATED, (yyvsp[-1].expr) ); } -#line 4365 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_DEFAULTVALUE, (yyvsp[-1].expr) ); } +#line 4374 "tools/widl/parser.tab.c" break; - case 137: /* attribute: tDISABLECONSISTENCYCHECK */ + case 136: /* attribute: tDEFAULTVTABLE */ #line 670 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_DISABLECONSISTENCYCHECK, 0 ); } -#line 4371 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_DEFAULTVTABLE, 0 ); } +#line 4380 "tools/widl/parser.tab.c" break; - case 138: /* attribute: tDISPLAYBIND */ + case 137: /* attribute: tDEPRECATED '(' deprecated_attr ')' */ #line 671 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_DISPLAYBIND, 0 ); } -#line 4377 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_DEPRECATED, (yyvsp[-1].expr) ); } +#line 4386 "tools/widl/parser.tab.c" break; - case 139: /* attribute: tDLLNAME '(' aSTRING ')' */ + case 138: /* attribute: tDISABLECONSISTENCYCHECK */ #line 672 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_DLLNAME, (yyvsp[-1].str) ); } -#line 4383 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_DISABLECONSISTENCYCHECK, 0 ); } +#line 4392 "tools/widl/parser.tab.c" break; - case 140: /* attribute: tDUAL */ + case 139: /* attribute: tDISPLAYBIND */ #line 673 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_DUAL, 0 ); } -#line 4389 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_DISPLAYBIND, 0 ); } +#line 4398 "tools/widl/parser.tab.c" break; - case 141: /* attribute: tENABLEALLOCATE */ + case 140: /* attribute: tDLLNAME '(' aSTRING ')' */ #line 674 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_ENABLEALLOCATE, 0 ); } -#line 4395 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_DLLNAME, (yyvsp[-1].str) ); } +#line 4404 "tools/widl/parser.tab.c" break; - case 142: /* attribute: tENCODE */ + case 141: /* attribute: tDUAL */ #line 675 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_ENCODE, 0 ); } -#line 4401 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_DUAL, 0 ); } +#line 4410 "tools/widl/parser.tab.c" break; - case 143: /* attribute: tENDPOINT '(' str_list ')' */ + case 142: /* attribute: tENABLEALLOCATE */ #line 676 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_ENDPOINT, (yyvsp[-1].str_list) ); } -#line 4407 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_ENABLEALLOCATE, 0 ); } +#line 4416 "tools/widl/parser.tab.c" break; - case 144: /* attribute: tENTRY '(' expr_const ')' */ + case 143: /* attribute: tENCODE */ #line 677 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_ENTRY, (yyvsp[-1].expr) ); } -#line 4413 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_ENCODE, 0 ); } +#line 4422 "tools/widl/parser.tab.c" break; - case 145: /* attribute: tEVENTADD */ + case 144: /* attribute: tENDPOINT '(' str_list ')' */ #line 678 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_EVENTADD, 0 ); } -#line 4419 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_ENDPOINT, (yyvsp[-1].str_list) ); } +#line 4428 "tools/widl/parser.tab.c" break; - case 146: /* attribute: tEVENTREMOVE */ + case 145: /* attribute: tENTRY '(' expr_const ')' */ #line 679 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_EVENTREMOVE, 0 ); } -#line 4425 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_ENTRY, (yyvsp[-1].expr) ); } +#line 4434 "tools/widl/parser.tab.c" break; - case 147: /* attribute: tEXCLUSIVETO '(' decl_spec ')' */ + case 146: /* attribute: tEVENTADD */ #line 680 "tools/widl/parser.y" + { (yyval.attr) = attr_int( (yyloc), ATTR_EVENTADD, 0 ); } +#line 4440 "tools/widl/parser.tab.c" + break; + + case 147: /* attribute: tEVENTREMOVE */ +#line 681 "tools/widl/parser.y" + { (yyval.attr) = attr_int( (yyloc), ATTR_EVENTREMOVE, 0 ); } +#line 4446 "tools/widl/parser.tab.c" + break; + + case 148: /* attribute: tEXCLUSIVETO '(' decl_spec ')' */ +#line 682 "tools/widl/parser.y" { if ((yyvsp[-1].declspec)->type->type_type != TYPE_RUNTIMECLASS) error_loc( "type %s is not a runtimeclass\n", (yyvsp[-1].declspec)->type->name ); (yyval.attr) = attr_ptr( (yyloc), ATTR_EXCLUSIVETO, (yyvsp[-1].declspec)->type ); } -#line 4434 "tools/widl/parser.tab.c" +#line 4455 "tools/widl/parser.tab.c" break; - case 148: /* attribute: tEXPLICITHANDLE */ -#line 684 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_EXPLICIT_HANDLE, 0 ); } -#line 4440 "tools/widl/parser.tab.c" - break; - - case 149: /* attribute: tFAULTSTATUS */ -#line 685 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_FAULTSTATUS, 0 ); } -#line 4446 "tools/widl/parser.tab.c" - break; - - case 150: /* attribute: tFLAGS */ + case 149: /* attribute: tEXPLICITHANDLE */ #line 686 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_FLAGS, 0 ); } -#line 4452 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_EXPLICIT_HANDLE, 0 ); } +#line 4461 "tools/widl/parser.tab.c" break; - case 151: /* attribute: tFORCEALLOCATE */ + case 150: /* attribute: tFAULTSTATUS */ #line 687 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_FORCEALLOCATE, 0 ); } -#line 4458 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_FAULTSTATUS, 0 ); } +#line 4467 "tools/widl/parser.tab.c" break; - case 152: /* attribute: tHANDLE */ + case 151: /* attribute: tFLAGS */ #line 688 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_HANDLE, 0 ); } -#line 4464 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_FLAGS, 0 ); } +#line 4473 "tools/widl/parser.tab.c" break; - case 153: /* attribute: tHELPCONTEXT '(' expr_int_const ')' */ + case 152: /* attribute: tFORCEALLOCATE */ #line 689 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_HELPCONTEXT, (yyvsp[-1].expr) ); } -#line 4470 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_FORCEALLOCATE, 0 ); } +#line 4479 "tools/widl/parser.tab.c" break; - case 154: /* attribute: tHELPFILE '(' aSTRING ')' */ + case 153: /* attribute: tHANDLE */ #line 690 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_HELPFILE, (yyvsp[-1].str) ); } -#line 4476 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_HANDLE, 0 ); } +#line 4485 "tools/widl/parser.tab.c" break; - case 155: /* attribute: tHELPSTRING '(' aSTRING ')' */ + case 154: /* attribute: tHELPCONTEXT '(' expr_int_const ')' */ #line 691 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_HELPSTRING, (yyvsp[-1].str) ); } -#line 4482 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_HELPCONTEXT, (yyvsp[-1].expr) ); } +#line 4491 "tools/widl/parser.tab.c" break; - case 156: /* attribute: tHELPSTRINGCONTEXT '(' expr_int_const ')' */ + case 155: /* attribute: tHELPFILE '(' aSTRING ')' */ +#line 692 "tools/widl/parser.y" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_HELPFILE, (yyvsp[-1].str) ); } +#line 4497 "tools/widl/parser.tab.c" + break; + + case 156: /* attribute: tHELPSTRING '(' aSTRING ')' */ #line 693 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_HELPSTRINGCONTEXT, (yyvsp[-1].expr) ); } -#line 4488 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_HELPSTRING, (yyvsp[-1].str) ); } +#line 4503 "tools/widl/parser.tab.c" break; - case 157: /* attribute: tHELPSTRINGDLL '(' aSTRING ')' */ -#line 694 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_HELPSTRINGDLL, (yyvsp[-1].str) ); } -#line 4494 "tools/widl/parser.tab.c" - break; - - case 158: /* attribute: tHIDDEN */ + case 157: /* attribute: tHELPSTRINGCONTEXT '(' expr_int_const ')' */ #line 695 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_HIDDEN, 0 ); } -#line 4500 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_HELPSTRINGCONTEXT, (yyvsp[-1].expr) ); } +#line 4509 "tools/widl/parser.tab.c" break; - case 159: /* attribute: tID '(' expr_int_const ')' */ + case 158: /* attribute: tHELPSTRINGDLL '(' aSTRING ')' */ #line 696 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_ID, (yyvsp[-1].expr) ); } -#line 4506 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_HELPSTRINGDLL, (yyvsp[-1].str) ); } +#line 4515 "tools/widl/parser.tab.c" break; - case 160: /* attribute: tIDEMPOTENT */ + case 159: /* attribute: tHIDDEN */ #line 697 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_IDEMPOTENT, 0 ); } -#line 4512 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_HIDDEN, 0 ); } +#line 4521 "tools/widl/parser.tab.c" break; - case 161: /* attribute: tIGNORE */ + case 160: /* attribute: tID '(' expr_int_const ')' */ #line 698 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_IGNORE, 0 ); } -#line 4518 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_ID, (yyvsp[-1].expr) ); } +#line 4527 "tools/widl/parser.tab.c" break; - case 162: /* attribute: tIIDIS '(' expr ')' */ + case 161: /* attribute: tIDEMPOTENT */ #line 699 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_IIDIS, (yyvsp[-1].expr) ); } -#line 4524 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_IDEMPOTENT, 0 ); } +#line 4533 "tools/widl/parser.tab.c" break; - case 163: /* attribute: tIMMEDIATEBIND */ + case 162: /* attribute: tIGNORE */ #line 700 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_IMMEDIATEBIND, 0 ); } -#line 4530 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_IGNORE, 0 ); } +#line 4539 "tools/widl/parser.tab.c" break; - case 164: /* attribute: tIMPLICITHANDLE '(' arg ')' */ + case 163: /* attribute: tIIDIS '(' expr ')' */ #line 701 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_IMPLICIT_HANDLE, (yyvsp[-1].var) ); } -#line 4536 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_IIDIS, (yyvsp[-1].expr) ); } +#line 4545 "tools/widl/parser.tab.c" break; - case 165: /* attribute: tIN */ + case 164: /* attribute: tIMMEDIATEBIND */ #line 702 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_IN, 0 ); } -#line 4542 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_IMMEDIATEBIND, 0 ); } +#line 4551 "tools/widl/parser.tab.c" break; - case 166: /* attribute: tINPUTSYNC */ + case 165: /* attribute: tIMPLICITHANDLE '(' arg ')' */ #line 703 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_INPUTSYNC, 0 ); } -#line 4548 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_IMPLICIT_HANDLE, (yyvsp[-1].var) ); } +#line 4557 "tools/widl/parser.tab.c" break; - case 167: /* attribute: tLENGTHIS '(' m_exprs ')' */ + case 166: /* attribute: tIN */ #line 704 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_LENGTHIS, (yyvsp[-1].expr_list) ); } -#line 4554 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_IN, 0 ); } +#line 4563 "tools/widl/parser.tab.c" break; - case 168: /* attribute: tLCID '(' expr_int_const ')' */ + case 167: /* attribute: tINPUTSYNC */ #line 705 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_LIBLCID, (yyvsp[-1].expr) ); } -#line 4560 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_INPUTSYNC, 0 ); } +#line 4569 "tools/widl/parser.tab.c" break; - case 169: /* attribute: tLCID */ + case 168: /* attribute: tLENGTHIS '(' m_exprs ')' */ #line 706 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_PARAMLCID, 0 ); } -#line 4566 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_LENGTHIS, (yyvsp[-1].expr_list) ); } +#line 4575 "tools/widl/parser.tab.c" break; - case 170: /* attribute: tLICENSED */ + case 169: /* attribute: tLCID '(' expr_int_const ')' */ #line 707 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_LICENSED, 0 ); } -#line 4572 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_LIBLCID, (yyvsp[-1].expr) ); } +#line 4581 "tools/widl/parser.tab.c" break; - case 171: /* attribute: tLOCAL */ + case 170: /* attribute: tLCID */ #line 708 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_LOCAL, 0 ); } -#line 4578 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_PARAMLCID, 0 ); } +#line 4587 "tools/widl/parser.tab.c" break; - case 172: /* attribute: tMARSHALINGBEHAVIOR '(' marshaling_behavior ')' */ + case 171: /* attribute: tLICENSED */ +#line 709 "tools/widl/parser.y" + { (yyval.attr) = attr_int( (yyloc), ATTR_LICENSED, 0 ); } +#line 4593 "tools/widl/parser.tab.c" + break; + + case 172: /* attribute: tLOCAL */ #line 710 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_MARSHALING_BEHAVIOR, (yyvsp[-1].num) ); } -#line 4584 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_LOCAL, 0 ); } +#line 4599 "tools/widl/parser.tab.c" break; - case 173: /* attribute: tMAYBE */ -#line 711 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_MAYBE, 0 ); } -#line 4590 "tools/widl/parser.tab.c" - break; - - case 174: /* attribute: tMESSAGE */ + case 173: /* attribute: tMARSHALINGBEHAVIOR '(' marshaling_behavior ')' */ #line 712 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_MESSAGE, 0 ); } -#line 4596 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_MARSHALING_BEHAVIOR, (yyvsp[-1].num) ); } +#line 4605 "tools/widl/parser.tab.c" break; - case 175: /* attribute: tNOCODE */ + case 174: /* attribute: tMAYBE */ #line 713 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_NOCODE, 0 ); } -#line 4602 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_MAYBE, 0 ); } +#line 4611 "tools/widl/parser.tab.c" break; - case 176: /* attribute: tNONBROWSABLE */ + case 175: /* attribute: tMESSAGE */ #line 714 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_NONBROWSABLE, 0 ); } -#line 4608 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_MESSAGE, 0 ); } +#line 4617 "tools/widl/parser.tab.c" break; - case 177: /* attribute: tNONCREATABLE */ + case 176: /* attribute: tNOCODE */ #line 715 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_NONCREATABLE, 0 ); } -#line 4614 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_NOCODE, 0 ); } +#line 4623 "tools/widl/parser.tab.c" break; - case 178: /* attribute: tNONEXTENSIBLE */ + case 177: /* attribute: tNONBROWSABLE */ #line 716 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_NONEXTENSIBLE, 0 ); } -#line 4620 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_NONBROWSABLE, 0 ); } +#line 4629 "tools/widl/parser.tab.c" break; - case 179: /* attribute: tNOTIFY */ + case 178: /* attribute: tNONCREATABLE */ #line 717 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_NOTIFY, 0 ); } -#line 4626 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_NONCREATABLE, 0 ); } +#line 4635 "tools/widl/parser.tab.c" break; - case 180: /* attribute: tNOTIFYFLAG */ + case 179: /* attribute: tNONEXTENSIBLE */ #line 718 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_NOTIFYFLAG, 0 ); } -#line 4632 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_NONEXTENSIBLE, 0 ); } +#line 4641 "tools/widl/parser.tab.c" break; - case 181: /* attribute: tOBJECT */ + case 180: /* attribute: tNOTIFY */ #line 719 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_OBJECT, 0 ); } -#line 4638 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_NOTIFY, 0 ); } +#line 4647 "tools/widl/parser.tab.c" break; - case 182: /* attribute: tODL */ + case 181: /* attribute: tNOTIFYFLAG */ #line 720 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_ODL, 0 ); } -#line 4644 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_NOTIFYFLAG, 0 ); } +#line 4653 "tools/widl/parser.tab.c" break; - case 183: /* attribute: tOLEAUTOMATION */ + case 182: /* attribute: tOBJECT */ #line 721 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_OLEAUTOMATION, 0 ); } -#line 4650 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_OBJECT, 0 ); } +#line 4659 "tools/widl/parser.tab.c" break; - case 184: /* attribute: tOPTIMIZE '(' aSTRING ')' */ + case 183: /* attribute: tODL */ #line 722 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_OPTIMIZE, (yyvsp[-1].str) ); } -#line 4656 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_ODL, 0 ); } +#line 4665 "tools/widl/parser.tab.c" break; - case 185: /* attribute: tOPTIONAL */ + case 184: /* attribute: tOLEAUTOMATION */ #line 723 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_OPTIONAL, 0 ); } -#line 4662 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_OLEAUTOMATION, 0 ); } +#line 4671 "tools/widl/parser.tab.c" break; - case 186: /* attribute: tOUT */ + case 185: /* attribute: tOPTIMIZE '(' aSTRING ')' */ #line 724 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_OUT, 0 ); } -#line 4668 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_OPTIMIZE, (yyvsp[-1].str) ); } +#line 4677 "tools/widl/parser.tab.c" break; - case 187: /* attribute: tOVERLOAD '(' aSTRING ')' */ + case 186: /* attribute: tOPTIONAL */ #line 725 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_OVERLOAD, (yyvsp[-1].str) ); } -#line 4674 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_OPTIONAL, 0 ); } +#line 4683 "tools/widl/parser.tab.c" break; - case 188: /* attribute: tPARTIALIGNORE */ + case 187: /* attribute: tOUT */ #line 726 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_PARTIALIGNORE, 0 ); } -#line 4680 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_OUT, 0 ); } +#line 4689 "tools/widl/parser.tab.c" break; - case 189: /* attribute: tPOINTERDEFAULT '(' pointer_type ')' */ + case 188: /* attribute: tOVERLOAD '(' aSTRING ')' */ #line 727 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_POINTERDEFAULT, (yyvsp[-1].num) ); } -#line 4686 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_OVERLOAD, (yyvsp[-1].str) ); } +#line 4695 "tools/widl/parser.tab.c" break; - case 190: /* attribute: tPROGID '(' aSTRING ')' */ + case 189: /* attribute: tPARTIALIGNORE */ #line 728 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_PROGID, (yyvsp[-1].str) ); } -#line 4692 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_PARTIALIGNORE, 0 ); } +#line 4701 "tools/widl/parser.tab.c" break; - case 191: /* attribute: tPROPGET */ + case 190: /* attribute: tPOINTERDEFAULT '(' pointer_type ')' */ #line 729 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_PROPGET, 0 ); } -#line 4698 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_POINTERDEFAULT, (yyvsp[-1].num) ); } +#line 4707 "tools/widl/parser.tab.c" break; - case 192: /* attribute: tPROPPUT */ + case 191: /* attribute: tPROGID '(' aSTRING ')' */ #line 730 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_PROPPUT, 0 ); } -#line 4704 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_PROGID, (yyvsp[-1].str) ); } +#line 4713 "tools/widl/parser.tab.c" break; - case 193: /* attribute: tPROPPUTREF */ + case 192: /* attribute: tPROPGET */ #line 731 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_PROPPUTREF, 0 ); } -#line 4710 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_PROPGET, 0 ); } +#line 4719 "tools/widl/parser.tab.c" break; - case 194: /* attribute: tPROTECTED */ + case 193: /* attribute: tPROPPUT */ #line 732 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_PROTECTED, 0 ); } -#line 4716 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_PROPPUT, 0 ); } +#line 4725 "tools/widl/parser.tab.c" break; - case 195: /* attribute: tPROXY */ + case 194: /* attribute: tPROPPUTREF */ #line 733 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_PROXY, 0 ); } -#line 4722 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_PROPPUTREF, 0 ); } +#line 4731 "tools/widl/parser.tab.c" break; - case 196: /* attribute: tPUBLIC */ + case 195: /* attribute: tPROTECTED */ #line 734 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_PUBLIC, 0 ); } -#line 4728 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_PROTECTED, 0 ); } +#line 4737 "tools/widl/parser.tab.c" break; - case 197: /* attribute: tRANGE '(' expr_int_const ',' expr_int_const ')' */ + case 196: /* attribute: tPROXY */ +#line 735 "tools/widl/parser.y" + { (yyval.attr) = attr_int( (yyloc), ATTR_PROXY, 0 ); } +#line 4743 "tools/widl/parser.tab.c" + break; + + case 197: /* attribute: tPUBLIC */ #line 736 "tools/widl/parser.y" + { (yyval.attr) = attr_int( (yyloc), ATTR_PUBLIC, 0 ); } +#line 4749 "tools/widl/parser.tab.c" + break; + + case 198: /* attribute: tRANGE '(' expr_int_const ',' expr_int_const ')' */ +#line 738 "tools/widl/parser.y" { expr_list_t *list = append_expr( NULL, (yyvsp[-3].expr) ); list = append_expr( list, (yyvsp[-1].expr) ); (yyval.attr) = attr_ptr( (yyloc), ATTR_RANGE, list ); } -#line 4737 "tools/widl/parser.tab.c" +#line 4758 "tools/widl/parser.tab.c" break; - case 198: /* attribute: tREADONLY */ -#line 740 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_READONLY, 0 ); } -#line 4743 "tools/widl/parser.tab.c" - break; - - case 199: /* attribute: tREPRESENTAS '(' type ')' */ -#line 741 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_REPRESENTAS, (yyvsp[-1].type) ); } -#line 4749 "tools/widl/parser.tab.c" - break; - - case 200: /* attribute: tREQUESTEDIT */ + case 199: /* attribute: tREADONLY */ #line 742 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_REQUESTEDIT, 0 ); } -#line 4755 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_READONLY, 0 ); } +#line 4764 "tools/widl/parser.tab.c" break; - case 201: /* attribute: tRESTRICTED */ + case 200: /* attribute: tREPRESENTAS '(' type ')' */ #line 743 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_RESTRICTED, 0 ); } -#line 4761 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_REPRESENTAS, (yyvsp[-1].type) ); } +#line 4770 "tools/widl/parser.tab.c" break; - case 202: /* attribute: tRETVAL */ + case 201: /* attribute: tREQUESTEDIT */ #line 744 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_RETVAL, 0 ); } -#line 4767 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_REQUESTEDIT, 0 ); } +#line 4776 "tools/widl/parser.tab.c" break; - case 203: /* attribute: tSIZEIS '(' m_exprs ')' */ + case 202: /* attribute: tRESTRICTED */ #line 745 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_SIZEIS, (yyvsp[-1].expr_list) ); } -#line 4773 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_RESTRICTED, 0 ); } +#line 4782 "tools/widl/parser.tab.c" break; - case 204: /* attribute: tSOURCE */ + case 203: /* attribute: tRETVAL */ #line 746 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_SOURCE, 0 ); } -#line 4779 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_RETVAL, 0 ); } +#line 4788 "tools/widl/parser.tab.c" break; - case 205: /* attribute: tSTATIC '(' static_attr ')' */ + case 204: /* attribute: tSIZEIS '(' m_exprs ')' */ #line 747 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_STATIC, (yyvsp[-1].expr) ); } -#line 4785 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_SIZEIS, (yyvsp[-1].expr_list) ); } +#line 4794 "tools/widl/parser.tab.c" break; - case 206: /* attribute: tSTRICTCONTEXTHANDLE */ + case 205: /* attribute: tSOURCE */ #line 748 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_STRICTCONTEXTHANDLE, 0 ); } -#line 4791 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_SOURCE, 0 ); } +#line 4800 "tools/widl/parser.tab.c" break; - case 207: /* attribute: tSTRING */ + case 206: /* attribute: tSTATIC '(' static_attr ')' */ #line 749 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_STRING, 0 ); } -#line 4797 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_STATIC, (yyvsp[-1].expr) ); } +#line 4806 "tools/widl/parser.tab.c" break; - case 208: /* attribute: tSWITCHIS '(' expr ')' */ + case 207: /* attribute: tSTRICTCONTEXTHANDLE */ #line 750 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_SWITCHIS, (yyvsp[-1].expr) ); } -#line 4803 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_STRICTCONTEXTHANDLE, 0 ); } +#line 4812 "tools/widl/parser.tab.c" break; - case 209: /* attribute: tSWITCHTYPE '(' type ')' */ + case 208: /* attribute: tSTRING */ #line 751 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_SWITCHTYPE, (yyvsp[-1].type) ); } -#line 4809 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_STRING, 0 ); } +#line 4818 "tools/widl/parser.tab.c" break; - case 210: /* attribute: tTRANSMITAS '(' type ')' */ + case 209: /* attribute: tSWITCHIS '(' expr ')' */ #line 752 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_TRANSMITAS, (yyvsp[-1].type) ); } -#line 4815 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_SWITCHIS, (yyvsp[-1].expr) ); } +#line 4824 "tools/widl/parser.tab.c" break; - case 211: /* attribute: tTHREADING '(' threading_type ')' */ + case 210: /* attribute: tSWITCHTYPE '(' type ')' */ #line 753 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_THREADING, (yyvsp[-1].num) ); } -#line 4821 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_SWITCHTYPE, (yyvsp[-1].type) ); } +#line 4830 "tools/widl/parser.tab.c" break; - case 212: /* attribute: tUIDEFAULT */ + case 211: /* attribute: tTRANSMITAS '(' type ')' */ #line 754 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_UIDEFAULT, 0 ); } -#line 4827 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_TRANSMITAS, (yyvsp[-1].type) ); } +#line 4836 "tools/widl/parser.tab.c" break; - case 213: /* attribute: tUSESGETLASTERROR */ + case 212: /* attribute: tTHREADING '(' threading_type ')' */ #line 755 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_USESGETLASTERROR, 0 ); } -#line 4833 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_THREADING, (yyvsp[-1].num) ); } +#line 4842 "tools/widl/parser.tab.c" break; - case 214: /* attribute: tUSERMARSHAL '(' type ')' */ + case 213: /* attribute: tUIDEFAULT */ #line 756 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_USERMARSHAL, (yyvsp[-1].type) ); } -#line 4839 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_UIDEFAULT, 0 ); } +#line 4848 "tools/widl/parser.tab.c" break; - case 215: /* attribute: tUUID '(' aUUID ')' */ + case 214: /* attribute: tUSESGETLASTERROR */ #line 757 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_UUID, (yyvsp[-1].uuid) ); } -#line 4845 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_USESGETLASTERROR, 0 ); } +#line 4854 "tools/widl/parser.tab.c" break; - case 216: /* attribute: tASYNCUUID '(' aUUID ')' */ + case 215: /* attribute: tUSERMARSHAL '(' type ')' */ #line 758 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_ASYNCUUID, (yyvsp[-1].uuid) ); } -#line 4851 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_USERMARSHAL, (yyvsp[-1].type) ); } +#line 4860 "tools/widl/parser.tab.c" break; - case 217: /* attribute: tV1ENUM */ + case 216: /* attribute: tUUID '(' aUUID ')' */ #line 759 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_V1ENUM, 0 ); } -#line 4857 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_UUID, (yyvsp[-1].uuid) ); } +#line 4866 "tools/widl/parser.tab.c" break; - case 218: /* attribute: tVARARG */ + case 217: /* attribute: tASYNCUUID '(' aUUID ')' */ #line 760 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_VARARG, 0 ); } -#line 4863 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_ASYNCUUID, (yyvsp[-1].uuid) ); } +#line 4872 "tools/widl/parser.tab.c" break; - case 219: /* attribute: tVERSION '(' version ')' */ + case 218: /* attribute: tV1ENUM */ #line 761 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_VERSION, (yyvsp[-1].num) ); } -#line 4869 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_V1ENUM, 0 ); } +#line 4878 "tools/widl/parser.tab.c" break; - case 220: /* attribute: tVIPROGID '(' aSTRING ')' */ + case 219: /* attribute: tVARARG */ #line 762 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_VIPROGID, (yyvsp[-1].str) ); } -#line 4875 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_VARARG, 0 ); } +#line 4884 "tools/widl/parser.tab.c" break; - case 221: /* attribute: tWIREMARSHAL '(' type ')' */ + case 220: /* attribute: tVERSION '(' version ')' */ #line 763 "tools/widl/parser.y" - { (yyval.attr) = attr_ptr( (yyloc), ATTR_WIREMARSHAL, (yyvsp[-1].type) ); } -#line 4881 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_VERSION, (yyvsp[-1].num) ); } +#line 4890 "tools/widl/parser.tab.c" break; - case 222: /* attribute: pointer_type */ + case 221: /* attribute: tVIPROGID '(' aSTRING ')' */ #line 764 "tools/widl/parser.y" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_VIPROGID, (yyvsp[-1].str) ); } +#line 4896 "tools/widl/parser.tab.c" + break; + + case 222: /* attribute: tWIREMARSHAL '(' type ')' */ +#line 765 "tools/widl/parser.y" + { (yyval.attr) = attr_ptr( (yyloc), ATTR_WIREMARSHAL, (yyvsp[-1].type) ); } +#line 4902 "tools/widl/parser.tab.c" + break; + + case 223: /* attribute: pointer_type */ +#line 766 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_POINTERTYPE, (yyvsp[0].num) ); } -#line 4887 "tools/widl/parser.tab.c" +#line 4908 "tools/widl/parser.tab.c" break; - case 227: /* cases: %empty */ -#line 774 "tools/widl/parser.y" + case 228: /* cases: %empty */ +#line 776 "tools/widl/parser.y" { (yyval.var_list) = NULL; } -#line 4893 "tools/widl/parser.tab.c" +#line 4914 "tools/widl/parser.tab.c" break; - case 228: /* cases: cases case */ -#line 775 "tools/widl/parser.y" + case 229: /* cases: cases case */ +#line 777 "tools/widl/parser.y" { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); } -#line 4899 "tools/widl/parser.tab.c" +#line 4920 "tools/widl/parser.tab.c" break; - case 229: /* case: tCASE expr_int_const ':' union_field */ -#line 778 "tools/widl/parser.y" + case 230: /* case: tCASE expr_int_const ':' union_field */ +#line 780 "tools/widl/parser.y" { attr_t *a = attr_ptr( (yyloc), ATTR_CASE, append_expr( NULL, (yyvsp[-2].expr) ) ); (yyval.var) = (yyvsp[0].var); if (!(yyval.var)) (yyval.var) = make_var( NULL ); (yyval.var)->attrs = append_attr( (yyval.var)->attrs, a ); } -#line 4908 "tools/widl/parser.tab.c" +#line 4929 "tools/widl/parser.tab.c" break; - case 230: /* case: tDEFAULT ':' union_field */ -#line 782 "tools/widl/parser.y" + case 231: /* case: tDEFAULT ':' union_field */ +#line 784 "tools/widl/parser.y" { attr_t *a = attr_int( (yyloc), ATTR_DEFAULT, 0 ); (yyval.var) = (yyvsp[0].var); if (!(yyval.var)) (yyval.var) = make_var( NULL ); (yyval.var)->attrs = append_attr( (yyval.var)->attrs, a ); } -#line 4917 "tools/widl/parser.tab.c" +#line 4938 "tools/widl/parser.tab.c" break; - case 231: /* enums: %empty */ -#line 789 "tools/widl/parser.y" + case 232: /* enums: %empty */ +#line 791 "tools/widl/parser.y" { (yyval.var_list) = NULL; } -#line 4923 "tools/widl/parser.tab.c" +#line 4944 "tools/widl/parser.tab.c" break; - case 232: /* enums: enum_list ',' */ -#line 790 "tools/widl/parser.y" + case 233: /* enums: enum_list ',' */ +#line 792 "tools/widl/parser.y" { (yyval.var_list) = (yyvsp[-1].var_list); } -#line 4929 "tools/widl/parser.tab.c" +#line 4950 "tools/widl/parser.tab.c" break; - case 234: /* enum_list: enum */ -#line 794 "tools/widl/parser.y" + case 235: /* enum_list: enum */ +#line 796 "tools/widl/parser.y" { if (!(yyvsp[0].var)->eval) (yyvsp[0].var)->eval = make_exprl(EXPR_NUM, 0 /* default for first enum entry */); (yyval.var_list) = append_var( NULL, (yyvsp[0].var) ); } -#line 4938 "tools/widl/parser.tab.c" +#line 4959 "tools/widl/parser.tab.c" break; - case 235: /* enum_list: enum_list ',' enum */ -#line 798 "tools/widl/parser.y" + case 236: /* enum_list: enum_list ',' enum */ +#line 800 "tools/widl/parser.y" { if (!(yyvsp[0].var)->eval) { var_t *last = LIST_ENTRY( list_tail((yyval.var_list)), var_t, entry ); @@ -4949,901 +4970,901 @@ } (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) ); } -#line 4953 "tools/widl/parser.tab.c" +#line 4974 "tools/widl/parser.tab.c" break; - case 236: /* enum_member: m_attributes ident */ -#line 810 "tools/widl/parser.y" + case 237: /* enum_member: m_attributes ident */ +#line 812 "tools/widl/parser.y" { (yyval.var) = (yyvsp[0].var); (yyval.var)->attrs = check_enum_member_attrs((yyvsp[-1].attr_list)); } -#line 4961 "tools/widl/parser.tab.c" +#line 4982 "tools/widl/parser.tab.c" break; - case 237: /* enum: enum_member '=' expr_int_const */ -#line 815 "tools/widl/parser.y" + case 238: /* enum: enum_member '=' expr_int_const */ +#line 817 "tools/widl/parser.y" { (yyval.var) = reg_const((yyvsp[-2].var)); (yyval.var)->eval = (yyvsp[0].expr); (yyval.var)->declspec.type = type_new_int(TYPE_BASIC_INT, 0); } -#line 4970 "tools/widl/parser.tab.c" +#line 4991 "tools/widl/parser.tab.c" break; - case 238: /* enum: enum_member */ -#line 819 "tools/widl/parser.y" + case 239: /* enum: enum_member */ +#line 821 "tools/widl/parser.y" { (yyval.var) = reg_const((yyvsp[0].var)); (yyval.var)->declspec.type = type_new_int(TYPE_BASIC_INT, 0); } -#line 4978 "tools/widl/parser.tab.c" +#line 4999 "tools/widl/parser.tab.c" break; - case 239: /* enumdef: tENUM m_typename '{' enums '}' */ -#line 824 "tools/widl/parser.y" + case 240: /* enumdef: tENUM m_typename '{' enums '}' */ +#line 826 "tools/widl/parser.y" { (yyval.type) = type_new_enum((yyvsp[-3].str), current_namespace, TRUE, (yyvsp[-1].var_list)); } -#line 4984 "tools/widl/parser.tab.c" +#line 5005 "tools/widl/parser.tab.c" break; - case 240: /* m_exprs: m_expr */ -#line 827 "tools/widl/parser.y" + case 241: /* m_exprs: m_expr */ +#line 829 "tools/widl/parser.y" { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); } -#line 4990 "tools/widl/parser.tab.c" +#line 5011 "tools/widl/parser.tab.c" break; - case 241: /* m_exprs: m_exprs ',' m_expr */ -#line 828 "tools/widl/parser.y" + case 242: /* m_exprs: m_exprs ',' m_expr */ +#line 830 "tools/widl/parser.y" { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); } -#line 4996 "tools/widl/parser.tab.c" +#line 5017 "tools/widl/parser.tab.c" break; - case 242: /* m_expr: %empty */ -#line 832 "tools/widl/parser.y" + case 243: /* m_expr: %empty */ +#line 834 "tools/widl/parser.y" { (yyval.expr) = make_expr(EXPR_VOID); } -#line 5002 "tools/widl/parser.tab.c" +#line 5023 "tools/widl/parser.tab.c" break; - case 244: /* expr: aNUM */ -#line 836 "tools/widl/parser.y" - { (yyval.expr) = make_exprl(EXPR_NUM, (yyvsp[0].num)); } -#line 5008 "tools/widl/parser.tab.c" - break; - - case 245: /* expr: aHEXNUM */ -#line 837 "tools/widl/parser.y" - { (yyval.expr) = make_exprl(EXPR_HEXNUM, (yyvsp[0].num)); } -#line 5014 "tools/widl/parser.tab.c" - break; - - case 246: /* expr: aDOUBLE */ + case 245: /* expr: aNUM */ #line 838 "tools/widl/parser.y" - { (yyval.expr) = make_exprd(EXPR_DOUBLE, (yyvsp[0].dbl)); } -#line 5020 "tools/widl/parser.tab.c" + { (yyval.expr) = make_exprl(EXPR_NUM, (yyvsp[0].num)); } +#line 5029 "tools/widl/parser.tab.c" break; - case 247: /* expr: tFALSE */ + case 246: /* expr: aHEXNUM */ #line 839 "tools/widl/parser.y" - { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 0); } -#line 5026 "tools/widl/parser.tab.c" + { (yyval.expr) = make_exprl(EXPR_HEXNUM, (yyvsp[0].num)); } +#line 5035 "tools/widl/parser.tab.c" break; - case 248: /* expr: tNULL */ + case 247: /* expr: aDOUBLE */ #line 840 "tools/widl/parser.y" - { (yyval.expr) = make_exprl(EXPR_NUM, 0); } -#line 5032 "tools/widl/parser.tab.c" + { (yyval.expr) = make_exprd(EXPR_DOUBLE, (yyvsp[0].dbl)); } +#line 5041 "tools/widl/parser.tab.c" break; - case 249: /* expr: tTRUE */ + case 248: /* expr: tFALSE */ #line 841 "tools/widl/parser.y" - { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 1); } -#line 5038 "tools/widl/parser.tab.c" + { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 0); } +#line 5047 "tools/widl/parser.tab.c" break; - case 250: /* expr: aSTRING */ + case 249: /* expr: tNULL */ #line 842 "tools/widl/parser.y" - { (yyval.expr) = make_exprs(EXPR_STRLIT, (yyvsp[0].str)); } -#line 5044 "tools/widl/parser.tab.c" + { (yyval.expr) = make_exprl(EXPR_NUM, 0); } +#line 5053 "tools/widl/parser.tab.c" break; - case 251: /* expr: aWSTRING */ + case 250: /* expr: tTRUE */ #line 843 "tools/widl/parser.y" - { (yyval.expr) = make_exprs(EXPR_WSTRLIT, (yyvsp[0].str)); } -#line 5050 "tools/widl/parser.tab.c" + { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 1); } +#line 5059 "tools/widl/parser.tab.c" break; - case 252: /* expr: aSQSTRING */ + case 251: /* expr: aSTRING */ #line 844 "tools/widl/parser.y" - { (yyval.expr) = make_exprs(EXPR_CHARCONST, (yyvsp[0].str)); } -#line 5056 "tools/widl/parser.tab.c" + { (yyval.expr) = make_exprs(EXPR_STRLIT, (yyvsp[0].str)); } +#line 5065 "tools/widl/parser.tab.c" break; - case 253: /* expr: aIDENTIFIER */ + case 252: /* expr: aWSTRING */ #line 845 "tools/widl/parser.y" - { (yyval.expr) = make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str)); } -#line 5062 "tools/widl/parser.tab.c" + { (yyval.expr) = make_exprs(EXPR_WSTRLIT, (yyvsp[0].str)); } +#line 5071 "tools/widl/parser.tab.c" break; - case 254: /* expr: expr '?' expr ':' expr */ + case 253: /* expr: aSQSTRING */ #line 846 "tools/widl/parser.y" - { (yyval.expr) = make_expr3(EXPR_COND, (yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5068 "tools/widl/parser.tab.c" + { (yyval.expr) = make_exprs(EXPR_CHARCONST, (yyvsp[0].str)); } +#line 5077 "tools/widl/parser.tab.c" break; - case 255: /* expr: expr LOGICALOR expr */ + case 254: /* expr: aIDENTIFIER */ #line 847 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_LOGOR, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5074 "tools/widl/parser.tab.c" + { (yyval.expr) = make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str)); } +#line 5083 "tools/widl/parser.tab.c" break; - case 256: /* expr: expr LOGICALAND expr */ + case 255: /* expr: expr '?' expr ':' expr */ #line 848 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_LOGAND, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5080 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr3(EXPR_COND, (yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5089 "tools/widl/parser.tab.c" break; - case 257: /* expr: expr '|' expr */ + case 256: /* expr: expr LOGICALOR expr */ #line 849 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_OR , (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5086 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_LOGOR, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5095 "tools/widl/parser.tab.c" break; - case 258: /* expr: expr '^' expr */ + case 257: /* expr: expr LOGICALAND expr */ #line 850 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_XOR, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5092 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_LOGAND, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5101 "tools/widl/parser.tab.c" break; - case 259: /* expr: expr '&' expr */ + case 258: /* expr: expr '|' expr */ #line 851 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_AND, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5098 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_OR , (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5107 "tools/widl/parser.tab.c" break; - case 260: /* expr: expr EQUALITY expr */ + case 259: /* expr: expr '^' expr */ #line 852 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_EQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5104 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_XOR, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5113 "tools/widl/parser.tab.c" break; - case 261: /* expr: expr INEQUALITY expr */ + case 260: /* expr: expr '&' expr */ #line 853 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_INEQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5110 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_AND, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5119 "tools/widl/parser.tab.c" break; - case 262: /* expr: expr '>' expr */ + case 261: /* expr: expr EQUALITY expr */ #line 854 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_GTR, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5116 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_EQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5125 "tools/widl/parser.tab.c" break; - case 263: /* expr: expr '<' expr */ + case 262: /* expr: expr INEQUALITY expr */ #line 855 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_LESS, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5122 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_INEQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5131 "tools/widl/parser.tab.c" break; - case 264: /* expr: expr GREATEREQUAL expr */ + case 263: /* expr: expr '>' expr */ #line 856 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_GTREQL, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5128 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_GTR, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5137 "tools/widl/parser.tab.c" break; - case 265: /* expr: expr LESSEQUAL expr */ + case 264: /* expr: expr '<' expr */ #line 857 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_LESSEQL, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5134 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_LESS, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5143 "tools/widl/parser.tab.c" break; - case 266: /* expr: expr SHL expr */ + case 265: /* expr: expr GREATEREQUAL expr */ #line 858 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_SHL, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5140 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_GTREQL, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5149 "tools/widl/parser.tab.c" break; - case 267: /* expr: expr SHR expr */ + case 266: /* expr: expr LESSEQUAL expr */ #line 859 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_SHR, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5146 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_LESSEQL, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5155 "tools/widl/parser.tab.c" break; - case 268: /* expr: expr '+' expr */ + case 267: /* expr: expr SHL expr */ #line 860 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_ADD, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5152 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_SHL, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5161 "tools/widl/parser.tab.c" break; - case 269: /* expr: expr '-' expr */ + case 268: /* expr: expr SHR expr */ #line 861 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_SUB, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5158 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_SHR, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5167 "tools/widl/parser.tab.c" break; - case 270: /* expr: expr '%' expr */ + case 269: /* expr: expr '+' expr */ #line 862 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_MOD, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5164 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_ADD, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5173 "tools/widl/parser.tab.c" break; - case 271: /* expr: expr '*' expr */ + case 270: /* expr: expr '-' expr */ #line 863 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_MUL, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5170 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_SUB, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5179 "tools/widl/parser.tab.c" break; - case 272: /* expr: expr '/' expr */ + case 271: /* expr: expr '%' expr */ #line 864 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_DIV, (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 5176 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_MOD, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5185 "tools/widl/parser.tab.c" break; - case 273: /* expr: '!' expr */ + case 272: /* expr: expr '*' expr */ #line 865 "tools/widl/parser.y" - { (yyval.expr) = make_expr1(EXPR_LOGNOT, (yyvsp[0].expr)); } -#line 5182 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_MUL, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5191 "tools/widl/parser.tab.c" break; - case 274: /* expr: '~' expr */ + case 273: /* expr: expr '/' expr */ #line 866 "tools/widl/parser.y" - { (yyval.expr) = make_expr1(EXPR_NOT, (yyvsp[0].expr)); } -#line 5188 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_DIV, (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 5197 "tools/widl/parser.tab.c" break; - case 275: /* expr: '+' expr */ + case 274: /* expr: '!' expr */ #line 867 "tools/widl/parser.y" - { (yyval.expr) = make_expr1(EXPR_POS, (yyvsp[0].expr)); } -#line 5194 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr1(EXPR_LOGNOT, (yyvsp[0].expr)); } +#line 5203 "tools/widl/parser.tab.c" break; - case 276: /* expr: '-' expr */ + case 275: /* expr: '~' expr */ #line 868 "tools/widl/parser.y" - { (yyval.expr) = make_expr1(EXPR_NEG, (yyvsp[0].expr)); } -#line 5200 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr1(EXPR_NOT, (yyvsp[0].expr)); } +#line 5209 "tools/widl/parser.tab.c" break; - case 277: /* expr: '&' expr */ + case 276: /* expr: '+' expr */ #line 869 "tools/widl/parser.y" - { (yyval.expr) = make_expr1(EXPR_ADDRESSOF, (yyvsp[0].expr)); } -#line 5206 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr1(EXPR_POS, (yyvsp[0].expr)); } +#line 5215 "tools/widl/parser.tab.c" break; - case 278: /* expr: '*' expr */ + case 277: /* expr: '-' expr */ #line 870 "tools/widl/parser.y" - { (yyval.expr) = make_expr1(EXPR_PPTR, (yyvsp[0].expr)); } -#line 5212 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr1(EXPR_NEG, (yyvsp[0].expr)); } +#line 5221 "tools/widl/parser.tab.c" break; - case 279: /* expr: expr MEMBERPTR aIDENTIFIER */ + case 278: /* expr: '&' expr */ #line 871 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_MEMBER, make_expr1(EXPR_PPTR, (yyvsp[-2].expr)), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); } -#line 5218 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr1(EXPR_ADDRESSOF, (yyvsp[0].expr)); } +#line 5227 "tools/widl/parser.tab.c" break; - case 280: /* expr: expr '.' aIDENTIFIER */ + case 279: /* expr: '*' expr */ #line 872 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_MEMBER, (yyvsp[-2].expr), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); } -#line 5224 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr1(EXPR_PPTR, (yyvsp[0].expr)); } +#line 5233 "tools/widl/parser.tab.c" break; - case 281: /* expr: '(' unqualified_decl_spec m_abstract_declarator ')' expr */ + case 280: /* expr: expr MEMBERPTR aIDENTIFIER */ +#line 873 "tools/widl/parser.y" + { (yyval.expr) = make_expr2(EXPR_MEMBER, make_expr1(EXPR_PPTR, (yyvsp[-2].expr)), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); } +#line 5239 "tools/widl/parser.tab.c" + break; + + case 281: /* expr: expr '.' aIDENTIFIER */ #line 874 "tools/widl/parser.y" - { (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 5230 "tools/widl/parser.tab.c" + { (yyval.expr) = make_expr2(EXPR_MEMBER, (yyvsp[-2].expr), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); } +#line 5245 "tools/widl/parser.tab.c" break; - case 282: /* expr: tSIZEOF '(' unqualified_decl_spec m_abstract_declarator ')' */ + case 282: /* expr: '(' unqualified_decl_spec m_abstract_declarator ')' expr */ #line 876 "tools/widl/parser.y" - { (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 5236 "tools/widl/parser.tab.c" + { (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 5251 "tools/widl/parser.tab.c" break; - case 283: /* expr: expr '[' expr ']' */ -#line 877 "tools/widl/parser.y" - { (yyval.expr) = make_expr2(EXPR_ARRAY, (yyvsp[-3].expr), (yyvsp[-1].expr)); } -#line 5242 "tools/widl/parser.tab.c" - break; - - case 284: /* expr: '(' expr ')' */ + case 283: /* expr: tSIZEOF '(' unqualified_decl_spec m_abstract_declarator ')' */ #line 878 "tools/widl/parser.y" + { (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 5257 "tools/widl/parser.tab.c" + break; + + case 284: /* expr: expr '[' expr ']' */ +#line 879 "tools/widl/parser.y" + { (yyval.expr) = make_expr2(EXPR_ARRAY, (yyvsp[-3].expr), (yyvsp[-1].expr)); } +#line 5263 "tools/widl/parser.tab.c" + break; + + case 285: /* expr: '(' expr ')' */ +#line 880 "tools/widl/parser.y" { (yyval.expr) = (yyvsp[-1].expr); } -#line 5248 "tools/widl/parser.tab.c" +#line 5269 "tools/widl/parser.tab.c" break; - case 285: /* expr_list_int_const: expr_int_const */ -#line 881 "tools/widl/parser.y" + case 286: /* expr_list_int_const: expr_int_const */ +#line 883 "tools/widl/parser.y" { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); } -#line 5254 "tools/widl/parser.tab.c" +#line 5275 "tools/widl/parser.tab.c" break; - case 286: /* expr_list_int_const: expr_list_int_const ',' expr_int_const */ -#line 882 "tools/widl/parser.y" + case 287: /* expr_list_int_const: expr_list_int_const ',' expr_int_const */ +#line 884 "tools/widl/parser.y" { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); } -#line 5260 "tools/widl/parser.tab.c" +#line 5281 "tools/widl/parser.tab.c" break; - case 287: /* expr_int_const: expr */ -#line 885 "tools/widl/parser.y" + case 288: /* expr_int_const: expr */ +#line 887 "tools/widl/parser.y" { (yyval.expr) = (yyvsp[0].expr); if (!(yyval.expr)->is_const) error_loc("expression is not an integer constant\n"); } -#line 5269 "tools/widl/parser.tab.c" +#line 5290 "tools/widl/parser.tab.c" break; - case 288: /* expr_const: expr */ -#line 891 "tools/widl/parser.y" + case 289: /* expr_const: expr */ +#line 893 "tools/widl/parser.y" { (yyval.expr) = (yyvsp[0].expr); if (!(yyval.expr)->is_const && (yyval.expr)->type != EXPR_STRLIT && (yyval.expr)->type != EXPR_WSTRLIT) error_loc("expression is not constant\n"); } -#line 5278 "tools/widl/parser.tab.c" +#line 5299 "tools/widl/parser.tab.c" break; - case 289: /* fields: %empty */ -#line 898 "tools/widl/parser.y" + case 290: /* fields: %empty */ +#line 900 "tools/widl/parser.y" { (yyval.var_list) = NULL; } -#line 5284 "tools/widl/parser.tab.c" +#line 5305 "tools/widl/parser.tab.c" break; - case 290: /* fields: fields field */ -#line 899 "tools/widl/parser.y" + case 291: /* fields: fields field */ +#line 901 "tools/widl/parser.y" { (yyval.var_list) = append_var_list((yyvsp[-1].var_list), (yyvsp[0].var_list)); } -#line 5290 "tools/widl/parser.tab.c" +#line 5311 "tools/widl/parser.tab.c" break; - case 291: /* field: m_attributes decl_spec struct_declarator_list ';' */ -#line 903 "tools/widl/parser.y" + case 292: /* field: m_attributes decl_spec struct_declarator_list ';' */ +#line 905 "tools/widl/parser.y" { const char *first = LIST_ENTRY(list_head((yyvsp[-1].declarator_list)), declarator_t, entry)->var->name; check_field_attrs(first, (yyvsp[-3].attr_list)); (yyval.var_list) = set_var_types((yyvsp[-3].attr_list), (yyvsp[-2].declspec), (yyvsp[-1].declarator_list)); } -#line 5299 "tools/widl/parser.tab.c" +#line 5320 "tools/widl/parser.tab.c" break; - case 292: /* field: m_attributes uniondef ';' */ -#line 907 "tools/widl/parser.y" + case 293: /* field: m_attributes uniondef ';' */ +#line 909 "tools/widl/parser.y" { var_t *v = make_var(NULL); v->declspec.type = (yyvsp[-1].type); v->attrs = (yyvsp[-2].attr_list); (yyval.var_list) = append_var(NULL, v); } -#line 5308 "tools/widl/parser.tab.c" +#line 5329 "tools/widl/parser.tab.c" break; - case 293: /* ne_union_field: s_field ';' */ -#line 914 "tools/widl/parser.y" + case 294: /* ne_union_field: s_field ';' */ +#line 916 "tools/widl/parser.y" { (yyval.var) = (yyvsp[-1].var); } -#line 5314 "tools/widl/parser.tab.c" +#line 5335 "tools/widl/parser.tab.c" break; - case 294: /* ne_union_field: attributes ';' */ -#line 915 "tools/widl/parser.y" + case 295: /* ne_union_field: attributes ';' */ +#line 917 "tools/widl/parser.y" { (yyval.var) = make_var(NULL); (yyval.var)->attrs = (yyvsp[-1].attr_list); } -#line 5320 "tools/widl/parser.tab.c" +#line 5341 "tools/widl/parser.tab.c" break; - case 295: /* ne_union_fields: %empty */ -#line 919 "tools/widl/parser.y" + case 296: /* ne_union_fields: %empty */ +#line 921 "tools/widl/parser.y" { (yyval.var_list) = NULL; } -#line 5326 "tools/widl/parser.tab.c" +#line 5347 "tools/widl/parser.tab.c" break; - case 296: /* ne_union_fields: ne_union_fields ne_union_field */ -#line 920 "tools/widl/parser.y" + case 297: /* ne_union_fields: ne_union_fields ne_union_field */ +#line 922 "tools/widl/parser.y" { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); } -#line 5332 "tools/widl/parser.tab.c" +#line 5353 "tools/widl/parser.tab.c" break; - case 297: /* union_field: s_field ';' */ -#line 924 "tools/widl/parser.y" + case 298: /* union_field: s_field ';' */ +#line 926 "tools/widl/parser.y" { (yyval.var) = (yyvsp[-1].var); } -#line 5338 "tools/widl/parser.tab.c" +#line 5359 "tools/widl/parser.tab.c" break; - case 298: /* union_field: ';' */ -#line 925 "tools/widl/parser.y" + case 299: /* union_field: ';' */ +#line 927 "tools/widl/parser.y" { (yyval.var) = NULL; } -#line 5344 "tools/widl/parser.tab.c" +#line 5365 "tools/widl/parser.tab.c" break; - case 299: /* s_field: m_attributes decl_spec declarator */ -#line 928 "tools/widl/parser.y" + case 300: /* s_field: m_attributes decl_spec declarator */ +#line 930 "tools/widl/parser.y" { (yyval.var) = declare_var(check_field_attrs((yyvsp[0].declarator)->var->name, (yyvsp[-2].attr_list)), (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE); free((yyvsp[0].declarator)); } -#line 5353 "tools/widl/parser.tab.c" +#line 5374 "tools/widl/parser.tab.c" break; - case 300: /* s_field: m_attributes structdef */ -#line 932 "tools/widl/parser.y" + case 301: /* s_field: m_attributes structdef */ +#line 934 "tools/widl/parser.y" { var_t *v = make_var(NULL); v->declspec.type = (yyvsp[0].type); v->attrs = (yyvsp[-1].attr_list); (yyval.var) = v; } -#line 5362 "tools/widl/parser.tab.c" +#line 5383 "tools/widl/parser.tab.c" break; - case 301: /* funcdef: declaration */ -#line 938 "tools/widl/parser.y" + case 302: /* funcdef: declaration */ +#line 940 "tools/widl/parser.y" { (yyval.var) = (yyvsp[0].var); if (type_get_type((yyval.var)->declspec.type) != TYPE_FUNCTION) error_loc("only methods may be declared inside the methods section of a dispinterface\n"); check_function_attrs((yyval.var)->name, (yyval.var)->attrs); } -#line 5372 "tools/widl/parser.tab.c" +#line 5393 "tools/widl/parser.tab.c" break; - case 302: /* declaration: attributes decl_spec init_declarator */ -#line 947 "tools/widl/parser.y" + case 303: /* declaration: attributes decl_spec init_declarator */ +#line 949 "tools/widl/parser.y" { (yyval.var) = declare_var((yyvsp[-2].attr_list), (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE); free((yyvsp[0].declarator)); } -#line 5380 "tools/widl/parser.tab.c" +#line 5401 "tools/widl/parser.tab.c" break; - case 303: /* declaration: decl_spec init_declarator */ -#line 950 "tools/widl/parser.y" + case 304: /* declaration: decl_spec init_declarator */ +#line 952 "tools/widl/parser.y" { (yyval.var) = declare_var(NULL, (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE); free((yyvsp[0].declarator)); } -#line 5388 "tools/widl/parser.tab.c" +#line 5409 "tools/widl/parser.tab.c" break; - case 304: /* m_ident: %empty */ -#line 956 "tools/widl/parser.y" + case 305: /* m_ident: %empty */ +#line 958 "tools/widl/parser.y" { (yyval.var) = NULL; } -#line 5394 "tools/widl/parser.tab.c" +#line 5415 "tools/widl/parser.tab.c" break; - case 306: /* m_typename: %empty */ -#line 961 "tools/widl/parser.y" + case 307: /* m_typename: %empty */ +#line 963 "tools/widl/parser.y" { (yyval.str) = NULL; } -#line 5400 "tools/widl/parser.tab.c" +#line 5421 "tools/widl/parser.tab.c" break; - case 310: /* ident: typename */ -#line 969 "tools/widl/parser.y" + case 311: /* ident: typename */ +#line 971 "tools/widl/parser.y" { (yyval.var) = make_var((yyvsp[0].str)); } -#line 5406 "tools/widl/parser.tab.c" +#line 5427 "tools/widl/parser.tab.c" break; - case 311: /* base_type: tBYTE */ -#line 972 "tools/widl/parser.y" + case 312: /* base_type: tBYTE */ +#line 974 "tools/widl/parser.y" { (yyval.type) = find_type_or_error( NULL, "byte" ); } -#line 5412 "tools/widl/parser.tab.c" +#line 5433 "tools/widl/parser.tab.c" break; - case 312: /* base_type: tWCHAR */ -#line 973 "tools/widl/parser.y" - { (yyval.type) = find_type_or_error( NULL, "wchar_t" ); } -#line 5418 "tools/widl/parser.tab.c" - break; - - case 314: /* base_type: tSIGNED int_std */ + case 313: /* base_type: tWCHAR */ #line 975 "tools/widl/parser.y" - { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), -1); } -#line 5424 "tools/widl/parser.tab.c" + { (yyval.type) = find_type_or_error( NULL, "wchar_t" ); } +#line 5439 "tools/widl/parser.tab.c" break; - case 315: /* base_type: tUNSIGNED int_std */ -#line 976 "tools/widl/parser.y" - { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), 1); } -#line 5430 "tools/widl/parser.tab.c" - break; - - case 316: /* base_type: tUNSIGNED */ + case 315: /* base_type: tSIGNED int_std */ #line 977 "tools/widl/parser.y" - { (yyval.type) = type_new_int(TYPE_BASIC_INT, 1); } -#line 5436 "tools/widl/parser.tab.c" + { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), -1); } +#line 5445 "tools/widl/parser.tab.c" break; - case 317: /* base_type: tFLOAT */ + case 316: /* base_type: tUNSIGNED int_std */ #line 978 "tools/widl/parser.y" - { (yyval.type) = find_type_or_error( NULL, "float" ); } -#line 5442 "tools/widl/parser.tab.c" + { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), 1); } +#line 5451 "tools/widl/parser.tab.c" break; - case 318: /* base_type: tDOUBLE */ + case 317: /* base_type: tUNSIGNED */ #line 979 "tools/widl/parser.y" - { (yyval.type) = find_type_or_error( NULL, "double" ); } -#line 5448 "tools/widl/parser.tab.c" + { (yyval.type) = type_new_int(TYPE_BASIC_INT, 1); } +#line 5457 "tools/widl/parser.tab.c" break; - case 319: /* base_type: tBOOLEAN */ + case 318: /* base_type: tFLOAT */ #line 980 "tools/widl/parser.y" - { (yyval.type) = find_type_or_error( NULL, "boolean" ); } -#line 5454 "tools/widl/parser.tab.c" + { (yyval.type) = find_type_or_error( NULL, "float" ); } +#line 5463 "tools/widl/parser.tab.c" break; - case 320: /* base_type: tERRORSTATUST */ + case 319: /* base_type: tDOUBLE */ #line 981 "tools/widl/parser.y" - { (yyval.type) = find_type_or_error( NULL, "error_status_t" ); } -#line 5460 "tools/widl/parser.tab.c" + { (yyval.type) = find_type_or_error( NULL, "double" ); } +#line 5469 "tools/widl/parser.tab.c" break; - case 321: /* base_type: tHANDLET */ + case 320: /* base_type: tBOOLEAN */ #line 982 "tools/widl/parser.y" + { (yyval.type) = find_type_or_error( NULL, "boolean" ); } +#line 5475 "tools/widl/parser.tab.c" + break; + + case 321: /* base_type: tERRORSTATUST */ +#line 983 "tools/widl/parser.y" + { (yyval.type) = find_type_or_error( NULL, "error_status_t" ); } +#line 5481 "tools/widl/parser.tab.c" + break; + + case 322: /* base_type: tHANDLET */ +#line 984 "tools/widl/parser.y" { (yyval.type) = find_type_or_error( NULL, "handle_t" ); } -#line 5466 "tools/widl/parser.tab.c" +#line 5487 "tools/widl/parser.tab.c" break; - case 324: /* int_std: tINT */ -#line 990 "tools/widl/parser.y" - { (yyval.type) = type_new_int(TYPE_BASIC_INT, 0); } -#line 5472 "tools/widl/parser.tab.c" - break; - - case 325: /* int_std: tSHORT m_int */ -#line 991 "tools/widl/parser.y" - { (yyval.type) = type_new_int(TYPE_BASIC_INT16, 0); } -#line 5478 "tools/widl/parser.tab.c" - break; - - case 326: /* int_std: tSMALL */ + case 325: /* int_std: tINT */ #line 992 "tools/widl/parser.y" - { (yyval.type) = type_new_int(TYPE_BASIC_INT8, 0); } -#line 5484 "tools/widl/parser.tab.c" + { (yyval.type) = type_new_int(TYPE_BASIC_INT, 0); } +#line 5493 "tools/widl/parser.tab.c" break; - case 327: /* int_std: tLONG m_int */ + case 326: /* int_std: tSHORT m_int */ #line 993 "tools/widl/parser.y" - { (yyval.type) = type_new_int(TYPE_BASIC_LONG, 0); } -#line 5490 "tools/widl/parser.tab.c" + { (yyval.type) = type_new_int(TYPE_BASIC_INT16, 0); } +#line 5499 "tools/widl/parser.tab.c" break; - case 328: /* int_std: tHYPER m_int */ + case 327: /* int_std: tSMALL */ #line 994 "tools/widl/parser.y" - { (yyval.type) = type_new_int(TYPE_BASIC_HYPER, 0); } -#line 5496 "tools/widl/parser.tab.c" + { (yyval.type) = type_new_int(TYPE_BASIC_INT8, 0); } +#line 5505 "tools/widl/parser.tab.c" break; - case 329: /* int_std: tINT64 */ + case 328: /* int_std: tLONG m_int */ #line 995 "tools/widl/parser.y" - { (yyval.type) = type_new_int(TYPE_BASIC_INT64, 0); } -#line 5502 "tools/widl/parser.tab.c" + { (yyval.type) = type_new_int(TYPE_BASIC_LONG, 0); } +#line 5511 "tools/widl/parser.tab.c" break; - case 330: /* int_std: tCHAR */ + case 329: /* int_std: tHYPER m_int */ #line 996 "tools/widl/parser.y" - { (yyval.type) = type_new_int(TYPE_BASIC_CHAR, 0); } -#line 5508 "tools/widl/parser.tab.c" + { (yyval.type) = type_new_int(TYPE_BASIC_HYPER, 0); } +#line 5517 "tools/widl/parser.tab.c" break; - case 331: /* int_std: tINT32 */ + case 330: /* int_std: tINT64 */ #line 997 "tools/widl/parser.y" - { (yyval.type) = type_new_int(TYPE_BASIC_INT32, 0); } -#line 5514 "tools/widl/parser.tab.c" + { (yyval.type) = type_new_int(TYPE_BASIC_INT64, 0); } +#line 5523 "tools/widl/parser.tab.c" break; - case 332: /* int_std: tINT3264 */ + case 331: /* int_std: tCHAR */ #line 998 "tools/widl/parser.y" + { (yyval.type) = type_new_int(TYPE_BASIC_CHAR, 0); } +#line 5529 "tools/widl/parser.tab.c" + break; + + case 332: /* int_std: tINT32 */ +#line 999 "tools/widl/parser.y" + { (yyval.type) = type_new_int(TYPE_BASIC_INT32, 0); } +#line 5535 "tools/widl/parser.tab.c" + break; + + case 333: /* int_std: tINT3264 */ +#line 1000 "tools/widl/parser.y" { (yyval.type) = type_new_int(TYPE_BASIC_INT3264, 0); } -#line 5520 "tools/widl/parser.tab.c" +#line 5541 "tools/widl/parser.tab.c" break; - case 333: /* namespace_pfx: aIDENTIFIER '.' */ -#line 1002 "tools/widl/parser.y" + case 334: /* namespace_pfx: aIDENTIFIER '.' */ +#line 1004 "tools/widl/parser.y" { (yyval.namespace) = find_namespace_or_error(&global_namespace, (yyvsp[-1].str)); } -#line 5526 "tools/widl/parser.tab.c" +#line 5547 "tools/widl/parser.tab.c" break; - case 334: /* namespace_pfx: namespace_pfx aIDENTIFIER '.' */ -#line 1003 "tools/widl/parser.y" + case 335: /* namespace_pfx: namespace_pfx aIDENTIFIER '.' */ +#line 1005 "tools/widl/parser.y" { (yyval.namespace) = find_namespace_or_error((yyvsp[-2].namespace), (yyvsp[-1].str)); } -#line 5532 "tools/widl/parser.tab.c" +#line 5553 "tools/widl/parser.tab.c" break; - case 335: /* qualified_type: typename */ -#line 1007 "tools/widl/parser.y" + case 336: /* qualified_type: typename */ +#line 1009 "tools/widl/parser.y" { (yyval.type) = find_type_or_error(current_namespace, (yyvsp[0].str)); } -#line 5538 "tools/widl/parser.tab.c" +#line 5559 "tools/widl/parser.tab.c" break; - case 336: /* qualified_type: namespace_pfx typename */ -#line 1008 "tools/widl/parser.y" + case 337: /* qualified_type: namespace_pfx typename */ +#line 1010 "tools/widl/parser.y" { (yyval.type) = find_type_or_error((yyvsp[-1].namespace), (yyvsp[0].str)); } -#line 5544 "tools/widl/parser.tab.c" +#line 5565 "tools/widl/parser.tab.c" break; - case 337: /* parameterized_type: qualified_type '<' parameterized_type_args '>' */ -#line 1012 "tools/widl/parser.y" + case 338: /* parameterized_type: qualified_type '<' parameterized_type_args '>' */ +#line 1014 "tools/widl/parser.y" { (yyval.type) = find_parameterized_type((yyvsp[-3].type), (yyvsp[-1].typeref_list)); } -#line 5550 "tools/widl/parser.tab.c" +#line 5571 "tools/widl/parser.tab.c" break; - case 338: /* parameterized_type_arg: base_type */ -#line 1016 "tools/widl/parser.y" - { (yyval.type) = (yyvsp[0].type); } -#line 5556 "tools/widl/parser.tab.c" - break; - - case 339: /* parameterized_type_arg: qualified_type */ -#line 1017 "tools/widl/parser.y" - { (yyval.type) = (yyvsp[0].type); } -#line 5562 "tools/widl/parser.tab.c" - break; - - case 340: /* parameterized_type_arg: qualified_type '*' */ + case 339: /* parameterized_type_arg: base_type */ #line 1018 "tools/widl/parser.y" - { (yyval.type) = type_new_pointer((yyvsp[-1].type)); } -#line 5568 "tools/widl/parser.tab.c" + { (yyval.type) = (yyvsp[0].type); } +#line 5577 "tools/widl/parser.tab.c" break; - case 341: /* parameterized_type_arg: parameterized_type */ + case 340: /* parameterized_type_arg: qualified_type */ #line 1019 "tools/widl/parser.y" { (yyval.type) = (yyvsp[0].type); } -#line 5574 "tools/widl/parser.tab.c" +#line 5583 "tools/widl/parser.tab.c" break; - case 342: /* parameterized_type_arg: parameterized_type '*' */ + case 341: /* parameterized_type_arg: qualified_type '*' */ #line 1020 "tools/widl/parser.y" { (yyval.type) = type_new_pointer((yyvsp[-1].type)); } -#line 5580 "tools/widl/parser.tab.c" +#line 5589 "tools/widl/parser.tab.c" break; - case 343: /* parameterized_type_args: parameterized_type_arg */ -#line 1024 "tools/widl/parser.y" - { (yyval.typeref_list) = append_typeref(NULL, make_typeref((yyvsp[0].type))); } -#line 5586 "tools/widl/parser.tab.c" + case 342: /* parameterized_type_arg: parameterized_type */ +#line 1021 "tools/widl/parser.y" + { (yyval.type) = (yyvsp[0].type); } +#line 5595 "tools/widl/parser.tab.c" break; - case 344: /* parameterized_type_args: parameterized_type_args ',' parameterized_type_arg */ + case 343: /* parameterized_type_arg: parameterized_type '*' */ +#line 1022 "tools/widl/parser.y" + { (yyval.type) = type_new_pointer((yyvsp[-1].type)); } +#line 5601 "tools/widl/parser.tab.c" + break; + + case 344: /* parameterized_type_args: parameterized_type_arg */ #line 1026 "tools/widl/parser.y" + { (yyval.typeref_list) = append_typeref(NULL, make_typeref((yyvsp[0].type))); } +#line 5607 "tools/widl/parser.tab.c" + break; + + case 345: /* parameterized_type_args: parameterized_type_args ',' parameterized_type_arg */ +#line 1028 "tools/widl/parser.y" { (yyval.typeref_list) = append_typeref((yyvsp[-2].typeref_list), make_typeref((yyvsp[0].type))); } -#line 5592 "tools/widl/parser.tab.c" +#line 5613 "tools/widl/parser.tab.c" break; - case 345: /* coclass: tCOCLASS typename */ -#line 1029 "tools/widl/parser.y" + case 346: /* coclass: tCOCLASS typename */ +#line 1031 "tools/widl/parser.y" { (yyval.type) = type_coclass_declare((yyvsp[0].str)); } -#line 5598 "tools/widl/parser.tab.c" +#line 5619 "tools/widl/parser.tab.c" break; - case 346: /* coclassdef: attributes coclass '{' class_interfaces '}' semicolon_opt */ -#line 1033 "tools/widl/parser.y" + case 347: /* coclassdef: attributes coclass '{' class_interfaces '}' semicolon_opt */ +#line 1035 "tools/widl/parser.y" { (yyval.type) = type_coclass_define((yyvsp[-4].type), (yyvsp[-5].attr_list), (yyvsp[-2].typeref_list)); } -#line 5604 "tools/widl/parser.tab.c" +#line 5625 "tools/widl/parser.tab.c" break; - case 347: /* runtimeclass: tRUNTIMECLASS typename */ -#line 1036 "tools/widl/parser.y" + case 348: /* runtimeclass: tRUNTIMECLASS typename */ +#line 1038 "tools/widl/parser.y" { (yyval.type) = type_runtimeclass_declare((yyvsp[0].str), current_namespace); } -#line 5610 "tools/widl/parser.tab.c" +#line 5631 "tools/widl/parser.tab.c" break; - case 348: /* runtimeclass_def: attributes runtimeclass inherit '{' class_interfaces '}' semicolon_opt */ -#line 1040 "tools/widl/parser.y" + case 349: /* runtimeclass_def: attributes runtimeclass inherit '{' class_interfaces '}' semicolon_opt */ +#line 1042 "tools/widl/parser.y" { if ((yyvsp[-4].type) && type_get_type((yyvsp[-4].type)) != TYPE_RUNTIMECLASS) error_loc("%s is not a runtimeclass\n", (yyvsp[-4].type)->name); (yyval.type) = type_runtimeclass_define((yyvsp[-5].type), (yyvsp[-6].attr_list), (yyvsp[-2].typeref_list)); } -#line 5617 "tools/widl/parser.tab.c" +#line 5638 "tools/widl/parser.tab.c" break; - case 349: /* apicontract: tAPICONTRACT typename */ -#line 1044 "tools/widl/parser.y" + case 350: /* apicontract: tAPICONTRACT typename */ +#line 1046 "tools/widl/parser.y" { (yyval.type) = type_apicontract_declare((yyvsp[0].str), current_namespace); } -#line 5623 "tools/widl/parser.tab.c" +#line 5644 "tools/widl/parser.tab.c" break; - case 350: /* apicontract_def: attributes apicontract '{' '}' semicolon_opt */ -#line 1048 "tools/widl/parser.y" + case 351: /* apicontract_def: attributes apicontract '{' '}' semicolon_opt */ +#line 1050 "tools/widl/parser.y" { (yyval.type) = type_apicontract_define((yyvsp[-3].type), (yyvsp[-4].attr_list)); } -#line 5629 "tools/widl/parser.tab.c" +#line 5650 "tools/widl/parser.tab.c" break; - case 351: /* namespacedef: tNAMESPACE aIDENTIFIER */ -#line 1051 "tools/widl/parser.y" + case 352: /* namespacedef: tNAMESPACE aIDENTIFIER */ +#line 1053 "tools/widl/parser.y" { (yyval.str_list) = append_str( NULL, (yyvsp[0].str) ); } -#line 5635 "tools/widl/parser.tab.c" +#line 5656 "tools/widl/parser.tab.c" break; - case 352: /* namespacedef: namespacedef '.' aIDENTIFIER */ -#line 1052 "tools/widl/parser.y" + case 353: /* namespacedef: namespacedef '.' aIDENTIFIER */ +#line 1054 "tools/widl/parser.y" { (yyval.str_list) = append_str( (yyvsp[-2].str_list), (yyvsp[0].str) ); } -#line 5641 "tools/widl/parser.tab.c" +#line 5662 "tools/widl/parser.tab.c" break; - case 353: /* class_interfaces: %empty */ -#line 1056 "tools/widl/parser.y" + case 354: /* class_interfaces: %empty */ +#line 1058 "tools/widl/parser.y" { (yyval.typeref_list) = NULL; } -#line 5647 "tools/widl/parser.tab.c" +#line 5668 "tools/widl/parser.tab.c" break; - case 354: /* class_interfaces: class_interfaces class_interface */ -#line 1057 "tools/widl/parser.y" + case 355: /* class_interfaces: class_interfaces class_interface */ +#line 1059 "tools/widl/parser.y" { (yyval.typeref_list) = append_typeref( (yyvsp[-1].typeref_list), (yyvsp[0].typeref) ); } -#line 5653 "tools/widl/parser.tab.c" +#line 5674 "tools/widl/parser.tab.c" break; - case 355: /* class_interface: m_attributes interfaceref ';' */ -#line 1061 "tools/widl/parser.y" + case 356: /* class_interface: m_attributes interfaceref ';' */ +#line 1063 "tools/widl/parser.y" { (yyval.typeref) = make_typeref((yyvsp[-1].type)); (yyval.typeref)->attrs = (yyvsp[-2].attr_list); } -#line 5659 "tools/widl/parser.tab.c" +#line 5680 "tools/widl/parser.tab.c" break; - case 356: /* class_interface: m_attributes dispinterfaceref ';' */ -#line 1062 "tools/widl/parser.y" + case 357: /* class_interface: m_attributes dispinterfaceref ';' */ +#line 1064 "tools/widl/parser.y" { (yyval.typeref) = make_typeref((yyvsp[-1].type)); (yyval.typeref)->attrs = (yyvsp[-2].attr_list); } -#line 5665 "tools/widl/parser.tab.c" +#line 5686 "tools/widl/parser.tab.c" break; - case 357: /* dispinterface: tDISPINTERFACE typename */ -#line 1065 "tools/widl/parser.y" + case 358: /* dispinterface: tDISPINTERFACE typename */ +#line 1067 "tools/widl/parser.y" { (yyval.type) = type_dispinterface_declare((yyvsp[0].str)); } -#line 5671 "tools/widl/parser.tab.c" +#line 5692 "tools/widl/parser.tab.c" break; - case 358: /* dispattributes: attributes */ -#line 1068 "tools/widl/parser.y" + case 359: /* dispattributes: attributes */ +#line 1070 "tools/widl/parser.y" { (yyval.attr_list) = append_attr( (yyvsp[0].attr_list), attr_int( (yyloc), ATTR_DISPINTERFACE, 0 ) ); } -#line 5677 "tools/widl/parser.tab.c" +#line 5698 "tools/widl/parser.tab.c" break; - case 359: /* dispint_props: tPROPERTIES ':' */ -#line 1071 "tools/widl/parser.y" + case 360: /* dispint_props: tPROPERTIES ':' */ +#line 1073 "tools/widl/parser.y" { (yyval.var_list) = NULL; } -#line 5683 "tools/widl/parser.tab.c" +#line 5704 "tools/widl/parser.tab.c" break; - case 360: /* dispint_props: dispint_props s_field ';' */ -#line 1072 "tools/widl/parser.y" + case 361: /* dispint_props: dispint_props s_field ';' */ +#line 1074 "tools/widl/parser.y" { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); } -#line 5689 "tools/widl/parser.tab.c" +#line 5710 "tools/widl/parser.tab.c" break; - case 361: /* dispint_meths: tMETHODS ':' */ -#line 1075 "tools/widl/parser.y" + case 362: /* dispint_meths: tMETHODS ':' */ +#line 1077 "tools/widl/parser.y" { (yyval.var_list) = NULL; } -#line 5695 "tools/widl/parser.tab.c" +#line 5716 "tools/widl/parser.tab.c" break; - case 362: /* dispint_meths: dispint_meths funcdef ';' */ -#line 1076 "tools/widl/parser.y" + case 363: /* dispint_meths: dispint_meths funcdef ';' */ +#line 1078 "tools/widl/parser.y" { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); } -#line 5701 "tools/widl/parser.tab.c" +#line 5722 "tools/widl/parser.tab.c" break; - case 363: /* dispinterfacedef: dispattributes dispinterface '{' dispint_props dispint_meths '}' */ -#line 1081 "tools/widl/parser.y" - { (yyval.type) = type_dispinterface_define((yyvsp[-4].type), (yyvsp[-5].attr_list), (yyvsp[-2].var_list), (yyvsp[-1].var_list)); } -#line 5707 "tools/widl/parser.tab.c" - break; - - case 364: /* dispinterfacedef: dispattributes dispinterface '{' interface ';' '}' */ + case 364: /* dispinterfacedef: dispattributes dispinterface '{' dispint_props dispint_meths '}' */ #line 1083 "tools/widl/parser.y" + { (yyval.type) = type_dispinterface_define((yyvsp[-4].type), (yyvsp[-5].attr_list), (yyvsp[-2].var_list), (yyvsp[-1].var_list)); } +#line 5728 "tools/widl/parser.tab.c" + break; + + case 365: /* dispinterfacedef: dispattributes dispinterface '{' interface ';' '}' */ +#line 1085 "tools/widl/parser.y" { (yyval.type) = type_dispinterface_define_from_iface((yyvsp[-4].type), (yyvsp[-5].attr_list), (yyvsp[-2].type)); } -#line 5713 "tools/widl/parser.tab.c" +#line 5734 "tools/widl/parser.tab.c" break; - case 365: /* inherit: %empty */ -#line 1087 "tools/widl/parser.y" - { (yyval.type) = NULL; } -#line 5719 "tools/widl/parser.tab.c" - break; - - case 366: /* inherit: ':' qualified_type */ -#line 1088 "tools/widl/parser.y" - { (yyval.type) = (yyvsp[0].type); } -#line 5725 "tools/widl/parser.tab.c" - break; - - case 367: /* inherit: ':' parameterized_type */ + case 366: /* inherit: %empty */ #line 1089 "tools/widl/parser.y" + { (yyval.type) = NULL; } +#line 5740 "tools/widl/parser.tab.c" + break; + + case 367: /* inherit: ':' qualified_type */ +#line 1090 "tools/widl/parser.y" { (yyval.type) = (yyvsp[0].type); } -#line 5731 "tools/widl/parser.tab.c" +#line 5746 "tools/widl/parser.tab.c" break; - case 368: /* type_parameter: typename */ -#line 1092 "tools/widl/parser.y" + case 368: /* inherit: ':' parameterized_type */ +#line 1091 "tools/widl/parser.y" + { (yyval.type) = (yyvsp[0].type); } +#line 5752 "tools/widl/parser.tab.c" + break; + + case 369: /* type_parameter: typename */ +#line 1094 "tools/widl/parser.y" { (yyval.type) = get_type(TYPE_PARAMETER, (yyvsp[0].str), parameters_namespace, 0); } -#line 5737 "tools/widl/parser.tab.c" +#line 5758 "tools/widl/parser.tab.c" break; - case 369: /* type_parameters: type_parameter */ -#line 1096 "tools/widl/parser.y" + case 370: /* type_parameters: type_parameter */ +#line 1098 "tools/widl/parser.y" { (yyval.typeref_list) = append_typeref(NULL, make_typeref((yyvsp[0].type))); } -#line 5743 "tools/widl/parser.tab.c" +#line 5764 "tools/widl/parser.tab.c" break; - case 370: /* type_parameters: type_parameters ',' type_parameter */ -#line 1097 "tools/widl/parser.y" + case 371: /* type_parameters: type_parameters ',' type_parameter */ +#line 1099 "tools/widl/parser.y" { (yyval.typeref_list) = append_typeref((yyvsp[-2].typeref_list), make_typeref((yyvsp[0].type))); } -#line 5749 "tools/widl/parser.tab.c" +#line 5770 "tools/widl/parser.tab.c" break; - case 371: /* interface: tINTERFACE typename */ -#line 1101 "tools/widl/parser.y" - { (yyval.type) = type_interface_declare((yyvsp[0].str), current_namespace); } -#line 5755 "tools/widl/parser.tab.c" - break; - - case 372: /* $@3: %empty */ -#line 1102 "tools/widl/parser.y" - { push_parameters_namespace((yyvsp[-1].str)); } -#line 5761 "tools/widl/parser.tab.c" - break; - - case 373: /* $@4: %empty */ -#line 1102 "tools/widl/parser.y" - { pop_parameters_namespace((yyvsp[-3].str)); } -#line 5767 "tools/widl/parser.tab.c" - break; - - case 374: /* interface: tINTERFACE typename '<' $@3 type_parameters $@4 '>' */ + case 372: /* interface: tINTERFACE typename */ #line 1103 "tools/widl/parser.y" - { (yyval.type) = type_parameterized_interface_declare((yyvsp[-5].str), current_namespace, (yyvsp[-2].typeref_list)); } -#line 5773 "tools/widl/parser.tab.c" + { (yyval.type) = type_interface_declare((yyvsp[0].str), current_namespace); } +#line 5776 "tools/widl/parser.tab.c" break; - case 375: /* delegatedef: m_attributes tDELEGATE type ident '(' m_args ')' semicolon_opt */ -#line 1107 "tools/widl/parser.y" + case 373: /* $@3: %empty */ +#line 1104 "tools/widl/parser.y" + { push_parameters_namespace((yyvsp[-1].str)); } +#line 5782 "tools/widl/parser.tab.c" + break; + + case 374: /* $@4: %empty */ +#line 1104 "tools/widl/parser.y" + { pop_parameters_namespace((yyvsp[-3].str)); } +#line 5788 "tools/widl/parser.tab.c" + break; + + case 375: /* interface: tINTERFACE typename '<' $@3 type_parameters $@4 '>' */ +#line 1105 "tools/widl/parser.y" + { (yyval.type) = type_parameterized_interface_declare((yyvsp[-5].str), current_namespace, (yyvsp[-2].typeref_list)); } +#line 5794 "tools/widl/parser.tab.c" + break; + + case 376: /* delegatedef: m_attributes tDELEGATE type ident '(' m_args ')' semicolon_opt */ +#line 1109 "tools/widl/parser.y" { (yyval.type) = type_delegate_declare((yyvsp[-4].var)->name, current_namespace); (yyval.type) = type_delegate_define((yyval.type), (yyvsp[-7].attr_list), append_statement(NULL, make_statement_delegate((yyvsp[-5].type), (yyvsp[-2].var_list)))); } -#line 5781 "tools/widl/parser.tab.c" +#line 5802 "tools/widl/parser.tab.c" break; - case 376: /* $@5: %empty */ -#line 1111 "tools/widl/parser.y" - { push_parameters_namespace((yyvsp[-1].var)->name); } -#line 5787 "tools/widl/parser.tab.c" - break; - - case 377: /* $@6: %empty */ -#line 1112 "tools/widl/parser.y" - { pop_parameters_namespace((yyvsp[-7].var)->name); } -#line 5793 "tools/widl/parser.tab.c" - break; - - case 378: /* delegatedef: m_attributes tDELEGATE type ident '<' $@5 type_parameters '>' '(' m_args ')' $@6 semicolon_opt */ + case 377: /* $@5: %empty */ #line 1113 "tools/widl/parser.y" + { push_parameters_namespace((yyvsp[-1].var)->name); } +#line 5808 "tools/widl/parser.tab.c" + break; + + case 378: /* $@6: %empty */ +#line 1114 "tools/widl/parser.y" + { pop_parameters_namespace((yyvsp[-7].var)->name); } +#line 5814 "tools/widl/parser.tab.c" + break; + + case 379: /* delegatedef: m_attributes tDELEGATE type ident '<' $@5 type_parameters '>' '(' m_args ')' $@6 semicolon_opt */ +#line 1115 "tools/widl/parser.y" { (yyval.type) = type_parameterized_delegate_declare((yyvsp[-9].var)->name, current_namespace, (yyvsp[-6].typeref_list)); (yyval.type) = type_parameterized_delegate_define((yyval.type), (yyvsp[-12].attr_list), append_statement(NULL, make_statement_delegate((yyvsp[-10].type), (yyvsp[-3].var_list)))); } -#line 5801 "tools/widl/parser.tab.c" +#line 5822 "tools/widl/parser.tab.c" break; - case 379: /* required_types: qualified_type */ -#line 1119 "tools/widl/parser.y" - { (yyval.typeref_list) = append_typeref(NULL, make_typeref((yyvsp[0].type))); } -#line 5807 "tools/widl/parser.tab.c" - break; - - case 380: /* required_types: parameterized_type */ -#line 1120 "tools/widl/parser.y" - { (yyval.typeref_list) = append_typeref(NULL, make_typeref((yyvsp[0].type))); } -#line 5813 "tools/widl/parser.tab.c" - break; - - case 381: /* required_types: required_types ',' qualified_type */ + case 380: /* required_types: qualified_type */ #line 1121 "tools/widl/parser.y" - { (yyval.typeref_list) = append_typeref((yyvsp[-2].typeref_list), make_typeref((yyvsp[0].type))); } -#line 5819 "tools/widl/parser.tab.c" + { (yyval.typeref_list) = append_typeref(NULL, make_typeref((yyvsp[0].type))); } +#line 5828 "tools/widl/parser.tab.c" break; - case 382: /* required_types: required_types ',' parameterized_type */ + case 381: /* required_types: parameterized_type */ #line 1122 "tools/widl/parser.y" + { (yyval.typeref_list) = append_typeref(NULL, make_typeref((yyvsp[0].type))); } +#line 5834 "tools/widl/parser.tab.c" + break; + + case 382: /* required_types: required_types ',' qualified_type */ +#line 1123 "tools/widl/parser.y" { (yyval.typeref_list) = append_typeref((yyvsp[-2].typeref_list), make_typeref((yyvsp[0].type))); } -#line 5825 "tools/widl/parser.tab.c" +#line 5840 "tools/widl/parser.tab.c" break; - case 383: /* requires: %empty */ -#line 1126 "tools/widl/parser.y" + case 383: /* required_types: required_types ',' parameterized_type */ +#line 1124 "tools/widl/parser.y" + { (yyval.typeref_list) = append_typeref((yyvsp[-2].typeref_list), make_typeref((yyvsp[0].type))); } +#line 5846 "tools/widl/parser.tab.c" + break; + + case 384: /* requires: %empty */ +#line 1128 "tools/widl/parser.y" { (yyval.typeref_list) = NULL; } -#line 5831 "tools/widl/parser.tab.c" +#line 5852 "tools/widl/parser.tab.c" break; - case 384: /* requires: tREQUIRES required_types */ -#line 1127 "tools/widl/parser.y" + case 385: /* requires: tREQUIRES required_types */ +#line 1129 "tools/widl/parser.y" { (yyval.typeref_list) = (yyvsp[0].typeref_list); } -#line 5837 "tools/widl/parser.tab.c" +#line 5858 "tools/widl/parser.tab.c" break; - case 385: /* $@7: %empty */ -#line 1130 "tools/widl/parser.y" - { if ((yyvsp[0].type)->type_type == TYPE_PARAMETERIZED_TYPE) push_parameters_namespace((yyvsp[0].type)->name); } -#line 5843 "tools/widl/parser.tab.c" - break; - - case 386: /* interfacedef: attributes interface $@7 inherit requires '{' int_statements '}' semicolon_opt */ + case 386: /* $@7: %empty */ #line 1132 "tools/widl/parser.y" + { if ((yyvsp[0].type)->type_type == TYPE_PARAMETERIZED_TYPE) push_parameters_namespace((yyvsp[0].type)->name); } +#line 5864 "tools/widl/parser.tab.c" + break; + + case 387: /* interfacedef: attributes interface $@7 inherit requires '{' int_statements '}' semicolon_opt */ +#line 1134 "tools/widl/parser.y" { if ((yyvsp[-7].type)->type_type == TYPE_PARAMETERIZED_TYPE) { (yyval.type) = type_parameterized_interface_define((yyvsp[-7].type), (yyvsp[-8].attr_list), (yyvsp[-5].type), (yyvsp[-2].stmt_list), (yyvsp[-4].typeref_list)); @@ -5855,643 +5876,643 @@ check_async_uuid((yyval.type)); } } -#line 5859 "tools/widl/parser.tab.c" +#line 5880 "tools/widl/parser.tab.c" break; - case 387: /* interfacedef: dispinterfacedef semicolon_opt */ -#line 1143 "tools/widl/parser.y" + case 388: /* interfacedef: dispinterfacedef semicolon_opt */ +#line 1145 "tools/widl/parser.y" { (yyval.type) = (yyvsp[-1].type); } -#line 5865 "tools/widl/parser.tab.c" +#line 5886 "tools/widl/parser.tab.c" break; - case 388: /* interfaceref: tINTERFACE typename */ -#line 1147 "tools/widl/parser.y" - { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); } -#line 5871 "tools/widl/parser.tab.c" - break; - - case 389: /* interfaceref: tINTERFACE namespace_pfx typename */ -#line 1148 "tools/widl/parser.y" - { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), (yyvsp[-1].namespace), 0); } -#line 5877 "tools/widl/parser.tab.c" - break; - - case 390: /* interfaceref: tINTERFACE parameterized_type */ + case 389: /* interfaceref: tINTERFACE typename */ #line 1149 "tools/widl/parser.y" - { if (type_get_type(((yyval.type) = (yyvsp[0].type))) != TYPE_INTERFACE) error_loc("%s is not an interface\n", (yyval.type)->name); } -#line 5883 "tools/widl/parser.tab.c" - break; - - case 391: /* dispinterfaceref: tDISPINTERFACE typename */ -#line 1153 "tools/widl/parser.y" { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); } -#line 5889 "tools/widl/parser.tab.c" +#line 5892 "tools/widl/parser.tab.c" break; - case 392: /* module: tMODULE typename */ -#line 1156 "tools/widl/parser.y" + case 390: /* interfaceref: tINTERFACE namespace_pfx typename */ +#line 1150 "tools/widl/parser.y" + { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), (yyvsp[-1].namespace), 0); } +#line 5898 "tools/widl/parser.tab.c" + break; + + case 391: /* interfaceref: tINTERFACE parameterized_type */ +#line 1151 "tools/widl/parser.y" + { if (type_get_type(((yyval.type) = (yyvsp[0].type))) != TYPE_INTERFACE) error_loc("%s is not an interface\n", (yyval.type)->name); } +#line 5904 "tools/widl/parser.tab.c" + break; + + case 392: /* dispinterfaceref: tDISPINTERFACE typename */ +#line 1155 "tools/widl/parser.y" + { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); } +#line 5910 "tools/widl/parser.tab.c" + break; + + case 393: /* module: tMODULE typename */ +#line 1158 "tools/widl/parser.y" { (yyval.type) = type_module_declare((yyvsp[0].str)); } -#line 5895 "tools/widl/parser.tab.c" +#line 5916 "tools/widl/parser.tab.c" break; - case 393: /* moduledef: m_attributes module '{' int_statements '}' semicolon_opt */ -#line 1160 "tools/widl/parser.y" + case 394: /* moduledef: m_attributes module '{' int_statements '}' semicolon_opt */ +#line 1162 "tools/widl/parser.y" { (yyval.type) = type_module_define((yyvsp[-4].type), (yyvsp[-5].attr_list), (yyvsp[-2].stmt_list)); } -#line 5901 "tools/widl/parser.tab.c" +#line 5922 "tools/widl/parser.tab.c" break; - case 394: /* storage_cls_spec: tEXTERN */ -#line 1164 "tools/widl/parser.y" - { (yyval.stgclass) = STG_EXTERN; } -#line 5907 "tools/widl/parser.tab.c" - break; - - case 395: /* storage_cls_spec: tSTATIC */ -#line 1165 "tools/widl/parser.y" - { (yyval.stgclass) = STG_STATIC; } -#line 5913 "tools/widl/parser.tab.c" - break; - - case 396: /* storage_cls_spec: tREGISTER */ + case 395: /* storage_cls_spec: tEXTERN */ #line 1166 "tools/widl/parser.y" + { (yyval.stgclass) = STG_EXTERN; } +#line 5928 "tools/widl/parser.tab.c" + break; + + case 396: /* storage_cls_spec: tSTATIC */ +#line 1167 "tools/widl/parser.y" + { (yyval.stgclass) = STG_STATIC; } +#line 5934 "tools/widl/parser.tab.c" + break; + + case 397: /* storage_cls_spec: tREGISTER */ +#line 1168 "tools/widl/parser.y" { (yyval.stgclass) = STG_REGISTER; } -#line 5919 "tools/widl/parser.tab.c" +#line 5940 "tools/widl/parser.tab.c" break; - case 397: /* function_specifier: tINLINE */ -#line 1170 "tools/widl/parser.y" + case 398: /* function_specifier: tINLINE */ +#line 1172 "tools/widl/parser.y" { (yyval.function_specifier) = FUNCTION_SPECIFIER_INLINE; } -#line 5925 "tools/widl/parser.tab.c" +#line 5946 "tools/widl/parser.tab.c" break; - case 398: /* type_qualifier: tCONST */ -#line 1174 "tools/widl/parser.y" + case 399: /* type_qualifier: tCONST */ +#line 1176 "tools/widl/parser.y" { (yyval.type_qualifier) = TYPE_QUALIFIER_CONST; } -#line 5931 "tools/widl/parser.tab.c" +#line 5952 "tools/widl/parser.tab.c" break; - case 399: /* m_type_qual_list: %empty */ -#line 1178 "tools/widl/parser.y" + case 400: /* m_type_qual_list: %empty */ +#line 1180 "tools/widl/parser.y" { (yyval.type_qualifier) = 0; } -#line 5937 "tools/widl/parser.tab.c" +#line 5958 "tools/widl/parser.tab.c" break; - case 400: /* m_type_qual_list: m_type_qual_list type_qualifier */ -#line 1179 "tools/widl/parser.y" + case 401: /* m_type_qual_list: m_type_qual_list type_qualifier */ +#line 1181 "tools/widl/parser.y" { (yyval.type_qualifier) = (yyvsp[-1].type_qualifier) | (yyvsp[0].type_qualifier); } -#line 5943 "tools/widl/parser.tab.c" +#line 5964 "tools/widl/parser.tab.c" break; - case 401: /* decl_spec: type m_decl_spec_no_type */ -#line 1182 "tools/widl/parser.y" - { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[0].declspec), NULL, STG_NONE, 0, 0); } -#line 5949 "tools/widl/parser.tab.c" - break; - - case 402: /* decl_spec: decl_spec_no_type type m_decl_spec_no_type */ + case 402: /* decl_spec: type m_decl_spec_no_type */ #line 1184 "tools/widl/parser.y" - { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[-2].declspec), (yyvsp[0].declspec), STG_NONE, 0, 0); } -#line 5955 "tools/widl/parser.tab.c" - break; - - case 403: /* unqualified_decl_spec: unqualified_type m_decl_spec_no_type */ -#line 1188 "tools/widl/parser.y" { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[0].declspec), NULL, STG_NONE, 0, 0); } -#line 5961 "tools/widl/parser.tab.c" +#line 5970 "tools/widl/parser.tab.c" break; - case 404: /* unqualified_decl_spec: decl_spec_no_type unqualified_type m_decl_spec_no_type */ -#line 1190 "tools/widl/parser.y" + case 403: /* decl_spec: decl_spec_no_type type m_decl_spec_no_type */ +#line 1186 "tools/widl/parser.y" { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[-2].declspec), (yyvsp[0].declspec), STG_NONE, 0, 0); } -#line 5967 "tools/widl/parser.tab.c" +#line 5976 "tools/widl/parser.tab.c" break; - case 405: /* m_decl_spec_no_type: %empty */ -#line 1194 "tools/widl/parser.y" + case 404: /* unqualified_decl_spec: unqualified_type m_decl_spec_no_type */ +#line 1190 "tools/widl/parser.y" + { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[0].declspec), NULL, STG_NONE, 0, 0); } +#line 5982 "tools/widl/parser.tab.c" + break; + + case 405: /* unqualified_decl_spec: decl_spec_no_type unqualified_type m_decl_spec_no_type */ +#line 1192 "tools/widl/parser.y" + { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[-2].declspec), (yyvsp[0].declspec), STG_NONE, 0, 0); } +#line 5988 "tools/widl/parser.tab.c" + break; + + case 406: /* m_decl_spec_no_type: %empty */ +#line 1196 "tools/widl/parser.y" { (yyval.declspec) = NULL; } -#line 5973 "tools/widl/parser.tab.c" +#line 5994 "tools/widl/parser.tab.c" break; - case 407: /* decl_spec_no_type: type_qualifier m_decl_spec_no_type */ -#line 1199 "tools/widl/parser.y" - { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, STG_NONE, (yyvsp[-1].type_qualifier), 0); } -#line 5979 "tools/widl/parser.tab.c" - break; - - case 408: /* decl_spec_no_type: function_specifier m_decl_spec_no_type */ -#line 1200 "tools/widl/parser.y" - { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, STG_NONE, 0, (yyvsp[-1].function_specifier)); } -#line 5985 "tools/widl/parser.tab.c" - break; - - case 409: /* decl_spec_no_type: storage_cls_spec m_decl_spec_no_type */ + case 408: /* decl_spec_no_type: type_qualifier m_decl_spec_no_type */ #line 1201 "tools/widl/parser.y" + { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, STG_NONE, (yyvsp[-1].type_qualifier), 0); } +#line 6000 "tools/widl/parser.tab.c" + break; + + case 409: /* decl_spec_no_type: function_specifier m_decl_spec_no_type */ +#line 1202 "tools/widl/parser.y" + { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, STG_NONE, 0, (yyvsp[-1].function_specifier)); } +#line 6006 "tools/widl/parser.tab.c" + break; + + case 410: /* decl_spec_no_type: storage_cls_spec m_decl_spec_no_type */ +#line 1203 "tools/widl/parser.y" { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, (yyvsp[-1].stgclass), 0, 0); } -#line 5991 "tools/widl/parser.tab.c" +#line 6012 "tools/widl/parser.tab.c" break; - case 410: /* declarator: '*' m_type_qual_list declarator */ -#line 1206 "tools/widl/parser.y" + case 411: /* declarator: '*' m_type_qual_list declarator */ +#line 1208 "tools/widl/parser.y" { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); } -#line 5997 "tools/widl/parser.tab.c" +#line 6018 "tools/widl/parser.tab.c" break; - case 411: /* declarator: callconv declarator */ -#line 1207 "tools/widl/parser.y" + case 412: /* declarator: callconv declarator */ +#line 1209 "tools/widl/parser.y" { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv( (yyloc), (yyval.declarator)->type, (yyvsp[-1].str) ); } -#line 6003 "tools/widl/parser.tab.c" +#line 6024 "tools/widl/parser.tab.c" break; - case 413: /* direct_declarator: ident */ -#line 1212 "tools/widl/parser.y" - { (yyval.declarator) = make_declarator((yyvsp[0].var)); } -#line 6009 "tools/widl/parser.tab.c" - break; - - case 414: /* direct_declarator: '(' declarator ')' */ -#line 1213 "tools/widl/parser.y" - { (yyval.declarator) = (yyvsp[-1].declarator); } -#line 6015 "tools/widl/parser.tab.c" - break; - - case 415: /* direct_declarator: direct_declarator array */ + case 414: /* direct_declarator: ident */ #line 1214 "tools/widl/parser.y" - { (yyval.declarator) = (yyvsp[-1].declarator); append_array((yyval.declarator), (yyvsp[0].expr)); } -#line 6021 "tools/widl/parser.tab.c" - break; - - case 416: /* direct_declarator: direct_declarator '(' m_args ')' */ -#line 1215 "tools/widl/parser.y" - { (yyval.declarator) = (yyvsp[-3].declarator); append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0); } -#line 6027 "tools/widl/parser.tab.c" - break; - - case 417: /* abstract_declarator: '*' m_type_qual_list m_abstract_declarator */ -#line 1221 "tools/widl/parser.y" - { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); } -#line 6033 "tools/widl/parser.tab.c" - break; - - case 418: /* abstract_declarator: callconv m_abstract_declarator */ -#line 1222 "tools/widl/parser.y" - { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv( (yyloc), (yyval.declarator)->type, (yyvsp[-1].str) ); } -#line 6039 "tools/widl/parser.tab.c" - break; - - case 420: /* abstract_declarator_no_direct: '*' m_type_qual_list m_any_declarator */ -#line 1229 "tools/widl/parser.y" - { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); } -#line 6045 "tools/widl/parser.tab.c" - break; - - case 421: /* abstract_declarator_no_direct: callconv m_any_declarator */ -#line 1230 "tools/widl/parser.y" - { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv( (yyloc), (yyval.declarator)->type, (yyvsp[-1].str) ); } -#line 6051 "tools/widl/parser.tab.c" - break; - - case 422: /* m_abstract_declarator: %empty */ -#line 1235 "tools/widl/parser.y" - { (yyval.declarator) = make_declarator(NULL); } -#line 6057 "tools/widl/parser.tab.c" - break; - - case 424: /* abstract_direct_declarator: '(' abstract_declarator_no_direct ')' */ -#line 1241 "tools/widl/parser.y" - { (yyval.declarator) = (yyvsp[-1].declarator); } -#line 6063 "tools/widl/parser.tab.c" - break; - - case 425: /* abstract_direct_declarator: abstract_direct_declarator array */ -#line 1242 "tools/widl/parser.y" - { (yyval.declarator) = (yyvsp[-1].declarator); append_array((yyval.declarator), (yyvsp[0].expr)); } -#line 6069 "tools/widl/parser.tab.c" - break; - - case 426: /* abstract_direct_declarator: array */ -#line 1243 "tools/widl/parser.y" - { (yyval.declarator) = make_declarator(NULL); append_array((yyval.declarator), (yyvsp[0].expr)); } -#line 6075 "tools/widl/parser.tab.c" - break; - - case 427: /* abstract_direct_declarator: '(' m_args ')' */ -#line 1245 "tools/widl/parser.y" - { (yyval.declarator) = make_declarator(NULL); - append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0); - } -#line 6083 "tools/widl/parser.tab.c" - break; - - case 428: /* abstract_direct_declarator: abstract_direct_declarator '(' m_args ')' */ -#line 1249 "tools/widl/parser.y" - { (yyval.declarator) = (yyvsp[-3].declarator); - append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0); - } -#line 6091 "tools/widl/parser.tab.c" - break; - - case 429: /* any_declarator: '*' m_type_qual_list m_any_declarator */ -#line 1257 "tools/widl/parser.y" - { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); } -#line 6097 "tools/widl/parser.tab.c" - break; - - case 430: /* any_declarator: callconv m_any_declarator */ -#line 1258 "tools/widl/parser.y" - { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv( (yyloc), (yyval.declarator)->type, (yyvsp[-1].str) ); } -#line 6103 "tools/widl/parser.tab.c" - break; - - case 432: /* any_declarator_no_direct: '*' m_type_qual_list m_any_declarator */ -#line 1265 "tools/widl/parser.y" - { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); } -#line 6109 "tools/widl/parser.tab.c" - break; - - case 433: /* any_declarator_no_direct: callconv m_any_declarator */ -#line 1266 "tools/widl/parser.y" - { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv( (yyloc), (yyval.declarator)->type, (yyvsp[-1].str) ); } -#line 6115 "tools/widl/parser.tab.c" - break; - - case 434: /* m_any_declarator: %empty */ -#line 1271 "tools/widl/parser.y" - { (yyval.declarator) = make_declarator(NULL); } -#line 6121 "tools/widl/parser.tab.c" - break; - - case 436: /* any_direct_declarator: ident */ -#line 1279 "tools/widl/parser.y" { (yyval.declarator) = make_declarator((yyvsp[0].var)); } -#line 6127 "tools/widl/parser.tab.c" +#line 6030 "tools/widl/parser.tab.c" break; - case 437: /* any_direct_declarator: '(' any_declarator_no_direct ')' */ -#line 1280 "tools/widl/parser.y" + case 415: /* direct_declarator: '(' declarator ')' */ +#line 1215 "tools/widl/parser.y" { (yyval.declarator) = (yyvsp[-1].declarator); } -#line 6133 "tools/widl/parser.tab.c" +#line 6036 "tools/widl/parser.tab.c" break; - case 438: /* any_direct_declarator: any_direct_declarator array */ -#line 1281 "tools/widl/parser.y" + case 416: /* direct_declarator: direct_declarator array */ +#line 1216 "tools/widl/parser.y" { (yyval.declarator) = (yyvsp[-1].declarator); append_array((yyval.declarator), (yyvsp[0].expr)); } -#line 6139 "tools/widl/parser.tab.c" +#line 6042 "tools/widl/parser.tab.c" break; - case 439: /* any_direct_declarator: array */ -#line 1282 "tools/widl/parser.y" + case 417: /* direct_declarator: direct_declarator '(' m_args ')' */ +#line 1217 "tools/widl/parser.y" + { (yyval.declarator) = (yyvsp[-3].declarator); append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0); } +#line 6048 "tools/widl/parser.tab.c" + break; + + case 418: /* abstract_declarator: '*' m_type_qual_list m_abstract_declarator */ +#line 1223 "tools/widl/parser.y" + { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); } +#line 6054 "tools/widl/parser.tab.c" + break; + + case 419: /* abstract_declarator: callconv m_abstract_declarator */ +#line 1224 "tools/widl/parser.y" + { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv( (yyloc), (yyval.declarator)->type, (yyvsp[-1].str) ); } +#line 6060 "tools/widl/parser.tab.c" + break; + + case 421: /* abstract_declarator_no_direct: '*' m_type_qual_list m_any_declarator */ +#line 1231 "tools/widl/parser.y" + { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); } +#line 6066 "tools/widl/parser.tab.c" + break; + + case 422: /* abstract_declarator_no_direct: callconv m_any_declarator */ +#line 1232 "tools/widl/parser.y" + { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv( (yyloc), (yyval.declarator)->type, (yyvsp[-1].str) ); } +#line 6072 "tools/widl/parser.tab.c" + break; + + case 423: /* m_abstract_declarator: %empty */ +#line 1237 "tools/widl/parser.y" + { (yyval.declarator) = make_declarator(NULL); } +#line 6078 "tools/widl/parser.tab.c" + break; + + case 425: /* abstract_direct_declarator: '(' abstract_declarator_no_direct ')' */ +#line 1243 "tools/widl/parser.y" + { (yyval.declarator) = (yyvsp[-1].declarator); } +#line 6084 "tools/widl/parser.tab.c" + break; + + case 426: /* abstract_direct_declarator: abstract_direct_declarator array */ +#line 1244 "tools/widl/parser.y" + { (yyval.declarator) = (yyvsp[-1].declarator); append_array((yyval.declarator), (yyvsp[0].expr)); } +#line 6090 "tools/widl/parser.tab.c" + break; + + case 427: /* abstract_direct_declarator: array */ +#line 1245 "tools/widl/parser.y" { (yyval.declarator) = make_declarator(NULL); append_array((yyval.declarator), (yyvsp[0].expr)); } -#line 6145 "tools/widl/parser.tab.c" +#line 6096 "tools/widl/parser.tab.c" break; - case 440: /* any_direct_declarator: '(' m_args ')' */ -#line 1284 "tools/widl/parser.y" + case 428: /* abstract_direct_declarator: '(' m_args ')' */ +#line 1247 "tools/widl/parser.y" { (yyval.declarator) = make_declarator(NULL); append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0); } -#line 6153 "tools/widl/parser.tab.c" +#line 6104 "tools/widl/parser.tab.c" break; - case 441: /* any_direct_declarator: any_direct_declarator '(' m_args ')' */ -#line 1288 "tools/widl/parser.y" + case 429: /* abstract_direct_declarator: abstract_direct_declarator '(' m_args ')' */ +#line 1251 "tools/widl/parser.y" { (yyval.declarator) = (yyvsp[-3].declarator); append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0); } -#line 6161 "tools/widl/parser.tab.c" +#line 6112 "tools/widl/parser.tab.c" break; - case 442: /* declarator_list: declarator */ -#line 1294 "tools/widl/parser.y" + case 430: /* any_declarator: '*' m_type_qual_list m_any_declarator */ +#line 1259 "tools/widl/parser.y" + { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); } +#line 6118 "tools/widl/parser.tab.c" + break; + + case 431: /* any_declarator: callconv m_any_declarator */ +#line 1260 "tools/widl/parser.y" + { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv( (yyloc), (yyval.declarator)->type, (yyvsp[-1].str) ); } +#line 6124 "tools/widl/parser.tab.c" + break; + + case 433: /* any_declarator_no_direct: '*' m_type_qual_list m_any_declarator */ +#line 1267 "tools/widl/parser.y" + { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); } +#line 6130 "tools/widl/parser.tab.c" + break; + + case 434: /* any_declarator_no_direct: callconv m_any_declarator */ +#line 1268 "tools/widl/parser.y" + { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv( (yyloc), (yyval.declarator)->type, (yyvsp[-1].str) ); } +#line 6136 "tools/widl/parser.tab.c" + break; + + case 435: /* m_any_declarator: %empty */ +#line 1273 "tools/widl/parser.y" + { (yyval.declarator) = make_declarator(NULL); } +#line 6142 "tools/widl/parser.tab.c" + break; + + case 437: /* any_direct_declarator: ident */ +#line 1281 "tools/widl/parser.y" + { (yyval.declarator) = make_declarator((yyvsp[0].var)); } +#line 6148 "tools/widl/parser.tab.c" + break; + + case 438: /* any_direct_declarator: '(' any_declarator_no_direct ')' */ +#line 1282 "tools/widl/parser.y" + { (yyval.declarator) = (yyvsp[-1].declarator); } +#line 6154 "tools/widl/parser.tab.c" + break; + + case 439: /* any_direct_declarator: any_direct_declarator array */ +#line 1283 "tools/widl/parser.y" + { (yyval.declarator) = (yyvsp[-1].declarator); append_array((yyval.declarator), (yyvsp[0].expr)); } +#line 6160 "tools/widl/parser.tab.c" + break; + + case 440: /* any_direct_declarator: array */ +#line 1284 "tools/widl/parser.y" + { (yyval.declarator) = make_declarator(NULL); append_array((yyval.declarator), (yyvsp[0].expr)); } +#line 6166 "tools/widl/parser.tab.c" + break; + + case 441: /* any_direct_declarator: '(' m_args ')' */ +#line 1286 "tools/widl/parser.y" + { (yyval.declarator) = make_declarator(NULL); + append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0); + } +#line 6174 "tools/widl/parser.tab.c" + break; + + case 442: /* any_direct_declarator: any_direct_declarator '(' m_args ')' */ +#line 1290 "tools/widl/parser.y" + { (yyval.declarator) = (yyvsp[-3].declarator); + append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0); + } +#line 6182 "tools/widl/parser.tab.c" + break; + + case 443: /* declarator_list: declarator */ +#line 1296 "tools/widl/parser.y" { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); } -#line 6167 "tools/widl/parser.tab.c" +#line 6188 "tools/widl/parser.tab.c" break; - case 443: /* declarator_list: declarator_list ',' declarator */ -#line 1295 "tools/widl/parser.y" + case 444: /* declarator_list: declarator_list ',' declarator */ +#line 1297 "tools/widl/parser.y" { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); } -#line 6173 "tools/widl/parser.tab.c" +#line 6194 "tools/widl/parser.tab.c" break; - case 444: /* m_bitfield: %empty */ -#line 1299 "tools/widl/parser.y" + case 445: /* m_bitfield: %empty */ +#line 1301 "tools/widl/parser.y" { (yyval.expr) = NULL; } -#line 6179 "tools/widl/parser.tab.c" +#line 6200 "tools/widl/parser.tab.c" break; - case 445: /* m_bitfield: ':' expr_const */ -#line 1300 "tools/widl/parser.y" + case 446: /* m_bitfield: ':' expr_const */ +#line 1302 "tools/widl/parser.y" { (yyval.expr) = (yyvsp[0].expr); } -#line 6185 "tools/widl/parser.tab.c" +#line 6206 "tools/widl/parser.tab.c" break; - case 446: /* struct_declarator: any_declarator m_bitfield */ -#line 1303 "tools/widl/parser.y" + case 447: /* struct_declarator: any_declarator m_bitfield */ +#line 1305 "tools/widl/parser.y" { (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 6194 "tools/widl/parser.tab.c" +#line 6215 "tools/widl/parser.tab.c" break; - case 447: /* struct_declarator_list: struct_declarator */ -#line 1310 "tools/widl/parser.y" - { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); } -#line 6200 "tools/widl/parser.tab.c" - break; - - case 448: /* struct_declarator_list: struct_declarator_list ',' struct_declarator */ + case 448: /* struct_declarator_list: struct_declarator */ #line 1312 "tools/widl/parser.y" + { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); } +#line 6221 "tools/widl/parser.tab.c" + break; + + case 449: /* struct_declarator_list: struct_declarator_list ',' struct_declarator */ +#line 1314 "tools/widl/parser.y" { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); } -#line 6206 "tools/widl/parser.tab.c" +#line 6227 "tools/widl/parser.tab.c" break; - case 449: /* init_declarator: declarator */ -#line 1316 "tools/widl/parser.y" + case 450: /* init_declarator: declarator */ +#line 1318 "tools/widl/parser.y" { (yyval.declarator) = (yyvsp[0].declarator); } -#line 6212 "tools/widl/parser.tab.c" +#line 6233 "tools/widl/parser.tab.c" break; - case 450: /* init_declarator: declarator '=' expr_const */ -#line 1317 "tools/widl/parser.y" + case 451: /* init_declarator: declarator '=' expr_const */ +#line 1319 "tools/widl/parser.y" { (yyval.declarator) = (yyvsp[-2].declarator); (yyvsp[-2].declarator)->var->eval = (yyvsp[0].expr); } -#line 6218 "tools/widl/parser.tab.c" +#line 6239 "tools/widl/parser.tab.c" break; - case 451: /* threading_type: tAPARTMENT */ -#line 1321 "tools/widl/parser.y" - { (yyval.num) = THREADING_APARTMENT; } -#line 6224 "tools/widl/parser.tab.c" - break; - - case 452: /* threading_type: tNEUTRAL */ -#line 1322 "tools/widl/parser.y" - { (yyval.num) = THREADING_NEUTRAL; } -#line 6230 "tools/widl/parser.tab.c" - break; - - case 453: /* threading_type: tSINGLE */ + case 452: /* threading_type: tAPARTMENT */ #line 1323 "tools/widl/parser.y" - { (yyval.num) = THREADING_SINGLE; } -#line 6236 "tools/widl/parser.tab.c" + { (yyval.num) = THREADING_APARTMENT; } +#line 6245 "tools/widl/parser.tab.c" break; - case 454: /* threading_type: tFREE */ + case 453: /* threading_type: tNEUTRAL */ #line 1324 "tools/widl/parser.y" - { (yyval.num) = THREADING_FREE; } -#line 6242 "tools/widl/parser.tab.c" + { (yyval.num) = THREADING_NEUTRAL; } +#line 6251 "tools/widl/parser.tab.c" break; - case 455: /* threading_type: tBOTH */ + case 454: /* threading_type: tSINGLE */ #line 1325 "tools/widl/parser.y" - { (yyval.num) = THREADING_BOTH; } -#line 6248 "tools/widl/parser.tab.c" + { (yyval.num) = THREADING_SINGLE; } +#line 6257 "tools/widl/parser.tab.c" break; - case 456: /* threading_type: tMTA */ + case 455: /* threading_type: tFREE */ #line 1326 "tools/widl/parser.y" { (yyval.num) = THREADING_FREE; } -#line 6254 "tools/widl/parser.tab.c" +#line 6263 "tools/widl/parser.tab.c" break; - case 457: /* pointer_type: tREF */ -#line 1330 "tools/widl/parser.y" - { (yyval.num) = FC_RP; } -#line 6260 "tools/widl/parser.tab.c" + case 456: /* threading_type: tBOTH */ +#line 1327 "tools/widl/parser.y" + { (yyval.num) = THREADING_BOTH; } +#line 6269 "tools/widl/parser.tab.c" break; - case 458: /* pointer_type: tUNIQUE */ -#line 1331 "tools/widl/parser.y" - { (yyval.num) = FC_UP; } -#line 6266 "tools/widl/parser.tab.c" + case 457: /* threading_type: tMTA */ +#line 1328 "tools/widl/parser.y" + { (yyval.num) = THREADING_FREE; } +#line 6275 "tools/widl/parser.tab.c" break; - case 459: /* pointer_type: tPTR */ + case 458: /* pointer_type: tREF */ #line 1332 "tools/widl/parser.y" + { (yyval.num) = FC_RP; } +#line 6281 "tools/widl/parser.tab.c" + break; + + case 459: /* pointer_type: tUNIQUE */ +#line 1333 "tools/widl/parser.y" + { (yyval.num) = FC_UP; } +#line 6287 "tools/widl/parser.tab.c" + break; + + case 460: /* pointer_type: tPTR */ +#line 1334 "tools/widl/parser.y" { (yyval.num) = FC_FP; } -#line 6272 "tools/widl/parser.tab.c" +#line 6293 "tools/widl/parser.tab.c" break; - case 460: /* structdef: tSTRUCT m_typename '{' fields '}' */ -#line 1335 "tools/widl/parser.y" + case 461: /* structdef: tSTRUCT m_typename '{' fields '}' */ +#line 1337 "tools/widl/parser.y" { (yyval.type) = type_new_struct((yyvsp[-3].str), current_namespace, TRUE, (yyvsp[-1].var_list)); } -#line 6278 "tools/widl/parser.tab.c" +#line 6299 "tools/widl/parser.tab.c" break; - case 461: /* unqualified_type: tVOID */ -#line 1339 "tools/widl/parser.y" - { (yyval.type) = type_new_void(); } -#line 6284 "tools/widl/parser.tab.c" - break; - - case 462: /* unqualified_type: base_type */ -#line 1340 "tools/widl/parser.y" - { (yyval.type) = (yyvsp[0].type); } -#line 6290 "tools/widl/parser.tab.c" - break; - - case 463: /* unqualified_type: enumdef */ + case 462: /* unqualified_type: tVOID */ #line 1341 "tools/widl/parser.y" - { (yyval.type) = (yyvsp[0].type); } -#line 6296 "tools/widl/parser.tab.c" + { (yyval.type) = type_new_void(); } +#line 6305 "tools/widl/parser.tab.c" break; - case 464: /* unqualified_type: tENUM aIDENTIFIER */ + case 463: /* unqualified_type: base_type */ #line 1342 "tools/widl/parser.y" - { (yyval.type) = type_new_enum((yyvsp[0].str), current_namespace, FALSE, NULL); } -#line 6302 "tools/widl/parser.tab.c" + { (yyval.type) = (yyvsp[0].type); } +#line 6311 "tools/widl/parser.tab.c" break; - case 465: /* unqualified_type: structdef */ + case 464: /* unqualified_type: enumdef */ #line 1343 "tools/widl/parser.y" { (yyval.type) = (yyvsp[0].type); } -#line 6308 "tools/widl/parser.tab.c" +#line 6317 "tools/widl/parser.tab.c" break; - case 466: /* unqualified_type: tSTRUCT aIDENTIFIER */ + case 465: /* unqualified_type: tENUM aIDENTIFIER */ #line 1344 "tools/widl/parser.y" - { (yyval.type) = type_new_struct((yyvsp[0].str), current_namespace, FALSE, NULL); } -#line 6314 "tools/widl/parser.tab.c" + { (yyval.type) = type_new_enum((yyvsp[0].str), current_namespace, FALSE, NULL); } +#line 6323 "tools/widl/parser.tab.c" break; - case 467: /* unqualified_type: uniondef */ + case 466: /* unqualified_type: structdef */ #line 1345 "tools/widl/parser.y" { (yyval.type) = (yyvsp[0].type); } -#line 6320 "tools/widl/parser.tab.c" +#line 6329 "tools/widl/parser.tab.c" break; - case 468: /* unqualified_type: tUNION aIDENTIFIER */ + case 467: /* unqualified_type: tSTRUCT aIDENTIFIER */ #line 1346 "tools/widl/parser.y" - { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), current_namespace, FALSE, NULL); } -#line 6326 "tools/widl/parser.tab.c" + { (yyval.type) = type_new_struct((yyvsp[0].str), current_namespace, FALSE, NULL); } +#line 6335 "tools/widl/parser.tab.c" break; - case 469: /* unqualified_type: tSAFEARRAY '(' type ')' */ + case 468: /* unqualified_type: uniondef */ #line 1347 "tools/widl/parser.y" - { (yyval.type) = make_safearray((yyvsp[-1].type)); } -#line 6332 "tools/widl/parser.tab.c" - break; - - case 470: /* unqualified_type: aKNOWNTYPE */ -#line 1348 "tools/widl/parser.y" - { (yyval.type) = find_type_or_error(current_namespace, (yyvsp[0].str)); } -#line 6338 "tools/widl/parser.tab.c" - break; - - case 472: /* type: namespace_pfx typename */ -#line 1353 "tools/widl/parser.y" - { (yyval.type) = find_type_or_error((yyvsp[-1].namespace), (yyvsp[0].str)); } -#line 6344 "tools/widl/parser.tab.c" - break; - - case 473: /* type: parameterized_type */ -#line 1354 "tools/widl/parser.y" { (yyval.type) = (yyvsp[0].type); } -#line 6350 "tools/widl/parser.tab.c" +#line 6341 "tools/widl/parser.tab.c" break; - case 474: /* typedef: m_attributes tTYPEDEF m_attributes decl_spec declarator_list */ -#line 1358 "tools/widl/parser.y" + case 469: /* unqualified_type: tUNION aIDENTIFIER */ +#line 1348 "tools/widl/parser.y" + { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), current_namespace, FALSE, NULL); } +#line 6347 "tools/widl/parser.tab.c" + break; + + case 470: /* unqualified_type: tSAFEARRAY '(' type ')' */ +#line 1349 "tools/widl/parser.y" + { (yyval.type) = make_safearray((yyvsp[-1].type)); } +#line 6353 "tools/widl/parser.tab.c" + break; + + case 471: /* unqualified_type: aKNOWNTYPE */ +#line 1350 "tools/widl/parser.y" + { (yyval.type) = find_type_or_error(current_namespace, (yyvsp[0].str)); } +#line 6359 "tools/widl/parser.tab.c" + break; + + case 473: /* type: namespace_pfx typename */ +#line 1355 "tools/widl/parser.y" + { (yyval.type) = find_type_or_error((yyvsp[-1].namespace), (yyvsp[0].str)); } +#line 6365 "tools/widl/parser.tab.c" + break; + + case 474: /* type: parameterized_type */ +#line 1356 "tools/widl/parser.y" + { (yyval.type) = (yyvsp[0].type); } +#line 6371 "tools/widl/parser.tab.c" + break; + + case 475: /* typedef: m_attributes tTYPEDEF m_attributes decl_spec declarator_list */ +#line 1360 "tools/widl/parser.y" { (yyvsp[-4].attr_list) = append_attribs((yyvsp[-4].attr_list), (yyvsp[-2].attr_list)); reg_typedefs( (yyloc), (yyvsp[-1].declspec), (yyvsp[0].declarator_list), check_typedef_attrs( (yyvsp[-4].attr_list) ) ); (yyval.statement) = make_statement_typedef((yyvsp[0].declarator_list), !(yyvsp[-1].declspec)->type->defined); } -#line 6359 "tools/widl/parser.tab.c" +#line 6380 "tools/widl/parser.tab.c" break; - case 475: /* uniondef: tUNION m_typename '{' ne_union_fields '}' */ -#line 1365 "tools/widl/parser.y" + case 476: /* uniondef: tUNION m_typename '{' ne_union_fields '}' */ +#line 1367 "tools/widl/parser.y" { (yyval.type) = type_new_nonencapsulated_union((yyvsp[-3].str), current_namespace, TRUE, (yyvsp[-1].var_list)); } -#line 6365 "tools/widl/parser.tab.c" +#line 6386 "tools/widl/parser.tab.c" break; - case 476: /* uniondef: tUNION m_typename tSWITCH '(' s_field ')' m_ident '{' cases '}' */ -#line 1368 "tools/widl/parser.y" + case 477: /* uniondef: tUNION m_typename tSWITCH '(' s_field ')' m_ident '{' cases '}' */ +#line 1370 "tools/widl/parser.y" { (yyval.type) = type_new_encapsulated_union((yyvsp[-8].str), (yyvsp[-5].var), (yyvsp[-3].var), (yyvsp[-1].var_list)); } -#line 6371 "tools/widl/parser.tab.c" +#line 6392 "tools/widl/parser.tab.c" break; - case 477: /* version: aNUM */ -#line 1372 "tools/widl/parser.y" - { (yyval.num) = MAKEVERSION((yyvsp[0].num), 0); } -#line 6377 "tools/widl/parser.tab.c" - break; - - case 478: /* version: aNUM '.' aNUM */ -#line 1373 "tools/widl/parser.y" - { (yyval.num) = MAKEVERSION((yyvsp[-2].num), (yyvsp[0].num)); } -#line 6383 "tools/widl/parser.tab.c" - break; - - case 479: /* version: aHEXNUM */ + case 478: /* version: aNUM */ #line 1374 "tools/widl/parser.y" - { (yyval.num) = (yyvsp[0].num); } -#line 6389 "tools/widl/parser.tab.c" + { (yyval.num) = MAKEVERSION((yyvsp[0].num), 0); } +#line 6398 "tools/widl/parser.tab.c" break; - case 484: /* acf_int_statement: tTYPEDEF acf_attributes aKNOWNTYPE ';' */ -#line 1389 "tools/widl/parser.y" + case 479: /* version: aNUM '.' aNUM */ +#line 1375 "tools/widl/parser.y" + { (yyval.num) = MAKEVERSION((yyvsp[-2].num), (yyvsp[0].num)); } +#line 6404 "tools/widl/parser.tab.c" + break; + + case 480: /* version: aHEXNUM */ +#line 1376 "tools/widl/parser.y" + { (yyval.num) = (yyvsp[0].num); } +#line 6410 "tools/widl/parser.tab.c" + break; + + case 485: /* acf_int_statement: tTYPEDEF acf_attributes aKNOWNTYPE ';' */ +#line 1391 "tools/widl/parser.y" { type_t *type = find_type_or_error(current_namespace, (yyvsp[-1].str)); type->attrs = append_attr_list(type->attrs, (yyvsp[-2].attr_list)); } -#line 6397 "tools/widl/parser.tab.c" +#line 6418 "tools/widl/parser.tab.c" break; - case 485: /* acf_interface: acf_attributes tINTERFACE aKNOWNTYPE '{' acf_int_statements '}' */ -#line 1396 "tools/widl/parser.y" + case 486: /* acf_interface: acf_attributes tINTERFACE aKNOWNTYPE '{' acf_int_statements '}' */ +#line 1398 "tools/widl/parser.y" { type_t *iface = find_type_or_error(current_namespace, (yyvsp[-3].str)); if (type_get_type(iface) != TYPE_INTERFACE) error_loc("%s is not an interface\n", iface->name); iface->attrs = append_attr_list(iface->attrs, (yyvsp[-5].attr_list)); } -#line 6407 "tools/widl/parser.tab.c" +#line 6428 "tools/widl/parser.tab.c" break; - case 486: /* acf_attributes: %empty */ -#line 1404 "tools/widl/parser.y" + case 487: /* acf_attributes: %empty */ +#line 1406 "tools/widl/parser.y" { (yyval.attr_list) = NULL; } -#line 6413 "tools/widl/parser.tab.c" +#line 6434 "tools/widl/parser.tab.c" break; - case 487: /* acf_attributes: '[' acf_attribute_list ']' */ -#line 1405 "tools/widl/parser.y" + case 488: /* acf_attributes: '[' acf_attribute_list ']' */ +#line 1407 "tools/widl/parser.y" { (yyval.attr_list) = (yyvsp[-1].attr_list); } -#line 6419 "tools/widl/parser.tab.c" +#line 6440 "tools/widl/parser.tab.c" break; - case 488: /* acf_attribute_list: acf_attribute */ -#line 1409 "tools/widl/parser.y" + case 489: /* acf_attribute_list: acf_attribute */ +#line 1411 "tools/widl/parser.y" { (yyval.attr_list) = append_attr(NULL, (yyvsp[0].attr)); } -#line 6425 "tools/widl/parser.tab.c" +#line 6446 "tools/widl/parser.tab.c" break; - case 489: /* acf_attribute_list: acf_attribute_list ',' acf_attribute */ -#line 1410 "tools/widl/parser.y" + case 490: /* acf_attribute_list: acf_attribute_list ',' acf_attribute */ +#line 1412 "tools/widl/parser.y" { (yyval.attr_list) = append_attr((yyvsp[-2].attr_list), (yyvsp[0].attr)); } -#line 6431 "tools/widl/parser.tab.c" +#line 6452 "tools/widl/parser.tab.c" break; - case 490: /* acf_attribute: tALLOCATE '(' allocate_option_list ')' */ -#line 1415 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_ALLOCATE, (yyvsp[-1].num) ); } -#line 6437 "tools/widl/parser.tab.c" - break; - - case 491: /* acf_attribute: tENCODE */ -#line 1416 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_ENCODE, 0 ); } -#line 6443 "tools/widl/parser.tab.c" - break; - - case 492: /* acf_attribute: tDECODE */ + case 491: /* acf_attribute: tALLOCATE '(' allocate_option_list ')' */ #line 1417 "tools/widl/parser.y" - { (yyval.attr) = attr_int( (yyloc), ATTR_DECODE, 0 ); } -#line 6449 "tools/widl/parser.tab.c" + { (yyval.attr) = attr_int( (yyloc), ATTR_ALLOCATE, (yyvsp[-1].num) ); } +#line 6458 "tools/widl/parser.tab.c" break; - case 493: /* acf_attribute: tEXPLICITHANDLE */ + case 492: /* acf_attribute: tENCODE */ #line 1418 "tools/widl/parser.y" + { (yyval.attr) = attr_int( (yyloc), ATTR_ENCODE, 0 ); } +#line 6464 "tools/widl/parser.tab.c" + break; + + case 493: /* acf_attribute: tDECODE */ +#line 1419 "tools/widl/parser.y" + { (yyval.attr) = attr_int( (yyloc), ATTR_DECODE, 0 ); } +#line 6470 "tools/widl/parser.tab.c" + break; + + case 494: /* acf_attribute: tEXPLICITHANDLE */ +#line 1420 "tools/widl/parser.y" { (yyval.attr) = attr_int( (yyloc), ATTR_EXPLICIT_HANDLE, 0 ); } -#line 6455 "tools/widl/parser.tab.c" +#line 6476 "tools/widl/parser.tab.c" break; - case 494: /* allocate_option_list: allocate_option */ -#line 1422 "tools/widl/parser.y" - { (yyval.num) = (yyvsp[0].num); } -#line 6461 "tools/widl/parser.tab.c" - break; - - case 495: /* allocate_option_list: allocate_option_list ',' allocate_option */ + case 495: /* allocate_option_list: allocate_option */ #line 1424 "tools/widl/parser.y" + { (yyval.num) = (yyvsp[0].num); } +#line 6482 "tools/widl/parser.tab.c" + break; + + case 496: /* allocate_option_list: allocate_option_list ',' allocate_option */ +#line 1426 "tools/widl/parser.y" { (yyval.num) = (yyvsp[-2].num) | (yyvsp[0].num); } -#line 6467 "tools/widl/parser.tab.c" +#line 6488 "tools/widl/parser.tab.c" break; - case 496: /* allocate_option: tDONTFREE */ -#line 1428 "tools/widl/parser.y" - { (yyval.num) = FC_DONT_FREE; } -#line 6473 "tools/widl/parser.tab.c" - break; - - case 497: /* allocate_option: tFREE */ -#line 1429 "tools/widl/parser.y" - { (yyval.num) = 0; } -#line 6479 "tools/widl/parser.tab.c" - break; - - case 498: /* allocate_option: tALLNODES */ + case 497: /* allocate_option: tDONTFREE */ #line 1430 "tools/widl/parser.y" - { (yyval.num) = FC_ALLOCATE_ALL_NODES; } -#line 6485 "tools/widl/parser.tab.c" + { (yyval.num) = FC_DONT_FREE; } +#line 6494 "tools/widl/parser.tab.c" break; - case 499: /* allocate_option: tSINGLENODE */ + case 498: /* allocate_option: tFREE */ #line 1431 "tools/widl/parser.y" { (yyval.num) = 0; } -#line 6491 "tools/widl/parser.tab.c" +#line 6500 "tools/widl/parser.tab.c" + break; + + case 499: /* allocate_option: tALLNODES */ +#line 1432 "tools/widl/parser.y" + { (yyval.num) = FC_ALLOCATE_ALL_NODES; } +#line 6506 "tools/widl/parser.tab.c" + break; + + case 500: /* allocate_option: tSINGLENODE */ +#line 1433 "tools/widl/parser.y" + { (yyval.num) = 0; } +#line 6512 "tools/widl/parser.tab.c" break; -#line 6495 "tools/widl/parser.tab.c" +#line 6516 "tools/widl/parser.tab.c" default: break; } @@ -6720,7 +6741,7 @@ return yyresult; } -#line 1434 "tools/widl/parser.y" +#line 1436 "tools/widl/parser.y" static void decl_builtin_basic(const char *name, enum type_basic_type type)
diff --git a/mingw-w64-tools/widl/src/parser.tab.h b/mingw-w64-tools/widl/src/parser.tab.h index f168fb9..2aee89a 100644 --- a/mingw-w64-tools/widl/src/parser.tab.h +++ b/mingw-w64-tools/widl/src/parser.tab.h
@@ -134,153 +134,154 @@ tDEFAULT = 319, /* tDEFAULT */ tDEFAULTBIND = 320, /* tDEFAULTBIND */ tDELEGATE = 321, /* tDELEGATE */ - tDEFAULTCOLLELEM = 322, /* tDEFAULTCOLLELEM */ - tDEFAULTVALUE = 323, /* tDEFAULTVALUE */ - tDEFAULTVTABLE = 324, /* tDEFAULTVTABLE */ - tDEPRECATED = 325, /* tDEPRECATED */ - tDISABLECONSISTENCYCHECK = 326, /* tDISABLECONSISTENCYCHECK */ - tDISPLAYBIND = 327, /* tDISPLAYBIND */ - tDISPINTERFACE = 328, /* tDISPINTERFACE */ - tDLLNAME = 329, /* tDLLNAME */ - tDONTFREE = 330, /* tDONTFREE */ - tDOUBLE = 331, /* tDOUBLE */ - tDUAL = 332, /* tDUAL */ - tENABLEALLOCATE = 333, /* tENABLEALLOCATE */ - tENCODE = 334, /* tENCODE */ - tENDPOINT = 335, /* tENDPOINT */ - tENTRY = 336, /* tENTRY */ - tENUM = 337, /* tENUM */ - tERRORSTATUST = 338, /* tERRORSTATUST */ - tEVENTADD = 339, /* tEVENTADD */ - tEVENTREMOVE = 340, /* tEVENTREMOVE */ - tEXCLUSIVETO = 341, /* tEXCLUSIVETO */ - tEXPLICITHANDLE = 342, /* tEXPLICITHANDLE */ - tEXTERN = 343, /* tEXTERN */ - tFALSE = 344, /* tFALSE */ - tFAULTSTATUS = 345, /* tFAULTSTATUS */ - tFLAGS = 346, /* tFLAGS */ - tFLOAT = 347, /* tFLOAT */ - tFORCEALLOCATE = 348, /* tFORCEALLOCATE */ - tHANDLE = 349, /* tHANDLE */ - tHANDLET = 350, /* tHANDLET */ - tHELPCONTEXT = 351, /* tHELPCONTEXT */ - tHELPFILE = 352, /* tHELPFILE */ - tHELPSTRING = 353, /* tHELPSTRING */ - tHELPSTRINGCONTEXT = 354, /* tHELPSTRINGCONTEXT */ - tHELPSTRINGDLL = 355, /* tHELPSTRINGDLL */ - tHIDDEN = 356, /* tHIDDEN */ - tHYPER = 357, /* tHYPER */ - tID = 358, /* tID */ - tIDEMPOTENT = 359, /* tIDEMPOTENT */ - tIGNORE = 360, /* tIGNORE */ - tIIDIS = 361, /* tIIDIS */ - tIMMEDIATEBIND = 362, /* tIMMEDIATEBIND */ - tIMPLICITHANDLE = 363, /* tIMPLICITHANDLE */ - tIMPORT = 364, /* tIMPORT */ - tIMPORTLIB = 365, /* tIMPORTLIB */ - tIN = 366, /* tIN */ - tIN_LINE = 367, /* tIN_LINE */ - tINLINE = 368, /* tINLINE */ - tINPUTSYNC = 369, /* tINPUTSYNC */ - tINT = 370, /* tINT */ - tINT32 = 371, /* tINT32 */ - tINT3264 = 372, /* tINT3264 */ - tINT64 = 373, /* tINT64 */ - tINTERFACE = 374, /* tINTERFACE */ - tLCID = 375, /* tLCID */ - tLENGTHIS = 376, /* tLENGTHIS */ - tLIBRARY = 377, /* tLIBRARY */ - tLICENSED = 378, /* tLICENSED */ - tLOCAL = 379, /* tLOCAL */ - tLONG = 380, /* tLONG */ - tMARSHALINGBEHAVIOR = 381, /* tMARSHALINGBEHAVIOR */ - tMAYBE = 382, /* tMAYBE */ - tMESSAGE = 383, /* tMESSAGE */ - tMETHODS = 384, /* tMETHODS */ - tMODULE = 385, /* tMODULE */ - tMTA = 386, /* tMTA */ - tNAMESPACE = 387, /* tNAMESPACE */ - tNOCODE = 388, /* tNOCODE */ - tNONBROWSABLE = 389, /* tNONBROWSABLE */ - tNONCREATABLE = 390, /* tNONCREATABLE */ - tNONE = 391, /* tNONE */ - tNONEXTENSIBLE = 392, /* tNONEXTENSIBLE */ - tNOTIFY = 393, /* tNOTIFY */ - tNOTIFYFLAG = 394, /* tNOTIFYFLAG */ - tNULL = 395, /* tNULL */ - tOBJECT = 396, /* tOBJECT */ - tODL = 397, /* tODL */ - tOLEAUTOMATION = 398, /* tOLEAUTOMATION */ - tOPTIMIZE = 399, /* tOPTIMIZE */ - tOPTIONAL = 400, /* tOPTIONAL */ - tOUT = 401, /* tOUT */ - tOVERLOAD = 402, /* tOVERLOAD */ - tPARTIALIGNORE = 403, /* tPARTIALIGNORE */ - tPOINTERDEFAULT = 404, /* tPOINTERDEFAULT */ - tPRAGMA_WARNING = 405, /* tPRAGMA_WARNING */ - tPROGID = 406, /* tPROGID */ - tPROPERTIES = 407, /* tPROPERTIES */ - tPROPGET = 408, /* tPROPGET */ - tPROPPUT = 409, /* tPROPPUT */ - tPROPPUTREF = 410, /* tPROPPUTREF */ - tPROTECTED = 411, /* tPROTECTED */ - tPROXY = 412, /* tPROXY */ - tPTR = 413, /* tPTR */ - tPUBLIC = 414, /* tPUBLIC */ - tRANGE = 415, /* tRANGE */ - tREADONLY = 416, /* tREADONLY */ - tREF = 417, /* tREF */ - tREGISTER = 418, /* tREGISTER */ - tREPRESENTAS = 419, /* tREPRESENTAS */ - tREQUESTEDIT = 420, /* tREQUESTEDIT */ - tREQUIRES = 421, /* tREQUIRES */ - tRESTRICTED = 422, /* tRESTRICTED */ - tRETVAL = 423, /* tRETVAL */ - tRUNTIMECLASS = 424, /* tRUNTIMECLASS */ - tSAFEARRAY = 425, /* tSAFEARRAY */ - tSHORT = 426, /* tSHORT */ - tSIGNED = 427, /* tSIGNED */ - tSINGLENODE = 428, /* tSINGLENODE */ - tSIZEIS = 429, /* tSIZEIS */ - tSIZEOF = 430, /* tSIZEOF */ - tSMALL = 431, /* tSMALL */ - tSOURCE = 432, /* tSOURCE */ - tSTANDARD = 433, /* tSTANDARD */ - tSTATIC = 434, /* tSTATIC */ - tSTRICTCONTEXTHANDLE = 435, /* tSTRICTCONTEXTHANDLE */ - tSTRING = 436, /* tSTRING */ - tSTRUCT = 437, /* tSTRUCT */ - tSWITCH = 438, /* tSWITCH */ - tSWITCHIS = 439, /* tSWITCHIS */ - tSWITCHTYPE = 440, /* tSWITCHTYPE */ - tTHREADING = 441, /* tTHREADING */ - tTRANSMITAS = 442, /* tTRANSMITAS */ - tTRUE = 443, /* tTRUE */ - tTYPEDEF = 444, /* tTYPEDEF */ - tUIDEFAULT = 445, /* tUIDEFAULT */ - tUNION = 446, /* tUNION */ - tUNIQUE = 447, /* tUNIQUE */ - tUNSIGNED = 448, /* tUNSIGNED */ - tUSESGETLASTERROR = 449, /* tUSESGETLASTERROR */ - tUSERMARSHAL = 450, /* tUSERMARSHAL */ - tUUID = 451, /* tUUID */ - tV1ENUM = 452, /* tV1ENUM */ - tVARARG = 453, /* tVARARG */ - tVERSION = 454, /* tVERSION */ - tVIPROGID = 455, /* tVIPROGID */ - tVOID = 456, /* tVOID */ - tWCHAR = 457, /* tWCHAR */ - tWIREMARSHAL = 458, /* tWIREMARSHAL */ - tAPARTMENT = 459, /* tAPARTMENT */ - tNEUTRAL = 460, /* tNEUTRAL */ - tSINGLE = 461, /* tSINGLE */ - tFREE = 462, /* tFREE */ - tBOTH = 463, /* tBOTH */ - CAST = 464, /* CAST */ - PPTR = 465, /* PPTR */ - POS = 466, /* POS */ - NEG = 467, /* NEG */ - ADDRESSOF = 468 /* ADDRESSOF */ + tDEFAULT_OVERLOAD = 322, /* tDEFAULT_OVERLOAD */ + tDEFAULTCOLLELEM = 323, /* tDEFAULTCOLLELEM */ + tDEFAULTVALUE = 324, /* tDEFAULTVALUE */ + tDEFAULTVTABLE = 325, /* tDEFAULTVTABLE */ + tDEPRECATED = 326, /* tDEPRECATED */ + tDISABLECONSISTENCYCHECK = 327, /* tDISABLECONSISTENCYCHECK */ + tDISPLAYBIND = 328, /* tDISPLAYBIND */ + tDISPINTERFACE = 329, /* tDISPINTERFACE */ + tDLLNAME = 330, /* tDLLNAME */ + tDONTFREE = 331, /* tDONTFREE */ + tDOUBLE = 332, /* tDOUBLE */ + tDUAL = 333, /* tDUAL */ + tENABLEALLOCATE = 334, /* tENABLEALLOCATE */ + tENCODE = 335, /* tENCODE */ + tENDPOINT = 336, /* tENDPOINT */ + tENTRY = 337, /* tENTRY */ + tENUM = 338, /* tENUM */ + tERRORSTATUST = 339, /* tERRORSTATUST */ + tEVENTADD = 340, /* tEVENTADD */ + tEVENTREMOVE = 341, /* tEVENTREMOVE */ + tEXCLUSIVETO = 342, /* tEXCLUSIVETO */ + tEXPLICITHANDLE = 343, /* tEXPLICITHANDLE */ + tEXTERN = 344, /* tEXTERN */ + tFALSE = 345, /* tFALSE */ + tFAULTSTATUS = 346, /* tFAULTSTATUS */ + tFLAGS = 347, /* tFLAGS */ + tFLOAT = 348, /* tFLOAT */ + tFORCEALLOCATE = 349, /* tFORCEALLOCATE */ + tHANDLE = 350, /* tHANDLE */ + tHANDLET = 351, /* tHANDLET */ + tHELPCONTEXT = 352, /* tHELPCONTEXT */ + tHELPFILE = 353, /* tHELPFILE */ + tHELPSTRING = 354, /* tHELPSTRING */ + tHELPSTRINGCONTEXT = 355, /* tHELPSTRINGCONTEXT */ + tHELPSTRINGDLL = 356, /* tHELPSTRINGDLL */ + tHIDDEN = 357, /* tHIDDEN */ + tHYPER = 358, /* tHYPER */ + tID = 359, /* tID */ + tIDEMPOTENT = 360, /* tIDEMPOTENT */ + tIGNORE = 361, /* tIGNORE */ + tIIDIS = 362, /* tIIDIS */ + tIMMEDIATEBIND = 363, /* tIMMEDIATEBIND */ + tIMPLICITHANDLE = 364, /* tIMPLICITHANDLE */ + tIMPORT = 365, /* tIMPORT */ + tIMPORTLIB = 366, /* tIMPORTLIB */ + tIN = 367, /* tIN */ + tIN_LINE = 368, /* tIN_LINE */ + tINLINE = 369, /* tINLINE */ + tINPUTSYNC = 370, /* tINPUTSYNC */ + tINT = 371, /* tINT */ + tINT32 = 372, /* tINT32 */ + tINT3264 = 373, /* tINT3264 */ + tINT64 = 374, /* tINT64 */ + tINTERFACE = 375, /* tINTERFACE */ + tLCID = 376, /* tLCID */ + tLENGTHIS = 377, /* tLENGTHIS */ + tLIBRARY = 378, /* tLIBRARY */ + tLICENSED = 379, /* tLICENSED */ + tLOCAL = 380, /* tLOCAL */ + tLONG = 381, /* tLONG */ + tMARSHALINGBEHAVIOR = 382, /* tMARSHALINGBEHAVIOR */ + tMAYBE = 383, /* tMAYBE */ + tMESSAGE = 384, /* tMESSAGE */ + tMETHODS = 385, /* tMETHODS */ + tMODULE = 386, /* tMODULE */ + tMTA = 387, /* tMTA */ + tNAMESPACE = 388, /* tNAMESPACE */ + tNOCODE = 389, /* tNOCODE */ + tNONBROWSABLE = 390, /* tNONBROWSABLE */ + tNONCREATABLE = 391, /* tNONCREATABLE */ + tNONE = 392, /* tNONE */ + tNONEXTENSIBLE = 393, /* tNONEXTENSIBLE */ + tNOTIFY = 394, /* tNOTIFY */ + tNOTIFYFLAG = 395, /* tNOTIFYFLAG */ + tNULL = 396, /* tNULL */ + tOBJECT = 397, /* tOBJECT */ + tODL = 398, /* tODL */ + tOLEAUTOMATION = 399, /* tOLEAUTOMATION */ + tOPTIMIZE = 400, /* tOPTIMIZE */ + tOPTIONAL = 401, /* tOPTIONAL */ + tOUT = 402, /* tOUT */ + tOVERLOAD = 403, /* tOVERLOAD */ + tPARTIALIGNORE = 404, /* tPARTIALIGNORE */ + tPOINTERDEFAULT = 405, /* tPOINTERDEFAULT */ + tPRAGMA_WARNING = 406, /* tPRAGMA_WARNING */ + tPROGID = 407, /* tPROGID */ + tPROPERTIES = 408, /* tPROPERTIES */ + tPROPGET = 409, /* tPROPGET */ + tPROPPUT = 410, /* tPROPPUT */ + tPROPPUTREF = 411, /* tPROPPUTREF */ + tPROTECTED = 412, /* tPROTECTED */ + tPROXY = 413, /* tPROXY */ + tPTR = 414, /* tPTR */ + tPUBLIC = 415, /* tPUBLIC */ + tRANGE = 416, /* tRANGE */ + tREADONLY = 417, /* tREADONLY */ + tREF = 418, /* tREF */ + tREGISTER = 419, /* tREGISTER */ + tREPRESENTAS = 420, /* tREPRESENTAS */ + tREQUESTEDIT = 421, /* tREQUESTEDIT */ + tREQUIRES = 422, /* tREQUIRES */ + tRESTRICTED = 423, /* tRESTRICTED */ + tRETVAL = 424, /* tRETVAL */ + tRUNTIMECLASS = 425, /* tRUNTIMECLASS */ + tSAFEARRAY = 426, /* tSAFEARRAY */ + tSHORT = 427, /* tSHORT */ + tSIGNED = 428, /* tSIGNED */ + tSINGLENODE = 429, /* tSINGLENODE */ + tSIZEIS = 430, /* tSIZEIS */ + tSIZEOF = 431, /* tSIZEOF */ + tSMALL = 432, /* tSMALL */ + tSOURCE = 433, /* tSOURCE */ + tSTANDARD = 434, /* tSTANDARD */ + tSTATIC = 435, /* tSTATIC */ + tSTRICTCONTEXTHANDLE = 436, /* tSTRICTCONTEXTHANDLE */ + tSTRING = 437, /* tSTRING */ + tSTRUCT = 438, /* tSTRUCT */ + tSWITCH = 439, /* tSWITCH */ + tSWITCHIS = 440, /* tSWITCHIS */ + tSWITCHTYPE = 441, /* tSWITCHTYPE */ + tTHREADING = 442, /* tTHREADING */ + tTRANSMITAS = 443, /* tTRANSMITAS */ + tTRUE = 444, /* tTRUE */ + tTYPEDEF = 445, /* tTYPEDEF */ + tUIDEFAULT = 446, /* tUIDEFAULT */ + tUNION = 447, /* tUNION */ + tUNIQUE = 448, /* tUNIQUE */ + tUNSIGNED = 449, /* tUNSIGNED */ + tUSESGETLASTERROR = 450, /* tUSESGETLASTERROR */ + tUSERMARSHAL = 451, /* tUSERMARSHAL */ + tUUID = 452, /* tUUID */ + tV1ENUM = 453, /* tV1ENUM */ + tVARARG = 454, /* tVARARG */ + tVERSION = 455, /* tVERSION */ + tVIPROGID = 456, /* tVIPROGID */ + tVOID = 457, /* tVOID */ + tWCHAR = 458, /* tWCHAR */ + tWIREMARSHAL = 459, /* tWIREMARSHAL */ + tAPARTMENT = 460, /* tAPARTMENT */ + tNEUTRAL = 461, /* tNEUTRAL */ + tSINGLE = 462, /* tSINGLE */ + tFREE = 463, /* tFREE */ + tBOTH = 464, /* tBOTH */ + CAST = 465, /* CAST */ + PPTR = 466, /* PPTR */ + POS = 467, /* POS */ + NEG = 468, /* NEG */ + ADDRESSOF = 469 /* ADDRESSOF */ }; typedef enum parser_tokentype parser_token_kind_t; #endif @@ -319,7 +320,7 @@ enum function_specifier function_specifier; struct namespace *namespace; -#line 323 "tools/widl/parser.tab.h" +#line 324 "tools/widl/parser.tab.h" }; typedef union PARSER_STYPE PARSER_STYPE; @@ -359,6 +360,6 @@ else init_location( &(cur), &YYRHSLOC( rhs, 0 ), NULL ); } while(0) -#line 363 "tools/widl/parser.tab.h" +#line 364 "tools/widl/parser.tab.h" #endif /* !YY_PARSER_TOOLS_WIDL_PARSER_TAB_H_INCLUDED */
diff --git a/mingw-w64-tools/widl/src/parser.y b/mingw-w64-tools/widl/src/parser.y index 26385a5..f66dc62 100644 --- a/mingw-w64-tools/widl/src/parser.y +++ b/mingw-w64-tools/widl/src/parser.y
@@ -196,6 +196,7 @@ %token tDECLARE %token tDECODE tDEFAULT tDEFAULTBIND %token tDELEGATE +%token tDEFAULT_OVERLOAD %token tDEFAULTCOLLELEM %token tDEFAULTVALUE %token tDEFAULTVTABLE @@ -662,6 +663,7 @@ } | tDECODE { $$ = attr_int( @$, ATTR_DECODE, 0 ); } | tDEFAULT { $$ = attr_int( @$, ATTR_DEFAULT, 0 ); } + | tDEFAULT_OVERLOAD { $$ = attr_int( @$, ATTR_DEFAULT_OVERLOAD, 0 ); } | tDEFAULTBIND { $$ = attr_int( @$, ATTR_DEFAULTBIND, 0 ); } | tDEFAULTCOLLELEM { $$ = attr_int( @$, ATTR_DEFAULTCOLLELEM, 0 ); } | tDEFAULTVALUE '(' expr_const ')' { $$ = attr_ptr( @$, ATTR_DEFAULTVALUE, $3 ); }
diff --git a/mingw-w64-tools/widl/src/parser.yy.c b/mingw-w64-tools/widl/src/parser.yy.c index 3ed0350..d3b54f2 100644 --- a/mingw-w64-tools/widl/src/parser.yy.c +++ b/mingw-w64-tools/widl/src/parser.yy.c
@@ -639,8 +639,8 @@ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 218 -#define YY_END_OF_BUFFER 219 +#define YY_NUM_RULES 219 +#define YY_END_OF_BUFFER 220 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -648,169 +648,170 @@ flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[1464] = +static const flex_int16_t yy_accept[1473] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, - 219, 217, 206, 205, 217, 217, 217, 217, 217, 217, - 201, 201, 217, 217, 217, 199, 199, 199, 199, 199, - 199, 143, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 217, 206, 142, 199, 217, 201, 201, 199, 199, - 8, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 206, 142, 218, 5, 7, 218, 4, 4, 4, 211, - 0, 203, 0, 215, 0, 204, 0, 209, 0, 0, + 220, 218, 207, 206, 218, 218, 218, 218, 218, 218, + 202, 202, 218, 218, 218, 200, 200, 200, 200, 200, + 200, 144, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 218, 207, 143, 200, 218, 202, 202, 200, 200, + 8, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 207, 143, 219, 5, 7, 219, 4, 4, 4, 212, + 0, 204, 0, 216, 0, 205, 0, 210, 0, 0, - 201, 201, 201, 0, 207, 213, 210, 212, 208, 199, - 199, 0, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 214, 0, 142, - 0, 142, 0, 199, 0, 201, 0, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 67, + 202, 202, 202, 0, 208, 214, 211, 213, 209, 200, + 200, 0, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 215, 0, 143, + 0, 143, 0, 200, 0, 202, 0, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 68, - 199, 199, 199, 73, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 0, 142, 142, 5, 5, 7, 0, 6, 0, - 4, 4, 4, 216, 140, 201, 201, 200, 199, 0, - 202, 0, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 176, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 200, 200, 200, 74, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 0, 143, 143, 5, 5, 7, 0, 6, 0, + 4, 4, 4, 217, 141, 202, 202, 201, 200, 0, + 203, 0, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 177, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 0, 0, 199, 0, 201, 0, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 83, 199, 199, 199, 199, - 199, 93, 199, 199, 97, 199, 199, 199, 199, 107, - 199, 199, 199, 111, 199, 199, 199, 199, 199, 199, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 0, 0, 200, 0, 202, 0, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 84, 200, 200, 200, 200, + 200, 94, 200, 200, 98, 200, 200, 200, 200, 108, + 200, 200, 200, 112, 200, 200, 200, 200, 200, 200, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 6, 4, 4, 0, 200, - 200, 199, 145, 199, 146, 199, 199, 199, 199, 156, - 157, 199, 158, 199, 199, 199, 199, 199, 199, 199, - 199, 167, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 179, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 197, 199, 0, 0, 199, 0, 201, 0, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 22, 199, 156, 199, 199, 27, 199, 199, 199, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 6, 4, 4, 0, 201, + 201, 200, 146, 200, 147, 200, 200, 200, 200, 157, + 158, 200, 159, 200, 200, 200, 200, 200, 200, 200, + 200, 168, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 180, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 198, 200, 0, 0, 200, 0, 202, 0, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 22, 200, 157, 200, 200, 27, 200, 200, 200, - 199, 199, 199, 199, 199, 199, 199, 199, 47, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 59, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 76, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 88, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 132, 199, 199, 199, 199, 199, 4, - 4, 0, 140, 200, 200, 144, 199, 199, 199, 199, - 199, 147, 199, 160, 199, 199, 199, 199, 199, 199, + 200, 200, 200, 200, 200, 200, 200, 200, 48, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 60, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 77, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 89, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 133, 200, 200, 200, 200, 200, 4, + 4, 0, 141, 201, 201, 145, 200, 200, 200, 200, + 200, 148, 200, 161, 200, 200, 200, 200, 200, 200, - 199, 199, 170, 199, 172, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 187, 199, 199, - 190, 199, 199, 199, 199, 199, 195, 199, 199, 0, - 0, 199, 0, 201, 0, 199, 199, 199, 12, 199, - 199, 199, 199, 199, 18, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 51, 199, 199, 199, - 199, 57, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 79, 199, 81, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 200, 200, 171, 200, 173, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 188, 200, 200, + 191, 200, 200, 200, 200, 200, 196, 200, 200, 0, + 0, 200, 0, 202, 0, 200, 200, 200, 12, 200, + 200, 200, 200, 200, 18, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 52, 200, 200, 200, + 200, 58, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 80, 200, 82, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 199, 199, 199, 199, 199, 199, 199, 199, 106, 199, - 109, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 4, 3, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 166, - 199, 169, 199, 173, 175, 199, 199, 199, 181, 199, - 148, 199, 199, 199, 199, 188, 189, 191, 199, 192, - 193, 199, 199, 199, 0, 0, 199, 0, 201, 0, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 200, 200, 200, 200, 200, 200, 200, 200, 107, 200, + 110, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 4, 3, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 167, + 200, 170, 200, 174, 176, 200, 200, 200, 182, 200, + 149, 200, 200, 200, 200, 189, 190, 192, 200, 193, + 194, 200, 200, 200, 0, 0, 200, 0, 202, 0, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 36, 37, 199, 199, 199, 199, 199, 199, 199, 49, - 199, 199, 199, 199, 199, 199, 199, 60, 199, 199, - 199, 66, 199, 69, 70, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 85, 199, 199, 199, 90, 92, - 199, 199, 199, 199, 199, 199, 101, 199, 199, 199, - 108, 199, 199, 199, 199, 115, 116, 199, 119, 199, - 121, 199, 123, 193, 199, 199, 199, 129, 199, 199, - 199, 134, 199, 199, 199, 4, 3, 3, 199, 151, - 153, 199, 199, 155, 159, 199, 162, 163, 199, 199, - 199, 199, 199, 199, 178, 180, 199, 199, 199, 199, + 36, 37, 200, 200, 200, 200, 200, 200, 200, 50, + 200, 200, 200, 200, 200, 200, 200, 61, 200, 200, + 200, 67, 200, 70, 71, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 86, 200, 200, 200, 91, 93, + 200, 200, 200, 200, 200, 200, 102, 200, 200, 200, + 109, 200, 200, 200, 200, 116, 117, 200, 120, 200, + 122, 200, 124, 194, 200, 200, 200, 130, 200, 200, + 200, 135, 200, 200, 200, 4, 3, 3, 200, 152, + 154, 200, 200, 156, 160, 200, 163, 164, 200, 200, + 200, 200, 200, 200, 179, 181, 200, 200, 200, 200, - 199, 149, 194, 199, 198, 0, 0, 199, 0, 201, - 0, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 25, 199, 199, 199, 199, 199, - 35, 163, 199, 199, 199, 45, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 74, 199, 199, 199, 199, 82, 84, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 102, 103, - 199, 199, 199, 199, 199, 199, 118, 199, 199, 199, - 199, 199, 199, 199, 199, 133, 135, 199, 199, 4, - 3, 199, 199, 199, 199, 199, 164, 199, 199, 171, + 200, 150, 195, 200, 199, 0, 0, 200, 0, 202, + 0, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 25, 200, 200, 200, 200, 200, + 35, 164, 200, 200, 200, 46, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 75, 200, 200, 200, 200, 83, 85, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 103, 104, + 200, 200, 200, 200, 200, 200, 119, 200, 200, 200, + 200, 200, 200, 200, 200, 134, 136, 200, 200, 4, + 3, 200, 200, 200, 200, 200, 165, 200, 200, 172, - 199, 199, 199, 199, 184, 185, 199, 196, 0, 138, - 199, 0, 201, 0, 199, 199, 199, 199, 14, 199, - 199, 199, 199, 199, 21, 199, 199, 26, 199, 199, - 199, 33, 199, 199, 199, 199, 199, 199, 199, 199, - 50, 52, 199, 199, 199, 199, 199, 199, 62, 199, - 199, 199, 199, 199, 199, 78, 199, 199, 199, 199, - 199, 199, 95, 96, 98, 199, 199, 199, 199, 110, - 199, 199, 199, 199, 120, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 4, 3, 199, 152, 150, - 199, 161, 199, 199, 174, 177, 182, 199, 199, 0, + 200, 200, 200, 200, 185, 186, 200, 197, 0, 139, + 200, 0, 202, 0, 200, 200, 200, 200, 14, 200, + 200, 200, 200, 200, 21, 200, 200, 26, 200, 200, + 200, 33, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 51, 53, 200, 200, 200, 200, 200, 200, 63, + 200, 200, 200, 200, 200, 200, 79, 200, 200, 200, + 200, 200, 200, 96, 97, 99, 200, 200, 200, 200, + 111, 200, 200, 200, 200, 121, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 4, 3, 200, 153, + 151, 200, 162, 200, 200, 175, 178, 183, 200, 200, - 199, 0, 0, 201, 199, 199, 13, 199, 16, 17, - 199, 199, 23, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 46, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 77, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 105, 199, - 199, 199, 199, 199, 124, 199, 126, 199, 128, 199, - 199, 136, 199, 4, 3, 0, 141, 199, 199, 199, - 183, 199, 0, 199, 0, 0, 199, 199, 15, 19, - 199, 24, 199, 29, 199, 199, 199, 199, 199, 199, - 42, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 0, 200, 0, 0, 202, 200, 200, 13, 200, 16, + 17, 200, 200, 23, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 47, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 78, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 106, 200, 200, 200, 200, 200, 125, 200, 127, 200, + 129, 200, 200, 137, 200, 4, 3, 0, 142, 200, + 200, 200, 184, 200, 0, 200, 0, 0, 200, 200, + 15, 19, 200, 24, 200, 29, 200, 200, 200, 200, + 200, 200, 200, 43, 200, 200, 200, 200, 200, 200, - 63, 68, 199, 199, 75, 199, 199, 199, 199, 199, - 199, 199, 199, 104, 199, 199, 114, 199, 199, 199, - 199, 199, 199, 199, 1, 3, 154, 199, 199, 199, - 0, 199, 0, 0, 10, 199, 20, 28, 199, 199, - 38, 199, 199, 199, 199, 44, 199, 53, 54, 199, - 199, 199, 61, 199, 199, 199, 199, 199, 199, 199, - 199, 91, 199, 199, 199, 199, 113, 117, 199, 125, - 127, 199, 199, 199, 3, 199, 199, 186, 0, 0, - 0, 0, 11, 199, 199, 199, 40, 199, 199, 199, - 199, 56, 199, 199, 199, 199, 199, 199, 86, 87, + 200, 200, 200, 64, 69, 200, 200, 76, 200, 200, + 200, 200, 200, 200, 200, 200, 105, 200, 200, 115, + 200, 200, 200, 200, 200, 200, 200, 1, 3, 155, + 200, 200, 200, 0, 200, 0, 0, 10, 200, 20, + 28, 200, 200, 200, 39, 200, 200, 200, 200, 45, + 200, 54, 55, 200, 200, 200, 62, 200, 200, 200, + 200, 200, 200, 200, 200, 92, 200, 200, 200, 200, + 114, 118, 200, 126, 128, 200, 200, 200, 3, 200, + 200, 187, 0, 0, 0, 0, 11, 200, 200, 200, + 200, 41, 200, 200, 200, 200, 57, 200, 200, 200, - 199, 199, 199, 199, 112, 199, 130, 199, 137, 3, - 165, 199, 0, 0, 0, 199, 199, 199, 41, 199, - 199, 199, 199, 199, 65, 71, 199, 199, 89, 94, - 199, 199, 199, 199, 3, 168, 0, 0, 0, 30, - 199, 199, 199, 199, 199, 58, 199, 199, 199, 99, - 199, 199, 199, 3, 0, 0, 0, 199, 34, 39, - 199, 48, 55, 199, 72, 199, 100, 199, 199, 2, - 0, 0, 0, 199, 199, 199, 199, 199, 199, 131, - 2, 0, 0, 0, 199, 199, 199, 64, 199, 199, - 0, 0, 0, 199, 199, 199, 199, 199, 139, 0, + 200, 200, 200, 87, 88, 200, 200, 200, 200, 113, + 200, 131, 200, 138, 3, 166, 200, 0, 0, 0, + 200, 200, 200, 200, 42, 200, 200, 200, 200, 200, + 66, 72, 200, 200, 90, 95, 200, 200, 200, 200, + 3, 169, 0, 0, 0, 30, 200, 200, 200, 200, + 200, 200, 59, 200, 200, 200, 100, 200, 200, 200, + 3, 0, 0, 0, 200, 34, 200, 40, 200, 49, + 56, 200, 73, 200, 101, 200, 200, 2, 0, 0, + 0, 200, 200, 38, 200, 200, 200, 200, 132, 2, + 0, 0, 0, 200, 200, 200, 65, 200, 200, 0, - 0, 199, 199, 199, 80, 199, 0, 0, 199, 199, - 199, 199, 0, 0, 199, 199, 199, 122, 0, 0, - 199, 199, 199, 0, 0, 199, 199, 199, 0, 0, - 199, 32, 199, 0, 0, 199, 43, 0, 0, 31, + 0, 0, 200, 200, 200, 200, 200, 140, 0, 0, + 200, 200, 200, 81, 200, 0, 0, 200, 200, 200, + 200, 0, 0, 200, 200, 200, 123, 0, 0, 200, + 200, 200, 0, 0, 200, 200, 200, 0, 0, 200, + 32, 200, 0, 0, 200, 44, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, - 0, 9, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, + 9, 0 } ; static const YY_CHAR yy_ec[256] = @@ -856,86 +857,86 @@ 4, 4, 4, 4, 4, 1 } ; -static const flex_int16_t yy_base[1507] = +static const flex_int16_t yy_base[1516] = { 0, - 0, 65, 113, 66, 60, 67, 2481, 2480, 88, 90, - 2484, 2487, 2487, 2487, 2462, 64, 2475, 62, 2459, 2468, - 164, 53, 68, 2458, 73, 0, 2455, 2472, 2443, 2452, - 2444, 2487, 64, 2418, 36, 146, 48, 51, 2421, 57, - 58, 59, 61, 2431, 84, 89, 143, 2406, 2416, 2414, - 2425, 2400, 157, 132, 140, 223, 256, 151, 307, 2442, - 2487, 165, 165, 248, 309, 198, 287, 186, 313, 292, + 0, 65, 113, 66, 60, 67, 2490, 2489, 88, 90, + 2493, 2496, 2496, 2496, 2471, 64, 2484, 62, 2468, 2477, + 164, 53, 68, 2467, 73, 0, 2464, 2481, 2452, 2461, + 2453, 2496, 64, 2427, 36, 146, 48, 51, 2430, 57, + 58, 59, 61, 2440, 84, 89, 143, 2415, 2425, 2423, + 2434, 2409, 157, 132, 140, 223, 256, 151, 307, 2451, + 2496, 165, 165, 248, 309, 198, 287, 186, 313, 292, 314, 177, 321, 252, 218, 331, 188, 257, 356, 162, - 141, 2462, 2487, 399, 0, 207, 0, 2415, 2414, 2487, - 248, 2487, 2458, 2487, 195, 2487, 2457, 2487, 2447, 406, + 141, 2471, 2496, 399, 0, 207, 0, 2424, 2423, 2496, + 248, 2496, 2467, 2496, 195, 2496, 2466, 2496, 2456, 406, - 220, 65, 84, 0, 2487, 2487, 2487, 2487, 2487, 0, - 2430, 281, 2429, 2430, 2422, 329, 2411, 2413, 2412, 2392, - 2402, 2395, 2389, 2389, 2402, 2405, 234, 2389, 344, 2385, - 2382, 2381, 2383, 2380, 2384, 2384, 2381, 2380, 278, 2393, - 2380, 2373, 2388, 2378, 2371, 2374, 150, 2374, 2372, 248, - 2385, 105, 2376, 2368, 185, 2374, 2374, 2487, 386, 144, - 2372, 312, 2362, 2375, 426, 459, 0, 507, 2389, 2357, - 297, 2364, 2361, 351, 2349, 2353, 2358, 321, 2356, 2350, - 277, 2364, 355, 2349, 463, 2348, 2354, 349, 2364, 387, - 2359, 406, 2342, 439, 2344, 2356, 2346, 2347, 2354, 2352, + 220, 65, 84, 0, 2496, 2496, 2496, 2496, 2496, 0, + 2439, 281, 2438, 2439, 2431, 329, 2420, 2422, 2421, 2401, + 2411, 2404, 2398, 2398, 2411, 2414, 234, 2398, 344, 2394, + 2391, 2390, 2392, 2389, 2393, 2393, 2390, 2389, 278, 2402, + 2389, 2382, 2397, 2387, 2380, 2383, 150, 2383, 2381, 248, + 2394, 105, 2385, 2377, 185, 2383, 2383, 2496, 386, 144, + 2381, 312, 2371, 2384, 426, 459, 0, 507, 2398, 2366, + 297, 2373, 2370, 351, 2358, 2362, 2367, 321, 2365, 2359, + 277, 2373, 355, 2358, 463, 2357, 2363, 349, 2373, 387, + 2368, 406, 2351, 439, 2353, 2365, 2355, 2356, 2363, 2361, - 2342, 2351, 68, 456, 2345, 2339, 215, 251, 369, 373, - 2351, 2330, 352, 2340, 2337, 2343, 2327, 2326, 2340, 377, - 2335, 2328, 2324, 2339, 2326, 498, 444, 2318, 502, 2329, - 2319, 2335, 2331, 405, 2329, 2324, 2332, 2313, 2312, 2329, - 2310, 452, 2364, 2363, 2362, 553, 0, 423, 2361, 433, - 0, 2319, 2308, 2487, 560, 2487, 2487, 429, 2329, 451, - 2487, 2356, 2330, 2332, 2331, 2302, 2296, 2310, 2310, 2300, - 2306, 2305, 2306, 2290, 2295, 2287, 2305, 2292, 2302, 2297, - 2285, 2298, 2286, 2283, 2292, 2295, 2291, 2289, 2278, 2283, - 2286, 2272, 2282, 2280, 2266, 2281, 2282, 2268, 2274, 2261, + 2351, 2360, 68, 456, 2354, 2348, 215, 251, 369, 373, + 2360, 2339, 352, 2349, 2346, 2352, 2336, 2335, 2349, 377, + 2344, 2337, 2333, 2348, 2335, 498, 444, 2327, 502, 2338, + 2328, 2344, 2340, 405, 2338, 2333, 2341, 2322, 2321, 2338, + 2319, 452, 2373, 2372, 2371, 553, 0, 423, 2370, 433, + 0, 2328, 2317, 2496, 560, 2496, 2496, 429, 2338, 451, + 2496, 2365, 2339, 2341, 2340, 2311, 2305, 2319, 2319, 2309, + 2315, 2314, 2315, 2299, 2304, 2296, 2314, 2301, 2311, 2306, + 2294, 2307, 2295, 2292, 2301, 2304, 2300, 2298, 2287, 2292, + 2295, 2281, 2291, 2289, 2275, 2290, 2291, 2277, 2283, 2270, - 2261, 2262, 2265, 2273, 2265, 2256, 2272, 2253, 2253, 2267, - 2256, 2261, 2265, 2267, 2263, 2265, 2253, 592, 625, 0, - 673, 2255, 2245, 2250, 442, 2246, 2242, 2244, 2244, 2242, - 2252, 2247, 2253, 2248, 2240, 2248, 2245, 287, 454, 2229, - 440, 2247, 2229, 506, 2232, 2225, 2232, 2241, 2227, 2225, - 2222, 2225, 2226, 2225, 2224, 2228, 2231, 2228, 2228, 2215, - 2226, 2216, 2213, 2225, 2216, 483, 2201, 2188, 2201, 2168, - 2169, 2172, 2153, 2169, 2151, 0, 2149, 2153, 521, 2158, - 2161, 0, 2164, 2155, 0, 2145, 2138, 2143, 534, 0, - 2144, 2135, 2137, 0, 2122, 2118, 2118, 2115, 2129, 2130, + 2270, 2271, 2274, 2282, 2274, 2265, 2281, 2262, 2262, 2276, + 2265, 2270, 2274, 2276, 2272, 2274, 2262, 592, 625, 0, + 673, 2264, 2254, 2259, 442, 2255, 2251, 2253, 2253, 2251, + 2261, 2256, 2262, 2257, 2249, 2257, 2254, 287, 454, 2238, + 440, 2256, 2238, 506, 2241, 2234, 2241, 2250, 2236, 2234, + 2231, 2234, 2235, 2234, 2233, 2237, 2240, 2237, 2237, 2224, + 2235, 2225, 2222, 2236, 2230, 483, 2222, 2212, 2226, 2219, + 2213, 2213, 2191, 2178, 2160, 0, 2158, 2162, 521, 2167, + 2170, 0, 2173, 2164, 0, 2154, 2151, 2156, 534, 0, + 2157, 2161, 2159, 0, 2144, 2140, 2127, 2124, 2138, 2139, - 2116, 476, 468, 2113, 2127, 2117, 2125, 485, 524, 2121, - 2119, 2122, 2090, 2092, 2102, 2143, 2093, 2086, 609, 404, - 489, 2117, 0, 2118, 0, 2081, 2080, 2084, 2093, 0, - 0, 2085, 0, 2091, 2071, 2073, 2075, 2054, 2067, 2064, - 2060, 0, 2053, 2052, 2049, 2056, 2049, 2048, 2051, 2046, - 2058, 0, 2043, 2045, 2024, 2041, 2036, 2021, 2030, 2029, - 2017, 2031, 2020, 2022, 2024, 2031, 2028, 2023, 2021, 2010, - 2003, 0, 1991, 1996, 2000, 2006, 706, 739, 0, 787, - 1983, 1999, 1998, 1988, 1998, 1980, 1979, 1996, 1990, 1992, - 1990, 0, 1973, 1976, 519, 1963, 0, 1974, 1958, 539, + 2125, 476, 468, 2122, 2136, 2126, 2134, 485, 524, 2134, + 2132, 2135, 2116, 2114, 2124, 2165, 2102, 2095, 609, 404, + 489, 2126, 0, 2127, 0, 2090, 2089, 2093, 2102, 0, + 0, 2094, 0, 2104, 2084, 2086, 2101, 2076, 2089, 2086, + 2069, 0, 2062, 2061, 2058, 2065, 2058, 2057, 2060, 2055, + 2071, 0, 2056, 2058, 2050, 2063, 2058, 2043, 2039, 2038, + 2026, 2040, 2029, 2031, 2033, 2040, 2037, 2036, 2034, 2023, + 2029, 0, 2013, 2018, 2022, 2015, 706, 739, 0, 787, + 1992, 2008, 2007, 1997, 2007, 1989, 1988, 2005, 2003, 2005, + 2003, 0, 1999, 1998, 519, 1985, 0, 1996, 1967, 539, - 1957, 1967, 1949, 1964, 1966, 536, 1966, 1966, 0, 1953, - 1956, 1944, 1933, 1924, 1922, 1933, 1921, 1921, 1934, 0, - 1926, 556, 1932, 1920, 1917, 1925, 1929, 1923, 1918, 1906, - 0, 1905, 1897, 1898, 1901, 1903, 1906, 1888, 1901, 1886, - 1885, 1878, 1895, 1897, 1878, 534, 1882, 1884, 1872, 1869, - 548, 1872, 1851, 1866, 1869, 1858, 1867, 411, 1853, 1869, - 1857, 591, 1865, 1863, 1857, 549, 1858, 1859, 1840, 1839, - 1823, 1843, 1835, 0, 1827, 1822, 1830, 1820, 1837, 1836, - 1815, 664, 801, 2487, 2487, 0, 1843, 636, 1830, 1814, - 1826, 0, 1807, 0, 1791, 1793, 1798, 1808, 1794, 1802, + 1966, 1976, 1958, 1973, 1975, 536, 1975, 1975, 0, 1962, + 1969, 1957, 1946, 1950, 1944, 1955, 1943, 1930, 1943, 0, + 1935, 556, 1941, 1929, 1926, 1934, 1938, 1932, 1931, 1919, + 0, 1918, 1923, 1920, 1923, 1925, 1915, 1897, 1910, 1895, + 1894, 1887, 1904, 1906, 1887, 534, 1895, 1897, 1885, 1895, + 548, 1894, 1873, 1888, 1878, 1867, 1876, 411, 1862, 1878, + 1866, 591, 1874, 1872, 1866, 549, 1871, 1872, 1853, 1865, + 1845, 1865, 1857, 0, 1836, 1831, 1839, 1829, 1846, 1845, + 1824, 664, 801, 2496, 2496, 0, 1852, 636, 1839, 1827, + 1839, 0, 1820, 0, 1817, 1815, 1820, 1830, 1803, 1811, - 1806, 1791, 0, 1799, 0, 1783, 1797, 1795, 1782, 1791, - 1789, 1777, 1767, 1760, 1757, 1758, 1762, 0, 1770, 1767, - 0, 1769, 1759, 1750, 1761, 1763, 0, 1753, 1762, 1761, - 1747, 1730, 833, 866, 0, 914, 1744, 1737, 0, 1728, - 1741, 1740, 1727, 1729, 1738, 1729, 1734, 1732, 1731, 1728, - 1727, 1708, 1694, 1688, 559, 1698, 1705, 1697, 1705, 1695, - 1705, 1692, 1698, 1698, 1697, 1692, 0, 555, 1677, 1692, - 1694, 0, 1680, 1674, 1663, 1668, 1656, 1661, 1659, 1668, - 1653, 1662, 1667, 1655, 1668, 1655, 1643, 0, 1660, 0, - 1640, 1645, 1640, 1629, 1638, 1622, 1616, 1620, 1619, 1629, + 1815, 1800, 0, 1808, 0, 1792, 1806, 1804, 1791, 1804, + 1802, 1790, 1793, 1782, 1779, 1780, 1771, 0, 1779, 1776, + 0, 1778, 1768, 1759, 1770, 1772, 0, 1762, 1775, 1774, + 1760, 1756, 833, 866, 0, 914, 1766, 1759, 0, 1750, + 1750, 1749, 1736, 1738, 1747, 1738, 1743, 1741, 1740, 1741, + 1740, 1721, 1720, 1710, 559, 1720, 1727, 1706, 1714, 1704, + 1714, 1701, 1707, 1707, 1706, 1701, 0, 555, 1690, 1705, + 1707, 0, 1706, 1696, 1685, 1690, 1665, 1670, 1668, 1677, + 1662, 1671, 1676, 1664, 1677, 1668, 1656, 0, 1673, 0, + 1666, 1667, 1662, 1651, 1647, 1631, 1625, 1629, 1628, 1638, - 1623, 1621, 1634, 1625, 1625, 1623, 1593, 1610, 0, 127, + 1632, 1630, 1643, 1638, 1638, 1636, 1619, 1632, 0, 127, 0, 155, 219, 297, 355, 447, 462, 479, 492, 524, 548, 541, 575, 582, 588, 594, 607, 610, 604, 613, 599, 614, 607, 608, 611, 620, 669, 642, 658, 657, @@ -960,243 +961,245 @@ 882, 0, 0, 882, 0, 877, 933, 896, 1061, 1094, 0, 1142, 901, 883, 899, 900, 897, 893, 905, 888, 896, 906, 893, 893, 0, 917, 928, 928, 935, 916, - 0, 939, 917, 938, 937, 0, 935, 942, 924, 941, - 933, 925, 942, 943, 956, 950, 966, 963, 968, 955, - 956, 0, 952, 969, 975, 971, 0, 0, 968, 968, - 975, 984, 978, 988, 982, 991, 996, 997, 0, 980, - 994, 975, 995, 1005, 991, 1002, 0, 1013, 1015, 1033, - 1005, 1000, 1009, 1004, 1011, 0, 0, 1015, 1007, 1018, - 1008, 1032, 1065, 1032, 1048, 1045, 0, 1033, 1051, 0, + 0, 939, 917, 938, 938, 0, 938, 943, 925, 942, + 934, 940, 943, 948, 958, 951, 967, 964, 970, 956, + 957, 0, 953, 970, 976, 978, 0, 0, 969, 969, + 976, 985, 980, 989, 983, 992, 997, 998, 0, 981, + 995, 984, 996, 1006, 996, 1003, 0, 1014, 1016, 1033, + 1006, 1001, 1010, 1005, 1012, 0, 0, 1016, 1008, 1019, + 1009, 1047, 1066, 1037, 1049, 1046, 0, 1034, 1053, 0, - 1052, 1050, 1051, 1052, 0, 0, 1046, 0, 1058, 1097, - 1054, 1175, 1210, 1103, 1104, 1075, 1081, 1065, 0, 1070, - 1066, 1067, 1080, 1086, 0, 1071, 1078, 0, 1073, 1082, - 1093, 1080, 1094, 1089, 1104, 1102, 1105, 1100, 1105, 1099, - 0, 0, 1097, 1108, 1114, 1122, 1113, 1125, 0, 1117, - 1118, 1128, 1134, 1121, 1117, 0, 1123, 1137, 1138, 1121, - 1129, 1141, 0, 0, 0, 1147, 1153, 1153, 1159, 0, - 1144, 1161, 1161, 1152, 0, 1153, 1150, 1145, 1164, 1172, - 1153, 1155, 1174, 1179, 1172, 1177, 1193, 1231, 0, 0, - 1192, 0, 1190, 1177, 0, 0, 0, 1179, 1199, 1195, + 1053, 1051, 1052, 1053, 0, 0, 1047, 0, 1059, 1098, + 1068, 1175, 1210, 1104, 1105, 1080, 1083, 1066, 0, 1071, + 1067, 1069, 1081, 1087, 0, 1072, 1079, 0, 1074, 1089, + 1094, 1081, 1089, 1096, 1092, 1110, 1103, 1106, 1101, 1107, + 1101, 0, 0, 1099, 1118, 1124, 1124, 1119, 1127, 0, + 1119, 1120, 1130, 1136, 1123, 1119, 0, 1125, 1139, 1140, + 1123, 1144, 1156, 0, 0, 0, 1149, 1159, 1159, 1161, + 0, 1146, 1163, 1163, 1154, 0, 1155, 1152, 1147, 1166, + 1174, 1155, 1164, 1190, 1188, 1174, 1179, 1195, 1233, 0, + 0, 1194, 0, 1192, 1180, 0, 0, 0, 1182, 1201, - 1190, 1260, 0, 1233, 1194, 1205, 0, 1194, 0, 0, - 1205, 1198, 0, 1191, 1191, 1208, 1213, 1210, 1202, 1205, - 1206, 1218, 1216, 1206, 1209, 0, 1212, 1203, 1206, 1219, - 1208, 1214, 1206, 1226, 1221, 1240, 1235, 1245, 0, 1242, - 1248, 1249, 1243, 1252, 1234, 1248, 1251, 1251, 0, 1258, - 1250, 1256, 1263, 1254, 0, 1253, 0, 1269, 0, 1263, - 1253, 0, 1265, 1304, 1259, 1313, 2487, 1257, 1277, 1258, - 0, 1261, 1268, 1281, 1310, 0, 1286, 1280, 0, 0, - 1288, 0, 1279, 0, 1285, 1282, 1297, 1290, 1282, 1302, - 0, 1291, 1302, 1292, 1303, 1294, 1309, 1296, 1315, 1299, + 1198, 1193, 1260, 0, 1235, 1196, 1207, 0, 1196, 0, + 0, 1207, 1200, 0, 1193, 1193, 1210, 1215, 1212, 1196, + 1205, 1208, 1209, 1222, 1220, 1210, 1212, 0, 1215, 1206, + 1209, 1222, 1213, 1226, 1218, 1236, 1228, 1247, 1242, 1248, + 0, 1245, 1251, 1252, 1246, 1255, 1237, 1251, 1254, 1254, + 0, 1267, 1259, 1265, 1266, 1257, 0, 1256, 0, 1272, + 0, 1266, 1256, 0, 1268, 1307, 1262, 1316, 2496, 1260, + 1280, 1261, 0, 1264, 1271, 1284, 1313, 0, 1289, 1283, + 0, 0, 1291, 0, 1282, 0, 1288, 1285, 1299, 1301, + 1294, 1286, 1306, 0, 1295, 1306, 1296, 1307, 1298, 1319, - 1317, 0, 1313, 1322, 0, 1324, 1313, 1314, 1325, 1321, - 1320, 1316, 1325, 0, 1331, 1313, 0, 1329, 1315, 1331, - 1318, 1337, 1319, 1339, 0, 1323, 0, 1339, 1324, 1325, - 1344, 1383, 1373, 0, 0, 1349, 0, 0, 1351, 1337, - 0, 1356, 1357, 1351, 1345, 0, 1362, 0, 0, 1352, - 1348, 1367, 0, 1354, 1358, 1357, 1358, 1371, 1375, 1376, - 1370, 0, 1368, 1369, 1384, 1367, 0, 0, 1382, 0, - 0, 1376, 1384, 1378, 1386, 1387, 1393, 0, 1431, 1432, - 1482, 0, 0, 1384, 1388, 1386, 0, 1394, 1391, 1400, - 1398, 0, 1383, 1390, 1393, 1402, 1403, 1403, 0, 0, + 1300, 1319, 1303, 1321, 0, 1317, 1326, 0, 1328, 1317, + 1318, 1329, 1325, 1324, 1320, 1329, 0, 1335, 1317, 0, + 1333, 1319, 1335, 1322, 1341, 1323, 1343, 0, 1327, 0, + 1343, 1328, 1329, 1348, 1387, 1377, 0, 0, 1353, 0, + 0, 1355, 1341, 1347, 0, 1361, 1362, 1356, 1350, 0, + 1367, 0, 0, 1357, 1353, 1372, 0, 1359, 1363, 1362, + 1363, 1382, 1380, 1381, 1375, 0, 1373, 1374, 1389, 1372, + 0, 0, 1387, 0, 0, 1381, 1389, 1383, 1391, 1392, + 1398, 0, 1436, 1437, 1487, 0, 0, 1389, 1393, 1391, + 1392, 0, 1400, 1397, 1406, 1404, 0, 1389, 1396, 1399, - 1404, 1396, 1393, 1391, 0, 1389, 0, 1396, 0, 1409, - 0, 1396, 1416, 1515, 1446, 1414, 1405, 1416, 0, 1403, - 1403, 1412, 1420, 1406, 0, 0, 1415, 1420, 0, 0, - 1424, 1418, 1411, 1414, 1424, 0, 1416, 1463, 0, 1436, - 1423, 1425, 1419, 1435, 1436, 0, 1437, 1438, 1443, 0, - 1425, 1446, 1432, 1424, 1435, 1548, 0, 1451, 0, 0, - 1445, 0, 0, 1427, 0, 1430, 0, 1445, 1436, 0, - 1454, 1581, 0, 1449, 1466, 1458, 1453, 1465, 1474, 0, - 0, 1462, 1614, 0, 1458, 1460, 1476, 0, 1465, 1467, - 1475, 1647, 1524, 1492, 1489, 1478, 1486, 1501, 2487, 1534, + 1408, 1409, 1409, 0, 0, 1410, 1402, 1399, 1397, 0, + 1395, 0, 1402, 0, 1415, 0, 1402, 1422, 1520, 1452, + 1420, 1411, 1412, 1423, 0, 1410, 1410, 1419, 1427, 1413, + 0, 0, 1422, 1427, 0, 0, 1431, 1425, 1418, 1421, + 1431, 0, 1423, 1470, 0, 1443, 1430, 1444, 1433, 1427, + 1443, 1444, 0, 1445, 1446, 1451, 0, 1433, 1454, 1440, + 1432, 1443, 1553, 0, 1456, 0, 1454, 0, 1454, 0, + 0, 1444, 0, 1447, 0, 1468, 1459, 0, 1469, 1586, + 0, 1464, 1475, 0, 1467, 1462, 1474, 1483, 0, 0, + 1471, 1619, 0, 1467, 1469, 1498, 0, 1487, 1489, 1501, - 0, 1489, 1507, 1509, 0, 1498, 1680, 0, 1502, 1500, - 1510, 1509, 1713, 0, 1514, 1520, 1522, 0, 1746, 0, - 1519, 1510, 1532, 1779, 1566, 1530, 1535, 1538, 1570, 0, - 1517, 0, 1533, 1812, 0, 1540, 0, 1845, 0, 0, - 1878, 0, 1911, 0, 1944, 0, 1977, 0, 2010, 0, - 2043, 0, 2076, 0, 2109, 0, 2142, 0, 2175, 2487, - 1597, 2487, 2487, 2220, 2224, 2228, 2232, 2236, 2238, 2242, - 2246, 2250, 1582, 2254, 1583, 1584, 1598, 1600, 2258, 1606, - 1607, 1608, 1609, 1610, 1611, 1612, 1613, 2262, 1614, 1615, - 1616, 1617, 1631, 1632, 1633, 1638, 1639, 1640, 1641, 1642, + 1652, 1537, 1505, 1502, 1487, 1495, 1510, 2496, 1543, 0, + 1498, 1516, 1518, 0, 1507, 1685, 0, 1511, 1522, 1532, + 1531, 1718, 0, 1540, 1533, 1535, 0, 1751, 0, 1532, + 1519, 1541, 1784, 1575, 1539, 1544, 1547, 1579, 0, 1526, + 0, 1542, 1817, 0, 1562, 0, 1850, 0, 0, 1883, + 0, 1916, 0, 1949, 0, 1982, 0, 2015, 0, 2048, + 0, 2081, 0, 2114, 0, 2147, 0, 2180, 2496, 1602, + 2496, 2496, 2225, 2229, 2233, 2237, 2241, 2243, 2247, 2251, + 2255, 1605, 2259, 1611, 1612, 1613, 1614, 2263, 1615, 1616, + 1617, 1618, 1619, 1620, 1621, 1622, 2267, 1636, 1637, 1638, - 1643, 1644, 1645, 1646, 1647, 1648 + 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, + 1653, 1654, 1655, 1669, 1670 } ; -static const flex_int16_t yy_def[1507] = +static const flex_int16_t yy_def[1516] = { 0, - 1463, 1, 1, 3, 1464, 1464, 1465, 1465, 1466, 1466, - 1463, 1463, 1463, 1463, 1463, 1467, 1463, 1468, 1463, 1463, - 1463, 21, 1463, 1463, 1463, 1469, 1469, 1469, 1469, 1469, - 1469, 1463, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1463, 1463, 1463, 1469, 1467, 1463, 57, 1469, 59, - 1463, 59, 59, 59, 59, 59, 59, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1463, 1463, 1463, 1463, 1470, 1471, 1472, 1472, 1472, 1463, - 1467, 1463, 1467, 1463, 1468, 1463, 1468, 1463, 1463, 1463, + 1472, 1, 1, 3, 1473, 1473, 1474, 1474, 1475, 1475, + 1472, 1472, 1472, 1472, 1472, 1476, 1472, 1477, 1472, 1472, + 1472, 21, 1472, 1472, 1472, 1478, 1478, 1478, 1478, 1478, + 1478, 1472, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1472, 1472, 1472, 1478, 1476, 1472, 57, 1478, 59, + 1472, 59, 59, 59, 59, 59, 59, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1472, 1472, 1472, 1472, 1479, 1480, 1481, 1481, 1481, 1472, + 1476, 1472, 1476, 1472, 1477, 1472, 1477, 1472, 1472, 1472, - 21, 1463, 1463, 1473, 1463, 1463, 1463, 1463, 1463, 1469, - 1469, 1474, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1463, 1463, 1463, - 1463, 1463, 1463, 1469, 56, 1463, 1475, 1469, 168, 168, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 168, 168, 1469, 1469, 168, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 168, 1469, 1469, 1469, 1469, 1469, 1469, 1469, + 21, 1472, 1472, 1482, 1472, 1472, 1472, 1472, 1472, 1478, + 1478, 1483, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1472, 1472, 1472, + 1472, 1472, 1472, 1478, 56, 1472, 1484, 1478, 168, 168, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 168, 168, 1478, 1478, 168, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 168, 1478, 1478, 1478, 1478, 1478, 1478, 1478, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1463, 1463, 1463, 1463, 1463, 1470, 1471, 1463, 1471, - 1472, 1472, 1472, 1463, 1463, 1463, 1463, 1473, 1469, 1474, - 1463, 1474, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1472, 1472, 1472, 1472, 1472, 1479, 1480, 1472, 1480, + 1481, 1481, 1481, 1472, 1472, 1472, 1472, 1482, 1478, 1483, + 1472, 1483, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1463, 1463, 1469, 56, 1463, 1476, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 321, 1469, 1469, 1469, 1469, - 321, 321, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1472, 1472, 1478, 56, 1472, 1485, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 321, 1478, 1478, 1478, 1478, + 321, 321, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1463, 1472, 1472, 1463, 1463, - 1463, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1463, 1463, 1469, 56, 1463, 1477, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 480, 1469, 1469, 1469, 1469, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1472, 1481, 1481, 1472, 1472, + 1472, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1472, 1472, 1478, 56, 1472, 1486, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 480, 1478, 1478, 1478, 1478, - 1469, 1469, 480, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1472, - 1472, 1463, 1463, 1463, 1463, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, + 1478, 1478, 480, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1481, + 1481, 1472, 1472, 1472, 1472, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1463, - 1463, 1469, 56, 1463, 1478, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1472, + 1472, 1478, 56, 1472, 1487, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1472, 1479, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1463, 1463, 1469, 56, 1463, 1480, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1481, 1488, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1472, 1472, 1478, 56, 1472, 1489, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1472, 1479, 1479, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1481, 1488, 1488, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, - 1469, 1469, 1469, 1469, 1469, 1463, 1463, 1469, 56, 1463, - 1481, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1472, - 1479, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, + 1478, 1478, 1478, 1478, 1478, 1472, 1472, 1478, 56, 1472, + 1490, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1481, + 1488, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1463, 1463, - 1469, 56, 1463, 1463, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1472, 1479, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1463, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1472, 1472, + 1478, 56, 1472, 1472, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1481, 1488, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, - 1469, 56, 1482, 1013, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1472, 1479, 1463, 1463, 1469, 1469, 1469, - 1469, 1469, 1463, 1469, 56, 1483, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, + 1472, 1478, 56, 1491, 1013, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1481, 1488, 1472, 1472, 1478, + 1478, 1478, 1478, 1478, 1472, 1478, 56, 1492, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1472, 1479, 1469, 1469, 1469, 1469, - 1463, 1469, 56, 1484, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1479, 1469, 1469, 1469, 1463, 1463, - 56, 1485, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1481, 1488, 1478, + 1478, 1478, 1478, 1472, 1478, 56, 1493, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1488, 1478, + 1478, 1478, 1472, 1472, 56, 1494, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1479, - 1469, 1469, 1463, 56, 1463, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1479, 1469, 1463, 1102, 1486, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1479, 1463, 56, 1487, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1488, - 1463, 56, 1489, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1488, 1463, 56, 1490, 1469, 1469, 1469, 1469, 1469, 1469, - 1463, 56, 1463, 1469, 1469, 1469, 1469, 1469, 1463, 1102, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1488, 1478, 1478, 1472, 56, 1472, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1488, 1478, 1472, 1103, 1495, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1488, 1472, 56, 1496, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1497, 1472, 56, + 1498, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1497, + 1472, 56, 1499, 1478, 1478, 1478, 1478, 1478, 1478, 1472, - 1491, 1469, 1469, 1469, 1469, 1469, 56, 1492, 1469, 1469, - 1469, 1469, 56, 1493, 1469, 1469, 1469, 1469, 56, 1494, - 1469, 1469, 1469, 56, 1463, 1469, 1469, 1469, 1102, 1495, - 1469, 1469, 1469, 56, 1496, 1469, 1469, 56, 1497, 1469, - 56, 1498, 56, 1499, 56, 1500, 56, 1501, 56, 1502, - 56, 1503, 56, 1504, 56, 1505, 56, 1506, 56, 1463, - 1102, 1463, 0, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, + 56, 1472, 1478, 1478, 1478, 1478, 1478, 1472, 1103, 1500, + 1478, 1478, 1478, 1478, 1478, 56, 1501, 1478, 1478, 1478, + 1478, 56, 1502, 1478, 1478, 1478, 1478, 56, 1503, 1478, + 1478, 1478, 56, 1472, 1478, 1478, 1478, 1103, 1504, 1478, + 1478, 1478, 56, 1505, 1478, 1478, 56, 1506, 1478, 56, + 1507, 56, 1508, 56, 1509, 56, 1510, 56, 1511, 56, + 1512, 56, 1513, 56, 1514, 56, 1515, 56, 1472, 1103, + 1472, 0, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, - 1463, 1463, 1463, 1463, 1463, 1463 + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472 } ; -static const flex_int16_t yy_nxt[2554] = +static const flex_int16_t yy_nxt[2563] = { 0, 12, 13, 14, 15, 16, 12, 17, 18, 12, 12, 19, 20, 21, 22, 22, 22, 22, 22, 22, 23, @@ -1206,29 +1209,29 @@ 42, 43, 44, 26, 45, 26, 46, 47, 48, 49, 50, 51, 26, 26, 26, 52, 53, 81, 92, 96, 54, 82, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 1463, 105, 106, 122, + 84, 84, 84, 84, 84, 84, 1472, 105, 106, 122, 83, 129, 83, 108, 109, 130, 136, 256, 97, 123, 93, 131, 116, 132, 142, 117, 140, 133, 118, 138, - 139, 257, 141, 134, 143, 1463, 55, 56, 119, 365, + 139, 257, 141, 134, 143, 1472, 55, 56, 119, 365, 137, 120, 366, 145, 256, 57, 58, 58, 58, 58, 58, 58, 147, 162, 257, 59, 59, 59, 60, 88, 146, 88, 242, 26, 306, 162, 243, 307, 148, 89, 61, 89, 62, 63, 64, 65, 66, 67, 159, 68, 69, 308, 160, 70, 71, 72, 73, 74, 851, 75, 76, 77, 78, 79, 80, 100, 101, 101, 101, 101, - 101, 101, 101, 142, 1463, 124, 163, 164, 125, 149, + 101, 101, 101, 142, 1472, 124, 163, 164, 125, 149, 150, 102, 126, 143, 151, 299, 103, 104, 163, 127, 128, 152, 96, 157, 153, 300, 170, 852, 161, 241, - 171, 249, 177, 1463, 102, 172, 144, 173, 178, 174, + 171, 249, 177, 1472, 102, 172, 144, 173, 178, 174, 212, 179, 175, 103, 176, 197, 104, 92, 180, 198, 213, 97, 311, 199, 231, 165, 165, 165, 165, 165, 165, 165, 312, 250, 232, 165, 165, 165, 165, 137, - 190, 154, 92, 1463, 133, 292, 371, 225, 191, 93, + 190, 154, 92, 1472, 133, 292, 371, 225, 191, 93, 192, 226, 165, 165, 165, 165, 165, 165, 166, 166, 166, 166, 166, 166, 166, 275, 853, 148, 167, 167, - 167, 167, 1463, 102, 93, 261, 276, 181, 103, 104, + 167, 167, 1472, 102, 93, 261, 276, 181, 103, 104, 182, 220, 372, 303, 126, 167, 167, 167, 167, 167, 167, 183, 128, 293, 233, 221, 102, 184, 222, 234, @@ -1250,7 +1253,7 @@ 318, 318, 408, 242, 714, 261, 420, 243, 616, 250, 354, 421, 312, 584, 285, 318, 318, 318, 318, 318, 318, 319, 319, 319, 319, 319, 319, 319, 356, 420, - 484, 320, 320, 320, 320, 1463, 102, 262, 421, 303, + 484, 320, 320, 320, 320, 1472, 102, 262, 421, 303, 437, 103, 286, 502, 367, 485, 399, 856, 320, 320, 320, 320, 320, 320, 341, 857, 290, 342, 400, 102, @@ -1304,184 +1307,185 @@ 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 991, 1027, 781, 781, 781, 781, 781, 781, 909, 909, 909, 909, 909, 909, 909, 1028, 1029, 1030, 909, - 909, 909, 909, 1031, 1032, 1036, 1037, 1038, 1039, 1033, - 1034, 1040, 1041, 1042, 1043, 1044, 909, 909, 909, 909, - 909, 909, 910, 910, 910, 910, 910, 910, 910, 1035, + 909, 909, 909, 1031, 1032, 1037, 1038, 1033, 1039, 1034, + 1035, 1040, 1041, 1042, 1043, 1044, 909, 909, 909, 909, + 909, 909, 910, 910, 910, 910, 910, 910, 910, 1036, 1045, 1046, 911, 911, 911, 911, 1047, 102, 1048, 1049, 1050, 1051, 103, 1052, 1053, 1054, 1055, 1056, 1057, 911, 911, 911, 911, 911, 911, 1058, 1059, 1060, 1061, 1062, 102, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 103, 912, 912, 912, 912, 912, 912, 912, 1071, 1072, 1073, - 912, 912, 912, 912, 1074, 1075, 1076, 1079, 1080, 1081, + 912, 912, 912, 912, 1074, 1075, 1076, 1077, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 912, 912, 912, 912, 912, 912, 1012, 1012, 1012, 1012, 1012, 1012, 1012, - 1077, 1089, 1090, 1012, 1012, 1012, 1012, 1091, 1092, 1093, - 1094, 1078, 1095, 1096, 1097, 1098, 1099, 1100, 1010, 1101, + 1078, 1089, 1090, 1012, 1012, 1012, 1012, 1091, 1092, 1093, + 1094, 1079, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1010, 1012, 1012, 1012, 1012, 1012, 1012, 1013, 1013, 1013, 1013, - 1013, 1013, 1013, 1103, 1103, 1105, 1014, 1014, 1014, 1014, + 1013, 1013, 1013, 1102, 1104, 1104, 1014, 1014, 1014, 1014, 1106, 102, 1107, 1108, 1109, 1110, 103, 1111, 1112, 1113, 1114, 1115, 1116, 1014, 1014, 1014, 1014, 1014, 1014, 1117, - 1118, 1119, 1120, 1121, 102, 1123, 1124, 1125, 1126, 1127, + 1118, 1119, 1120, 1121, 102, 1122, 1125, 1126, 1127, 1123, 1128, 1129, 1130, 103, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1131, 1122, 1132, 1015, 1015, 1015, 1015, 1133, 1134, + 1015, 1131, 1132, 1133, 1015, 1015, 1015, 1015, 1124, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, - 1145, 1015, 1015, 1015, 1015, 1015, 1015, 1102, 1102, 1102, - 1102, 1102, 1102, 1102, 1146, 1147, 1148, 1102, 1102, 1102, + 1145, 1015, 1015, 1015, 1015, 1015, 1015, 1103, 1103, 1103, + 1103, 1103, 1103, 1103, 1146, 1147, 1148, 1103, 1103, 1103, - 1102, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, - 1158, 1159, 1160, 1161, 1102, 1102, 1102, 1102, 1102, 1102, - 1103, 1162, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1163, - 1164, 1165, 1166, 1168, 1169, 1170, 1171, 102, 1172, 1167, - 1173, 1174, 103, 1463, 1177, 1178, 1179, 1180, 1181, 1182, + 1103, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, + 1158, 1159, 1160, 1161, 1103, 1103, 1103, 1103, 1103, 1103, + 1104, 1162, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1163, + 1164, 1165, 1166, 1167, 1168, 1170, 1171, 102, 1172, 1173, + 1174, 1169, 103, 1175, 1176, 1472, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 102, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 103, - 1175, 1201, 91, 91, 91, 91, 91, 91, 91, 1202, + 1177, 1201, 91, 91, 91, 91, 91, 91, 91, 1202, 1203, 1204, 91, 91, 91, 91, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 91, 91, 91, 91, 91, 91, 1218, 1219, 1220, 1221, 1222, - 1223, 1224, 1225, 1226, 1166, 1227, 1228, 1229, 1230, 1231, - 1232, 1167, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1235, - 1236, 1237, 1233, 1233, 1233, 1233, 1238, 1239, 1240, 1241, - 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1233, - 1233, 1233, 1233, 1233, 1233, 1251, 1252, 1253, 1254, 1255, + 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1168, 1230, 1231, + 1232, 1233, 1234, 1235, 1169, 1236, 1236, 1236, 1236, 1236, + 1236, 1236, 1238, 1239, 1240, 1236, 1236, 1236, 1236, 1241, + 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, + 1252, 1253, 1236, 1236, 1236, 1236, 1236, 1236, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, - 1276, 1277, 1278, 1279, 1280, 1281, 1281, 1281, 1281, 1281, - 1281, 1281, 1283, 1284, 1285, 1281, 1281, 1281, 1281, 1286, + 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, + 1285, 1285, 1285, 1285, 1285, 1285, 1287, 1288, 1289, 1285, - 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, - 1297, 1298, 1281, 1281, 1281, 1281, 1281, 1281, 1299, 1300, - 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, - 1311, 1312, 1280, 1280, 1316, 1317, 1318, 1319, 1320, 1321, + 1285, 1285, 1285, 1290, 1291, 1292, 1293, 1294, 1295, 1296, + 1297, 1298, 1299, 1300, 1301, 1302, 1285, 1285, 1285, 1285, + 1285, 1285, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, + 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1284, 1284, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, - 1332, 1333, 1334, 1335, 1336, 1337, 1339, 1340, 1341, 1342, - 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, - 1353, 1354, 1355, 1356, 1358, 1359, 1360, 1361, 1362, 1363, - 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1376, 1377, - 1378, 1379, 1380, 1313, 1314, 1314, 1314, 1314, 1314, 1314, + 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, + 1342, 1343, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, + 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, + 1363, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, + 1374, 1375, 1376, 1377, 1378, 1379, 1384, 1385, 1318, 1319, - 1314, 1382, 1385, 1374, 1314, 1314, 1314, 1314, 1375, 1386, - 1387, 1388, 1389, 1390, 1391, 1394, 1395, 1396, 1397, 1398, - 1399, 1314, 1314, 1314, 1314, 1314, 1314, 1338, 1338, 1338, - 1338, 1338, 1338, 1338, 1401, 1402, 1403, 1338, 1338, 1338, - 1338, 1404, 1405, 1406, 1407, 1409, 1410, 1411, 1412, 1415, - 1416, 1417, 1418, 1421, 1338, 1338, 1338, 1338, 1338, 1338, - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1422, 1423, 1426, - 1372, 1372, 1372, 1372, 1427, 1428, 1430, 1431, 1432, 1433, - 1434, 1436, 1437, 1440, 258, 320, 479, 1372, 1372, 1372, - 1372, 1372, 1372, 1383, 1383, 1383, 1383, 1383, 1383, 1383, + 1319, 1319, 1319, 1319, 1319, 1319, 1386, 1387, 1382, 1319, + 1319, 1319, 1319, 1383, 1388, 1389, 1391, 1394, 1395, 1396, + 1397, 1398, 1399, 1400, 1403, 1404, 1319, 1319, 1319, 1319, + 1319, 1319, 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1405, + 1406, 1407, 1344, 1344, 1344, 1344, 1408, 1410, 1411, 1412, + 1413, 1414, 1415, 1416, 1418, 1419, 1420, 1421, 1424, 1344, + 1344, 1344, 1344, 1344, 1344, 1380, 1380, 1380, 1380, 1380, + 1380, 1380, 1425, 1426, 1427, 1380, 1380, 1380, 1380, 1430, + 1431, 1432, 1435, 1436, 1437, 1439, 1440, 1441, 1442, 1443, + 1445, 1446, 1380, 1380, 1380, 1380, 1380, 1380, 1392, 1392, - 635, 1462, 780, 1383, 1383, 1383, 1383, 91, 911, 1014, - 1176, 1234, 1282, 1315, 1357, 1373, 1384, 1393, 1408, 1414, - 1383, 1383, 1383, 1383, 1383, 1383, 1392, 1392, 1392, 1392, - 1392, 1392, 1392, 1420, 1425, 1435, 1392, 1392, 1392, 1392, - 1439, 1442, 1444, 1446, 1448, 1450, 1452, 1454, 1456, 1458, - 1460, 850, 849, 1392, 1392, 1392, 1392, 1392, 1392, 1400, - 1400, 1400, 1400, 1400, 1400, 1400, 848, 847, 846, 1400, - 1400, 1400, 1400, 845, 844, 843, 842, 841, 840, 839, - 838, 837, 836, 835, 834, 833, 1400, 1400, 1400, 1400, - 1400, 1400, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 832, + 1392, 1392, 1392, 1392, 1392, 1449, 1471, 258, 1392, 1392, + 1392, 1392, 91, 320, 479, 635, 780, 911, 1014, 1178, + 1237, 1286, 1320, 1364, 1381, 1392, 1392, 1392, 1392, 1392, + 1392, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1393, 1402, + 1417, 1401, 1401, 1401, 1401, 1423, 1429, 1434, 1444, 1448, + 1451, 1453, 1455, 1457, 1459, 1461, 1463, 1465, 1401, 1401, + 1401, 1401, 1401, 1401, 1409, 1409, 1409, 1409, 1409, 1409, + 1409, 1467, 1469, 850, 1409, 1409, 1409, 1409, 849, 848, + 847, 846, 845, 844, 843, 842, 841, 840, 839, 838, + 837, 1409, 1409, 1409, 1409, 1409, 1409, 1422, 1422, 1422, - 831, 830, 1413, 1413, 1413, 1413, 829, 828, 827, 826, - 825, 824, 823, 822, 821, 820, 819, 818, 817, 1413, - 1413, 1413, 1413, 1413, 1413, 1419, 1419, 1419, 1419, 1419, - 1419, 1419, 816, 815, 814, 1419, 1419, 1419, 1419, 811, - 810, 809, 808, 807, 806, 805, 804, 803, 802, 801, - 798, 797, 1419, 1419, 1419, 1419, 1419, 1419, 1424, 1424, - 1424, 1424, 1424, 1424, 1424, 796, 795, 794, 1424, 1424, - 1424, 1424, 793, 792, 791, 790, 789, 788, 787, 786, - 785, 784, 783, 782, 777, 1424, 1424, 1424, 1424, 1424, - 1424, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 776, 775, + 1422, 1422, 1422, 1422, 836, 835, 834, 1422, 1422, 1422, + 1422, 833, 832, 831, 830, 829, 828, 827, 826, 825, + 824, 823, 822, 821, 1422, 1422, 1422, 1422, 1422, 1422, + 1428, 1428, 1428, 1428, 1428, 1428, 1428, 820, 819, 818, + 1428, 1428, 1428, 1428, 817, 816, 815, 814, 811, 810, + 809, 808, 807, 806, 805, 804, 803, 1428, 1428, 1428, + 1428, 1428, 1428, 1433, 1433, 1433, 1433, 1433, 1433, 1433, + 802, 801, 798, 1433, 1433, 1433, 1433, 797, 796, 795, + 794, 793, 792, 791, 790, 789, 788, 787, 786, 785, + 1433, 1433, 1433, 1433, 1433, 1433, 1438, 1438, 1438, 1438, - 774, 1429, 1429, 1429, 1429, 773, 772, 771, 770, 769, - 768, 767, 766, 765, 764, 763, 762, 761, 1429, 1429, - 1429, 1429, 1429, 1429, 1438, 1438, 1438, 1438, 1438, 1438, - 1438, 760, 759, 758, 1438, 1438, 1438, 1438, 757, 756, - 755, 754, 753, 752, 751, 750, 749, 748, 747, 746, - 745, 1438, 1438, 1438, 1438, 1438, 1438, 1441, 1441, 1441, - 1441, 1441, 1441, 1441, 744, 743, 742, 1441, 1441, 1441, - 1441, 741, 738, 737, 736, 735, 734, 733, 732, 731, - 730, 729, 728, 727, 1441, 1441, 1441, 1441, 1441, 1441, - 1443, 1443, 1443, 1443, 1443, 1443, 1443, 726, 725, 724, + 1438, 1438, 1438, 784, 783, 782, 1438, 1438, 1438, 1438, + 777, 776, 775, 774, 773, 772, 771, 770, 769, 768, + 767, 766, 765, 1438, 1438, 1438, 1438, 1438, 1438, 1447, + 1447, 1447, 1447, 1447, 1447, 1447, 764, 763, 762, 1447, + 1447, 1447, 1447, 761, 760, 759, 758, 757, 756, 755, + 754, 753, 752, 751, 750, 749, 1447, 1447, 1447, 1447, + 1447, 1447, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 748, + 747, 746, 1450, 1450, 1450, 1450, 745, 744, 743, 742, + 741, 738, 737, 736, 735, 734, 733, 732, 731, 1450, + 1450, 1450, 1450, 1450, 1450, 1452, 1452, 1452, 1452, 1452, - 1443, 1443, 1443, 1443, 721, 720, 719, 717, 716, 715, - 713, 712, 711, 710, 709, 708, 705, 1443, 1443, 1443, - 1443, 1443, 1443, 1445, 1445, 1445, 1445, 1445, 1445, 1445, - 704, 703, 702, 1445, 1445, 1445, 1445, 699, 698, 697, - 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, - 1445, 1445, 1445, 1445, 1445, 1445, 1447, 1447, 1447, 1447, - 1447, 1447, 1447, 686, 685, 684, 1447, 1447, 1447, 1447, - 683, 682, 681, 680, 679, 678, 674, 673, 672, 671, - 670, 669, 668, 1447, 1447, 1447, 1447, 1447, 1447, 1449, - 1449, 1449, 1449, 1449, 1449, 1449, 667, 666, 665, 1449, + 1452, 1452, 730, 729, 728, 1452, 1452, 1452, 1452, 727, + 726, 725, 724, 721, 720, 719, 717, 716, 715, 713, + 712, 711, 1452, 1452, 1452, 1452, 1452, 1452, 1454, 1454, + 1454, 1454, 1454, 1454, 1454, 710, 709, 708, 1454, 1454, + 1454, 1454, 705, 704, 703, 702, 699, 698, 697, 696, + 695, 694, 693, 692, 691, 1454, 1454, 1454, 1454, 1454, + 1454, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 690, 689, + 688, 1456, 1456, 1456, 1456, 687, 686, 685, 684, 683, + 682, 681, 680, 679, 678, 674, 673, 672, 1456, 1456, + 1456, 1456, 1456, 1456, 1458, 1458, 1458, 1458, 1458, 1458, - 1449, 1449, 1449, 664, 663, 662, 660, 659, 658, 657, - 656, 653, 652, 592, 649, 648, 1449, 1449, 1449, 1449, - 1449, 1449, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 647, - 646, 645, 1451, 1451, 1451, 1451, 644, 643, 642, 641, - 640, 639, 638, 637, 632, 631, 630, 629, 628, 1451, - 1451, 1451, 1451, 1451, 1451, 1453, 1453, 1453, 1453, 1453, - 1453, 1453, 627, 626, 625, 1453, 1453, 1453, 1453, 624, - 623, 622, 621, 620, 619, 618, 617, 616, 615, 614, - 613, 612, 1453, 1453, 1453, 1453, 1453, 1453, 1455, 1455, - 1455, 1455, 1455, 1455, 1455, 611, 610, 609, 1455, 1455, + 1458, 671, 670, 669, 1458, 1458, 1458, 1458, 668, 667, + 666, 665, 664, 663, 662, 660, 659, 658, 657, 656, + 653, 1458, 1458, 1458, 1458, 1458, 1458, 1460, 1460, 1460, + 1460, 1460, 1460, 1460, 652, 592, 649, 1460, 1460, 1460, + 1460, 648, 647, 646, 645, 644, 643, 642, 641, 640, + 639, 638, 637, 632, 1460, 1460, 1460, 1460, 1460, 1460, + 1462, 1462, 1462, 1462, 1462, 1462, 1462, 631, 630, 629, + 1462, 1462, 1462, 1462, 628, 627, 626, 625, 624, 623, + 622, 621, 620, 619, 618, 617, 616, 1462, 1462, 1462, + 1462, 1462, 1462, 1464, 1464, 1464, 1464, 1464, 1464, 1464, - 1455, 1455, 608, 607, 606, 605, 604, 603, 602, 601, - 600, 599, 598, 597, 596, 1455, 1455, 1455, 1455, 1455, - 1455, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 595, 594, - 593, 1457, 1457, 1457, 1457, 592, 591, 590, 589, 588, - 587, 586, 581, 580, 416, 579, 578, 577, 1457, 1457, - 1457, 1457, 1457, 1457, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 576, 575, 574, 1459, 1459, 1459, 1459, 570, 569, - 568, 567, 563, 562, 561, 560, 559, 558, 557, 556, - 555, 1459, 1459, 1459, 1459, 1459, 1459, 1461, 1461, 1461, - 1461, 1461, 1461, 1461, 554, 549, 548, 1461, 1461, 1461, + 615, 614, 613, 1464, 1464, 1464, 1464, 612, 611, 610, + 609, 608, 607, 606, 605, 604, 603, 602, 601, 600, + 1464, 1464, 1464, 1464, 1464, 1464, 1466, 1466, 1466, 1466, + 1466, 1466, 1466, 599, 598, 597, 1466, 1466, 1466, 1466, + 596, 595, 594, 593, 592, 591, 590, 589, 588, 587, + 586, 581, 580, 1466, 1466, 1466, 1466, 1466, 1466, 1468, + 1468, 1468, 1468, 1468, 1468, 1468, 416, 579, 578, 1468, + 1468, 1468, 1468, 577, 576, 575, 574, 570, 569, 568, + 567, 563, 562, 561, 560, 559, 1468, 1468, 1468, 1468, + 1468, 1468, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 558, - 1461, 547, 546, 545, 544, 543, 539, 538, 537, 536, - 535, 534, 533, 532, 1461, 1461, 1461, 1461, 1461, 1461, - 83, 83, 83, 83, 85, 85, 85, 85, 87, 87, - 87, 87, 91, 91, 91, 91, 95, 95, 95, 95, - 110, 110, 247, 531, 247, 247, 248, 530, 248, 248, - 251, 529, 251, 251, 260, 260, 260, 260, 877, 527, - 877, 877, 1381, 526, 1381, 1381, 525, 524, 523, 522, - 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, - 511, 510, 509, 508, 507, 504, 503, 501, 497, 496, - 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, + 557, 556, 1470, 1470, 1470, 1470, 555, 554, 549, 548, + 547, 546, 545, 544, 543, 539, 538, 537, 536, 1470, + 1470, 1470, 1470, 1470, 1470, 83, 83, 83, 83, 85, + 85, 85, 85, 87, 87, 87, 87, 91, 91, 91, + 91, 95, 95, 95, 95, 110, 110, 247, 535, 247, + 247, 248, 534, 248, 248, 251, 533, 251, 251, 260, + 260, 260, 260, 877, 532, 877, 877, 1390, 531, 1390, + 1390, 530, 529, 527, 526, 525, 524, 523, 522, 521, + 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, + 510, 509, 508, 507, 504, 503, 501, 497, 496, 495, - 483, 482, 481, 476, 475, 474, 473, 472, 471, 470, - 469, 468, 467, 466, 465, 464, 463, 462, 461, 460, - 459, 458, 457, 456, 455, 454, 453, 452, 451, 450, - 449, 448, 447, 446, 445, 444, 443, 442, 441, 440, - 439, 438, 437, 436, 435, 434, 433, 432, 431, 430, - 429, 428, 307, 427, 426, 425, 424, 423, 1463, 422, - 418, 417, 416, 245, 244, 244, 415, 414, 413, 412, - 411, 410, 409, 407, 406, 405, 404, 401, 392, 391, - 390, 389, 388, 386, 385, 384, 383, 382, 381, 377, - 376, 370, 369, 364, 363, 362, 361, 360, 359, 358, + 494, 493, 492, 491, 490, 489, 488, 487, 486, 483, + 482, 481, 476, 475, 474, 473, 472, 471, 470, 469, + 468, 467, 466, 465, 464, 463, 462, 461, 460, 459, + 458, 457, 456, 455, 454, 453, 452, 451, 450, 449, + 448, 447, 446, 445, 444, 443, 442, 441, 440, 439, + 438, 437, 436, 435, 434, 433, 432, 431, 430, 429, + 428, 307, 427, 426, 425, 424, 423, 1472, 422, 418, + 417, 416, 245, 244, 244, 415, 414, 413, 412, 411, + 410, 409, 407, 406, 405, 404, 401, 392, 391, 390, + 389, 388, 386, 385, 384, 383, 382, 381, 377, 376, - 357, 355, 352, 347, 345, 344, 340, 336, 334, 333, - 331, 330, 329, 326, 325, 322, 259, 317, 316, 315, - 314, 313, 310, 309, 305, 302, 301, 298, 297, 296, - 295, 294, 293, 292, 289, 288, 287, 286, 285, 284, - 283, 282, 281, 277, 274, 273, 272, 271, 270, 269, - 268, 145, 267, 125, 265, 264, 263, 259, 254, 1463, - 1463, 253, 252, 244, 169, 158, 157, 156, 155, 154, - 144, 135, 121, 115, 114, 113, 112, 111, 107, 99, - 98, 94, 90, 1463, 86, 86, 11, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, + 370, 369, 364, 363, 362, 361, 360, 359, 358, 357, + 355, 352, 347, 345, 344, 340, 336, 334, 333, 331, + 330, 329, 326, 325, 322, 259, 317, 316, 315, 314, + 313, 310, 309, 305, 302, 301, 298, 297, 296, 295, + 294, 293, 292, 289, 288, 287, 286, 285, 284, 283, + 282, 281, 277, 274, 273, 272, 271, 270, 269, 268, + 145, 267, 125, 265, 264, 263, 259, 254, 1472, 1472, + 253, 252, 244, 169, 158, 157, 156, 155, 154, 144, + 135, 121, 115, 114, 113, 112, 111, 107, 99, 98, + 94, 90, 1472, 86, 86, 11, 1472, 1472, 1472, 1472, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463 + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472 } ; -static const flex_int16_t yy_chk[2554] = +static const flex_int16_t yy_chk[2563] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1589,181 +1593,182 @@ 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 878, 924, 636, 636, 636, 636, 636, 636, 778, 778, 778, 778, 778, 778, 778, 926, 927, 928, 778, - 778, 778, 778, 929, 930, 933, 934, 935, 937, 932, - 932, 938, 939, 940, 941, 942, 778, 778, 778, 778, + 778, 778, 778, 929, 930, 933, 934, 932, 935, 932, + 932, 937, 938, 939, 940, 941, 778, 778, 778, 778, 778, 778, 779, 779, 779, 779, 779, 779, 779, 932, - 943, 944, 779, 779, 779, 779, 945, 779, 946, 947, - 948, 949, 779, 950, 951, 953, 954, 955, 956, 779, - 779, 779, 779, 779, 779, 959, 960, 961, 962, 963, - 779, 964, 965, 966, 967, 968, 970, 971, 972, 779, - 781, 781, 781, 781, 781, 781, 781, 973, 974, 975, - 781, 781, 781, 781, 976, 978, 979, 981, 982, 983, - 984, 985, 988, 989, 990, 991, 992, 781, 781, 781, + 942, 943, 779, 779, 779, 779, 944, 779, 945, 946, + 947, 948, 779, 949, 950, 951, 953, 954, 955, 779, + 779, 779, 779, 779, 779, 956, 959, 960, 961, 962, + 779, 963, 964, 965, 966, 967, 968, 970, 971, 779, + 781, 781, 781, 781, 781, 781, 781, 972, 973, 974, + 781, 781, 781, 781, 975, 976, 978, 979, 981, 982, + 983, 984, 985, 988, 989, 990, 991, 781, 781, 781, 781, 781, 781, 909, 909, 909, 909, 909, 909, 909, - 980, 993, 994, 909, 909, 909, 909, 995, 996, 998, - 999, 980, 1001, 1002, 1003, 1004, 1007, 1009, 1010, 1011, + 980, 992, 993, 909, 909, 909, 909, 994, 995, 996, + 998, 980, 999, 1001, 1002, 1003, 1004, 1007, 1009, 1010, 909, 909, 909, 909, 909, 909, 910, 910, 910, 910, - 910, 910, 910, 1014, 1015, 1016, 910, 910, 910, 910, - 1017, 910, 1018, 1020, 1021, 1022, 910, 1023, 1024, 1026, - 1027, 1029, 1030, 910, 910, 910, 910, 910, 910, 1031, - 1032, 1033, 1034, 1035, 910, 1036, 1037, 1038, 1039, 1040, - 1043, 1044, 1045, 910, 912, 912, 912, 912, 912, 912, - 912, 1046, 1035, 1047, 912, 912, 912, 912, 1048, 1050, - 1051, 1052, 1053, 1054, 1055, 1057, 1058, 1059, 1060, 1061, - 1062, 912, 912, 912, 912, 912, 912, 1012, 1012, 1012, - 1012, 1012, 1012, 1012, 1066, 1067, 1068, 1012, 1012, 1012, + 910, 910, 910, 1011, 1014, 1015, 910, 910, 910, 910, + 1016, 910, 1017, 1018, 1020, 1021, 910, 1022, 1023, 1024, + 1026, 1027, 1029, 910, 910, 910, 910, 910, 910, 1030, + 1031, 1032, 1033, 1034, 910, 1035, 1037, 1038, 1039, 1036, + 1040, 1041, 1044, 910, 912, 912, 912, 912, 912, 912, + 912, 1045, 1046, 1047, 912, 912, 912, 912, 1036, 1048, + 1049, 1051, 1052, 1053, 1054, 1055, 1056, 1058, 1059, 1060, + 1061, 912, 912, 912, 912, 912, 912, 1012, 1012, 1012, + 1012, 1012, 1012, 1012, 1062, 1063, 1067, 1012, 1012, 1012, - 1012, 1069, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, - 1080, 1081, 1082, 1083, 1012, 1012, 1012, 1012, 1012, 1012, - 1013, 1084, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1085, - 1086, 1087, 1088, 1091, 1093, 1094, 1098, 1013, 1099, 1088, - 1100, 1101, 1013, 1104, 1105, 1106, 1108, 1111, 1112, 1114, - 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, - 1013, 1125, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1013, - 1102, 1134, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1135, - 1136, 1137, 1102, 1102, 1102, 1102, 1138, 1140, 1141, 1142, - 1143, 1144, 1145, 1146, 1147, 1148, 1150, 1151, 1152, 1102, + 1012, 1068, 1069, 1070, 1072, 1073, 1074, 1075, 1077, 1078, + 1079, 1080, 1081, 1082, 1012, 1012, 1012, 1012, 1012, 1012, + 1013, 1083, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1084, + 1085, 1086, 1087, 1088, 1089, 1092, 1094, 1013, 1095, 1099, + 1100, 1089, 1013, 1101, 1102, 1105, 1106, 1107, 1109, 1112, + 1113, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, + 1013, 1124, 1125, 1126, 1127, 1129, 1130, 1131, 1132, 1013, + 1103, 1133, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1134, + 1135, 1136, 1103, 1103, 1103, 1103, 1137, 1138, 1139, 1140, + 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1103, - 1102, 1102, 1102, 1102, 1102, 1153, 1154, 1156, 1158, 1160, - 1161, 1163, 1164, 1165, 1166, 1168, 1169, 1170, 1172, 1173, - 1174, 1166, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1177, - 1178, 1181, 1175, 1175, 1175, 1175, 1183, 1185, 1186, 1187, - 1188, 1189, 1190, 1192, 1193, 1194, 1195, 1196, 1197, 1175, - 1175, 1175, 1175, 1175, 1175, 1198, 1199, 1200, 1201, 1201, - 1203, 1204, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, - 1215, 1216, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1226, - 1228, 1229, 1230, 1231, 1232, 1233, 1233, 1233, 1233, 1233, - 1233, 1233, 1236, 1239, 1240, 1233, 1233, 1233, 1233, 1242, + 1103, 1103, 1103, 1103, 1103, 1152, 1153, 1154, 1155, 1156, + 1158, 1160, 1162, 1163, 1165, 1166, 1167, 1168, 1170, 1171, + 1172, 1174, 1175, 1176, 1168, 1177, 1177, 1177, 1177, 1177, + 1177, 1177, 1179, 1180, 1183, 1177, 1177, 1177, 1177, 1185, + 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1195, 1196, 1197, + 1198, 1199, 1177, 1177, 1177, 1177, 1177, 1177, 1200, 1201, + 1202, 1203, 1204, 1204, 1206, 1207, 1209, 1210, 1211, 1212, + 1213, 1214, 1215, 1216, 1218, 1219, 1221, 1222, 1223, 1224, + 1225, 1226, 1227, 1229, 1231, 1232, 1233, 1234, 1235, 1236, + 1236, 1236, 1236, 1236, 1236, 1236, 1239, 1242, 1243, 1236, - 1243, 1244, 1245, 1247, 1250, 1251, 1252, 1254, 1255, 1256, - 1257, 1258, 1233, 1233, 1233, 1233, 1233, 1233, 1259, 1260, - 1261, 1263, 1264, 1265, 1266, 1269, 1272, 1273, 1274, 1275, - 1276, 1277, 1279, 1280, 1284, 1285, 1286, 1288, 1289, 1290, - 1291, 1293, 1294, 1295, 1296, 1297, 1298, 1301, 1302, 1303, - 1304, 1306, 1308, 1310, 1312, 1313, 1315, 1316, 1317, 1318, - 1320, 1321, 1322, 1323, 1324, 1327, 1328, 1331, 1332, 1333, - 1334, 1335, 1337, 1338, 1340, 1341, 1342, 1343, 1344, 1345, - 1347, 1348, 1349, 1351, 1352, 1353, 1354, 1355, 1361, 1364, - 1366, 1368, 1369, 1280, 1281, 1281, 1281, 1281, 1281, 1281, + 1236, 1236, 1236, 1244, 1246, 1247, 1248, 1249, 1251, 1254, + 1255, 1256, 1258, 1259, 1260, 1261, 1236, 1236, 1236, 1236, + 1236, 1236, 1262, 1263, 1264, 1265, 1267, 1268, 1269, 1270, + 1273, 1276, 1277, 1278, 1279, 1280, 1281, 1283, 1284, 1288, + 1289, 1290, 1291, 1293, 1294, 1295, 1296, 1298, 1299, 1300, + 1301, 1302, 1303, 1306, 1307, 1308, 1309, 1311, 1313, 1315, + 1317, 1318, 1320, 1321, 1322, 1323, 1324, 1326, 1327, 1328, + 1329, 1330, 1333, 1334, 1337, 1338, 1339, 1340, 1341, 1343, + 1344, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1354, 1355, + 1356, 1358, 1359, 1360, 1361, 1362, 1367, 1369, 1284, 1285, - 1281, 1371, 1374, 1358, 1281, 1281, 1281, 1281, 1358, 1375, - 1376, 1377, 1378, 1379, 1382, 1385, 1386, 1387, 1389, 1390, - 1391, 1281, 1281, 1281, 1281, 1281, 1281, 1314, 1314, 1314, - 1314, 1314, 1314, 1314, 1393, 1394, 1395, 1314, 1314, 1314, - 1314, 1396, 1397, 1398, 1400, 1402, 1403, 1404, 1406, 1409, - 1410, 1411, 1412, 1415, 1314, 1314, 1314, 1314, 1314, 1314, - 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1416, 1417, 1421, - 1356, 1356, 1356, 1356, 1422, 1423, 1425, 1426, 1427, 1428, - 1429, 1431, 1433, 1436, 1473, 1475, 1476, 1356, 1356, 1356, - 1356, 1356, 1356, 1372, 1372, 1372, 1372, 1372, 1372, 1372, + 1285, 1285, 1285, 1285, 1285, 1285, 1372, 1374, 1365, 1285, + 1285, 1285, 1285, 1365, 1376, 1377, 1379, 1382, 1383, 1385, + 1386, 1387, 1388, 1391, 1394, 1395, 1285, 1285, 1285, 1285, + 1285, 1285, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1396, + 1398, 1399, 1319, 1319, 1319, 1319, 1400, 1402, 1403, 1404, + 1405, 1406, 1407, 1409, 1411, 1412, 1413, 1415, 1418, 1319, + 1319, 1319, 1319, 1319, 1319, 1363, 1363, 1363, 1363, 1363, + 1363, 1363, 1419, 1420, 1421, 1363, 1363, 1363, 1363, 1424, + 1425, 1426, 1430, 1431, 1432, 1434, 1435, 1436, 1437, 1438, + 1440, 1442, 1363, 1363, 1363, 1363, 1363, 1363, 1380, 1380, - 1477, 1461, 1478, 1372, 1372, 1372, 1372, 1461, 1480, 1481, - 1482, 1483, 1484, 1485, 1486, 1487, 1489, 1490, 1491, 1492, - 1372, 1372, 1372, 1372, 1372, 1372, 1383, 1383, 1383, 1383, - 1383, 1383, 1383, 1493, 1494, 1495, 1383, 1383, 1383, 1383, - 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, - 1506, 708, 707, 1383, 1383, 1383, 1383, 1383, 1383, 1392, - 1392, 1392, 1392, 1392, 1392, 1392, 706, 705, 704, 1392, - 1392, 1392, 1392, 703, 702, 701, 700, 699, 698, 697, - 696, 695, 694, 693, 692, 691, 1392, 1392, 1392, 1392, - 1392, 1392, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 689, + 1380, 1380, 1380, 1380, 1380, 1445, 1470, 1482, 1380, 1380, + 1380, 1380, 1470, 1484, 1485, 1486, 1487, 1489, 1490, 1491, + 1492, 1493, 1494, 1495, 1496, 1380, 1380, 1380, 1380, 1380, + 1380, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1498, 1499, + 1500, 1392, 1392, 1392, 1392, 1501, 1502, 1503, 1504, 1505, + 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1392, 1392, + 1392, 1392, 1392, 1392, 1401, 1401, 1401, 1401, 1401, 1401, + 1401, 1514, 1515, 708, 1401, 1401, 1401, 1401, 707, 706, + 705, 704, 703, 702, 701, 700, 699, 698, 697, 696, + 695, 1401, 1401, 1401, 1401, 1401, 1401, 1416, 1416, 1416, - 687, 686, 1407, 1407, 1407, 1407, 685, 684, 683, 682, - 681, 680, 679, 678, 677, 676, 675, 674, 673, 1407, - 1407, 1407, 1407, 1407, 1407, 1413, 1413, 1413, 1413, 1413, - 1413, 1413, 671, 670, 669, 1413, 1413, 1413, 1413, 666, - 665, 664, 663, 662, 661, 660, 659, 658, 657, 656, - 654, 653, 1413, 1413, 1413, 1413, 1413, 1413, 1419, 1419, - 1419, 1419, 1419, 1419, 1419, 652, 651, 650, 1419, 1419, - 1419, 1419, 649, 648, 647, 646, 645, 644, 643, 642, - 641, 640, 638, 637, 632, 1419, 1419, 1419, 1419, 1419, - 1419, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 631, 630, + 1416, 1416, 1416, 1416, 694, 693, 692, 1416, 1416, 1416, + 1416, 691, 689, 687, 686, 685, 684, 683, 682, 681, + 680, 679, 678, 677, 1416, 1416, 1416, 1416, 1416, 1416, + 1422, 1422, 1422, 1422, 1422, 1422, 1422, 676, 675, 674, + 1422, 1422, 1422, 1422, 673, 671, 670, 669, 666, 665, + 664, 663, 662, 661, 660, 659, 658, 1422, 1422, 1422, + 1422, 1422, 1422, 1428, 1428, 1428, 1428, 1428, 1428, 1428, + 657, 656, 654, 1428, 1428, 1428, 1428, 653, 652, 651, + 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, + 1428, 1428, 1428, 1428, 1428, 1428, 1433, 1433, 1433, 1433, - 629, 1424, 1424, 1424, 1424, 628, 626, 625, 624, 623, - 622, 620, 619, 617, 616, 615, 614, 613, 1424, 1424, - 1424, 1424, 1424, 1424, 1434, 1434, 1434, 1434, 1434, 1434, - 1434, 612, 611, 610, 1434, 1434, 1434, 1434, 609, 608, - 607, 606, 604, 602, 601, 600, 599, 598, 597, 596, - 595, 1434, 1434, 1434, 1434, 1434, 1434, 1438, 1438, 1438, - 1438, 1438, 1438, 1438, 593, 591, 590, 1438, 1438, 1438, - 1438, 589, 587, 581, 580, 579, 578, 577, 576, 575, - 573, 572, 571, 570, 1438, 1438, 1438, 1438, 1438, 1438, - 1441, 1441, 1441, 1441, 1441, 1441, 1441, 569, 568, 567, + 1433, 1433, 1433, 640, 638, 637, 1433, 1433, 1433, 1433, + 632, 631, 630, 629, 628, 626, 625, 624, 623, 622, + 620, 619, 617, 1433, 1433, 1433, 1433, 1433, 1433, 1443, + 1443, 1443, 1443, 1443, 1443, 1443, 616, 615, 614, 1443, + 1443, 1443, 1443, 613, 612, 611, 610, 609, 608, 607, + 606, 604, 602, 601, 600, 599, 1443, 1443, 1443, 1443, + 1443, 1443, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 598, + 597, 596, 1447, 1447, 1447, 1447, 595, 593, 591, 590, + 589, 587, 581, 580, 579, 578, 577, 576, 575, 1447, + 1447, 1447, 1447, 1447, 1447, 1450, 1450, 1450, 1450, 1450, - 1441, 1441, 1441, 1441, 565, 564, 563, 561, 560, 559, - 557, 556, 555, 554, 553, 552, 550, 1441, 1441, 1441, - 1441, 1441, 1441, 1443, 1443, 1443, 1443, 1443, 1443, 1443, - 549, 548, 547, 1443, 1443, 1443, 1443, 545, 544, 543, - 542, 541, 540, 539, 538, 537, 536, 535, 534, 533, - 1443, 1443, 1443, 1443, 1443, 1443, 1445, 1445, 1445, 1445, - 1445, 1445, 1445, 532, 530, 529, 1445, 1445, 1445, 1445, - 528, 527, 526, 525, 524, 523, 521, 519, 518, 517, - 516, 515, 514, 1445, 1445, 1445, 1445, 1445, 1445, 1447, - 1447, 1447, 1447, 1447, 1447, 1447, 513, 512, 511, 1447, + 1450, 1450, 573, 572, 571, 1450, 1450, 1450, 1450, 570, + 569, 568, 567, 565, 564, 563, 561, 560, 559, 557, + 556, 555, 1450, 1450, 1450, 1450, 1450, 1450, 1452, 1452, + 1452, 1452, 1452, 1452, 1452, 554, 553, 552, 1452, 1452, + 1452, 1452, 550, 549, 548, 547, 545, 544, 543, 542, + 541, 540, 539, 538, 537, 1452, 1452, 1452, 1452, 1452, + 1452, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 536, 535, + 534, 1454, 1454, 1454, 1454, 533, 532, 530, 529, 528, + 527, 526, 525, 524, 523, 521, 519, 518, 1454, 1454, + 1454, 1454, 1454, 1454, 1456, 1456, 1456, 1456, 1456, 1456, - 1447, 1447, 1447, 510, 508, 507, 505, 504, 503, 502, - 501, 499, 498, 496, 494, 493, 1447, 1447, 1447, 1447, - 1447, 1447, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 491, - 490, 489, 1449, 1449, 1449, 1449, 488, 487, 486, 485, - 484, 483, 482, 481, 476, 475, 474, 473, 471, 1449, - 1449, 1449, 1449, 1449, 1449, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 470, 469, 468, 1451, 1451, 1451, 1451, 467, - 466, 465, 464, 463, 462, 461, 460, 459, 458, 457, - 456, 455, 1451, 1451, 1451, 1451, 1451, 1451, 1453, 1453, - 1453, 1453, 1453, 1453, 1453, 454, 453, 451, 1453, 1453, + 1456, 517, 516, 515, 1456, 1456, 1456, 1456, 514, 513, + 512, 511, 510, 508, 507, 505, 504, 503, 502, 501, + 499, 1456, 1456, 1456, 1456, 1456, 1456, 1458, 1458, 1458, + 1458, 1458, 1458, 1458, 498, 496, 494, 1458, 1458, 1458, + 1458, 493, 491, 490, 489, 488, 487, 486, 485, 484, + 483, 482, 481, 476, 1458, 1458, 1458, 1458, 1458, 1458, + 1460, 1460, 1460, 1460, 1460, 1460, 1460, 475, 474, 473, + 1460, 1460, 1460, 1460, 471, 470, 469, 468, 467, 466, + 465, 464, 463, 462, 461, 460, 459, 1460, 1460, 1460, + 1460, 1460, 1460, 1462, 1462, 1462, 1462, 1462, 1462, 1462, - 1453, 1453, 450, 449, 448, 447, 446, 445, 444, 443, - 441, 440, 439, 438, 437, 1453, 1453, 1453, 1453, 1453, - 1453, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 436, 435, - 434, 1455, 1455, 1455, 1455, 432, 429, 428, 427, 426, - 424, 422, 418, 417, 416, 415, 414, 413, 1455, 1455, - 1455, 1455, 1455, 1455, 1457, 1457, 1457, 1457, 1457, 1457, - 1457, 412, 411, 410, 1457, 1457, 1457, 1457, 407, 406, - 405, 404, 401, 400, 399, 398, 397, 396, 395, 393, - 392, 1457, 1457, 1457, 1457, 1457, 1457, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 391, 388, 387, 1459, 1459, 1459, + 458, 457, 456, 1462, 1462, 1462, 1462, 455, 454, 453, + 451, 450, 449, 448, 447, 446, 445, 444, 443, 441, + 1462, 1462, 1462, 1462, 1462, 1462, 1464, 1464, 1464, 1464, + 1464, 1464, 1464, 440, 439, 438, 1464, 1464, 1464, 1464, + 437, 436, 435, 434, 432, 429, 428, 427, 426, 424, + 422, 418, 417, 1464, 1464, 1464, 1464, 1464, 1464, 1466, + 1466, 1466, 1466, 1466, 1466, 1466, 416, 415, 414, 1466, + 1466, 1466, 1466, 413, 412, 411, 410, 407, 406, 405, + 404, 401, 400, 399, 398, 397, 1466, 1466, 1466, 1466, + 1466, 1466, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 396, - 1459, 386, 384, 383, 381, 380, 378, 377, 375, 374, - 373, 372, 371, 370, 1459, 1459, 1459, 1459, 1459, 1459, - 1464, 1464, 1464, 1464, 1465, 1465, 1465, 1465, 1466, 1466, - 1466, 1466, 1467, 1467, 1467, 1467, 1468, 1468, 1468, 1468, - 1469, 1469, 1470, 369, 1470, 1470, 1471, 368, 1471, 1471, - 1472, 367, 1472, 1472, 1474, 1474, 1474, 1474, 1479, 365, - 1479, 1479, 1488, 364, 1488, 1488, 363, 362, 361, 360, - 359, 358, 357, 356, 355, 354, 353, 352, 351, 350, - 349, 348, 347, 346, 345, 343, 342, 340, 337, 336, - 335, 334, 333, 332, 331, 330, 329, 328, 327, 326, + 395, 393, 1468, 1468, 1468, 1468, 392, 391, 388, 387, + 386, 384, 383, 381, 380, 378, 377, 375, 374, 1468, + 1468, 1468, 1468, 1468, 1468, 1473, 1473, 1473, 1473, 1474, + 1474, 1474, 1474, 1475, 1475, 1475, 1475, 1476, 1476, 1476, + 1476, 1477, 1477, 1477, 1477, 1478, 1478, 1479, 373, 1479, + 1479, 1480, 372, 1480, 1480, 1481, 371, 1481, 1481, 1483, + 1483, 1483, 1483, 1488, 370, 1488, 1488, 1497, 369, 1497, + 1497, 368, 367, 365, 364, 363, 362, 361, 360, 359, + 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, + 348, 347, 346, 345, 343, 342, 340, 337, 336, 335, - 324, 323, 322, 317, 316, 315, 314, 313, 312, 311, - 310, 309, 308, 307, 306, 305, 304, 303, 302, 301, - 300, 299, 298, 297, 296, 295, 294, 293, 292, 291, - 290, 289, 288, 287, 286, 285, 284, 283, 282, 281, - 280, 279, 278, 277, 276, 275, 274, 273, 272, 271, - 270, 269, 268, 267, 266, 265, 264, 263, 262, 259, - 253, 252, 249, 245, 244, 243, 241, 240, 239, 238, - 237, 236, 235, 233, 232, 231, 230, 228, 225, 224, - 223, 222, 221, 219, 218, 217, 216, 215, 214, 212, - 211, 206, 205, 202, 201, 200, 199, 198, 197, 196, + 334, 333, 332, 331, 330, 329, 328, 327, 326, 324, + 323, 322, 317, 316, 315, 314, 313, 312, 311, 310, + 309, 308, 307, 306, 305, 304, 303, 302, 301, 300, + 299, 298, 297, 296, 295, 294, 293, 292, 291, 290, + 289, 288, 287, 286, 285, 284, 283, 282, 281, 280, + 279, 278, 277, 276, 275, 274, 273, 272, 271, 270, + 269, 268, 267, 266, 265, 264, 263, 262, 259, 253, + 252, 249, 245, 244, 243, 241, 240, 239, 238, 237, + 236, 235, 233, 232, 231, 230, 228, 225, 224, 223, + 222, 221, 219, 218, 217, 216, 215, 214, 212, 211, - 195, 193, 191, 189, 187, 186, 184, 182, 180, 179, - 177, 176, 175, 173, 172, 170, 169, 164, 163, 161, - 157, 156, 154, 153, 151, 149, 148, 146, 145, 144, - 143, 142, 141, 140, 138, 137, 136, 135, 134, 133, - 132, 131, 130, 128, 126, 125, 124, 123, 122, 121, - 120, 119, 118, 117, 115, 114, 113, 111, 99, 97, - 93, 89, 88, 82, 60, 52, 51, 50, 49, 48, - 44, 39, 34, 31, 30, 29, 28, 27, 24, 20, - 19, 17, 15, 11, 8, 7, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, + 206, 205, 202, 201, 200, 199, 198, 197, 196, 195, + 193, 191, 189, 187, 186, 184, 182, 180, 179, 177, + 176, 175, 173, 172, 170, 169, 164, 163, 161, 157, + 156, 154, 153, 151, 149, 148, 146, 145, 144, 143, + 142, 141, 140, 138, 137, 136, 135, 134, 133, 132, + 131, 130, 128, 126, 125, 124, 123, 122, 121, 120, + 119, 118, 117, 115, 114, 113, 111, 99, 97, 93, + 89, 88, 82, 60, 52, 51, 50, 49, 48, 44, + 39, 34, 31, 30, 29, 28, 27, 24, 20, 19, + 17, 15, 11, 8, 7, 1472, 1472, 1472, 1472, 1472, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463 + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472 } ; static yy_state_type yy_last_accepting_state; @@ -1950,13 +1955,13 @@ winrt_mode = TRUE; } -#line 1953 "tools/widl/parser.yy.c" +#line 1958 "tools/widl/parser.yy.c" /* ************************************************************************** * The flexer starts here ************************************************************************** */ -#line 1959 "tools/widl/parser.yy.c" +#line 1964 "tools/widl/parser.yy.c" #define INITIAL 0 #define ATTR 1 @@ -2206,7 +2211,7 @@ { #line 189 "tools/widl/parser.l" -#line 2209 "tools/widl/parser.yy.c" +#line 2214 "tools/widl/parser.yy.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2234,13 +2239,13 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1464 ) + if ( yy_current_state >= 1473 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 1463 ); + while ( yy_current_state != 1472 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2480,915 +2485,920 @@ case 38: YY_RULE_SETUP #line 257 "tools/widl/parser.l" -{ return tDEFAULTBIND; } +{ return tDEFAULT_OVERLOAD; } YY_BREAK case 39: YY_RULE_SETUP #line 258 "tools/widl/parser.l" -{ return tDEFAULTCOLLELEM; } +{ return tDEFAULTBIND; } YY_BREAK case 40: YY_RULE_SETUP #line 259 "tools/widl/parser.l" -{ return tDEFAULTVALUE; } +{ return tDEFAULTCOLLELEM; } YY_BREAK case 41: YY_RULE_SETUP #line 260 "tools/widl/parser.l" -{ return tDEFAULTVTABLE; } +{ return tDEFAULTVALUE; } YY_BREAK case 42: YY_RULE_SETUP #line 261 "tools/widl/parser.l" -{ return token_winrt( tDEPRECATED, yytext, yylval ); } +{ return tDEFAULTVTABLE; } YY_BREAK case 43: YY_RULE_SETUP #line 262 "tools/widl/parser.l" -{ return tDISABLECONSISTENCYCHECK; } +{ return token_winrt( tDEPRECATED, yytext, yylval ); } YY_BREAK case 44: YY_RULE_SETUP #line 263 "tools/widl/parser.l" -{ return tDISPLAYBIND; } +{ return tDISABLECONSISTENCYCHECK; } YY_BREAK case 45: YY_RULE_SETUP #line 264 "tools/widl/parser.l" -{ return tDLLNAME; } +{ return tDISPLAYBIND; } YY_BREAK case 46: YY_RULE_SETUP #line 265 "tools/widl/parser.l" -{ return tDONTFREE; } +{ return tDLLNAME; } YY_BREAK case 47: YY_RULE_SETUP #line 266 "tools/widl/parser.l" -{ return tDUAL; } +{ return tDONTFREE; } YY_BREAK case 48: YY_RULE_SETUP #line 267 "tools/widl/parser.l" -{ return tENABLEALLOCATE; } +{ return tDUAL; } YY_BREAK case 49: YY_RULE_SETUP #line 268 "tools/widl/parser.l" -{ return tENCODE; } +{ return tENABLEALLOCATE; } YY_BREAK case 50: YY_RULE_SETUP #line 269 "tools/widl/parser.l" -{ return tENDPOINT; } +{ return tENCODE; } YY_BREAK case 51: YY_RULE_SETUP #line 270 "tools/widl/parser.l" -{ return tENTRY; } +{ return tENDPOINT; } YY_BREAK case 52: YY_RULE_SETUP #line 271 "tools/widl/parser.l" -{ return token_winrt( tEVENTADD, yytext, yylval ); } +{ return tENTRY; } YY_BREAK case 53: YY_RULE_SETUP #line 272 "tools/widl/parser.l" -{ return token_winrt( tEVENTREMOVE, yytext, yylval ); } +{ return token_winrt( tEVENTADD, yytext, yylval ); } YY_BREAK case 54: YY_RULE_SETUP #line 273 "tools/widl/parser.l" -{ return token_winrt( tEXCLUSIVETO, yytext, yylval ); } +{ return token_winrt( tEVENTREMOVE, yytext, yylval ); } YY_BREAK case 55: YY_RULE_SETUP #line 274 "tools/widl/parser.l" -{ return tEXPLICITHANDLE; } +{ return token_winrt( tEXCLUSIVETO, yytext, yylval ); } YY_BREAK case 56: YY_RULE_SETUP #line 275 "tools/widl/parser.l" -{ return tFAULTSTATUS; } +{ return tEXPLICITHANDLE; } YY_BREAK case 57: YY_RULE_SETUP #line 276 "tools/widl/parser.l" -{ return token_winrt( tFLAGS, yytext, yylval ); } +{ return tFAULTSTATUS; } YY_BREAK case 58: YY_RULE_SETUP #line 277 "tools/widl/parser.l" -{ return tFORCEALLOCATE; } +{ return token_winrt( tFLAGS, yytext, yylval ); } YY_BREAK case 59: YY_RULE_SETUP #line 278 "tools/widl/parser.l" -{ return tFREE; } +{ return tFORCEALLOCATE; } YY_BREAK case 60: YY_RULE_SETUP #line 279 "tools/widl/parser.l" -{ return tHANDLE; } +{ return tFREE; } YY_BREAK case 61: YY_RULE_SETUP #line 280 "tools/widl/parser.l" -{ return tHELPCONTEXT; } +{ return tHANDLE; } YY_BREAK case 62: YY_RULE_SETUP #line 281 "tools/widl/parser.l" -{ return tHELPFILE; } +{ return tHELPCONTEXT; } YY_BREAK case 63: YY_RULE_SETUP #line 282 "tools/widl/parser.l" -{ return tHELPSTRING; } +{ return tHELPFILE; } YY_BREAK case 64: YY_RULE_SETUP #line 283 "tools/widl/parser.l" -{ return tHELPSTRINGCONTEXT; } +{ return tHELPSTRING; } YY_BREAK case 65: YY_RULE_SETUP #line 284 "tools/widl/parser.l" -{ return tHELPSTRINGDLL; } +{ return tHELPSTRINGCONTEXT; } YY_BREAK case 66: YY_RULE_SETUP #line 285 "tools/widl/parser.l" -{ return tHIDDEN; } +{ return tHELPSTRINGDLL; } YY_BREAK case 67: YY_RULE_SETUP #line 286 "tools/widl/parser.l" -{ return tID; } +{ return tHIDDEN; } YY_BREAK case 68: YY_RULE_SETUP #line 287 "tools/widl/parser.l" -{ return tIDEMPOTENT; } +{ return tID; } YY_BREAK case 69: YY_RULE_SETUP #line 288 "tools/widl/parser.l" -{ return tIGNORE; } +{ return tIDEMPOTENT; } YY_BREAK case 70: YY_RULE_SETUP #line 289 "tools/widl/parser.l" -{ return tIIDIS; } +{ return tIGNORE; } YY_BREAK case 71: YY_RULE_SETUP #line 290 "tools/widl/parser.l" -{ return tIMMEDIATEBIND; } +{ return tIIDIS; } YY_BREAK case 72: YY_RULE_SETUP #line 291 "tools/widl/parser.l" -{ return tIMPLICITHANDLE; } +{ return tIMMEDIATEBIND; } YY_BREAK case 73: YY_RULE_SETUP #line 292 "tools/widl/parser.l" -{ return tIN; } +{ return tIMPLICITHANDLE; } YY_BREAK case 74: YY_RULE_SETUP #line 293 "tools/widl/parser.l" -{ return tIN_LINE; } +{ return tIN; } YY_BREAK case 75: YY_RULE_SETUP #line 294 "tools/widl/parser.l" -{ return tINPUTSYNC; } +{ return tIN_LINE; } YY_BREAK case 76: YY_RULE_SETUP #line 295 "tools/widl/parser.l" -{ return tLCID; } +{ return tINPUTSYNC; } YY_BREAK case 77: YY_RULE_SETUP #line 296 "tools/widl/parser.l" -{ return tLENGTHIS; } +{ return tLCID; } YY_BREAK case 78: YY_RULE_SETUP #line 297 "tools/widl/parser.l" -{ return tLICENSED; } +{ return tLENGTHIS; } YY_BREAK case 79: YY_RULE_SETUP #line 298 "tools/widl/parser.l" -{ return tLOCAL; } +{ return tLICENSED; } YY_BREAK case 80: YY_RULE_SETUP #line 299 "tools/widl/parser.l" -{ return token_winrt( tMARSHALINGBEHAVIOR, yytext, yylval ); } +{ return tLOCAL; } YY_BREAK case 81: YY_RULE_SETUP #line 300 "tools/widl/parser.l" -{ return tMAYBE; } +{ return token_winrt( tMARSHALINGBEHAVIOR, yytext, yylval ); } YY_BREAK case 82: YY_RULE_SETUP #line 301 "tools/widl/parser.l" -{ return tMESSAGE; } +{ return tMAYBE; } YY_BREAK case 83: YY_RULE_SETUP #line 302 "tools/widl/parser.l" -{ return tMTA; } +{ return tMESSAGE; } YY_BREAK case 84: YY_RULE_SETUP #line 303 "tools/widl/parser.l" -{ return tNEUTRAL; } +{ return tMTA; } YY_BREAK case 85: YY_RULE_SETUP #line 304 "tools/widl/parser.l" -{ return tNOCODE; } +{ return tNEUTRAL; } YY_BREAK case 86: YY_RULE_SETUP #line 305 "tools/widl/parser.l" -{ return tNONBROWSABLE; } +{ return tNOCODE; } YY_BREAK case 87: YY_RULE_SETUP #line 306 "tools/widl/parser.l" -{ return tNONCREATABLE; } +{ return tNONBROWSABLE; } YY_BREAK case 88: YY_RULE_SETUP #line 307 "tools/widl/parser.l" -{ return token_winrt( tNONE, yytext, yylval ); } +{ return tNONCREATABLE; } YY_BREAK case 89: YY_RULE_SETUP #line 308 "tools/widl/parser.l" -{ return tNONEXTENSIBLE; } +{ return token_winrt( tNONE, yytext, yylval ); } YY_BREAK case 90: YY_RULE_SETUP #line 309 "tools/widl/parser.l" -{ return tNOTIFY; } +{ return tNONEXTENSIBLE; } YY_BREAK case 91: YY_RULE_SETUP #line 310 "tools/widl/parser.l" -{ return tNOTIFYFLAG; } +{ return tNOTIFY; } YY_BREAK case 92: YY_RULE_SETUP #line 311 "tools/widl/parser.l" -{ return tOBJECT; } +{ return tNOTIFYFLAG; } YY_BREAK case 93: YY_RULE_SETUP #line 312 "tools/widl/parser.l" -{ return tODL; } +{ return tOBJECT; } YY_BREAK case 94: YY_RULE_SETUP #line 313 "tools/widl/parser.l" -{ return tOLEAUTOMATION; } +{ return tODL; } YY_BREAK case 95: YY_RULE_SETUP #line 314 "tools/widl/parser.l" -{ return tOPTIMIZE; } +{ return tOLEAUTOMATION; } YY_BREAK case 96: YY_RULE_SETUP #line 315 "tools/widl/parser.l" -{ return tOPTIONAL; } +{ return tOPTIMIZE; } YY_BREAK case 97: YY_RULE_SETUP #line 316 "tools/widl/parser.l" -{ return tOUT; } +{ return tOPTIONAL; } YY_BREAK case 98: YY_RULE_SETUP #line 317 "tools/widl/parser.l" -{ return tOVERLOAD; } +{ return tOUT; } YY_BREAK case 99: YY_RULE_SETUP #line 318 "tools/widl/parser.l" -{ return tPARTIALIGNORE; } +{ return tOVERLOAD; } YY_BREAK case 100: YY_RULE_SETUP #line 319 "tools/widl/parser.l" -{ return tPOINTERDEFAULT; } +{ return tPARTIALIGNORE; } YY_BREAK case 101: YY_RULE_SETUP #line 320 "tools/widl/parser.l" -{ return tPROGID; } +{ return tPOINTERDEFAULT; } YY_BREAK case 102: YY_RULE_SETUP #line 321 "tools/widl/parser.l" -{ return tPROPGET; } +{ return tPROGID; } YY_BREAK case 103: YY_RULE_SETUP #line 322 "tools/widl/parser.l" -{ return tPROPPUT; } +{ return tPROPGET; } YY_BREAK case 104: YY_RULE_SETUP #line 323 "tools/widl/parser.l" -{ return tPROPPUTREF; } +{ return tPROPPUT; } YY_BREAK case 105: YY_RULE_SETUP #line 324 "tools/widl/parser.l" -{ return tPROTECTED; } +{ return tPROPPUTREF; } YY_BREAK case 106: YY_RULE_SETUP #line 325 "tools/widl/parser.l" -{ return tPROXY; } +{ return tPROTECTED; } YY_BREAK case 107: YY_RULE_SETUP #line 326 "tools/widl/parser.l" -{ return tPTR; } +{ return tPROXY; } YY_BREAK case 108: YY_RULE_SETUP #line 327 "tools/widl/parser.l" -{ return tPUBLIC; } +{ return tPTR; } YY_BREAK case 109: YY_RULE_SETUP #line 328 "tools/widl/parser.l" -{ return tRANGE; } +{ return tPUBLIC; } YY_BREAK case 110: YY_RULE_SETUP #line 329 "tools/widl/parser.l" -{ return tREADONLY; } +{ return tRANGE; } YY_BREAK case 111: YY_RULE_SETUP #line 330 "tools/widl/parser.l" -{ return tREF; } +{ return tREADONLY; } YY_BREAK case 112: YY_RULE_SETUP #line 331 "tools/widl/parser.l" -{ return tREPRESENTAS; } +{ return tREF; } YY_BREAK case 113: YY_RULE_SETUP #line 332 "tools/widl/parser.l" -{ return tREQUESTEDIT; } +{ return tREPRESENTAS; } YY_BREAK case 114: YY_RULE_SETUP #line 333 "tools/widl/parser.l" -{ return tRESTRICTED; } +{ return tREQUESTEDIT; } YY_BREAK case 115: YY_RULE_SETUP #line 334 "tools/widl/parser.l" -{ return tRETVAL; } +{ return tRESTRICTED; } YY_BREAK case 116: YY_RULE_SETUP #line 335 "tools/widl/parser.l" -{ return tSINGLE; } +{ return tRETVAL; } YY_BREAK case 117: YY_RULE_SETUP #line 336 "tools/widl/parser.l" -{ return tSINGLENODE; } +{ return tSINGLE; } YY_BREAK case 118: YY_RULE_SETUP #line 337 "tools/widl/parser.l" -{ return tSIZEIS; } +{ return tSINGLENODE; } YY_BREAK case 119: YY_RULE_SETUP #line 338 "tools/widl/parser.l" -{ return tSOURCE; } +{ return tSIZEIS; } YY_BREAK case 120: YY_RULE_SETUP #line 339 "tools/widl/parser.l" -{ return token_winrt( tSTANDARD, yytext, yylval ); } +{ return tSOURCE; } YY_BREAK case 121: YY_RULE_SETUP #line 340 "tools/widl/parser.l" -{ return token_winrt( tSTATIC, yytext, yylval ); } +{ return token_winrt( tSTANDARD, yytext, yylval ); } YY_BREAK case 122: YY_RULE_SETUP #line 341 "tools/widl/parser.l" -{ return tSTRICTCONTEXTHANDLE; } +{ return token_winrt( tSTATIC, yytext, yylval ); } YY_BREAK case 123: YY_RULE_SETUP #line 342 "tools/widl/parser.l" -{ return tSTRING; } +{ return tSTRICTCONTEXTHANDLE; } YY_BREAK case 124: YY_RULE_SETUP #line 343 "tools/widl/parser.l" -{ return tSWITCHIS; } +{ return tSTRING; } YY_BREAK case 125: YY_RULE_SETUP #line 344 "tools/widl/parser.l" -{ return tSWITCHTYPE; } +{ return tSWITCHIS; } YY_BREAK case 126: YY_RULE_SETUP #line 345 "tools/widl/parser.l" -{ return tTHREADING; } +{ return tSWITCHTYPE; } YY_BREAK case 127: YY_RULE_SETUP #line 346 "tools/widl/parser.l" -{ return tTRANSMITAS; } +{ return tTHREADING; } YY_BREAK case 128: YY_RULE_SETUP #line 347 "tools/widl/parser.l" -{ return tUIDEFAULT; } +{ return tTRANSMITAS; } YY_BREAK case 129: YY_RULE_SETUP #line 348 "tools/widl/parser.l" -{ return tUNIQUE; } +{ return tUIDEFAULT; } YY_BREAK case 130: YY_RULE_SETUP #line 349 "tools/widl/parser.l" -{ return tUSERMARSHAL; } +{ return tUNIQUE; } YY_BREAK case 131: YY_RULE_SETUP #line 350 "tools/widl/parser.l" -{ return tUSESGETLASTERROR; } +{ return tUSERMARSHAL; } YY_BREAK case 132: YY_RULE_SETUP #line 351 "tools/widl/parser.l" -{ return tUUID; } +{ return tUSESGETLASTERROR; } YY_BREAK case 133: YY_RULE_SETUP #line 352 "tools/widl/parser.l" -{ return tV1ENUM; } +{ return tUUID; } YY_BREAK case 134: YY_RULE_SETUP #line 353 "tools/widl/parser.l" -{ return tVARARG; } +{ return tV1ENUM; } YY_BREAK case 135: YY_RULE_SETUP #line 354 "tools/widl/parser.l" -{ return tVERSION; } +{ return tVARARG; } YY_BREAK case 136: YY_RULE_SETUP #line 355 "tools/widl/parser.l" -{ return tVIPROGID; } +{ return tVERSION; } YY_BREAK case 137: YY_RULE_SETUP #line 356 "tools/widl/parser.l" +{ return tVIPROGID; } + YY_BREAK +case 138: +YY_RULE_SETUP +#line 357 "tools/widl/parser.l" { return tWIREMARSHAL; } YY_BREAK -case 138: -YY_RULE_SETUP -#line 360 "tools/widl/parser.l" -{ yy_push_state( PP_PRAGMA ); } - YY_BREAK case 139: YY_RULE_SETUP #line 361 "tools/widl/parser.l" -{ return tPRAGMA_WARNING; } +{ yy_push_state( PP_PRAGMA ); } YY_BREAK case 140: YY_RULE_SETUP -#line 363 "tools/widl/parser.l" +#line 362 "tools/widl/parser.l" +{ return tPRAGMA_WARNING; } + YY_BREAK +case 141: +YY_RULE_SETUP +#line 364 "tools/widl/parser.l" { yylval->dbl = strtod( yytext, NULL ); return aDOUBLE; } YY_BREAK -case 141: +case 142: *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 369 "tools/widl/parser.l" +#line 370 "tools/widl/parser.l" return tSAFEARRAY; YY_BREAK -case 142: -YY_RULE_SETUP -#line 372 "tools/widl/parser.l" -{ yy_push_state(PP_LINE); } - YY_BREAK case 143: YY_RULE_SETUP #line 373 "tools/widl/parser.l" -{ yy_push_state(ATTR); return '['; } +{ yy_push_state(PP_LINE); } YY_BREAK case 144: YY_RULE_SETUP -#line 375 "tools/widl/parser.l" -{ return tFALSE; } +#line 374 "tools/widl/parser.l" +{ yy_push_state(ATTR); return '['; } YY_BREAK case 145: YY_RULE_SETUP #line 376 "tools/widl/parser.l" -{ return tNULL; } +{ return tFALSE; } YY_BREAK case 146: YY_RULE_SETUP #line 377 "tools/widl/parser.l" -{ return tTRUE; } +{ return tNULL; } YY_BREAK case 147: YY_RULE_SETUP #line 378 "tools/widl/parser.l" -{ return token_str( tCDECL, "__cdecl", yylval ); } +{ return tTRUE; } YY_BREAK case 148: YY_RULE_SETUP #line 379 "tools/widl/parser.l" -{ return token_str( tPASCAL, "__pascal", yylval ); } +{ return token_str( tCDECL, "__cdecl", yylval ); } YY_BREAK case 149: YY_RULE_SETUP #line 380 "tools/widl/parser.l" -{ return token_str( tSTDCALL, "__stdcall", yylval ); } +{ return token_str( tPASCAL, "__pascal", yylval ); } YY_BREAK case 150: YY_RULE_SETUP #line 381 "tools/widl/parser.l" -{ return token_str( tFASTCALL, "__fastcall", yylval ); } +{ return token_str( tSTDCALL, "__stdcall", yylval ); } YY_BREAK case 151: YY_RULE_SETUP #line 382 "tools/widl/parser.l" -{ return tINT32; } +{ return token_str( tFASTCALL, "__fastcall", yylval ); } YY_BREAK case 152: YY_RULE_SETUP #line 383 "tools/widl/parser.l" -{ return tINT3264; } +{ return tINT32; } YY_BREAK case 153: YY_RULE_SETUP #line 384 "tools/widl/parser.l" -{ return tINT64; } +{ return tINT3264; } YY_BREAK case 154: YY_RULE_SETUP #line 385 "tools/widl/parser.l" -{ return token_winrt( tAPICONTRACT, yytext, yylval ); } +{ return tINT64; } YY_BREAK case 155: YY_RULE_SETUP #line 386 "tools/widl/parser.l" -{ return tBOOLEAN; } +{ return token_winrt( tAPICONTRACT, yytext, yylval ); } YY_BREAK case 156: YY_RULE_SETUP #line 387 "tools/widl/parser.l" -{ return tBYTE; } +{ return tBOOLEAN; } YY_BREAK case 157: YY_RULE_SETUP #line 388 "tools/widl/parser.l" -{ return tCASE; } +{ return tBYTE; } YY_BREAK case 158: YY_RULE_SETUP #line 389 "tools/widl/parser.l" -{ return tCHAR; } +{ return tCASE; } YY_BREAK case 159: YY_RULE_SETUP #line 390 "tools/widl/parser.l" -{ return tCOCLASS; } +{ return tCHAR; } YY_BREAK case 160: YY_RULE_SETUP #line 391 "tools/widl/parser.l" -{ return tCONST; } +{ return tCOCLASS; } YY_BREAK case 161: YY_RULE_SETUP #line 392 "tools/widl/parser.l" -{ return tCPPQUOTE; } +{ return tCONST; } YY_BREAK case 162: YY_RULE_SETUP #line 393 "tools/widl/parser.l" -{ return token_winrt( tDECLARE, yytext, yylval ); } +{ return tCPPQUOTE; } YY_BREAK case 163: YY_RULE_SETUP #line 394 "tools/widl/parser.l" -{ return tDEFAULT; } +{ return token_winrt( tDECLARE, yytext, yylval ); } YY_BREAK case 164: YY_RULE_SETUP #line 395 "tools/widl/parser.l" -{ return token_winrt( tDELEGATE, yytext, yylval ); } +{ return tDEFAULT; } YY_BREAK case 165: YY_RULE_SETUP #line 396 "tools/widl/parser.l" -{ return tDISPINTERFACE; } +{ return token_winrt( tDELEGATE, yytext, yylval ); } YY_BREAK case 166: YY_RULE_SETUP #line 397 "tools/widl/parser.l" -{ return tDOUBLE; } +{ return tDISPINTERFACE; } YY_BREAK case 167: YY_RULE_SETUP #line 398 "tools/widl/parser.l" -{ return tENUM; } +{ return tDOUBLE; } YY_BREAK case 168: YY_RULE_SETUP #line 399 "tools/widl/parser.l" -{ return tERRORSTATUST; } +{ return tENUM; } YY_BREAK case 169: YY_RULE_SETUP #line 400 "tools/widl/parser.l" -{ return tEXTERN; } +{ return tERRORSTATUST; } YY_BREAK case 170: YY_RULE_SETUP #line 401 "tools/widl/parser.l" -{ return tFLOAT; } +{ return tEXTERN; } YY_BREAK case 171: YY_RULE_SETUP #line 402 "tools/widl/parser.l" -{ return tHANDLET; } +{ return tFLOAT; } YY_BREAK case 172: YY_RULE_SETUP #line 403 "tools/widl/parser.l" -{ return tHYPER; } +{ return tHANDLET; } YY_BREAK case 173: YY_RULE_SETUP #line 404 "tools/widl/parser.l" -{ return tIMPORT; } +{ return tHYPER; } YY_BREAK case 174: YY_RULE_SETUP #line 405 "tools/widl/parser.l" -{ return tIMPORTLIB; } +{ return tIMPORT; } YY_BREAK case 175: YY_RULE_SETUP #line 406 "tools/widl/parser.l" -{ return tINLINE; } +{ return tIMPORTLIB; } YY_BREAK case 176: YY_RULE_SETUP #line 407 "tools/widl/parser.l" -{ return tINT; } +{ return tINLINE; } YY_BREAK case 177: YY_RULE_SETUP #line 408 "tools/widl/parser.l" -{ return tINTERFACE; } +{ return tINT; } YY_BREAK case 178: YY_RULE_SETUP #line 409 "tools/widl/parser.l" -{ return tLIBRARY; } +{ return tINTERFACE; } YY_BREAK case 179: YY_RULE_SETUP #line 410 "tools/widl/parser.l" -{ return tLONG; } +{ return tLIBRARY; } YY_BREAK case 180: YY_RULE_SETUP #line 411 "tools/widl/parser.l" -{ return tMETHODS; } +{ return tLONG; } YY_BREAK case 181: YY_RULE_SETUP #line 412 "tools/widl/parser.l" -{ return tMODULE; } +{ return tMETHODS; } YY_BREAK case 182: YY_RULE_SETUP #line 413 "tools/widl/parser.l" -{ return token_winrt( tNAMESPACE, yytext, yylval ); } +{ return tMODULE; } YY_BREAK case 183: YY_RULE_SETUP #line 414 "tools/widl/parser.l" -{ return tPROPERTIES; } +{ return token_winrt( tNAMESPACE, yytext, yylval ); } YY_BREAK case 184: YY_RULE_SETUP #line 415 "tools/widl/parser.l" -{ return tREGISTER; } +{ return tPROPERTIES; } YY_BREAK case 185: YY_RULE_SETUP #line 416 "tools/widl/parser.l" -{ return token_winrt( tREQUIRES, yytext, yylval ); } +{ return tREGISTER; } YY_BREAK case 186: YY_RULE_SETUP #line 417 "tools/widl/parser.l" -{ return token_winrt( tRUNTIMECLASS, yytext, yylval ); } +{ return token_winrt( tREQUIRES, yytext, yylval ); } YY_BREAK case 187: YY_RULE_SETUP #line 418 "tools/widl/parser.l" -{ return tSHORT; } +{ return token_winrt( tRUNTIMECLASS, yytext, yylval ); } YY_BREAK case 188: YY_RULE_SETUP #line 419 "tools/widl/parser.l" -{ return tSIGNED; } +{ return tSHORT; } YY_BREAK case 189: YY_RULE_SETUP #line 420 "tools/widl/parser.l" -{ return tSIZEOF; } +{ return tSIGNED; } YY_BREAK case 190: YY_RULE_SETUP #line 421 "tools/widl/parser.l" -{ return tSMALL; } +{ return tSIZEOF; } YY_BREAK case 191: YY_RULE_SETUP #line 422 "tools/widl/parser.l" -{ return tSTATIC; } +{ return tSMALL; } YY_BREAK case 192: YY_RULE_SETUP #line 423 "tools/widl/parser.l" -{ return tSTRUCT; } +{ return tSTATIC; } YY_BREAK case 193: YY_RULE_SETUP #line 424 "tools/widl/parser.l" -{ return tSWITCH; } +{ return tSTRUCT; } YY_BREAK case 194: YY_RULE_SETUP #line 425 "tools/widl/parser.l" -{ return tTYPEDEF; } +{ return tSWITCH; } YY_BREAK case 195: YY_RULE_SETUP #line 426 "tools/widl/parser.l" -{ return tUNION; } +{ return tTYPEDEF; } YY_BREAK case 196: YY_RULE_SETUP #line 427 "tools/widl/parser.l" -{ return tUNSIGNED; } +{ return tUNION; } YY_BREAK case 197: YY_RULE_SETUP #line 428 "tools/widl/parser.l" -{ return tVOID; } +{ return tUNSIGNED; } YY_BREAK case 198: YY_RULE_SETUP #line 429 "tools/widl/parser.l" -{ return tWCHAR; } +{ return tVOID; } YY_BREAK case 199: YY_RULE_SETUP -#line 431 "tools/widl/parser.l" -{ return token_ident( yytext, yylval ); } +#line 430 "tools/widl/parser.l" +{ return tWCHAR; } YY_BREAK case 200: YY_RULE_SETUP -#line 433 "tools/widl/parser.l" -{ return token_num( aHEXNUM, yytext, yylval ); } +#line 432 "tools/widl/parser.l" +{ return token_ident( yytext, yylval ); } YY_BREAK case 201: YY_RULE_SETUP #line 434 "tools/widl/parser.l" -{ return token_num( aNUM, yytext, yylval ); } +{ return token_num( aHEXNUM, yytext, yylval ); } YY_BREAK case 202: -/* rule 202 can match eol */ YY_RULE_SETUP -#line 436 "tools/widl/parser.l" -{ return token_str( aWSTRING, yytext + 1, yylval ); } +#line 435 "tools/widl/parser.l" +{ return token_num( aNUM, yytext, yylval ); } YY_BREAK case 203: /* rule 203 can match eol */ YY_RULE_SETUP #line 437 "tools/widl/parser.l" -{ return token_str( aSTRING, yytext, yylval ); } +{ return token_str( aWSTRING, yytext + 1, yylval ); } YY_BREAK case 204: /* rule 204 can match eol */ YY_RULE_SETUP #line 438 "tools/widl/parser.l" -{ return token_str( aSQSTRING, yytext, yylval ); } +{ return token_str( aSTRING, yytext, yylval ); } YY_BREAK case 205: /* rule 205 can match eol */ YY_RULE_SETUP -#line 440 "tools/widl/parser.l" -{ end_of_line( yylloc ); } +#line 439 "tools/widl/parser.l" +{ return token_str( aSQSTRING, yytext, yylval ); } YY_BREAK case 206: +/* rule 206 can match eol */ YY_RULE_SETUP #line 441 "tools/widl/parser.l" -{} +{ end_of_line( yylloc ); } YY_BREAK case 207: YY_RULE_SETUP #line 442 "tools/widl/parser.l" -{ return SHL; } +{} YY_BREAK case 208: YY_RULE_SETUP #line 443 "tools/widl/parser.l" -{ return SHR; } +{ return SHL; } YY_BREAK case 209: YY_RULE_SETUP #line 444 "tools/widl/parser.l" -{ return MEMBERPTR; } +{ return SHR; } YY_BREAK case 210: YY_RULE_SETUP #line 445 "tools/widl/parser.l" -{ return EQUALITY; } +{ return MEMBERPTR; } YY_BREAK case 211: YY_RULE_SETUP #line 446 "tools/widl/parser.l" -{ return INEQUALITY; } +{ return EQUALITY; } YY_BREAK case 212: YY_RULE_SETUP #line 447 "tools/widl/parser.l" -{ return GREATEREQUAL; } +{ return INEQUALITY; } YY_BREAK case 213: YY_RULE_SETUP #line 448 "tools/widl/parser.l" -{ return LESSEQUAL; } +{ return GREATEREQUAL; } YY_BREAK case 214: YY_RULE_SETUP #line 449 "tools/widl/parser.l" -{ return LOGICALOR; } +{ return LESSEQUAL; } YY_BREAK case 215: YY_RULE_SETUP #line 450 "tools/widl/parser.l" -{ return LOGICALAND; } +{ return LOGICALOR; } YY_BREAK case 216: YY_RULE_SETUP #line 451 "tools/widl/parser.l" -{ return ELLIPSIS; } +{ return LOGICALAND; } YY_BREAK case 217: YY_RULE_SETUP #line 452 "tools/widl/parser.l" +{ return ELLIPSIS; } + YY_BREAK +case 218: +YY_RULE_SETUP +#line 453 "tools/widl/parser.l" { return yytext[0]; } YY_BREAK @@ -3397,7 +3407,7 @@ case YY_STATE_EOF(PP_LINE): case YY_STATE_EOF(PP_FILE): case YY_STATE_EOF(PP_PRAGMA): -#line 455 "tools/widl/parser.l" +#line 456 "tools/widl/parser.l" { if (!list_empty( &import_stack )) return aEOF; @@ -3409,12 +3419,12 @@ yyterminate(); } YY_BREAK -case 218: +case 219: YY_RULE_SETUP -#line 465 "tools/widl/parser.l" +#line 466 "tools/widl/parser.l" ECHO; YY_BREAK -#line 3417 "tools/widl/parser.yy.c" +#line 3427 "tools/widl/parser.yy.c" case YY_END_OF_BUFFER: { @@ -3711,7 +3721,7 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1464 ) + if ( yy_current_state >= 1473 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -3739,11 +3749,11 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1464 ) + if ( yy_current_state >= 1473 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1463); + yy_is_jam = (yy_current_state == 1472); return yy_is_jam ? 0 : yy_current_state; } @@ -4425,7 +4435,7 @@ #define YYTABLES_NAME "yytables" -#line 465 "tools/widl/parser.l" +#line 466 "tools/widl/parser.l" static void print_imports(void)
diff --git a/mingw-w64-tools/widl/src/widltypes.h b/mingw-w64-tools/widl/src/widltypes.h index b92c8c1..1a26bb7 100644 --- a/mingw-w64-tools/widl/src/widltypes.h +++ b/mingw-w64-tools/widl/src/widltypes.h
@@ -92,6 +92,7 @@ ATTR_CUSTOM, ATTR_DECODE, ATTR_DEFAULT, + ATTR_DEFAULT_OVERLOAD, ATTR_DEFAULTBIND, ATTR_DEFAULTCOLLELEM, ATTR_DEFAULTVALUE,
diff --git a/mingw-w64-tools/widl/src/write_msft.c b/mingw-w64-tools/widl/src/write_msft.c index a757af8..063e293 100644 --- a/mingw-w64-tools/widl/src/write_msft.c +++ b/mingw-w64-tools/widl/src/write_msft.c
@@ -1418,6 +1418,7 @@ break; case ATTR_OUT: break; + case ATTR_DEFAULT_OVERLOAD: case ATTR_OVERLOAD: break; case ATTR_PROPGET: