mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
[WIDL] Port ALLOCATE attribute support to our WIDL
This commit is contained in:
parent
65646a75a2
commit
f9220ea444
8 changed files with 3937 additions and 3088 deletions
|
@ -318,6 +318,7 @@ static const struct keyword keywords[] = {
|
|||
static const struct keyword attr_keywords[] =
|
||||
{
|
||||
{"aggregatable", tAGGREGATABLE},
|
||||
{"all_nodes", tALLNODES},
|
||||
{"allocate", tALLOCATE},
|
||||
{"annotation", tANNOTATION},
|
||||
{"apartment", tAPARTMENT},
|
||||
|
@ -345,6 +346,7 @@ static const struct keyword attr_keywords[] =
|
|||
{"disable_consistency_check", tDISABLECONSISTENCYCHECK},
|
||||
{"displaybind", tDISPLAYBIND},
|
||||
{"dllname", tDLLNAME},
|
||||
{"dont_free", tDONTFREE},
|
||||
{"dual", tDUAL},
|
||||
{"enable_allocate", tENABLEALLOCATE},
|
||||
{"encode", tENCODE},
|
||||
|
@ -406,6 +408,7 @@ static const struct keyword attr_keywords[] =
|
|||
{"restricted", tRESTRICTED},
|
||||
{"retval", tRETVAL},
|
||||
{"single", tSINGLE},
|
||||
{"single_node", tSINGLENODE},
|
||||
{"size_is", tSIZEIS},
|
||||
{"source", tSOURCE},
|
||||
{"strict_context_handle", tSTRICTCONTEXTHANDLE},
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,8 +1,9 @@
|
|||
/* A Bison parser, made by GNU Bison 3.0. */
|
||||
/* A Bison parser, made by GNU Bison 3.5.4. */
|
||||
|
||||
/* Bison interface for Yacc-like parsers in C
|
||||
|
||||
Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 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
|
||||
|
@ -30,8 +31,11 @@
|
|||
This special exception was added by the Free Software Foundation in
|
||||
version 2.2 of Bison. */
|
||||
|
||||
#ifndef YY_PARSER_E_REACTOSSYNC_MSVC_HOST_TOOLS_SDK_TOOLS_WIDL_PARSER_TAB_H_INCLUDED
|
||||
# define YY_PARSER_E_REACTOSSYNC_MSVC_HOST_TOOLS_SDK_TOOLS_WIDL_PARSER_TAB_H_INCLUDED
|
||||
/* Undocumented macros, especially those whose name start with YY_,
|
||||
are private implementation details. Do not rely on them. */
|
||||
|
||||
#ifndef YY_PARSER_PARSER_TAB_H_INCLUDED
|
||||
# define YY_PARSER_PARSER_TAB_H_INCLUDED
|
||||
/* Debug traces. */
|
||||
#ifndef YYDEBUG
|
||||
# define YYDEBUG 0
|
||||
|
@ -68,178 +72,180 @@ extern int parser_debug;
|
|||
LOGICALAND = 278,
|
||||
ELLIPSIS = 279,
|
||||
tAGGREGATABLE = 280,
|
||||
tALLOCATE = 281,
|
||||
tANNOTATION = 282,
|
||||
tAPPOBJECT = 283,
|
||||
tASYNC = 284,
|
||||
tASYNCUUID = 285,
|
||||
tAUTOHANDLE = 286,
|
||||
tBINDABLE = 287,
|
||||
tBOOLEAN = 288,
|
||||
tBROADCAST = 289,
|
||||
tBYTE = 290,
|
||||
tBYTECOUNT = 291,
|
||||
tCALLAS = 292,
|
||||
tCALLBACK = 293,
|
||||
tCASE = 294,
|
||||
tCDECL = 295,
|
||||
tCHAR = 296,
|
||||
tCOCLASS = 297,
|
||||
tCODE = 298,
|
||||
tCOMMSTATUS = 299,
|
||||
tCONST = 300,
|
||||
tCONTEXTHANDLE = 301,
|
||||
tCONTEXTHANDLENOSERIALIZE = 302,
|
||||
tCONTEXTHANDLESERIALIZE = 303,
|
||||
tCONTROL = 304,
|
||||
tCPPQUOTE = 305,
|
||||
tDECODE = 306,
|
||||
tDEFAULT = 307,
|
||||
tDEFAULTBIND = 308,
|
||||
tDEFAULTCOLLELEM = 309,
|
||||
tDEFAULTVALUE = 310,
|
||||
tDEFAULTVTABLE = 311,
|
||||
tDISABLECONSISTENCYCHECK = 312,
|
||||
tDISPLAYBIND = 313,
|
||||
tDISPINTERFACE = 314,
|
||||
tDLLNAME = 315,
|
||||
tDOUBLE = 316,
|
||||
tDUAL = 317,
|
||||
tENABLEALLOCATE = 318,
|
||||
tENCODE = 319,
|
||||
tENDPOINT = 320,
|
||||
tENTRY = 321,
|
||||
tENUM = 322,
|
||||
tERRORSTATUST = 323,
|
||||
tEXPLICITHANDLE = 324,
|
||||
tEXTERN = 325,
|
||||
tFALSE = 326,
|
||||
tFASTCALL = 327,
|
||||
tFAULTSTATUS = 328,
|
||||
tFLOAT = 329,
|
||||
tFORCEALLOCATE = 330,
|
||||
tHANDLE = 331,
|
||||
tHANDLET = 332,
|
||||
tHELPCONTEXT = 333,
|
||||
tHELPFILE = 334,
|
||||
tHELPSTRING = 335,
|
||||
tHELPSTRINGCONTEXT = 336,
|
||||
tHELPSTRINGDLL = 337,
|
||||
tHIDDEN = 338,
|
||||
tHYPER = 339,
|
||||
tID = 340,
|
||||
tIDEMPOTENT = 341,
|
||||
tIGNORE = 342,
|
||||
tIIDIS = 343,
|
||||
tIMMEDIATEBIND = 344,
|
||||
tIMPLICITHANDLE = 345,
|
||||
tIMPORT = 346,
|
||||
tIMPORTLIB = 347,
|
||||
tIN = 348,
|
||||
tIN_LINE = 349,
|
||||
tINLINE = 350,
|
||||
tINPUTSYNC = 351,
|
||||
tINT = 352,
|
||||
tINT32 = 353,
|
||||
tINT3264 = 354,
|
||||
tINT64 = 355,
|
||||
tINTERFACE = 356,
|
||||
tLCID = 357,
|
||||
tLENGTHIS = 358,
|
||||
tLIBRARY = 359,
|
||||
tLICENSED = 360,
|
||||
tLOCAL = 361,
|
||||
tLONG = 362,
|
||||
tMAYBE = 363,
|
||||
tMESSAGE = 364,
|
||||
tMETHODS = 365,
|
||||
tMODULE = 366,
|
||||
tNAMESPACE = 367,
|
||||
tNOCODE = 368,
|
||||
tNONBROWSABLE = 369,
|
||||
tNONCREATABLE = 370,
|
||||
tNONEXTENSIBLE = 371,
|
||||
tNOTIFY = 372,
|
||||
tNOTIFYFLAG = 373,
|
||||
tNULL = 374,
|
||||
tOBJECT = 375,
|
||||
tODL = 376,
|
||||
tOLEAUTOMATION = 377,
|
||||
tOPTIMIZE = 378,
|
||||
tOPTIONAL = 379,
|
||||
tOUT = 380,
|
||||
tPARTIALIGNORE = 381,
|
||||
tPASCAL = 382,
|
||||
tPOINTERDEFAULT = 383,
|
||||
tPRAGMA_WARNING = 384,
|
||||
tPROGID = 385,
|
||||
tPROPERTIES = 386,
|
||||
tPROPGET = 387,
|
||||
tPROPPUT = 388,
|
||||
tPROPPUTREF = 389,
|
||||
tPROXY = 390,
|
||||
tPTR = 391,
|
||||
tPUBLIC = 392,
|
||||
tRANGE = 393,
|
||||
tREADONLY = 394,
|
||||
tREF = 395,
|
||||
tREGISTER = 396,
|
||||
tREPRESENTAS = 397,
|
||||
tREQUESTEDIT = 398,
|
||||
tRESTRICTED = 399,
|
||||
tRETVAL = 400,
|
||||
tSAFEARRAY = 401,
|
||||
tSHORT = 402,
|
||||
tSIGNED = 403,
|
||||
tSIZEIS = 404,
|
||||
tSIZEOF = 405,
|
||||
tSMALL = 406,
|
||||
tSOURCE = 407,
|
||||
tSTATIC = 408,
|
||||
tSTDCALL = 409,
|
||||
tSTRICTCONTEXTHANDLE = 410,
|
||||
tSTRING = 411,
|
||||
tSTRUCT = 412,
|
||||
tSWITCH = 413,
|
||||
tSWITCHIS = 414,
|
||||
tSWITCHTYPE = 415,
|
||||
tTHREADING = 416,
|
||||
tTRANSMITAS = 417,
|
||||
tTRUE = 418,
|
||||
tTYPEDEF = 419,
|
||||
tUIDEFAULT = 420,
|
||||
tUNION = 421,
|
||||
tUNIQUE = 422,
|
||||
tUNSIGNED = 423,
|
||||
tUSESGETLASTERROR = 424,
|
||||
tUSERMARSHAL = 425,
|
||||
tUUID = 426,
|
||||
tV1ENUM = 427,
|
||||
tVARARG = 428,
|
||||
tVERSION = 429,
|
||||
tVIPROGID = 430,
|
||||
tVOID = 431,
|
||||
tWCHAR = 432,
|
||||
tWIREMARSHAL = 433,
|
||||
tAPARTMENT = 434,
|
||||
tNEUTRAL = 435,
|
||||
tSINGLE = 436,
|
||||
tFREE = 437,
|
||||
tBOTH = 438,
|
||||
CAST = 439,
|
||||
PPTR = 440,
|
||||
POS = 441,
|
||||
NEG = 442,
|
||||
ADDRESSOF = 443
|
||||
tALLNODES = 281,
|
||||
tALLOCATE = 282,
|
||||
tANNOTATION = 283,
|
||||
tAPPOBJECT = 284,
|
||||
tASYNC = 285,
|
||||
tASYNCUUID = 286,
|
||||
tAUTOHANDLE = 287,
|
||||
tBINDABLE = 288,
|
||||
tBOOLEAN = 289,
|
||||
tBROADCAST = 290,
|
||||
tBYTE = 291,
|
||||
tBYTECOUNT = 292,
|
||||
tCALLAS = 293,
|
||||
tCALLBACK = 294,
|
||||
tCASE = 295,
|
||||
tCDECL = 296,
|
||||
tCHAR = 297,
|
||||
tCOCLASS = 298,
|
||||
tCODE = 299,
|
||||
tCOMMSTATUS = 300,
|
||||
tCONST = 301,
|
||||
tCONTEXTHANDLE = 302,
|
||||
tCONTEXTHANDLENOSERIALIZE = 303,
|
||||
tCONTEXTHANDLESERIALIZE = 304,
|
||||
tCONTROL = 305,
|
||||
tCPPQUOTE = 306,
|
||||
tDECODE = 307,
|
||||
tDEFAULT = 308,
|
||||
tDEFAULTBIND = 309,
|
||||
tDEFAULTCOLLELEM = 310,
|
||||
tDEFAULTVALUE = 311,
|
||||
tDEFAULTVTABLE = 312,
|
||||
tDISABLECONSISTENCYCHECK = 313,
|
||||
tDISPLAYBIND = 314,
|
||||
tDISPINTERFACE = 315,
|
||||
tDLLNAME = 316,
|
||||
tDONTFREE = 317,
|
||||
tDOUBLE = 318,
|
||||
tDUAL = 319,
|
||||
tENABLEALLOCATE = 320,
|
||||
tENCODE = 321,
|
||||
tENDPOINT = 322,
|
||||
tENTRY = 323,
|
||||
tENUM = 324,
|
||||
tERRORSTATUST = 325,
|
||||
tEXPLICITHANDLE = 326,
|
||||
tEXTERN = 327,
|
||||
tFALSE = 328,
|
||||
tFASTCALL = 329,
|
||||
tFAULTSTATUS = 330,
|
||||
tFLOAT = 331,
|
||||
tFORCEALLOCATE = 332,
|
||||
tHANDLE = 333,
|
||||
tHANDLET = 334,
|
||||
tHELPCONTEXT = 335,
|
||||
tHELPFILE = 336,
|
||||
tHELPSTRING = 337,
|
||||
tHELPSTRINGCONTEXT = 338,
|
||||
tHELPSTRINGDLL = 339,
|
||||
tHIDDEN = 340,
|
||||
tHYPER = 341,
|
||||
tID = 342,
|
||||
tIDEMPOTENT = 343,
|
||||
tIGNORE = 344,
|
||||
tIIDIS = 345,
|
||||
tIMMEDIATEBIND = 346,
|
||||
tIMPLICITHANDLE = 347,
|
||||
tIMPORT = 348,
|
||||
tIMPORTLIB = 349,
|
||||
tIN = 350,
|
||||
tIN_LINE = 351,
|
||||
tINLINE = 352,
|
||||
tINPUTSYNC = 353,
|
||||
tINT = 354,
|
||||
tINT32 = 355,
|
||||
tINT3264 = 356,
|
||||
tINT64 = 357,
|
||||
tINTERFACE = 358,
|
||||
tLCID = 359,
|
||||
tLENGTHIS = 360,
|
||||
tLIBRARY = 361,
|
||||
tLICENSED = 362,
|
||||
tLOCAL = 363,
|
||||
tLONG = 364,
|
||||
tMAYBE = 365,
|
||||
tMESSAGE = 366,
|
||||
tMETHODS = 367,
|
||||
tMODULE = 368,
|
||||
tNAMESPACE = 369,
|
||||
tNOCODE = 370,
|
||||
tNONBROWSABLE = 371,
|
||||
tNONCREATABLE = 372,
|
||||
tNONEXTENSIBLE = 373,
|
||||
tNOTIFY = 374,
|
||||
tNOTIFYFLAG = 375,
|
||||
tNULL = 376,
|
||||
tOBJECT = 377,
|
||||
tODL = 378,
|
||||
tOLEAUTOMATION = 379,
|
||||
tOPTIMIZE = 380,
|
||||
tOPTIONAL = 381,
|
||||
tOUT = 382,
|
||||
tPARTIALIGNORE = 383,
|
||||
tPASCAL = 384,
|
||||
tPOINTERDEFAULT = 385,
|
||||
tPRAGMA_WARNING = 386,
|
||||
tPROGID = 387,
|
||||
tPROPERTIES = 388,
|
||||
tPROPGET = 389,
|
||||
tPROPPUT = 390,
|
||||
tPROPPUTREF = 391,
|
||||
tPROXY = 392,
|
||||
tPTR = 393,
|
||||
tPUBLIC = 394,
|
||||
tRANGE = 395,
|
||||
tREADONLY = 396,
|
||||
tREF = 397,
|
||||
tREGISTER = 398,
|
||||
tREPRESENTAS = 399,
|
||||
tREQUESTEDIT = 400,
|
||||
tRESTRICTED = 401,
|
||||
tRETVAL = 402,
|
||||
tSAFEARRAY = 403,
|
||||
tSHORT = 404,
|
||||
tSIGNED = 405,
|
||||
tSINGLENODE = 406,
|
||||
tSIZEIS = 407,
|
||||
tSIZEOF = 408,
|
||||
tSMALL = 409,
|
||||
tSOURCE = 410,
|
||||
tSTATIC = 411,
|
||||
tSTDCALL = 412,
|
||||
tSTRICTCONTEXTHANDLE = 413,
|
||||
tSTRING = 414,
|
||||
tSTRUCT = 415,
|
||||
tSWITCH = 416,
|
||||
tSWITCHIS = 417,
|
||||
tSWITCHTYPE = 418,
|
||||
tTHREADING = 419,
|
||||
tTRANSMITAS = 420,
|
||||
tTRUE = 421,
|
||||
tTYPEDEF = 422,
|
||||
tUIDEFAULT = 423,
|
||||
tUNION = 424,
|
||||
tUNIQUE = 425,
|
||||
tUNSIGNED = 426,
|
||||
tUSESGETLASTERROR = 427,
|
||||
tUSERMARSHAL = 428,
|
||||
tUUID = 429,
|
||||
tV1ENUM = 430,
|
||||
tVARARG = 431,
|
||||
tVERSION = 432,
|
||||
tVIPROGID = 433,
|
||||
tVOID = 434,
|
||||
tWCHAR = 435,
|
||||
tWIREMARSHAL = 436,
|
||||
tAPARTMENT = 437,
|
||||
tNEUTRAL = 438,
|
||||
tSINGLE = 439,
|
||||
tFREE = 440,
|
||||
tBOTH = 441,
|
||||
CAST = 442,
|
||||
PPTR = 443,
|
||||
POS = 444,
|
||||
NEG = 445,
|
||||
ADDRESSOF = 446
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Value type. */
|
||||
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
||||
typedef union YYSTYPE YYSTYPE;
|
||||
union YYSTYPE
|
||||
{
|
||||
#line 144 "parser.y" /* yacc.c:1909 */
|
||||
#line 144 "parser.y"
|
||||
|
||||
attr_t *attr;
|
||||
attr_list_t *attr_list;
|
||||
|
@ -267,8 +273,10 @@ union YYSTYPE
|
|||
struct _decl_spec_t *declspec;
|
||||
enum storage_class stgclass;
|
||||
|
||||
#line 271 "parser.tab.h" /* yacc.c:1909 */
|
||||
#line 277 "parser.tab.h"
|
||||
|
||||
};
|
||||
typedef union YYSTYPE YYSTYPE;
|
||||
# define YYSTYPE_IS_TRIVIAL 1
|
||||
# define YYSTYPE_IS_DECLARED 1
|
||||
#endif
|
||||
|
@ -278,4 +286,4 @@ extern YYSTYPE parser_lval;
|
|||
|
||||
int parser_parse (void);
|
||||
|
||||
#endif /* !YY_PARSER_E_REACTOSSYNC_MSVC_HOST_TOOLS_SDK_TOOLS_WIDL_PARSER_TAB_H_INCLUDED */
|
||||
#endif /* !YY_PARSER_PARSER_TAB_H_INCLUDED */
|
||||
|
|
|
@ -182,7 +182,7 @@ static typelib_t *current_typelib;
|
|||
%token GREATEREQUAL LESSEQUAL
|
||||
%token LOGICALOR LOGICALAND
|
||||
%token ELLIPSIS
|
||||
%token tAGGREGATABLE tALLOCATE tANNOTATION tAPPOBJECT tASYNC tASYNCUUID
|
||||
%token tAGGREGATABLE tALLNODES tALLOCATE tANNOTATION tAPPOBJECT tASYNC tASYNCUUID
|
||||
%token tAUTOHANDLE tBINDABLE tBOOLEAN tBROADCAST tBYTE tBYTECOUNT
|
||||
%token tCALLAS tCALLBACK tCASE tCDECL tCHAR tCOCLASS tCODE tCOMMSTATUS
|
||||
%token tCONST tCONTEXTHANDLE tCONTEXTHANDLENOSERIALIZE
|
||||
|
@ -193,7 +193,7 @@ static typelib_t *current_typelib;
|
|||
%token tDEFAULTVTABLE
|
||||
%token tDISABLECONSISTENCYCHECK tDISPLAYBIND
|
||||
%token tDISPINTERFACE
|
||||
%token tDLLNAME tDOUBLE tDUAL
|
||||
%token tDLLNAME tDONTFREE tDOUBLE tDUAL
|
||||
%token tENABLEALLOCATE tENCODE tENDPOINT
|
||||
%token tENTRY tENUM tERRORSTATUST
|
||||
%token tEXPLICITHANDLE tEXTERN
|
||||
|
@ -245,7 +245,7 @@ static typelib_t *current_typelib;
|
|||
%token tRETVAL
|
||||
%token tSAFEARRAY
|
||||
%token tSHORT
|
||||
%token tSIGNED
|
||||
%token tSIGNED tSINGLENODE
|
||||
%token tSIZEIS tSIZEOF
|
||||
%token tSMALL
|
||||
%token tSOURCE
|
||||
|
@ -304,6 +304,7 @@ static typelib_t *current_typelib;
|
|||
%type <statement> statement typedef pragma_warning
|
||||
%type <stmt_list> gbl_statements imp_statements int_statements
|
||||
%type <warning_list> warnings
|
||||
%type <num> allocate_option_list allocate_option
|
||||
|
||||
%left ','
|
||||
%right '?' ':'
|
||||
|
@ -1175,16 +1176,20 @@ version:
|
|||
acf_statements
|
||||
: /* empty */
|
||||
| acf_interface acf_statements
|
||||
;
|
||||
|
||||
acf_int_statements
|
||||
: /* empty */
|
||||
| acf_int_statement acf_int_statements
|
||||
;
|
||||
|
||||
acf_int_statement
|
||||
: tTYPEDEF acf_attributes aKNOWNTYPE ';'
|
||||
{ type_t *type = find_type_or_error($3, 0);
|
||||
type->attrs = append_attr_list(type->attrs, $2);
|
||||
}
|
||||
;
|
||||
|
||||
acf_interface
|
||||
: acf_attributes tINTERFACE aKNOWNTYPE '{' acf_int_statements '}'
|
||||
{ type_t *iface = find_type_or_error2($3, 0);
|
||||
|
@ -1192,20 +1197,38 @@ acf_interface
|
|||
error_loc("%s is not an interface\n", iface->name);
|
||||
iface->attrs = append_attr_list(iface->attrs, $1);
|
||||
}
|
||||
;
|
||||
|
||||
acf_attributes
|
||||
: /* empty */ { $$ = NULL; };
|
||||
| '[' acf_attribute_list ']' { $$ = $2; };
|
||||
;
|
||||
|
||||
acf_attribute_list
|
||||
: acf_attribute { $$ = append_attr(NULL, $1); }
|
||||
| acf_attribute_list ',' acf_attribute { $$ = append_attr($1, $3); }
|
||||
;
|
||||
|
||||
acf_attribute
|
||||
: tENCODE { $$ = make_attr(ATTR_ENCODE); }
|
||||
: tALLOCATE '(' allocate_option_list ')'
|
||||
{ $$ = make_attrv(ATTR_ALLOCATE, $3); }
|
||||
| tENCODE { $$ = make_attr(ATTR_ENCODE); }
|
||||
| tDECODE { $$ = make_attr(ATTR_DECODE); }
|
||||
| tEXPLICITHANDLE { $$ = make_attr(ATTR_EXPLICIT_HANDLE); }
|
||||
;
|
||||
|
||||
allocate_option_list
|
||||
: allocate_option { $$ = $1; }
|
||||
| allocate_option_list ',' allocate_option
|
||||
{ $$ = $1 | $3; }
|
||||
;
|
||||
|
||||
allocate_option
|
||||
: tDONTFREE { $$ = FC_DONT_FREE; }
|
||||
| tFREE { $$ = 0; }
|
||||
| tALLNODES { $$ = FC_ALLOCATE_ALL_NODES; }
|
||||
| tSINGLENODE { $$ = 0; }
|
||||
;
|
||||
%%
|
||||
|
||||
static void decl_builtin_basic(const char *name, enum type_basic_type type)
|
||||
|
@ -2193,6 +2216,7 @@ struct allowed_attr allowed_attr[] =
|
|||
{
|
||||
/* attr { D ACF I Fn ARG T En St Un Fi L DI M C <display name> } */
|
||||
/* ATTR_AGGREGATABLE */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, "aggregatable" },
|
||||
/* ATTR_ALLOCATE */ { 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, "allocate" },
|
||||
/* ATTR_ANNOTATION */ { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "annotation" },
|
||||
/* ATTR_APPOBJECT */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, "appobject" },
|
||||
/* ATTR_ASYNC */ { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "async" },
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -12,15 +12,250 @@
|
|||
|
||||
#define FLEX_SCANNER
|
||||
#define YY_FLEX_MAJOR_VERSION 2
|
||||
#define YY_FLEX_MINOR_VERSION 5
|
||||
#define YY_FLEX_SUBMINOR_VERSION 37
|
||||
#define YY_FLEX_MINOR_VERSION 6
|
||||
#define YY_FLEX_SUBMINOR_VERSION 4
|
||||
#if YY_FLEX_SUBMINOR_VERSION > 0
|
||||
#define FLEX_BETA
|
||||
#endif
|
||||
|
||||
#ifdef yy_create_buffer
|
||||
#define parser__create_buffer_ALREADY_DEFINED
|
||||
#else
|
||||
#define yy_create_buffer parser__create_buffer
|
||||
#endif
|
||||
|
||||
#ifdef yy_delete_buffer
|
||||
#define parser__delete_buffer_ALREADY_DEFINED
|
||||
#else
|
||||
#define yy_delete_buffer parser__delete_buffer
|
||||
#endif
|
||||
|
||||
#ifdef yy_scan_buffer
|
||||
#define parser__scan_buffer_ALREADY_DEFINED
|
||||
#else
|
||||
#define yy_scan_buffer parser__scan_buffer
|
||||
#endif
|
||||
|
||||
#ifdef yy_scan_string
|
||||
#define parser__scan_string_ALREADY_DEFINED
|
||||
#else
|
||||
#define yy_scan_string parser__scan_string
|
||||
#endif
|
||||
|
||||
#ifdef yy_scan_bytes
|
||||
#define parser__scan_bytes_ALREADY_DEFINED
|
||||
#else
|
||||
#define yy_scan_bytes parser__scan_bytes
|
||||
#endif
|
||||
|
||||
#ifdef yy_init_buffer
|
||||
#define parser__init_buffer_ALREADY_DEFINED
|
||||
#else
|
||||
#define yy_init_buffer parser__init_buffer
|
||||
#endif
|
||||
|
||||
#ifdef yy_flush_buffer
|
||||
#define parser__flush_buffer_ALREADY_DEFINED
|
||||
#else
|
||||
#define yy_flush_buffer parser__flush_buffer
|
||||
#endif
|
||||
|
||||
#ifdef yy_load_buffer_state
|
||||
#define parser__load_buffer_state_ALREADY_DEFINED
|
||||
#else
|
||||
#define yy_load_buffer_state parser__load_buffer_state
|
||||
#endif
|
||||
|
||||
#ifdef yy_switch_to_buffer
|
||||
#define parser__switch_to_buffer_ALREADY_DEFINED
|
||||
#else
|
||||
#define yy_switch_to_buffer parser__switch_to_buffer
|
||||
#endif
|
||||
|
||||
#ifdef yypush_buffer_state
|
||||
#define parser_push_buffer_state_ALREADY_DEFINED
|
||||
#else
|
||||
#define yypush_buffer_state parser_push_buffer_state
|
||||
#endif
|
||||
|
||||
#ifdef yypop_buffer_state
|
||||
#define parser_pop_buffer_state_ALREADY_DEFINED
|
||||
#else
|
||||
#define yypop_buffer_state parser_pop_buffer_state
|
||||
#endif
|
||||
|
||||
#ifdef yyensure_buffer_stack
|
||||
#define parser_ensure_buffer_stack_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyensure_buffer_stack parser_ensure_buffer_stack
|
||||
#endif
|
||||
|
||||
#ifdef yylex
|
||||
#define parser_lex_ALREADY_DEFINED
|
||||
#else
|
||||
#define yylex parser_lex
|
||||
#endif
|
||||
|
||||
#ifdef yyrestart
|
||||
#define parser_restart_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyrestart parser_restart
|
||||
#endif
|
||||
|
||||
#ifdef yylex_init
|
||||
#define parser_lex_init_ALREADY_DEFINED
|
||||
#else
|
||||
#define yylex_init parser_lex_init
|
||||
#endif
|
||||
|
||||
#ifdef yylex_init_extra
|
||||
#define parser_lex_init_extra_ALREADY_DEFINED
|
||||
#else
|
||||
#define yylex_init_extra parser_lex_init_extra
|
||||
#endif
|
||||
|
||||
#ifdef yylex_destroy
|
||||
#define parser_lex_destroy_ALREADY_DEFINED
|
||||
#else
|
||||
#define yylex_destroy parser_lex_destroy
|
||||
#endif
|
||||
|
||||
#ifdef yyget_debug
|
||||
#define parser_get_debug_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyget_debug parser_get_debug
|
||||
#endif
|
||||
|
||||
#ifdef yyset_debug
|
||||
#define parser_set_debug_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyset_debug parser_set_debug
|
||||
#endif
|
||||
|
||||
#ifdef yyget_extra
|
||||
#define parser_get_extra_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyget_extra parser_get_extra
|
||||
#endif
|
||||
|
||||
#ifdef yyset_extra
|
||||
#define parser_set_extra_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyset_extra parser_set_extra
|
||||
#endif
|
||||
|
||||
#ifdef yyget_in
|
||||
#define parser_get_in_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyget_in parser_get_in
|
||||
#endif
|
||||
|
||||
#ifdef yyset_in
|
||||
#define parser_set_in_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyset_in parser_set_in
|
||||
#endif
|
||||
|
||||
#ifdef yyget_out
|
||||
#define parser_get_out_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyget_out parser_get_out
|
||||
#endif
|
||||
|
||||
#ifdef yyset_out
|
||||
#define parser_set_out_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyset_out parser_set_out
|
||||
#endif
|
||||
|
||||
#ifdef yyget_leng
|
||||
#define parser_get_leng_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyget_leng parser_get_leng
|
||||
#endif
|
||||
|
||||
#ifdef yyget_text
|
||||
#define parser_get_text_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyget_text parser_get_text
|
||||
#endif
|
||||
|
||||
#ifdef yyget_lineno
|
||||
#define parser_get_lineno_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyget_lineno parser_get_lineno
|
||||
#endif
|
||||
|
||||
#ifdef yyset_lineno
|
||||
#define parser_set_lineno_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyset_lineno parser_set_lineno
|
||||
#endif
|
||||
|
||||
#ifdef yywrap
|
||||
#define parser_wrap_ALREADY_DEFINED
|
||||
#else
|
||||
#define yywrap parser_wrap
|
||||
#endif
|
||||
|
||||
#ifdef yyalloc
|
||||
#define parser_alloc_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyalloc parser_alloc
|
||||
#endif
|
||||
|
||||
#ifdef yyrealloc
|
||||
#define parser_realloc_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyrealloc parser_realloc
|
||||
#endif
|
||||
|
||||
#ifdef yyfree
|
||||
#define parser_free_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyfree parser_free
|
||||
#endif
|
||||
|
||||
#ifdef yytext
|
||||
#define parser_text_ALREADY_DEFINED
|
||||
#else
|
||||
#define yytext parser_text
|
||||
#endif
|
||||
|
||||
#ifdef yyleng
|
||||
#define parser_leng_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyleng parser_leng
|
||||
#endif
|
||||
|
||||
#ifdef yyin
|
||||
#define parser_in_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyin parser_in
|
||||
#endif
|
||||
|
||||
#ifdef yyout
|
||||
#define parser_out_ALREADY_DEFINED
|
||||
#else
|
||||
#define yyout parser_out
|
||||
#endif
|
||||
|
||||
#ifdef yy_flex_debug
|
||||
#define parser__flex_debug_ALREADY_DEFINED
|
||||
#else
|
||||
#define yy_flex_debug parser__flex_debug
|
||||
#endif
|
||||
|
||||
#ifdef yylineno
|
||||
#define parser_lineno_ALREADY_DEFINED
|
||||
#else
|
||||
#define yylineno parser_lineno
|
||||
#endif
|
||||
|
||||
/* First, we deal with platform-specific or compiler-specific issues. */
|
||||
|
||||
/* begin standard C headers. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
@ -28,94 +263,79 @@
|
|||
|
||||
/* end standard C headers. */
|
||||
|
||||
/* begin standard C++ headers. */
|
||||
|
||||
/* flex integer type definitions */
|
||||
|
||||
#ifndef FLEXINT_H
|
||||
#define FLEXINT_H
|
||||
#ifndef YYFLEX_INTTYPES_DEFINED
|
||||
#define YYFLEX_INTTYPES_DEFINED
|
||||
|
||||
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
|
||||
|
||||
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
|
||||
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
|
||||
* if you want the limit (max/min) macros for int types.
|
||||
/* Prefer C99 integer types if available. */
|
||||
# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
/* Include <inttypes.h> and not <stdint.h> because Solaris 2.6 has the former
|
||||
* and not the latter.
|
||||
*/
|
||||
#ifndef __STDC_LIMIT_MACROS
|
||||
#define __STDC_LIMIT_MACROS 1
|
||||
#endif
|
||||
|
||||
#include <inttypes.h>
|
||||
# define YYFLEX_USE_STDINT
|
||||
# else
|
||||
# if defined(_MSC_VER) && _MSC_VER >= 1600
|
||||
/* Visual C++ 2010 does not define __STDC_VERSION__ and has <stdint.h> but not
|
||||
* <inttypes.h>.
|
||||
*/
|
||||
#include <stdint.h>
|
||||
# define YYFLEX_USE_STDINT
|
||||
# endif
|
||||
# endif
|
||||
# ifdef YYFLEX_USE_STDINT
|
||||
typedef int8_t flex_int8_t;
|
||||
typedef uint8_t flex_uint8_t;
|
||||
typedef int16_t flex_int16_t;
|
||||
typedef uint16_t flex_uint16_t;
|
||||
typedef int32_t flex_int32_t;
|
||||
typedef uint32_t flex_uint32_t;
|
||||
#else
|
||||
typedef signed char flex_int8_t;
|
||||
# else
|
||||
typedef unsigned char flex_uint8_t;
|
||||
typedef short int flex_int16_t;
|
||||
typedef int flex_int32_t;
|
||||
typedef unsigned char flex_uint8_t;
|
||||
typedef unsigned short int flex_uint16_t;
|
||||
# ifdef __STDC__
|
||||
typedef signed char flex_int8_t;
|
||||
/* ISO C only requires at least 16 bits for int. */
|
||||
#include <limits.h>
|
||||
# if UINT_MAX >= 4294967295
|
||||
# define YYFLEX_INT32_DEFINED
|
||||
typedef int flex_int32_t;
|
||||
typedef unsigned int flex_uint32_t;
|
||||
# endif
|
||||
# else
|
||||
typedef char flex_int8_t;
|
||||
# endif
|
||||
# ifndef YYFLEX_INT32_DEFINED
|
||||
typedef long int flex_int32_t;
|
||||
typedef unsigned long int flex_uint32_t;
|
||||
# endif
|
||||
# endif
|
||||
#endif /* YYFLEX_INTTYPES_DEFINED */
|
||||
|
||||
/* Limits of integral types. */
|
||||
#ifndef INT8_MIN
|
||||
#define INT8_MIN (-128)
|
||||
#endif
|
||||
#ifndef INT16_MIN
|
||||
#define INT16_MIN (-32767-1)
|
||||
#endif
|
||||
#ifndef INT32_MIN
|
||||
#define INT32_MIN (-2147483647-1)
|
||||
#endif
|
||||
#ifndef INT8_MAX
|
||||
#define INT8_MAX (127)
|
||||
#endif
|
||||
#ifndef INT16_MAX
|
||||
#define INT16_MAX (32767)
|
||||
#endif
|
||||
#ifndef INT32_MAX
|
||||
#define INT32_MAX (2147483647)
|
||||
#endif
|
||||
#ifndef UINT8_MAX
|
||||
#define UINT8_MAX (255U)
|
||||
#endif
|
||||
#ifndef UINT16_MAX
|
||||
#define UINT16_MAX (65535U)
|
||||
#endif
|
||||
#ifndef UINT32_MAX
|
||||
#define UINT32_MAX (4294967295U)
|
||||
#endif
|
||||
|
||||
#endif /* ! C99 */
|
||||
|
||||
#endif /* ! FLEXINT_H */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
/* The "const" storage-class-modifier is valid. */
|
||||
#define YY_USE_CONST
|
||||
|
||||
#else /* ! __cplusplus */
|
||||
|
||||
/* C99 requires __STDC__ to be defined as 1. */
|
||||
#if defined (__STDC__)
|
||||
|
||||
#define YY_USE_CONST
|
||||
|
||||
#endif /* defined (__STDC__) */
|
||||
#endif /* ! __cplusplus */
|
||||
|
||||
#ifdef YY_USE_CONST
|
||||
/* TODO: this is always defined, so inline it */
|
||||
#define yyconst const
|
||||
|
||||
#if defined(__GNUC__) && __GNUC__ >= 3
|
||||
#define yynoreturn __attribute__((__noreturn__))
|
||||
#else
|
||||
#define yyconst
|
||||
#define yynoreturn
|
||||
#endif
|
||||
|
||||
/* Size of default input buffer. */
|
||||
#ifndef YY_BUF_SIZE
|
||||
#ifdef __ia64__
|
||||
/* On IA-64, the buffer size is 16k, not 8k.
|
||||
* Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
|
||||
* Ditto for the __ia64__ case accordingly.
|
||||
*/
|
||||
#define YY_BUF_SIZE 32768
|
||||
#else
|
||||
#define YY_BUF_SIZE 16384
|
||||
#endif /* __ia64__ */
|
||||
#endif
|
||||
|
||||
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
|
||||
|
@ -128,9 +348,9 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
|
|||
typedef size_t yy_size_t;
|
||||
#endif
|
||||
|
||||
extern yy_size_t parser_leng;
|
||||
extern int yyleng;
|
||||
|
||||
extern FILE *parser_in, *parser_out;
|
||||
extern FILE *yyin, *yyout;
|
||||
|
||||
#ifndef YY_STRUCT_YY_BUFFER_STATE
|
||||
#define YY_STRUCT_YY_BUFFER_STATE
|
||||
|
@ -144,12 +364,12 @@ struct yy_buffer_state
|
|||
/* Size of input buffer in bytes, not including room for EOB
|
||||
* characters.
|
||||
*/
|
||||
yy_size_t yy_buf_size;
|
||||
int yy_buf_size;
|
||||
|
||||
/* Number of characters read into yy_ch_buf, not including EOB
|
||||
* characters.
|
||||
*/
|
||||
yy_size_t yy_n_chars;
|
||||
int yy_n_chars;
|
||||
|
||||
/* Whether we "own" the buffer - i.e., we know we created it,
|
||||
* and can realloc() it to grow it, and should free() it to
|
||||
|
@ -172,7 +392,7 @@ struct yy_buffer_state
|
|||
|
||||
int yy_bs_lineno; /**< The line count. */
|
||||
int yy_bs_column; /**< The column count. */
|
||||
|
||||
|
||||
/* Whether to try to fill the input buffer when we reach the
|
||||
* end of it.
|
||||
*/
|
||||
|
@ -183,28 +403,31 @@ struct yy_buffer_state
|
|||
};
|
||||
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
|
||||
|
||||
void parser_restart (FILE *input_file );
|
||||
void parser__switch_to_buffer (YY_BUFFER_STATE new_buffer );
|
||||
YY_BUFFER_STATE parser__create_buffer (FILE *file,int size );
|
||||
void parser__delete_buffer (YY_BUFFER_STATE b );
|
||||
void parser__flush_buffer (YY_BUFFER_STATE b );
|
||||
void parser_push_buffer_state (YY_BUFFER_STATE new_buffer );
|
||||
void parser_pop_buffer_state (void );
|
||||
void yyrestart ( FILE *input_file );
|
||||
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
|
||||
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
|
||||
void yy_delete_buffer ( YY_BUFFER_STATE b );
|
||||
void yy_flush_buffer ( YY_BUFFER_STATE b );
|
||||
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
|
||||
void yypop_buffer_state ( void );
|
||||
|
||||
YY_BUFFER_STATE parser__scan_buffer (char *base,yy_size_t size );
|
||||
YY_BUFFER_STATE parser__scan_string (yyconst char *yy_str );
|
||||
YY_BUFFER_STATE parser__scan_bytes (yyconst char *bytes,yy_size_t len );
|
||||
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
|
||||
YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
|
||||
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
|
||||
|
||||
void *parser_alloc (yy_size_t );
|
||||
void *parser_realloc (void *,yy_size_t );
|
||||
void parser_free (void * );
|
||||
void *yyalloc ( yy_size_t );
|
||||
void *yyrealloc ( void *, yy_size_t );
|
||||
void yyfree ( void * );
|
||||
|
||||
/* Begin user sect3 */
|
||||
|
||||
extern int parser_lineno;
|
||||
extern int yylineno;
|
||||
|
||||
extern char *parser_text;
|
||||
#define yytext_ptr parser_text
|
||||
extern char *yytext;
|
||||
#ifdef yytext_ptr
|
||||
#undef yytext_ptr
|
||||
#endif
|
||||
#define yytext_ptr yytext
|
||||
|
||||
#ifdef YY_HEADER_EXPORT_START_CONDITIONS
|
||||
#define INITIAL 0
|
||||
|
@ -224,7 +447,7 @@ extern char *parser_text;
|
|||
*/
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef YY_EXTRA_TYPE
|
||||
#define YY_EXTRA_TYPE void *
|
||||
#endif
|
||||
|
@ -232,31 +455,31 @@ extern char *parser_text;
|
|||
/* Accessor methods to globals.
|
||||
These are made visible to non-reentrant scanners for convenience. */
|
||||
|
||||
int parser_lex_destroy (void );
|
||||
int yylex_destroy ( void );
|
||||
|
||||
int parser_get_debug (void );
|
||||
int yyget_debug ( void );
|
||||
|
||||
void parser_set_debug (int debug_flag );
|
||||
void yyset_debug ( int debug_flag );
|
||||
|
||||
YY_EXTRA_TYPE parser_get_extra (void );
|
||||
YY_EXTRA_TYPE yyget_extra ( void );
|
||||
|
||||
void parser_set_extra (YY_EXTRA_TYPE user_defined );
|
||||
void yyset_extra ( YY_EXTRA_TYPE user_defined );
|
||||
|
||||
FILE *parser_get_in (void );
|
||||
FILE *yyget_in ( void );
|
||||
|
||||
void parser_set_in (FILE * in_str );
|
||||
void yyset_in ( FILE * _in_str );
|
||||
|
||||
FILE *parser_get_out (void );
|
||||
FILE *yyget_out ( void );
|
||||
|
||||
void parser_set_out (FILE * out_str );
|
||||
void yyset_out ( FILE * _out_str );
|
||||
|
||||
yy_size_t parser_get_leng (void );
|
||||
int yyget_leng ( void );
|
||||
|
||||
char *parser_get_text (void );
|
||||
char *yyget_text ( void );
|
||||
|
||||
int parser_get_lineno (void );
|
||||
int yyget_lineno ( void );
|
||||
|
||||
void parser_set_lineno (int line_number );
|
||||
void yyset_lineno ( int _line_number );
|
||||
|
||||
/* Macros after this point can all be overridden by user definitions in
|
||||
* section 1.
|
||||
|
@ -264,18 +487,18 @@ void parser_set_lineno (int line_number );
|
|||
|
||||
#ifndef YY_SKIP_YYWRAP
|
||||
#ifdef __cplusplus
|
||||
extern "C" int parser_wrap (void );
|
||||
extern "C" int yywrap ( void );
|
||||
#else
|
||||
extern int parser_wrap (void );
|
||||
extern int yywrap ( void );
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef yytext_ptr
|
||||
static void yy_flex_strncpy (char *,yyconst char *,int );
|
||||
static void yy_flex_strncpy ( char *, const char *, int );
|
||||
#endif
|
||||
|
||||
#ifdef YY_NEED_STRLEN
|
||||
static int yy_flex_strlen (yyconst char * );
|
||||
static int yy_flex_strlen ( const char * );
|
||||
#endif
|
||||
|
||||
#ifndef YY_NO_INPUT
|
||||
|
@ -284,7 +507,12 @@ static int yy_flex_strlen (yyconst char * );
|
|||
|
||||
/* Amount of stuff to slurp up with each read. */
|
||||
#ifndef YY_READ_BUF_SIZE
|
||||
#ifdef __ia64__
|
||||
/* On IA-64, the buffer size is 16k, not 8k */
|
||||
#define YY_READ_BUF_SIZE 16384
|
||||
#else
|
||||
#define YY_READ_BUF_SIZE 8192
|
||||
#endif /* __ia64__ */
|
||||
#endif
|
||||
|
||||
/* Number of entries by which start-condition stack grows. */
|
||||
|
@ -298,9 +526,9 @@ static int yy_flex_strlen (yyconst char * );
|
|||
#ifndef YY_DECL
|
||||
#define YY_DECL_IS_OURS 1
|
||||
|
||||
extern int parser_lex (void);
|
||||
extern int yylex (void);
|
||||
|
||||
#define YY_DECL int parser_lex (void)
|
||||
#define YY_DECL int yylex (void)
|
||||
#endif /* !YY_DECL */
|
||||
|
||||
/* yy_get_previous_state - get the state just before the EOB char was reached */
|
||||
|
@ -317,9 +545,154 @@ extern int parser_lex (void);
|
|||
#undef YY_DECL
|
||||
#endif
|
||||
|
||||
#line 238 "parser.l"
|
||||
#ifndef parser__create_buffer_ALREADY_DEFINED
|
||||
#undef yy_create_buffer
|
||||
#endif
|
||||
#ifndef parser__delete_buffer_ALREADY_DEFINED
|
||||
#undef yy_delete_buffer
|
||||
#endif
|
||||
#ifndef parser__scan_buffer_ALREADY_DEFINED
|
||||
#undef yy_scan_buffer
|
||||
#endif
|
||||
#ifndef parser__scan_string_ALREADY_DEFINED
|
||||
#undef yy_scan_string
|
||||
#endif
|
||||
#ifndef parser__scan_bytes_ALREADY_DEFINED
|
||||
#undef yy_scan_bytes
|
||||
#endif
|
||||
#ifndef parser__init_buffer_ALREADY_DEFINED
|
||||
#undef yy_init_buffer
|
||||
#endif
|
||||
#ifndef parser__flush_buffer_ALREADY_DEFINED
|
||||
#undef yy_flush_buffer
|
||||
#endif
|
||||
#ifndef parser__load_buffer_state_ALREADY_DEFINED
|
||||
#undef yy_load_buffer_state
|
||||
#endif
|
||||
#ifndef parser__switch_to_buffer_ALREADY_DEFINED
|
||||
#undef yy_switch_to_buffer
|
||||
#endif
|
||||
#ifndef parser_push_buffer_state_ALREADY_DEFINED
|
||||
#undef yypush_buffer_state
|
||||
#endif
|
||||
#ifndef parser_pop_buffer_state_ALREADY_DEFINED
|
||||
#undef yypop_buffer_state
|
||||
#endif
|
||||
#ifndef parser_ensure_buffer_stack_ALREADY_DEFINED
|
||||
#undef yyensure_buffer_stack
|
||||
#endif
|
||||
#ifndef parser_lex_ALREADY_DEFINED
|
||||
#undef yylex
|
||||
#endif
|
||||
#ifndef parser_restart_ALREADY_DEFINED
|
||||
#undef yyrestart
|
||||
#endif
|
||||
#ifndef parser_lex_init_ALREADY_DEFINED
|
||||
#undef yylex_init
|
||||
#endif
|
||||
#ifndef parser_lex_init_extra_ALREADY_DEFINED
|
||||
#undef yylex_init_extra
|
||||
#endif
|
||||
#ifndef parser_lex_destroy_ALREADY_DEFINED
|
||||
#undef yylex_destroy
|
||||
#endif
|
||||
#ifndef parser_get_debug_ALREADY_DEFINED
|
||||
#undef yyget_debug
|
||||
#endif
|
||||
#ifndef parser_set_debug_ALREADY_DEFINED
|
||||
#undef yyset_debug
|
||||
#endif
|
||||
#ifndef parser_get_extra_ALREADY_DEFINED
|
||||
#undef yyget_extra
|
||||
#endif
|
||||
#ifndef parser_set_extra_ALREADY_DEFINED
|
||||
#undef yyset_extra
|
||||
#endif
|
||||
#ifndef parser_get_in_ALREADY_DEFINED
|
||||
#undef yyget_in
|
||||
#endif
|
||||
#ifndef parser_set_in_ALREADY_DEFINED
|
||||
#undef yyset_in
|
||||
#endif
|
||||
#ifndef parser_get_out_ALREADY_DEFINED
|
||||
#undef yyget_out
|
||||
#endif
|
||||
#ifndef parser_set_out_ALREADY_DEFINED
|
||||
#undef yyset_out
|
||||
#endif
|
||||
#ifndef parser_get_leng_ALREADY_DEFINED
|
||||
#undef yyget_leng
|
||||
#endif
|
||||
#ifndef parser_get_text_ALREADY_DEFINED
|
||||
#undef yyget_text
|
||||
#endif
|
||||
#ifndef parser_get_lineno_ALREADY_DEFINED
|
||||
#undef yyget_lineno
|
||||
#endif
|
||||
#ifndef parser_set_lineno_ALREADY_DEFINED
|
||||
#undef yyset_lineno
|
||||
#endif
|
||||
#ifndef parser_get_column_ALREADY_DEFINED
|
||||
#undef yyget_column
|
||||
#endif
|
||||
#ifndef parser_set_column_ALREADY_DEFINED
|
||||
#undef yyset_column
|
||||
#endif
|
||||
#ifndef parser_wrap_ALREADY_DEFINED
|
||||
#undef yywrap
|
||||
#endif
|
||||
#ifndef parser_get_lval_ALREADY_DEFINED
|
||||
#undef yyget_lval
|
||||
#endif
|
||||
#ifndef parser_set_lval_ALREADY_DEFINED
|
||||
#undef yyset_lval
|
||||
#endif
|
||||
#ifndef parser_get_lloc_ALREADY_DEFINED
|
||||
#undef yyget_lloc
|
||||
#endif
|
||||
#ifndef parser_set_lloc_ALREADY_DEFINED
|
||||
#undef yyset_lloc
|
||||
#endif
|
||||
#ifndef parser_alloc_ALREADY_DEFINED
|
||||
#undef yyalloc
|
||||
#endif
|
||||
#ifndef parser_realloc_ALREADY_DEFINED
|
||||
#undef yyrealloc
|
||||
#endif
|
||||
#ifndef parser_free_ALREADY_DEFINED
|
||||
#undef yyfree
|
||||
#endif
|
||||
#ifndef parser_text_ALREADY_DEFINED
|
||||
#undef yytext
|
||||
#endif
|
||||
#ifndef parser_leng_ALREADY_DEFINED
|
||||
#undef yyleng
|
||||
#endif
|
||||
#ifndef parser_in_ALREADY_DEFINED
|
||||
#undef yyin
|
||||
#endif
|
||||
#ifndef parser_out_ALREADY_DEFINED
|
||||
#undef yyout
|
||||
#endif
|
||||
#ifndef parser__flex_debug_ALREADY_DEFINED
|
||||
#undef yy_flex_debug
|
||||
#endif
|
||||
#ifndef parser_lineno_ALREADY_DEFINED
|
||||
#undef yylineno
|
||||
#endif
|
||||
#ifndef parser_tables_fload_ALREADY_DEFINED
|
||||
#undef yytables_fload
|
||||
#endif
|
||||
#ifndef parser_tables_destroy_ALREADY_DEFINED
|
||||
#undef yytables_destroy
|
||||
#endif
|
||||
#ifndef parser_TABLES_NAME_ALREADY_DEFINED
|
||||
#undef yyTABLES_NAME
|
||||
#endif
|
||||
|
||||
#line 239 "parser.l"
|
||||
|
||||
|
||||
#line 324 "parser.yy.h"
|
||||
#line 697 "parser.yy.h"
|
||||
#undef parser_IN_HEADER
|
||||
#endif /* parser_HEADER_H */
|
||||
|
|
|
@ -2137,6 +2137,9 @@ static unsigned int write_nonsimple_pointer(FILE *file, const attr_list_t *attrs
|
|||
type_t *ref = type_pointer_get_ref(type);
|
||||
if(is_declptr(ref) && !is_user_type(ref))
|
||||
flags |= FC_POINTER_DEREF;
|
||||
if (pointer_type != FC_RP) {
|
||||
flags |= get_attrv(type->attrs, ATTR_ALLOCATE);
|
||||
}
|
||||
}
|
||||
|
||||
print_file(file, 2, "0x%x, 0x%x,\t\t/* %s",
|
||||
|
@ -2149,6 +2152,10 @@ static unsigned int write_nonsimple_pointer(FILE *file, const attr_list_t *attrs
|
|||
fprintf(file, " [allocated_on_stack]");
|
||||
if (flags & FC_POINTER_DEREF)
|
||||
fprintf(file, " [pointer_deref]");
|
||||
if (flags & FC_DONT_FREE)
|
||||
fprintf(file, " [dont_free]");
|
||||
if (flags & FC_ALLOCATE_ALL_NODES)
|
||||
fprintf(file, " [all_nodes]");
|
||||
fprintf(file, " */\n");
|
||||
}
|
||||
|
||||
|
|
|
@ -68,6 +68,7 @@ typedef struct list warning_list_t;
|
|||
enum attr_type
|
||||
{
|
||||
ATTR_AGGREGATABLE,
|
||||
ATTR_ALLOCATE,
|
||||
ATTR_ANNOTATION,
|
||||
ATTR_APPOBJECT,
|
||||
ATTR_ASYNC,
|
||||
|
|
Loading…
Reference in a new issue