| /* A Bison parser, made by GNU Bison 3.8.2. */ |
| |
| /* Bison interface for Yacc-like parsers in C |
| |
| Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, |
| Inc. |
| |
| This program is free software: you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation, either version 3 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program. If not, see <https://www.gnu.org/licenses/>. */ |
| |
| /* As a special exception, you may create a larger work that contains |
| part or all of the Bison parser skeleton and distribute that work |
| under terms of your choice, so long as that work isn't itself a |
| parser generator using the skeleton or a modified version thereof |
| as a parser skeleton. Alternatively, if you modify or redistribute |
| the parser skeleton itself, you may (at your option) remove this |
| special exception, which will cause the skeleton and the resulting |
| Bison output files to be licensed under the GNU General Public |
| License without this special exception. |
| |
| This special exception was added by the Free Software Foundation in |
| version 2.2 of Bison. */ |
| |
| /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, |
| especially those whose name start with YY_ or yy_. They are |
| private implementation details that can be changed or removed. */ |
| |
| #ifndef YY_PARSER_TOOLS_WIDL_PARSER_TAB_H_INCLUDED |
| # define YY_PARSER_TOOLS_WIDL_PARSER_TAB_H_INCLUDED |
| /* Debug traces. */ |
| #ifndef PARSER_DEBUG |
| # if defined YYDEBUG |
| #if YYDEBUG |
| # define PARSER_DEBUG 1 |
| # else |
| # define PARSER_DEBUG 0 |
| # endif |
| # else /* ! defined YYDEBUG */ |
| # define PARSER_DEBUG 0 |
| # endif /* ! defined YYDEBUG */ |
| #endif /* ! defined PARSER_DEBUG */ |
| #if PARSER_DEBUG |
| extern int parser_debug; |
| #endif |
| |
| /* Token kinds. */ |
| #ifndef PARSER_TOKENTYPE |
| # define PARSER_TOKENTYPE |
| enum parser_tokentype |
| { |
| PARSER_EMPTY = -2, |
| PARSER_EOF = 0, /* "end of file" */ |
| PARSER_error = 256, /* error */ |
| PARSER_UNDEF = 257, /* "invalid token" */ |
| aIDENTIFIER = 258, /* aIDENTIFIER */ |
| aPRAGMA = 259, /* aPRAGMA */ |
| aKNOWNTYPE = 260, /* aKNOWNTYPE */ |
| aNUM = 261, /* aNUM */ |
| aHEXNUM = 262, /* aHEXNUM */ |
| aDOUBLE = 263, /* aDOUBLE */ |
| aSTRING = 264, /* aSTRING */ |
| aWSTRING = 265, /* aWSTRING */ |
| aSQSTRING = 266, /* aSQSTRING */ |
| aUUID = 267, /* aUUID */ |
| aEOF = 268, /* aEOF */ |
| aACF = 269, /* aACF */ |
| SHL = 270, /* SHL */ |
| SHR = 271, /* SHR */ |
| MEMBERPTR = 272, /* MEMBERPTR */ |
| EQUALITY = 273, /* EQUALITY */ |
| INEQUALITY = 274, /* INEQUALITY */ |
| GREATEREQUAL = 275, /* GREATEREQUAL */ |
| LESSEQUAL = 276, /* LESSEQUAL */ |
| LOGICALOR = 277, /* LOGICALOR */ |
| LOGICALAND = 278, /* LOGICALAND */ |
| ELLIPSIS = 279, /* ELLIPSIS */ |
| tACTIVATABLE = 280, /* tACTIVATABLE */ |
| tAGGREGATABLE = 281, /* tAGGREGATABLE */ |
| tAGILE = 282, /* tAGILE */ |
| tALLNODES = 283, /* tALLNODES */ |
| tALLOCATE = 284, /* tALLOCATE */ |
| tANNOTATION = 285, /* tANNOTATION */ |
| tAPICONTRACT = 286, /* tAPICONTRACT */ |
| tAPPOBJECT = 287, /* tAPPOBJECT */ |
| tASYNC = 288, /* tASYNC */ |
| tASYNCUUID = 289, /* tASYNCUUID */ |
| tAUTOHANDLE = 290, /* tAUTOHANDLE */ |
| tBINDABLE = 291, /* tBINDABLE */ |
| tBOOLEAN = 292, /* tBOOLEAN */ |
| tBROADCAST = 293, /* tBROADCAST */ |
| tBYTE = 294, /* tBYTE */ |
| tBYTECOUNT = 295, /* tBYTECOUNT */ |
| tCALLAS = 296, /* tCALLAS */ |
| tCALLBACK = 297, /* tCALLBACK */ |
| tCASE = 298, /* tCASE */ |
| tCDECL = 299, /* tCDECL */ |
| tCHAR = 300, /* tCHAR */ |
| tCOCLASS = 301, /* tCOCLASS */ |
| tCODE = 302, /* tCODE */ |
| tCOMMSTATUS = 303, /* tCOMMSTATUS */ |
| tCONST = 304, /* tCONST */ |
| tCONTEXTHANDLE = 305, /* tCONTEXTHANDLE */ |
| tCONTEXTHANDLENOSERIALIZE = 306, /* tCONTEXTHANDLENOSERIALIZE */ |
| tCONTEXTHANDLESERIALIZE = 307, /* tCONTEXTHANDLESERIALIZE */ |
| tCONTRACT = 308, /* tCONTRACT */ |
| tCONTRACTVERSION = 309, /* tCONTRACTVERSION */ |
| tCONTROL = 310, /* tCONTROL */ |
| tCPPQUOTE = 311, /* tCPPQUOTE */ |
| tCUSTOM = 312, /* tCUSTOM */ |
| tDECLARE = 313, /* tDECLARE */ |
| tDECODE = 314, /* tDECODE */ |
| tDEFAULT = 315, /* tDEFAULT */ |
| tDEFAULTBIND = 316, /* tDEFAULTBIND */ |
| tDELEGATE = 317, /* tDELEGATE */ |
| tDEFAULTCOLLELEM = 318, /* tDEFAULTCOLLELEM */ |
| tDEFAULTVALUE = 319, /* tDEFAULTVALUE */ |
| tDEFAULTVTABLE = 320, /* tDEFAULTVTABLE */ |
| tDISABLECONSISTENCYCHECK = 321, /* tDISABLECONSISTENCYCHECK */ |
| tDISPLAYBIND = 322, /* tDISPLAYBIND */ |
| tDISPINTERFACE = 323, /* tDISPINTERFACE */ |
| tDLLNAME = 324, /* tDLLNAME */ |
| tDONTFREE = 325, /* tDONTFREE */ |
| tDOUBLE = 326, /* tDOUBLE */ |
| tDUAL = 327, /* tDUAL */ |
| tENABLEALLOCATE = 328, /* tENABLEALLOCATE */ |
| tENCODE = 329, /* tENCODE */ |
| tENDPOINT = 330, /* tENDPOINT */ |
| tENTRY = 331, /* tENTRY */ |
| tENUM = 332, /* tENUM */ |
| tERRORSTATUST = 333, /* tERRORSTATUST */ |
| tEVENTADD = 334, /* tEVENTADD */ |
| tEVENTREMOVE = 335, /* tEVENTREMOVE */ |
| tEXCLUSIVETO = 336, /* tEXCLUSIVETO */ |
| tEXPLICITHANDLE = 337, /* tEXPLICITHANDLE */ |
| tEXTERN = 338, /* tEXTERN */ |
| tFALSE = 339, /* tFALSE */ |
| tFASTCALL = 340, /* tFASTCALL */ |
| tFAULTSTATUS = 341, /* tFAULTSTATUS */ |
| tFLAGS = 342, /* tFLAGS */ |
| tFLOAT = 343, /* tFLOAT */ |
| tFORCEALLOCATE = 344, /* tFORCEALLOCATE */ |
| tHANDLE = 345, /* tHANDLE */ |
| tHANDLET = 346, /* tHANDLET */ |
| tHELPCONTEXT = 347, /* tHELPCONTEXT */ |
| tHELPFILE = 348, /* tHELPFILE */ |
| tHELPSTRING = 349, /* tHELPSTRING */ |
| tHELPSTRINGCONTEXT = 350, /* tHELPSTRINGCONTEXT */ |
| tHELPSTRINGDLL = 351, /* tHELPSTRINGDLL */ |
| tHIDDEN = 352, /* tHIDDEN */ |
| tHYPER = 353, /* tHYPER */ |
| tID = 354, /* tID */ |
| tIDEMPOTENT = 355, /* tIDEMPOTENT */ |
| tIGNORE = 356, /* tIGNORE */ |
| tIIDIS = 357, /* tIIDIS */ |
| tIMMEDIATEBIND = 358, /* tIMMEDIATEBIND */ |
| tIMPLICITHANDLE = 359, /* tIMPLICITHANDLE */ |
| tIMPORT = 360, /* tIMPORT */ |
| tIMPORTLIB = 361, /* tIMPORTLIB */ |
| tIN = 362, /* tIN */ |
| tIN_LINE = 363, /* tIN_LINE */ |
| tINLINE = 364, /* tINLINE */ |
| tINPUTSYNC = 365, /* tINPUTSYNC */ |
| tINT = 366, /* tINT */ |
| tINT32 = 367, /* tINT32 */ |
| tINT3264 = 368, /* tINT3264 */ |
| tINT64 = 369, /* tINT64 */ |
| tINTERFACE = 370, /* tINTERFACE */ |
| tLCID = 371, /* tLCID */ |
| tLENGTHIS = 372, /* tLENGTHIS */ |
| tLIBRARY = 373, /* tLIBRARY */ |
| tLICENSED = 374, /* tLICENSED */ |
| tLOCAL = 375, /* tLOCAL */ |
| tLONG = 376, /* tLONG */ |
| tMARSHALINGBEHAVIOR = 377, /* tMARSHALINGBEHAVIOR */ |
| tMAYBE = 378, /* tMAYBE */ |
| tMESSAGE = 379, /* tMESSAGE */ |
| tMETHODS = 380, /* tMETHODS */ |
| tMODULE = 381, /* tMODULE */ |
| tMTA = 382, /* tMTA */ |
| tNAMESPACE = 383, /* tNAMESPACE */ |
| tNOCODE = 384, /* tNOCODE */ |
| tNONBROWSABLE = 385, /* tNONBROWSABLE */ |
| tNONCREATABLE = 386, /* tNONCREATABLE */ |
| tNONE = 387, /* tNONE */ |
| tNONEXTENSIBLE = 388, /* tNONEXTENSIBLE */ |
| tNOTIFY = 389, /* tNOTIFY */ |
| tNOTIFYFLAG = 390, /* tNOTIFYFLAG */ |
| tNULL = 391, /* tNULL */ |
| tOBJECT = 392, /* tOBJECT */ |
| tODL = 393, /* tODL */ |
| tOLEAUTOMATION = 394, /* tOLEAUTOMATION */ |
| tOPTIMIZE = 395, /* tOPTIMIZE */ |
| tOPTIONAL = 396, /* tOPTIONAL */ |
| tOUT = 397, /* tOUT */ |
| tOVERLOAD = 398, /* tOVERLOAD */ |
| tPARTIALIGNORE = 399, /* tPARTIALIGNORE */ |
| tPASCAL = 400, /* tPASCAL */ |
| tPOINTERDEFAULT = 401, /* tPOINTERDEFAULT */ |
| tPRAGMA_WARNING = 402, /* tPRAGMA_WARNING */ |
| tPROGID = 403, /* tPROGID */ |
| tPROPERTIES = 404, /* tPROPERTIES */ |
| tPROPGET = 405, /* tPROPGET */ |
| tPROPPUT = 406, /* tPROPPUT */ |
| tPROPPUTREF = 407, /* tPROPPUTREF */ |
| tPROXY = 408, /* tPROXY */ |
| tPTR = 409, /* tPTR */ |
| tPUBLIC = 410, /* tPUBLIC */ |
| tRANGE = 411, /* tRANGE */ |
| tREADONLY = 412, /* tREADONLY */ |
| tREF = 413, /* tREF */ |
| tREGISTER = 414, /* tREGISTER */ |
| tREPRESENTAS = 415, /* tREPRESENTAS */ |
| tREQUESTEDIT = 416, /* tREQUESTEDIT */ |
| tREQUIRES = 417, /* tREQUIRES */ |
| tRESTRICTED = 418, /* tRESTRICTED */ |
| tRETVAL = 419, /* tRETVAL */ |
| tRUNTIMECLASS = 420, /* tRUNTIMECLASS */ |
| tSAFEARRAY = 421, /* tSAFEARRAY */ |
| tSHORT = 422, /* tSHORT */ |
| tSIGNED = 423, /* tSIGNED */ |
| tSINGLENODE = 424, /* tSINGLENODE */ |
| tSIZEIS = 425, /* tSIZEIS */ |
| tSIZEOF = 426, /* tSIZEOF */ |
| tSMALL = 427, /* tSMALL */ |
| tSOURCE = 428, /* tSOURCE */ |
| tSTANDARD = 429, /* tSTANDARD */ |
| tSTATIC = 430, /* tSTATIC */ |
| tSTDCALL = 431, /* tSTDCALL */ |
| tSTRICTCONTEXTHANDLE = 432, /* tSTRICTCONTEXTHANDLE */ |
| tSTRING = 433, /* tSTRING */ |
| tSTRUCT = 434, /* tSTRUCT */ |
| tSWITCH = 435, /* tSWITCH */ |
| tSWITCHIS = 436, /* tSWITCHIS */ |
| tSWITCHTYPE = 437, /* tSWITCHTYPE */ |
| tTHREADING = 438, /* tTHREADING */ |
| tTRANSMITAS = 439, /* tTRANSMITAS */ |
| tTRUE = 440, /* tTRUE */ |
| tTYPEDEF = 441, /* tTYPEDEF */ |
| tUIDEFAULT = 442, /* tUIDEFAULT */ |
| tUNION = 443, /* tUNION */ |
| tUNIQUE = 444, /* tUNIQUE */ |
| tUNSIGNED = 445, /* tUNSIGNED */ |
| tUSESGETLASTERROR = 446, /* tUSESGETLASTERROR */ |
| tUSERMARSHAL = 447, /* tUSERMARSHAL */ |
| tUUID = 448, /* tUUID */ |
| tV1ENUM = 449, /* tV1ENUM */ |
| tVARARG = 450, /* tVARARG */ |
| tVERSION = 451, /* tVERSION */ |
| tVIPROGID = 452, /* tVIPROGID */ |
| tVOID = 453, /* tVOID */ |
| tWCHAR = 454, /* tWCHAR */ |
| tWIREMARSHAL = 455, /* tWIREMARSHAL */ |
| tAPARTMENT = 456, /* tAPARTMENT */ |
| tNEUTRAL = 457, /* tNEUTRAL */ |
| tSINGLE = 458, /* tSINGLE */ |
| tFREE = 459, /* tFREE */ |
| tBOTH = 460, /* tBOTH */ |
| CAST = 461, /* CAST */ |
| PPTR = 462, /* PPTR */ |
| POS = 463, /* POS */ |
| NEG = 464, /* NEG */ |
| ADDRESSOF = 465 /* ADDRESSOF */ |
| }; |
| typedef enum parser_tokentype parser_token_kind_t; |
| #endif |
| |
| /* Value type. */ |
| #if ! defined PARSER_STYPE && ! defined PARSER_STYPE_IS_DECLARED |
| union PARSER_STYPE |
| { |
| #line 126 "tools/widl/parser.y" |
| |
| attr_t *attr; |
| attr_list_t *attr_list; |
| str_list_t *str_list; |
| expr_t *expr; |
| expr_list_t *expr_list; |
| type_t *type; |
| var_t *var; |
| var_list_t *var_list; |
| declarator_t *declarator; |
| declarator_list_t *declarator_list; |
| statement_t *statement; |
| statement_list_t *stmt_list; |
| warning_t *warning; |
| warning_list_t *warning_list; |
| typeref_t *typeref; |
| typeref_list_t *typeref_list; |
| char *str; |
| struct uuid *uuid; |
| unsigned int num; |
| double dbl; |
| typelib_t *typelib; |
| struct _import_t *import; |
| struct _decl_spec_t *declspec; |
| enum storage_class stgclass; |
| enum type_qualifier type_qualifier; |
| enum function_specifier function_specifier; |
| struct namespace *namespace; |
| |
| #line 312 "tools/widl/parser.tab.h" |
| |
| }; |
| typedef union PARSER_STYPE PARSER_STYPE; |
| # define PARSER_STYPE_IS_TRIVIAL 1 |
| # define PARSER_STYPE_IS_DECLARED 1 |
| #endif |
| |
| |
| extern PARSER_STYPE parser_lval; |
| |
| |
| int parser_parse (void); |
| |
| |
| #endif /* !YY_PARSER_TOOLS_WIDL_PARSER_TAB_H_INCLUDED */ |