ReactOS  0.4.15-dev-1627-gaf0f858
parser.tab.c File Reference
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <assert.h>
#include <ctype.h>
#include <string.h>
#include "widl.h"
#include "utils.h"
#include "parser.h"
#include "header.h"
#include "typelib.h"
#include "typegen.h"
#include "expr.h"
#include "typetree.h"
#include <limits.h>
Include dependency graph for parser.tab.c:

Go to the source code of this file.

Classes

struct  typenode
 
struct  _import_t
 
struct  _decl_spec_t
 
union  YYSTYPE
 
union  yyalloc
 
struct  type_pool_node_t
 
struct  rtype
 
struct  rconst
 
struct  allowed_attr
 

Macros

#define YYBISON   1
 
#define YYBISON_VERSION   "3.5.4"
 
#define YYSKELETON_NAME   "yacc.c"
 
#define YYPURE   0
 
#define YYPUSH   0
 
#define YYPULL   1
 
#define yyparse   parser_parse
 
#define yylex   parser_lex
 
#define yyerror   parser_error
 
#define yydebug   parser_debug
 
#define yynerrs   parser_nerrs
 
#define yylval   parser_lval
 
#define yychar   parser_char
 
#define YY_CAST(Type, Val)   ((Type) (Val))
 
#define YY_REINTERPRET_CAST(Type, Val)   ((Type) (Val))
 
#define YY_NULLPTR   ((void*)0)
 
#define YYERROR_VERBOSE   1
 
#define YY_PARSER_PARSER_TAB_H_INCLUDED
 
#define YYDEBUG   0
 
#define YYTOKENTYPE
 
#define YYSTYPE_IS_TRIVIAL   1
 
#define YYSTYPE_IS_DECLARED   1
 
#define YYPTRDIFF_T   long
 
#define YYPTRDIFF_MAXIMUM   LONG_MAX
 
#define YYSIZE_T   unsigned
 
#define YYSIZE_MAXIMUM
 
#define YYSIZEOF(X)   YY_CAST (YYPTRDIFF_T, sizeof (X))
 
#define YY_(Msgid)   Msgid
 
#define YY_ATTRIBUTE_PURE
 
#define YY_ATTRIBUTE_UNUSED
 
#define YYUSE(E)   ((void) (E))
 
#define YY_INITIAL_VALUE(Value)   Value
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
 
#define YY_IGNORE_USELESS_CAST_BEGIN
 
#define YY_IGNORE_USELESS_CAST_END
 
#define YY_ASSERT(E)   ((void) (0 && (E)))
 
#define YYSTACK_ALLOC   YYMALLOC
 
#define YYSTACK_FREE   YYFREE
 
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
 
#define YYMALLOC   malloc
 
#define YYFREE   free
 
#define YYSTACK_GAP_MAXIMUM   (YYSIZEOF (union yyalloc) - 1)
 
#define YYSTACK_BYTES(N)
 
#define YYCOPY_NEEDED   1
 
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
 
#define YYCOPY(Dst, Src, Count)
 
#define YYFINAL   3
 
#define YYLAST   3170
 
#define YYNTOKENS   216
 
#define YYNNTS   115
 
#define YYNRULES   417
 
#define YYNSTATES   729
 
#define YYUNDEFTOK   2
 
#define YYMAXUTOK   446
 
#define YYTRANSLATE(YYX)   (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
#define YYPACT_NINF   (-564)
 
#define yypact_value_is_default(Yyn)   ((Yyn) == YYPACT_NINF)
 
#define YYTABLE_NINF   (-405)
 
#define yytable_value_is_error(Yyn)   0
 
#define yyerrok   (yyerrstatus = 0)
 
#define yyclearin   (yychar = YYEMPTY)
 
#define YYEMPTY   (-2)
 
#define YYEOF   0
 
#define YYACCEPT   goto yyacceptlab
 
#define YYABORT   goto yyabortlab
 
#define YYERROR   goto yyerrorlab
 
#define YYRECOVERING()   (!!yyerrstatus)
 
#define YYBACKUP(Token, Value)
 
#define YYTERROR   1
 
#define YYERRCODE   256
 
#define YYDPRINTF(Args)
 
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 
#define YY_STACK_PRINT(Bottom, Top)
 
#define YY_REDUCE_PRINT(Rule)
 
#define YYINITDEPTH   200
 
#define YYMAXDEPTH   10000
 
#define YYCASE_(N, S)
 
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
 
#define YYSYNTAX_ERROR
 

Typedefs

typedef struct list typelist_t
 
typedef struct _decl_spec_t decl_spec_t
 
typedef union YYSTYPE YYSTYPE
 
typedef signed char yytype_int8
 
typedef short yytype_int16
 
typedef unsigned char yytype_uint8
 
typedef unsigned short yytype_uint16
 
typedef yytype_int16 yy_state_t
 
typedef int yy_state_fast_t
 
typedef int(* map_attrs_filter_t) (attr_list_t *, const attr_t *)
 

Enumerations

enum  yytokentype {
  INSTR_ADD = 258, INSTR_NOP = 259, INSTR_MOV = 260, INSTR_SUB = 261,
  INSTR_MAD = 262, INSTR_MUL = 263, INSTR_RCP = 264, INSTR_RSQ = 265,
  INSTR_DP3 = 266, INSTR_DP4 = 267, INSTR_MIN = 268, INSTR_MAX = 269,
  INSTR_SLT = 270, INSTR_SGE = 271, INSTR_ABS = 272, INSTR_EXP = 273,
  INSTR_LOG = 274, INSTR_EXPP = 275, INSTR_LOGP = 276, INSTR_DST = 277,
  INSTR_LRP = 278, INSTR_FRC = 279, INSTR_POW = 280, INSTR_CRS = 281,
  INSTR_SGN = 282, INSTR_NRM = 283, INSTR_SINCOS = 284, INSTR_M4x4 = 285,
  INSTR_M4x3 = 286, INSTR_M3x4 = 287, INSTR_M3x3 = 288, INSTR_M3x2 = 289,
  INSTR_DCL = 290, INSTR_DEF = 291, INSTR_DEFB = 292, INSTR_DEFI = 293,
  INSTR_REP = 294, INSTR_ENDREP = 295, INSTR_IF = 296, INSTR_ELSE = 297,
  INSTR_ENDIF = 298, INSTR_BREAK = 299, INSTR_BREAKP = 300, INSTR_CALL = 301,
  INSTR_CALLNZ = 302, INSTR_LOOP = 303, INSTR_RET = 304, INSTR_ENDLOOP = 305,
  INSTR_LABEL = 306, INSTR_SETP = 307, INSTR_TEXLDL = 308, INSTR_LIT = 309,
  INSTR_MOVA = 310, INSTR_CND = 311, INSTR_CMP = 312, INSTR_DP2ADD = 313,
  INSTR_TEXCOORD = 314, INSTR_TEXCRD = 315, INSTR_TEXKILL = 316, INSTR_TEX = 317,
  INSTR_TEXLD = 318, INSTR_TEXBEM = 319, INSTR_TEXBEML = 320, INSTR_TEXREG2AR = 321,
  INSTR_TEXREG2GB = 322, INSTR_TEXREG2RGB = 323, INSTR_TEXM3x2PAD = 324, INSTR_TEXM3x2TEX = 325,
  INSTR_TEXM3x3PAD = 326, INSTR_TEXM3x3SPEC = 327, INSTR_TEXM3x3VSPEC = 328, INSTR_TEXM3x3TEX = 329,
  INSTR_TEXDP3TEX = 330, INSTR_TEXM3x2DEPTH = 331, INSTR_TEXDP3 = 332, INSTR_TEXM3x3 = 333,
  INSTR_TEXDEPTH = 334, INSTR_BEM = 335, INSTR_DSX = 336, INSTR_DSY = 337,
  INSTR_TEXLDP = 338, INSTR_TEXLDB = 339, INSTR_TEXLDD = 340, INSTR_PHASE = 341,
  REG_TEMP = 342, REG_OUTPUT = 343, REG_INPUT = 344, REG_CONSTFLOAT = 345,
  REG_CONSTINT = 346, REG_CONSTBOOL = 347, REG_TEXTURE = 348, REG_SAMPLER = 349,
  REG_TEXCRDOUT = 350, REG_OPOS = 351, REG_OFOG = 352, REG_OPTS = 353,
  REG_VERTEXCOLOR = 354, REG_FRAGCOLOR = 355, REG_FRAGDEPTH = 356, REG_VPOS = 357,
  REG_VFACE = 358, REG_ADDRESS = 359, REG_LOOP = 360, REG_PREDICATE = 361,
  REG_LABEL = 362, VER_VS10 = 363, VER_VS11 = 364, VER_VS20 = 365,
  VER_VS2X = 366, VER_VS30 = 367, VER_PS10 = 368, VER_PS11 = 369,
  VER_PS12 = 370, VER_PS13 = 371, VER_PS14 = 372, VER_PS20 = 373,
  VER_PS2X = 374, VER_PS30 = 375, SHIFT_X2 = 376, SHIFT_X4 = 377,
  SHIFT_X8 = 378, SHIFT_D2 = 379, SHIFT_D4 = 380, SHIFT_D8 = 381,
  MOD_SAT = 382, MOD_PP = 383, MOD_CENTROID = 384, COMP_GT = 385,
  COMP_LT = 386, COMP_GE = 387, COMP_LE = 388, COMP_EQ = 389,
  COMP_NE = 390, SMOD_BIAS = 391, SMOD_SCALEBIAS = 392, SMOD_DZ = 393,
  SMOD_DW = 394, SMOD_ABS = 395, SMOD_NOT = 396, SAMPTYPE_1D = 397,
  SAMPTYPE_2D = 398, SAMPTYPE_CUBE = 399, SAMPTYPE_VOLUME = 400, USAGE_POSITION = 401,
  USAGE_BLENDWEIGHT = 402, USAGE_BLENDINDICES = 403, USAGE_NORMAL = 404, USAGE_PSIZE = 405,
  USAGE_TEXCOORD = 406, USAGE_TANGENT = 407, USAGE_BINORMAL = 408, USAGE_TESSFACTOR = 409,
  USAGE_POSITIONT = 410, USAGE_COLOR = 411, USAGE_FOG = 412, USAGE_DEPTH = 413,
  USAGE_SAMPLE = 414, COMPONENT = 415, IMMVAL = 416, IMMBOOL = 417,
  INSTR_ADD = 258, INSTR_NOP = 259, INSTR_MOV = 260, INSTR_SUB = 261,
  INSTR_MAD = 262, INSTR_MUL = 263, INSTR_RCP = 264, INSTR_RSQ = 265,
  INSTR_DP3 = 266, INSTR_DP4 = 267, INSTR_MIN = 268, INSTR_MAX = 269,
  INSTR_SLT = 270, INSTR_SGE = 271, INSTR_ABS = 272, INSTR_EXP = 273,
  INSTR_LOG = 274, INSTR_EXPP = 275, INSTR_LOGP = 276, INSTR_DST = 277,
  INSTR_LRP = 278, INSTR_FRC = 279, INSTR_POW = 280, INSTR_CRS = 281,
  INSTR_SGN = 282, INSTR_NRM = 283, INSTR_SINCOS = 284, INSTR_M4x4 = 285,
  INSTR_M4x3 = 286, INSTR_M3x4 = 287, INSTR_M3x3 = 288, INSTR_M3x2 = 289,
  INSTR_DCL = 290, INSTR_DEF = 291, INSTR_DEFB = 292, INSTR_DEFI = 293,
  INSTR_REP = 294, INSTR_ENDREP = 295, INSTR_IF = 296, INSTR_ELSE = 297,
  INSTR_ENDIF = 298, INSTR_BREAK = 299, INSTR_BREAKP = 300, INSTR_CALL = 301,
  INSTR_CALLNZ = 302, INSTR_LOOP = 303, INSTR_RET = 304, INSTR_ENDLOOP = 305,
  INSTR_LABEL = 306, INSTR_SETP = 307, INSTR_TEXLDL = 308, INSTR_LIT = 309,
  INSTR_MOVA = 310, INSTR_CND = 311, INSTR_CMP = 312, INSTR_DP2ADD = 313,
  INSTR_TEXCOORD = 314, INSTR_TEXCRD = 315, INSTR_TEXKILL = 316, INSTR_TEX = 317,
  INSTR_TEXLD = 318, INSTR_TEXBEM = 319, INSTR_TEXBEML = 320, INSTR_TEXREG2AR = 321,
  INSTR_TEXREG2GB = 322, INSTR_TEXREG2RGB = 323, INSTR_TEXM3x2PAD = 324, INSTR_TEXM3x2TEX = 325,
  INSTR_TEXM3x3PAD = 326, INSTR_TEXM3x3SPEC = 327, INSTR_TEXM3x3VSPEC = 328, INSTR_TEXM3x3TEX = 329,
  INSTR_TEXDP3TEX = 330, INSTR_TEXM3x2DEPTH = 331, INSTR_TEXDP3 = 332, INSTR_TEXM3x3 = 333,
  INSTR_TEXDEPTH = 334, INSTR_BEM = 335, INSTR_DSX = 336, INSTR_DSY = 337,
  INSTR_TEXLDP = 338, INSTR_TEXLDB = 339, INSTR_TEXLDD = 340, INSTR_PHASE = 341,
  REG_TEMP = 342, REG_OUTPUT = 343, REG_INPUT = 344, REG_CONSTFLOAT = 345,
  REG_CONSTINT = 346, REG_CONSTBOOL = 347, REG_TEXTURE = 348, REG_SAMPLER = 349,
  REG_TEXCRDOUT = 350, REG_OPOS = 351, REG_OFOG = 352, REG_OPTS = 353,
  REG_VERTEXCOLOR = 354, REG_FRAGCOLOR = 355, REG_FRAGDEPTH = 356, REG_VPOS = 357,
  REG_VFACE = 358, REG_ADDRESS = 359, REG_LOOP = 360, REG_PREDICATE = 361,
  REG_LABEL = 362, VER_VS10 = 363, VER_VS11 = 364, VER_VS20 = 365,
  VER_VS2X = 366, VER_VS30 = 367, VER_PS10 = 368, VER_PS11 = 369,
  VER_PS12 = 370, VER_PS13 = 371, VER_PS14 = 372, VER_PS20 = 373,
  VER_PS2X = 374, VER_PS30 = 375, SHIFT_X2 = 376, SHIFT_X4 = 377,
  SHIFT_X8 = 378, SHIFT_D2 = 379, SHIFT_D4 = 380, SHIFT_D8 = 381,
  MOD_SAT = 382, MOD_PP = 383, MOD_CENTROID = 384, COMP_GT = 385,
  COMP_LT = 386, COMP_GE = 387, COMP_LE = 388, COMP_EQ = 389,
  COMP_NE = 390, SMOD_BIAS = 391, SMOD_SCALEBIAS = 392, SMOD_DZ = 393,
  SMOD_DW = 394, SMOD_ABS = 395, SMOD_NOT = 396, SAMPTYPE_1D = 397,
  SAMPTYPE_2D = 398, SAMPTYPE_CUBE = 399, SAMPTYPE_VOLUME = 400, USAGE_POSITION = 401,
  USAGE_BLENDWEIGHT = 402, USAGE_BLENDINDICES = 403, USAGE_NORMAL = 404, USAGE_PSIZE = 405,
  USAGE_TEXCOORD = 406, USAGE_TANGENT = 407, USAGE_BINORMAL = 408, USAGE_TESSFACTOR = 409,
  USAGE_POSITIONT = 410, USAGE_COLOR = 411, USAGE_FOG = 412, USAGE_DEPTH = 413,
  USAGE_SAMPLE = 414, COMPONENT = 415, IMMVAL = 416, IMMBOOL = 417,
  KW_BLENDSTATE = 258, KW_BREAK = 259, KW_BUFFER = 260, KW_CBUFFER = 261,
  KW_COLUMN_MAJOR = 262, KW_COMPILE = 263, KW_CONST = 264, KW_CONTINUE = 265,
  KW_DEPTHSTENCILSTATE = 266, KW_DEPTHSTENCILVIEW = 267, KW_DISCARD = 268, KW_DO = 269,
  KW_DOUBLE = 270, KW_ELSE = 271, KW_EXTERN = 272, KW_FALSE = 273,
  KW_FOR = 274, KW_GEOMETRYSHADER = 275, KW_GROUPSHARED = 276, KW_IF = 277,
  KW_IN = 278, KW_INLINE = 279, KW_INOUT = 280, KW_MATRIX = 281,
  KW_NAMESPACE = 282, KW_NOINTERPOLATION = 283, KW_OUT = 284, KW_PASS = 285,
  KW_PIXELSHADER = 286, KW_PRECISE = 287, KW_RASTERIZERSTATE = 288, KW_RENDERTARGETVIEW = 289,
  KW_RETURN = 290, KW_REGISTER = 291, KW_ROW_MAJOR = 292, KW_SAMPLER = 293,
  KW_SAMPLER1D = 294, KW_SAMPLER2D = 295, KW_SAMPLER3D = 296, KW_SAMPLERCUBE = 297,
  KW_SAMPLER_STATE = 298, KW_SAMPLERCOMPARISONSTATE = 299, KW_SHARED = 300, KW_STATEBLOCK = 301,
  KW_STATEBLOCK_STATE = 302, KW_STATIC = 303, KW_STRING = 304, KW_STRUCT = 305,
  KW_SWITCH = 306, KW_TBUFFER = 307, KW_TECHNIQUE = 308, KW_TECHNIQUE10 = 309,
  KW_TEXTURE = 310, KW_TEXTURE1D = 311, KW_TEXTURE1DARRAY = 312, KW_TEXTURE2D = 313,
  KW_TEXTURE2DARRAY = 314, KW_TEXTURE2DMS = 315, KW_TEXTURE2DMSARRAY = 316, KW_TEXTURE3D = 317,
  KW_TEXTURE3DARRAY = 318, KW_TEXTURECUBE = 319, KW_TRUE = 320, KW_TYPEDEF = 321,
  KW_UNIFORM = 322, KW_VECTOR = 323, KW_VERTEXSHADER = 324, KW_VOID = 325,
  KW_VOLATILE = 326, KW_WHILE = 327, OP_INC = 328, OP_DEC = 329,
  OP_AND = 330, OP_OR = 331, OP_EQ = 332, OP_LEFTSHIFT = 333,
  OP_LEFTSHIFTASSIGN = 334, OP_RIGHTSHIFT = 335, OP_RIGHTSHIFTASSIGN = 336, OP_ELLIPSIS = 337,
  OP_LE = 338, OP_GE = 339, OP_NE = 340, OP_ADDASSIGN = 341,
  OP_SUBASSIGN = 342, OP_MULASSIGN = 343, OP_DIVASSIGN = 344, OP_MODASSIGN = 345,
  OP_ANDASSIGN = 346, OP_ORASSIGN = 347, OP_XORASSIGN = 348, OP_UNKNOWN1 = 349,
  OP_UNKNOWN2 = 350, OP_UNKNOWN3 = 351, OP_UNKNOWN4 = 352, PRE_LINE = 353,
  VAR_IDENTIFIER = 354, TYPE_IDENTIFIER = 355, NEW_IDENTIFIER = 356, STRING = 357,
  C_FLOAT = 358, C_INTEGER = 359, KW_BLENDSTATE = 258, KW_BREAK = 259,
  KW_BUFFER = 260, KW_CBUFFER = 261, KW_COLUMN_MAJOR = 262, KW_COMPILE = 263,
  KW_CONST = 264, KW_CONTINUE = 265, KW_DEPTHSTENCILSTATE = 266, KW_DEPTHSTENCILVIEW = 267,
  KW_DISCARD = 268, KW_DO = 269, KW_DOUBLE = 270, KW_ELSE = 271,
  KW_EXTERN = 272, KW_FALSE = 273, KW_FOR = 274, KW_GEOMETRYSHADER = 275,
  KW_GROUPSHARED = 276, KW_IF = 277, KW_IN = 278, KW_INLINE = 279,
  KW_INOUT = 280, KW_MATRIX = 281, KW_NAMESPACE = 282, KW_NOINTERPOLATION = 283,
  KW_OUT = 284, KW_PASS = 285, KW_PIXELSHADER = 286, KW_PRECISE = 287,
  KW_RASTERIZERSTATE = 288, KW_RENDERTARGETVIEW = 289, KW_RETURN = 290, KW_REGISTER = 291,
  KW_ROW_MAJOR = 292, KW_SAMPLER = 293, KW_SAMPLER1D = 294, KW_SAMPLER2D = 295,
  KW_SAMPLER3D = 296, KW_SAMPLERCUBE = 297, KW_SAMPLER_STATE = 298, KW_SAMPLERCOMPARISONSTATE = 299,
  KW_SHARED = 300, KW_STATEBLOCK = 301, KW_STATEBLOCK_STATE = 302, KW_STATIC = 303,
  KW_STRING = 304, KW_STRUCT = 305, KW_SWITCH = 306, KW_TBUFFER = 307,
  KW_TECHNIQUE = 308, KW_TECHNIQUE10 = 309, KW_TEXTURE = 310, KW_TEXTURE1D = 311,
  KW_TEXTURE1DARRAY = 312, KW_TEXTURE2D = 313, KW_TEXTURE2DARRAY = 314, KW_TEXTURE2DMS = 315,
  KW_TEXTURE2DMSARRAY = 316, KW_TEXTURE3D = 317, KW_TEXTURE3DARRAY = 318, KW_TEXTURECUBE = 319,
  KW_TRUE = 320, KW_TYPEDEF = 321, KW_UNIFORM = 322, KW_VECTOR = 323,
  KW_VERTEXSHADER = 324, KW_VOID = 325, KW_VOLATILE = 326, KW_WHILE = 327,
  OP_INC = 328, OP_DEC = 329, OP_AND = 330, OP_OR = 331,
  OP_EQ = 332, OP_LEFTSHIFT = 333, OP_LEFTSHIFTASSIGN = 334, OP_RIGHTSHIFT = 335,
  OP_RIGHTSHIFTASSIGN = 336, OP_ELLIPSIS = 337, OP_LE = 338, OP_GE = 339,
  OP_NE = 340, OP_ADDASSIGN = 341, OP_SUBASSIGN = 342, OP_MULASSIGN = 343,
  OP_DIVASSIGN = 344, OP_MODASSIGN = 345, OP_ANDASSIGN = 346, OP_ORASSIGN = 347,
  OP_XORASSIGN = 348, OP_UNKNOWN1 = 349, OP_UNKNOWN2 = 350, OP_UNKNOWN3 = 351,
  OP_UNKNOWN4 = 352, PRE_LINE = 353, VAR_IDENTIFIER = 354, TYPE_IDENTIFIER = 355,
  NEW_IDENTIFIER = 356, STRING = 357, C_FLOAT = 358, C_INTEGER = 359,
  tRCINCLUDE = 258, tIF = 259, tIFDEF = 260, tIFNDEF = 261,
  tELSE = 262, tELIF = 263, tENDIF = 264, tDEFINED = 265,
  tNL = 266, tINCLUDE = 267, tLINE = 268, tGCCLINE = 269,
  tERROR = 270, tWARNING = 271, tPRAGMA = 272, tPPIDENT = 273,
  tUNDEF = 274, tMACROEND = 275, tCONCAT = 276, tELIPSIS = 277,
  tSTRINGIZE = 278, tIDENT = 279, tLITERAL = 280, tMACRO = 281,
  tDEFINE = 282, tDQSTRING = 283, tSQSTRING = 284, tIQSTRING = 285,
  tUINT = 286, tSINT = 287, tULONG = 288, tSLONG = 289,
  tULONGLONG = 290, tSLONGLONG = 291, tRCINCLUDEPATH = 292, tLOGOR = 293,
  tLOGAND = 294, tEQ = 295, tNE = 296, tLTE = 297,
  tGTE = 298, tLSHIFT = 299, tRSHIFT = 300, tRCINCLUDE = 258,
  tIF = 259, tIFDEF = 260, tIFNDEF = 261, tELSE = 262,
  tELIF = 263, tENDIF = 264, tDEFINED = 265, tNL = 266,
  tINCLUDE = 267, tLINE = 268, tGCCLINE = 269, tERROR = 270,
  tWARNING = 271, tPRAGMA = 272, tPPIDENT = 273, tUNDEF = 274,
  tMACROEND = 275, tCONCAT = 276, tELIPSIS = 277, tSTRINGIZE = 278,
  tIDENT = 279, tLITERAL = 280, tMACRO = 281, tDEFINE = 282,
  tDQSTRING = 283, tSQSTRING = 284, tIQSTRING = 285, tUINT = 286,
  tSINT = 287, tULONG = 288, tSLONG = 289, tULONGLONG = 290,
  tSLONGLONG = 291, tRCINCLUDEPATH = 292, tLOGOR = 293, tLOGAND = 294,
  tEQ = 295, tNE = 296, tLTE = 297, tGTE = 298,
  tLSHIFT = 299, tRSHIFT = 300, tEQ = 258, tEQEQ = 259,
  tNEQ = 260, tNEQEQ = 261, tLSHIFT = 262, tRSHIFT = 263,
  tRRSHIFT = 264, tOR = 265, tAND = 266, tLEQ = 267,
  tGEQ = 268, tCCValue = 269, tEQ = 258, tEQEQ = 259,
  tNEQ = 260, tNEQEQ = 261, tLSHIFT = 262, tRSHIFT = 263,
  tRRSHIFT = 264, tOR = 265, tAND = 266, tLEQ = 267,
  tGEQ = 268, tCCValue = 269, kBREAK = 258, kCASE = 259,
  kCATCH = 260, kCONTINUE = 261, kDEFAULT = 262, kDELETE = 263,
  kDO = 264, kELSE = 265, kFUNCTION = 266, kIF = 267,
  kFINALLY = 268, kFOR = 269, kGET = 270, kIN = 271,
  kSET = 272, kINSTANCEOF = 273, kNEW = 274, kNULL = 275,
  kRETURN = 276, kSWITCH = 277, kTHIS = 278, kTHROW = 279,
  kTRUE = 280, kFALSE = 281, kTRY = 282, kTYPEOF = 283,
  kVAR = 284, kVOID = 285, kWHILE = 286, kWITH = 287,
  tANDAND = 288, tOROR = 289, tINC = 290, tDEC = 291,
  tHTMLCOMMENT = 292, kDIVEQ = 293, kDCOL = 294, tIdentifier = 295,
  tAssignOper = 296, tEqOper = 297, tShiftOper = 298, tRelOper = 299,
  tNumericLiteral = 300, tBooleanLiteral = 301, tStringLiteral = 302, tEOF = 303,
  LOWER_THAN_ELSE = 304, kBREAK = 258, kCASE = 259, kCATCH = 260,
  kCONTINUE = 261, kDEFAULT = 262, kDELETE = 263, kDO = 264,
  kELSE = 265, kFUNCTION = 266, kIF = 267, kFINALLY = 268,
  kFOR = 269, kGET = 270, kIN = 271, kSET = 272,
  kINSTANCEOF = 273, kNEW = 274, kNULL = 275, kRETURN = 276,
  kSWITCH = 277, kTHIS = 278, kTHROW = 279, kTRUE = 280,
  kFALSE = 281, kTRY = 282, kTYPEOF = 283, kVAR = 284,
  kVOID = 285, kWHILE = 286, kWITH = 287, tANDAND = 288,
  tOROR = 289, tINC = 290, tDEC = 291, tHTMLCOMMENT = 292,
  kDIVEQ = 293, kDCOL = 294, tIdentifier = 295, tAssignOper = 296,
  tEqOper = 297, tShiftOper = 298, tRelOper = 299, tNumericLiteral = 300,
  tBooleanLiteral = 301, tStringLiteral = 302, tEOF = 303, LOWER_THAN_ELSE = 304,
  COND_SPACE = 258, COND_EOF = 259, COND_OR = 260, COND_AND = 261,
  COND_NOT = 262, COND_XOR = 263, COND_IMP = 264, COND_EQV = 265,
  COND_LT = 266, COND_GT = 267, COND_EQ = 268, COND_NE = 269,
  COND_GE = 270, COND_LE = 271, COND_ILT = 272, COND_IGT = 273,
  COND_IEQ = 274, COND_INE = 275, COND_IGE = 276, COND_ILE = 277,
  COND_LPAR = 278, COND_RPAR = 279, COND_TILDA = 280, COND_SS = 281,
  COND_ISS = 282, COND_ILHS = 283, COND_IRHS = 284, COND_LHS = 285,
  COND_RHS = 286, COND_PERCENT = 287, COND_DOLLARS = 288, COND_QUESTION = 289,
  COND_AMPER = 290, COND_EXCLAM = 291, COND_IDENT = 292, COND_NUMBER = 293,
  COND_LITER = 294, COND_ERROR = 295, TK_ALTER = 258, TK_AND = 259,
  TK_BY = 260, TK_CHAR = 261, TK_COMMA = 262, TK_CREATE = 263,
  TK_DELETE = 264, TK_DROP = 265, TK_DISTINCT = 266, TK_DOT = 267,
  TK_EQ = 268, TK_FREE = 269, TK_FROM = 270, TK_GE = 271,
  TK_GT = 272, TK_HOLD = 273, TK_ADD = 274, TK_ID = 275,
  TK_ILLEGAL = 276, TK_INSERT = 277, TK_INT = 278, TK_INTEGER = 279,
  TK_INTO = 280, TK_IS = 281, TK_KEY = 282, TK_LE = 283,
  TK_LONG = 284, TK_LONGCHAR = 285, TK_LP = 286, TK_LT = 287,
  TK_LOCALIZABLE = 288, TK_MINUS = 289, TK_NE = 290, TK_NOT = 291,
  TK_NULL = 292, TK_OBJECT = 293, TK_OR = 294, TK_ORDER = 295,
  TK_PRIMARY = 296, TK_RP = 297, TK_SELECT = 298, TK_SET = 299,
  TK_SHORT = 300, TK_SPACE = 301, TK_STAR = 302, TK_STRING = 303,
  TK_TABLE = 304, TK_TEMPORARY = 305, TK_UPDATE = 306, TK_VALUES = 307,
  TK_WHERE = 308, TK_WILDCARD = 309, END_OF_FILE = 310, ILLEGAL = 311,
  SPACE = 312, UNCLOSED_STRING = 313, COMMENT = 314, FUNCTION = 315,
  COLUMN = 316, TK_LIKE = 318, TK_NEGATION = 319, TK_ALTER = 258,
  TK_AND = 259, TK_BY = 260, TK_CHAR = 261, TK_COMMA = 262,
  TK_CREATE = 263, TK_DELETE = 264, TK_DROP = 265, TK_DISTINCT = 266,
  TK_DOT = 267, TK_EQ = 268, TK_FREE = 269, TK_FROM = 270,
  TK_GE = 271, TK_GT = 272, TK_HOLD = 273, TK_ADD = 274,
  TK_ID = 275, TK_ILLEGAL = 276, TK_INSERT = 277, TK_INT = 278,
  TK_INTEGER = 279, TK_INTO = 280, TK_IS = 281, TK_KEY = 282,
  TK_LE = 283, TK_LONG = 284, TK_LONGCHAR = 285, TK_LP = 286,
  TK_LT = 287, TK_LOCALIZABLE = 288, TK_MINUS = 289, TK_NE = 290,
  TK_NOT = 291, TK_NULL = 292, TK_OBJECT = 293, TK_OR = 294,
  TK_ORDER = 295, TK_PRIMARY = 296, TK_RP = 297, TK_SELECT = 298,
  TK_SET = 299, TK_SHORT = 300, TK_SPACE = 301, TK_STAR = 302,
  TK_STRING = 303, TK_TABLE = 304, TK_TEMPORARY = 305, TK_UPDATE = 306,
  TK_VALUES = 307, TK_WHERE = 308, TK_WILDCARD = 309, END_OF_FILE = 310,
  ILLEGAL = 311, SPACE = 312, UNCLOSED_STRING = 313, COMMENT = 314,
  FUNCTION = 315, COLUMN = 316, TK_LIKE = 318, TK_NEGATION = 319,
  TOK_Parent = 258, TOK_Self = 259, TOK_DblFSlash = 260, TOK_FSlash = 261,
  TOK_Axis = 262, TOK_Colon = 263, TOK_OpAnd = 264, TOK_OpOr = 265,
  TOK_OpNot = 266, TOK_OpEq = 267, TOK_OpIEq = 268, TOK_OpNEq = 269,
  TOK_OpINEq = 270, TOK_OpLt = 271, TOK_OpILt = 272, TOK_OpGt = 273,
  TOK_OpIGt = 274, TOK_OpLEq = 275, TOK_OpILEq = 276, TOK_OpGEq = 277,
  TOK_OpIGEq = 278, TOK_OpAll = 279, TOK_OpAny = 280, TOK_NCName = 281,
  TOK_Literal = 282, TOK_Number = 283, tEXPRESSION = 258, tEOF = 259,
  tNL = 260, tEMPTYBRACKETS = 261, tLTEQ = 262, tGTEQ = 263,
  tNEQ = 264, tSTOP = 265, tME = 266, tREM = 267,
  tTRUE = 268, tFALSE = 269, tNOT = 270, tAND = 271,
  tOR = 272, tXOR = 273, tEQV = 274, tIMP = 275,
  tIS = 276, tMOD = 277, tCALL = 278, tDIM = 279,
  tSUB = 280, tFUNCTION = 281, tGET = 282, tLET = 283,
  tCONST = 284, tIF = 285, tELSE = 286, tELSEIF = 287,
  tEND = 288, tTHEN = 289, tEXIT = 290, tWHILE = 291,
  tWEND = 292, tDO = 293, tLOOP = 294, tUNTIL = 295,
  tFOR = 296, tTO = 297, tEACH = 298, tIN = 299,
  tSELECT = 300, tCASE = 301, tBYREF = 302, tBYVAL = 303,
  tOPTION = 304, tNOTHING = 305, tEMPTY = 306, tNULL = 307,
  tCLASS = 308, tSET = 309, tNEW = 310, tPUBLIC = 311,
  tPRIVATE = 312, tNEXT = 313, tON = 314, tRESUME = 315,
  tGOTO = 316, tIdentifier = 317, tString = 318, tDEFAULT = 319,
  tERROR = 320, tEXPLICIT = 321, tPROPERTY = 322, tSTEP = 323,
  tInt = 324, tDouble = 325, tEXPRESSION = 258, tEOF = 259,
  tNL = 260, tEMPTYBRACKETS = 261, tLTEQ = 262, tGTEQ = 263,
  tNEQ = 264, tSTOP = 265, tME = 266, tREM = 267,
  tTRUE = 268, tFALSE = 269, tNOT = 270, tAND = 271,
  tOR = 272, tXOR = 273, tEQV = 274, tIMP = 275,
  tIS = 276, tMOD = 277, tCALL = 278, tDIM = 279,
  tSUB = 280, tFUNCTION = 281, tGET = 282, tLET = 283,
  tCONST = 284, tIF = 285, tELSE = 286, tELSEIF = 287,
  tEND = 288, tTHEN = 289, tEXIT = 290, tWHILE = 291,
  tWEND = 292, tDO = 293, tLOOP = 294, tUNTIL = 295,
  tFOR = 296, tTO = 297, tEACH = 298, tIN = 299,
  tSELECT = 300, tCASE = 301, tBYREF = 302, tBYVAL = 303,
  tOPTION = 304, tNOTHING = 305, tEMPTY = 306, tNULL = 307,
  tCLASS = 308, tSET = 309, tNEW = 310, tPUBLIC = 311,
  tPRIVATE = 312, tNEXT = 313, tON = 314, tRESUME = 315,
  tGOTO = 316, tIdentifier = 317, tString = 318, tDEFAULT = 319,
  tERROR = 320, tEXPLICIT = 321, tPROPERTY = 322, tSTEP = 323,
  tInt = 324, tDouble = 325, TK_SELECT = 258, TK_FROM = 259,
  TK_STAR = 260, TK_COMMA = 261, TK_DOT = 262, TK_IS = 263,
  TK_LP = 264, TK_RP = 265, TK_NULL = 266, TK_FALSE = 267,
  TK_TRUE = 268, TK_INTEGER = 269, TK_WHERE = 270, TK_SPACE = 271,
  TK_MINUS = 272, TK_ILLEGAL = 273, TK_BY = 274, TK_ASSOCIATORS = 275,
  TK_OF = 276, TK_STRING = 277, TK_ID = 278, TK_PATH = 279,
  TK_OR = 280, TK_AND = 281, TK_NOT = 282, TK_EQ = 283,
  TK_NE = 284, TK_LT = 285, TK_GT = 286, TK_LE = 287,
  TK_GE = 288, TK_LIKE = 289, TK_SELECT = 258, TK_FROM = 259,
  TK_STAR = 260, TK_COMMA = 261, TK_DOT = 262, TK_IS = 263,
  TK_LP = 264, TK_RP = 265, TK_NULL = 266, TK_FALSE = 267,
  TK_TRUE = 268, TK_INTEGER = 269, TK_WHERE = 270, TK_SPACE = 271,
  TK_MINUS = 272, TK_ILLEGAL = 273, TK_BY = 274, TK_ASSOCIATORS = 275,
  TK_OF = 276, TK_STRING = 277, TK_ID = 278, TK_PATH = 279,
  TK_OR = 280, TK_AND = 281, TK_NOT = 282, TK_EQ = 283,
  TK_NE = 284, TK_LT = 285, TK_GT = 286, TK_LE = 287,
  TK_GE = 288, TK_LIKE = 289, aIDENTIFIER = 258, aPRAGMA = 259,
  aKNOWNTYPE = 260, aNUM = 261, aHEXNUM = 262, aDOUBLE = 263,
  aSTRING = 264, aWSTRING = 265, aSQSTRING = 266, aUUID = 267,
  aEOF = 268, aACF = 269, SHL = 270, SHR = 271,
  MEMBERPTR = 272, EQUALITY = 273, INEQUALITY = 274, GREATEREQUAL = 275,
  LESSEQUAL = 276, LOGICALOR = 277, LOGICALAND = 278, ELLIPSIS = 279,
  tAGGREGATABLE = 280, 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, aIDENTIFIER = 258,
  aPRAGMA = 259, aKNOWNTYPE = 260, aNUM = 261, aHEXNUM = 262,
  aDOUBLE = 263, aSTRING = 264, aWSTRING = 265, aSQSTRING = 266,
  aUUID = 267, aEOF = 268, aACF = 269, SHL = 270,
  SHR = 271, MEMBERPTR = 272, EQUALITY = 273, INEQUALITY = 274,
  GREATEREQUAL = 275, LESSEQUAL = 276, LOGICALOR = 277, LOGICALAND = 278,
  ELLIPSIS = 279, tAGGREGATABLE = 280, 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,
  tRCINCLUDE = 258, tIF = 259, tIFDEF = 260, tIFNDEF = 261,
  tELSE = 262, tELIF = 263, tENDIF = 264, tDEFINED = 265,
  tNL = 266, tINCLUDE = 267, tLINE = 268, tGCCLINE = 269,
  tERROR = 270, tWARNING = 271, tPRAGMA = 272, tPPIDENT = 273,
  tUNDEF = 274, tMACROEND = 275, tCONCAT = 276, tELIPSIS = 277,
  tSTRINGIZE = 278, tIDENT = 279, tLITERAL = 280, tMACRO = 281,
  tDEFINE = 282, tDQSTRING = 283, tSQSTRING = 284, tIQSTRING = 285,
  tUINT = 286, tSINT = 287, tULONG = 288, tSLONG = 289,
  tULONGLONG = 290, tSLONGLONG = 291, tRCINCLUDEPATH = 292, tLOGOR = 293,
  tLOGAND = 294, tEQ = 295, tNE = 296, tLTE = 297,
  tGTE = 298, tLSHIFT = 299, tRSHIFT = 300, tRCINCLUDE = 258,
  tIF = 259, tIFDEF = 260, tIFNDEF = 261, tELSE = 262,
  tELIF = 263, tENDIF = 264, tDEFINED = 265, tNL = 266,
  tINCLUDE = 267, tLINE = 268, tGCCLINE = 269, tERROR = 270,
  tWARNING = 271, tPRAGMA = 272, tPPIDENT = 273, tUNDEF = 274,
  tMACROEND = 275, tCONCAT = 276, tELIPSIS = 277, tSTRINGIZE = 278,
  tIDENT = 279, tLITERAL = 280, tMACRO = 281, tDEFINE = 282,
  tDQSTRING = 283, tSQSTRING = 284, tIQSTRING = 285, tUINT = 286,
  tSINT = 287, tULONG = 288, tSLONG = 289, tULONGLONG = 290,
  tSLONGLONG = 291, tRCINCLUDEPATH = 292, tLOGOR = 293, tLOGAND = 294,
  tEQ = 295, tNE = 296, tLTE = 297, tGTE = 298,
  tLSHIFT = 299, tRSHIFT = 300
}
 

Functions

static void fix_incomplete (void)
 
static void fix_incomplete_types (type_t *complete_type)
 
static str_list_tappend_str (str_list_t *list, char *str)
 
static attr_list_tappend_attr (attr_list_t *list, attr_t *attr)
 
static attr_list_tappend_attr_list (attr_list_t *new_list, attr_list_t *old_list)
 
static decl_spec_tmake_decl_spec (type_t *type, decl_spec_t *left, decl_spec_t *right, attr_t *attr, enum storage_class stgclass)
 
static attr_tmake_attr (enum attr_type type)
 
static attr_tmake_attrv (enum attr_type type, unsigned int val)
 
static attr_tmake_attrp (enum attr_type type, void *val)
 
static expr_list_tappend_expr (expr_list_t *list, expr_t *expr)
 
static type_tappend_array (type_t *chain, expr_t *expr)
 
static var_tdeclare_var (attr_list_t *attrs, decl_spec_t *decl_spec, const declarator_t *decl, int top)
 
static var_list_tset_var_types (attr_list_t *attrs, decl_spec_t *decl_spec, declarator_list_t *decls)
 
static ifref_list_tappend_ifref (ifref_list_t *list, ifref_t *iface)
 
static ifref_tmake_ifref (type_t *iface)
 
static var_list_tappend_var_list (var_list_t *list, var_list_t *vars)
 
static declarator_list_tappend_declarator (declarator_list_t *list, declarator_t *p)
 
static declarator_tmake_declarator (var_t *var)
 
static type_tmake_safearray (type_t *type)
 
static typelib_tmake_library (const char *name, const attr_list_t *attrs)
 
static type_tappend_chain_type (type_t *chain, type_t *type)
 
static warning_list_tappend_warning (warning_list_t *, int)
 
static type_treg_typedefs (decl_spec_t *decl_spec, var_list_t *names, attr_list_t *attrs)
 
static type_tfind_type_or_error (const char *name, int t)
 
static type_tfind_type_or_error2 (char *name, int t)
 
static var_treg_const (var_t *var)
 
static void push_namespace (const char *name)
 
static void pop_namespace (const char *name)
 
static chargen_name (void)
 
static void check_arg_attrs (const var_t *arg)
 
static void check_statements (const statement_list_t *stmts, int is_inside_library)
 
static void check_all_user_types (const statement_list_t *stmts)
 
static attr_list_tcheck_iface_attrs (const char *name, attr_list_t *attrs)
 
static attr_list_tcheck_function_attrs (const char *name, attr_list_t *attrs)
 
static attr_list_tcheck_typedef_attrs (attr_list_t *attrs)
 
static attr_list_tcheck_enum_attrs (attr_list_t *attrs)
 
static attr_list_tcheck_struct_attrs (attr_list_t *attrs)
 
static attr_list_tcheck_union_attrs (attr_list_t *attrs)
 
static attr_list_tcheck_field_attrs (const char *name, attr_list_t *attrs)
 
static attr_list_tcheck_library_attrs (const char *name, attr_list_t *attrs)
 
static attr_list_tcheck_dispiface_attrs (const char *name, attr_list_t *attrs)
 
static attr_list_tcheck_module_attrs (const char *name, attr_list_t *attrs)
 
static attr_list_tcheck_coclass_attrs (const char *name, attr_list_t *attrs)
 
const charget_attr_display_name (enum attr_type type)
 
static void add_explicit_handle_if_necessary (const type_t *iface, var_t *func)
 
static void check_def (const type_t *t)
 
static void check_async_uuid (type_t *iface)
 
static statement_tmake_statement (enum statement_type type)
 
static statement_tmake_statement_type_decl (type_t *type)
 
static statement_tmake_statement_reference (type_t *type)
 
static statement_tmake_statement_declaration (var_t *var)
 
static statement_tmake_statement_library (typelib_t *typelib)
 
static statement_tmake_statement_pragma (const char *str)
 
static statement_tmake_statement_cppquote (const char *str)
 
static statement_tmake_statement_importlib (const char *str)
 
static statement_tmake_statement_module (type_t *type)
 
static statement_tmake_statement_typedef (var_list_t *names)
 
static statement_tmake_statement_import (const char *str)
 
static statement_list_tappend_statement (statement_list_t *list, statement_t *stmt)
 
static statement_list_tappend_statements (statement_list_t *, statement_list_t *)
 
static attr_list_tappend_attribs (attr_list_t *, attr_list_t *)
 
int parser_parse (void)
 
voidmalloc (YYSIZE_T)
 
void free (void *)
 
static YYPTRDIFF_T yystrlen (const char *yystr)
 
static charyystpcpy (char *yydest, const char *yysrc)
 
static YYPTRDIFF_T yytnamerr (char *yyres, const char *yystr)
 
static int yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg, yy_state_t *yyssp, int yytoken)
 
static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
 
int yyparse (void)
 
static void decl_builtin_basic (const char *name, enum type_basic_type type)
 
static void decl_builtin_alias (const char *name, type_t *t)
 
void init_types (void)
 
static attr_list_tmove_attr (attr_list_t *dst, attr_list_t *src, enum attr_type type)
 
static attr_list_tmap_attrs (const attr_list_t *list, map_attrs_filter_t filter)
 
type_talloc_type (void)
 
void set_all_tfswrite (int val)
 
void clear_all_offsets (void)
 
static void type_function_add_head_arg (type_t *type, var_t *arg)
 
static int is_allowed_range_type (const type_t *type)
 
static type_tget_array_or_ptr_ref (type_t *type)
 
var_list_tappend_var (var_list_t *list, var_t *var)
 
var_tmake_var (char *name)
 
static var_tcopy_var (var_t *src, char *name, map_attrs_filter_t attr_filter)
 
static int hash_ident (const char *name)
 
static struct namespacefind_sub_namespace (struct namespace *namespace, const char *name)
 
type_treg_type (type_t *type, const char *name, struct namespace *namespace, int t)
 
static int is_incomplete (const type_t *t)
 
void add_incomplete (type_t *t)
 
static void fix_type (type_t *t)
 
type_tfind_type (const char *name, struct namespace *namespace, int t)
 
int is_type (const char *name)
 
type_tget_type (enum type_type type, char *name, struct namespace *namespace, int t)
 
var_tfind_const (const char *name, int f)
 
static int is_allowed_conf_type (const type_t *type)
 
static int is_ptr_guid_type (const type_t *type)
 
static void check_conformance_expr_list (const char *attr_name, const var_t *arg, const type_t *container_type, expr_list_t *expr_list)
 
static void check_remoting_fields (const var_t *var, type_t *type)
 
static void check_field_common (const type_t *container_type, const char *container_name, const var_t *arg)
 
static void check_remoting_args (const var_t *func)
 
static void check_functions (const type_t *iface, int is_inside_library)
 
static charconcat_str (const char *prefix, const char *str)
 
static int async_iface_attrs (attr_list_t *attrs, const attr_t *attr)
 
static int arg_in_attrs (attr_list_t *attrs, const attr_t *attr)
 
static int arg_out_attrs (attr_list_t *attrs, const attr_t *attr)
 
int is_valid_uuid (const char *s)
 
void init_loc_info (loc_info_t *i)
 

Variables

static unsigned char pointer_default = FC_UP
 
typelist_t incomplete_types = LIST_INIT(incomplete_types)
 
static struct namespace global_namespace
 
static struct namespacecurrent_namespace = &global_namespace
 
static typelib_tcurrent_typelib
 
YYSTYPE parser_lval
 
static const yytype_uint8 yytranslate []
 
static const char *const yytname []
 
static const yytype_int16 yypact []
 
static const yytype_int16 yydefact []
 
static const yytype_int16 yypgoto []
 
static const yytype_int16 yydefgoto []
 
static const yytype_int16 yytable []
 
static const yytype_int16 yycheck []
 
static const yytype_int16 yystos []
 
static const yytype_int16 yyr1 []
 
static const yytype_int8 yyr2 []
 
int yychar
 
YYSTYPE yylval
 
int yynerrs
 
static struct list type_pool = LIST_INIT(type_pool)
 
struct rconstconst_hash [HASHMAX]
 
struct allowed_attr allowed_attr []
 

Macro Definition Documentation

◆ YY_

#define YY_ (   Msgid)    Msgid

Definition at line 619 of file parser.tab.c.

◆ YY_ASSERT

#define YY_ASSERT (   E)    ((void) (0 && (E)))

Definition at line 678 of file parser.tab.c.

◆ YY_ATTRIBUTE_PURE

#define YY_ATTRIBUTE_PURE

Definition at line 627 of file parser.tab.c.

◆ YY_ATTRIBUTE_UNUSED

#define YY_ATTRIBUTE_UNUSED

Definition at line 635 of file parser.tab.c.

◆ YY_CAST

#define YY_CAST (   Type,
  Val 
)    ((Type) (Val))

Definition at line 227 of file parser.tab.c.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

Definition at line 658 of file parser.tab.c.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_IGNORE_MAYBE_UNINITIALIZED_END

Definition at line 659 of file parser.tab.c.

◆ YY_IGNORE_USELESS_CAST_BEGIN

#define YY_IGNORE_USELESS_CAST_BEGIN

Definition at line 673 of file parser.tab.c.

◆ YY_IGNORE_USELESS_CAST_END

#define YY_IGNORE_USELESS_CAST_END

Definition at line 674 of file parser.tab.c.

◆ YY_INITIAL_VALUE

#define YY_INITIAL_VALUE (   Value)    Value

Definition at line 655 of file parser.tab.c.

◆ YY_NULLPTR

#define YY_NULLPTR   ((void*)0)

Definition at line 239 of file parser.tab.c.

◆ YY_PARSER_PARSER_TAB_H_INCLUDED

#define YY_PARSER_PARSER_TAB_H_INCLUDED

Definition at line 254 of file parser.tab.c.

◆ YY_REDUCE_PRINT

#define YY_REDUCE_PRINT (   Rule)

Definition at line 2221 of file parser.tab.c.

◆ YY_REINTERPRET_CAST

#define YY_REINTERPRET_CAST (   Type,
  Val 
)    ((Type) (Val))

Definition at line 228 of file parser.tab.c.

◆ YY_STACK_PRINT

#define YY_STACK_PRINT (   Bottom,
  Top 
)

Definition at line 2220 of file parser.tab.c.

◆ YY_SYMBOL_PRINT

#define YY_SYMBOL_PRINT (   Title,
  Type,
  Value,
  Location 
)

Definition at line 2219 of file parser.tab.c.

◆ YYABORT

#define YYABORT   goto yyabortlab

Definition at line 2064 of file parser.tab.c.

◆ YYACCEPT

#define YYACCEPT   goto yyacceptlab

Definition at line 2063 of file parser.tab.c.

◆ YYBACKUP

#define YYBACKUP (   Token,
  Value 
)
Value:
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (0)
#define YYEMPTY
Definition: parser.tab.c:2060
_IRQL_requires_same_ _In_ PLSA_STRING _In_ SECURITY_LOGON_TYPE _In_ ULONG _In_ ULONG _In_opt_ PTOKEN_GROUPS _In_ PTOKEN_SOURCE _Out_ PVOID _Out_ PULONG _Inout_ PLUID _Out_ PHANDLE Token
#define yychar
Definition: parser.tab.c:73
#define YY_(Msgid)
Definition: parser.tab.c:619
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:406
if(!(yy_init))
Definition: macro.lex.yy.c:714

Definition at line 2070 of file parser.tab.c.

◆ YYBISON

#define YYBISON   1

Definition at line 48 of file parser.tab.c.

◆ YYBISON_VERSION

#define YYBISON_VERSION   "3.5.4"

Definition at line 51 of file parser.tab.c.

◆ YYCASE_

#define YYCASE_ (   N,
  S 
)
Value:
case N: \
yyformat = S; \
break
#define S(x)
Definition: test.h:206

◆ yychar

#define yychar   parser_char

Definition at line 73 of file parser.tab.c.

◆ yyclearin

#define yyclearin   (yychar = YYEMPTY)

Definition at line 2059 of file parser.tab.c.

◆ YYCOPY

#define YYCOPY (   Dst,
  Src,
  Count 
)
Value:
do \
{ \
YYPTRDIFF_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
while (0)
int Count
Definition: noreturn.cpp:7
#define Dst
Definition: mesh.h:153

Definition at line 796 of file parser.tab.c.

◆ YYCOPY_NEEDED

#define YYCOPY_NEEDED   1

Definition at line 768 of file parser.tab.c.

◆ yydebug

#define yydebug   parser_debug

Definition at line 70 of file parser.tab.c.

◆ YYDEBUG

#define YYDEBUG   0

Definition at line 257 of file parser.tab.c.

◆ YYDPRINTF

#define YYDPRINTF (   Args)

Definition at line 2218 of file parser.tab.c.

◆ YYEMPTY

#define YYEMPTY   (-2)

Definition at line 2060 of file parser.tab.c.

◆ YYEOF

#define YYEOF   0

Definition at line 2061 of file parser.tab.c.

◆ YYERRCODE

#define YYERRCODE   256

Definition at line 2089 of file parser.tab.c.

◆ yyerrok

#define yyerrok   (yyerrstatus = 0)

Definition at line 2058 of file parser.tab.c.

◆ yyerror

#define yyerror   parser_error

Definition at line 69 of file parser.tab.c.

◆ YYERROR

#define YYERROR   goto yyerrorlab

Definition at line 2065 of file parser.tab.c.

◆ YYERROR_VERBOSE

#define YYERROR_VERBOSE   1

Definition at line 248 of file parser.tab.c.

◆ YYFINAL

#define YYFINAL   3

Definition at line 809 of file parser.tab.c.

◆ YYFREE

#define YYFREE   free

Definition at line 739 of file parser.tab.c.

◆ YYINITDEPTH

#define YYINITDEPTH   200

Definition at line 2227 of file parser.tab.c.

◆ YYLAST

#define YYLAST   3170

Definition at line 811 of file parser.tab.c.

◆ yylex

#define yylex   parser_lex

Definition at line 68 of file parser.tab.c.

◆ yylval

#define yylval   parser_lval

Definition at line 72 of file parser.tab.c.

◆ YYMALLOC

#define YYMALLOC   malloc

Definition at line 733 of file parser.tab.c.

◆ YYMAXDEPTH

#define YYMAXDEPTH   10000

Definition at line 2238 of file parser.tab.c.

◆ YYMAXUTOK

#define YYMAXUTOK   446

Definition at line 823 of file parser.tab.c.

◆ yynerrs

#define yynerrs   parser_nerrs

Definition at line 71 of file parser.tab.c.

◆ YYNNTS

#define YYNNTS   115

Definition at line 816 of file parser.tab.c.

◆ YYNRULES

#define YYNRULES   417

Definition at line 818 of file parser.tab.c.

◆ YYNSTATES

#define YYNSTATES   729

Definition at line 820 of file parser.tab.c.

◆ YYNTOKENS

#define YYNTOKENS   216

Definition at line 814 of file parser.tab.c.

◆ YYPACT_NINF

#define YYPACT_NINF   (-564)

Definition at line 1034 of file parser.tab.c.

◆ yypact_value_is_default

#define yypact_value_is_default (   Yyn)    ((Yyn) == YYPACT_NINF)

Definition at line 1036 of file parser.tab.c.

◆ yyparse

#define yyparse   parser_parse

Definition at line 67 of file parser.tab.c.

◆ YYPOPSTACK

#define YYPOPSTACK (   N)    (yyvsp -= (N), yyssp -= (N))

◆ YYPTRDIFF_MAXIMUM

#define YYPTRDIFF_MAXIMUM   LONG_MAX

Definition at line 580 of file parser.tab.c.

◆ YYPTRDIFF_T

#define YYPTRDIFF_T   long

Definition at line 579 of file parser.tab.c.

◆ YYPULL

#define YYPULL   1

Definition at line 63 of file parser.tab.c.

◆ YYPURE

#define YYPURE   0

Definition at line 57 of file parser.tab.c.

◆ YYPUSH

#define YYPUSH   0

Definition at line 60 of file parser.tab.c.

◆ YYRECOVERING

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 2068 of file parser.tab.c.

◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM
Value:
: YY_CAST (YYSIZE_T, -1)))
#define YYSIZE_T
Definition: parser.tab.c:593
#define YY_CAST(Type, Val)
Definition: parser.tab.c:227
#define YYPTRDIFF_MAXIMUM
Definition: parser.tab.c:580
#define YYPTRDIFF_T
Definition: parser.tab.c:579

Definition at line 597 of file parser.tab.c.

◆ YYSIZE_T

#define YYSIZE_T   unsigned

Definition at line 593 of file parser.tab.c.

◆ YYSIZEOF

#define YYSIZEOF (   X)    YY_CAST (YYPTRDIFF_T, sizeof (X))

Definition at line 603 of file parser.tab.c.

◆ YYSKELETON_NAME

#define YYSKELETON_NAME   "yacc.c"

Definition at line 54 of file parser.tab.c.

◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 719 of file parser.tab.c.

◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

Definition at line 722 of file parser.tab.c.

◆ YYSTACK_BYTES

#define YYSTACK_BYTES (   N)
Value:
#define YYSIZEOF(X)
Definition: parser.tab.c:603
#define YYSTACK_GAP_MAXIMUM
Definition: parser.tab.c:760
yytype_int16 yy_state_t
Definition: parser.tab.c:606

Definition at line 764 of file parser.tab.c.

◆ YYSTACK_FREE

#define YYSTACK_FREE   YYFREE

Definition at line 720 of file parser.tab.c.

◆ YYSTACK_GAP_MAXIMUM

#define YYSTACK_GAP_MAXIMUM   (YYSIZEOF (union yyalloc) - 1)

Definition at line 760 of file parser.tab.c.

◆ YYSTACK_RELOCATE

#define YYSTACK_RELOCATE (   Stack_alloc,
  Stack 
)
Value:
do \
{ \
YYPTRDIFF_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / YYSIZEOF (*yyptr); \
} \
while (0)
#define YYSIZEOF(X)
Definition: parser.tab.c:603
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
Definition: wdfrequest.h:636
#define YYSTACK_GAP_MAXIMUM
Definition: parser.tab.c:760

Definition at line 775 of file parser.tab.c.

◆ YYSTYPE_IS_DECLARED

#define YYSTYPE_IS_DECLARED   1

Definition at line 497 of file parser.tab.c.

◆ YYSTYPE_IS_TRIVIAL

#define YYSTYPE_IS_TRIVIAL   1

Definition at line 496 of file parser.tab.c.

◆ YYSYNTAX_ERROR

#define YYSYNTAX_ERROR
Value:
yysyntax_error (&yymsg_alloc, &yymsg, \
yyssp, yytoken)
static int yysyntax_error(YYPTRDIFF_T *yymsg_alloc, char **yymsg, yy_state_t *yyssp, int yytoken)
Definition: parser.tab.c:2340

◆ YYTABLE_NINF

#define YYTABLE_NINF   (-405)

Definition at line 1039 of file parser.tab.c.

◆ yytable_value_is_error

#define yytable_value_is_error (   Yyn)    0

Definition at line 1041 of file parser.tab.c.

◆ YYTERROR

#define YYTERROR   1

Definition at line 2088 of file parser.tab.c.

◆ YYTOKENTYPE

#define YYTOKENTYPE

Definition at line 265 of file parser.tab.c.

◆ YYTRANSLATE

#define YYTRANSLATE (   YYX)    (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

Definition at line 828 of file parser.tab.c.

◆ YYUNDEFTOK

#define YYUNDEFTOK   2

Definition at line 822 of file parser.tab.c.

◆ YYUSE

#define YYUSE (   E)    ((void) (E))

Definition at line 641 of file parser.tab.c.

Typedef Documentation

◆ decl_spec_t

◆ map_attrs_filter_t

typedef int(* map_attrs_filter_t) (attr_list_t *, const attr_t *)

Definition at line 5581 of file parser.tab.c.

◆ typelist_t

Definition at line 119 of file parser.tab.c.

◆ yy_state_fast_t

Definition at line 609 of file parser.tab.c.

◆ yy_state_t

Definition at line 606 of file parser.tab.c.

◆ YYSTYPE

typedef union YYSTYPE YYSTYPE

Definition at line 495 of file parser.tab.c.

◆ yytype_int16

Definition at line 543 of file parser.tab.c.

◆ yytype_int8

Definition at line 535 of file parser.tab.c.

◆ yytype_uint16

Definition at line 563 of file parser.tab.c.

◆ yytype_uint8

Definition at line 552 of file parser.tab.c.

Enumeration Type Documentation

◆ yytokentype

Enumerator
INSTR_ADD 
INSTR_NOP 
INSTR_MOV 
INSTR_SUB 
INSTR_MAD 
INSTR_MUL 
INSTR_RCP 
INSTR_RSQ 
INSTR_DP3 
INSTR_DP4 
INSTR_MIN 
INSTR_MAX 
INSTR_SLT 
INSTR_SGE 
INSTR_ABS 
INSTR_EXP 
INSTR_LOG 
INSTR_EXPP 
INSTR_LOGP 
INSTR_DST 
INSTR_LRP 
INSTR_FRC 
INSTR_POW 
INSTR_CRS 
INSTR_SGN 
INSTR_NRM 
INSTR_SINCOS 
INSTR_M4x4 
INSTR_M4x3 
INSTR_M3x4 
INSTR_M3x3 
INSTR_M3x2 
INSTR_DCL 
INSTR_DEF 
INSTR_DEFB 
INSTR_DEFI 
INSTR_REP 
INSTR_ENDREP 
INSTR_IF 
INSTR_ELSE 
INSTR_ENDIF 
INSTR_BREAK 
INSTR_BREAKP 
INSTR_CALL 
INSTR_CALLNZ 
INSTR_LOOP 
INSTR_RET 
INSTR_ENDLOOP 
INSTR_LABEL 
INSTR_SETP 
INSTR_TEXLDL 
INSTR_LIT 
INSTR_MOVA 
INSTR_CND 
INSTR_CMP 
INSTR_DP2ADD 
INSTR_TEXCOORD 
INSTR_TEXCRD 
INSTR_TEXKILL 
INSTR_TEX 
INSTR_TEXLD 
INSTR_TEXBEM 
INSTR_TEXBEML 
INSTR_TEXREG2AR 
INSTR_TEXREG2GB 
INSTR_TEXREG2RGB 
INSTR_TEXM3x2PAD 
INSTR_TEXM3x2TEX 
INSTR_TEXM3x3PAD 
INSTR_TEXM3x3SPEC 
INSTR_TEXM3x3VSPEC 
INSTR_TEXM3x3TEX 
INSTR_TEXDP3TEX 
INSTR_TEXM3x2DEPTH 
INSTR_TEXDP3 
INSTR_TEXM3x3 
INSTR_TEXDEPTH 
INSTR_BEM 
INSTR_DSX 
INSTR_DSY 
INSTR_TEXLDP 
INSTR_TEXLDB 
INSTR_TEXLDD 
INSTR_PHASE 
REG_TEMP 
REG_OUTPUT 
REG_INPUT 
REG_CONSTFLOAT 
REG_CONSTINT 
REG_CONSTBOOL 
REG_TEXTURE 
REG_SAMPLER 
REG_TEXCRDOUT 
REG_OPOS 
REG_OFOG 
REG_OPTS 
REG_VERTEXCOLOR 
REG_FRAGCOLOR 
REG_FRAGDEPTH 
REG_VPOS 
REG_VFACE 
REG_ADDRESS 
REG_LOOP 
REG_PREDICATE 
REG_LABEL 
VER_VS10 
VER_VS11 
VER_VS20 
VER_VS2X 
VER_VS30 
VER_PS10 
VER_PS11 
VER_PS12 
VER_PS13 
VER_PS14 
VER_PS20 
VER_PS2X 
VER_PS30 
SHIFT_X2 
SHIFT_X4 
SHIFT_X8 
SHIFT_D2 
SHIFT_D4 
SHIFT_D8 
MOD_SAT 
MOD_PP 
MOD_CENTROID 
COMP_GT 
COMP_LT 
COMP_GE 
COMP_LE 
COMP_EQ 
COMP_NE 
SMOD_BIAS 
SMOD_SCALEBIAS 
SMOD_DZ 
SMOD_DW 
SMOD_ABS 
SMOD_NOT 
SAMPTYPE_1D 
SAMPTYPE_2D 
SAMPTYPE_CUBE 
SAMPTYPE_VOLUME 
USAGE_POSITION 
USAGE_BLENDWEIGHT 
USAGE_BLENDINDICES 
USAGE_NORMAL 
USAGE_PSIZE 
USAGE_TEXCOORD 
USAGE_TANGENT 
USAGE_BINORMAL 
USAGE_TESSFACTOR 
USAGE_POSITIONT 
USAGE_COLOR 
USAGE_FOG 
USAGE_DEPTH 
USAGE_SAMPLE 
COMPONENT 
IMMVAL 
IMMBOOL 
INSTR_ADD 
INSTR_NOP 
INSTR_MOV 
INSTR_SUB 
INSTR_MAD 
INSTR_MUL 
INSTR_RCP 
INSTR_RSQ 
INSTR_DP3 
INSTR_DP4 
INSTR_MIN 
INSTR_MAX 
INSTR_SLT 
INSTR_SGE 
INSTR_ABS 
INSTR_EXP 
INSTR_LOG 
INSTR_EXPP 
INSTR_LOGP 
INSTR_DST 
INSTR_LRP 
INSTR_FRC 
INSTR_POW 
INSTR_CRS 
INSTR_SGN 
INSTR_NRM 
INSTR_SINCOS 
INSTR_M4x4 
INSTR_M4x3 
INSTR_M3x4 
INSTR_M3x3 
INSTR_M3x2 
INSTR_DCL 
INSTR_DEF 
INSTR_DEFB 
INSTR_DEFI 
INSTR_REP 
INSTR_ENDREP 
INSTR_IF 
INSTR_ELSE 
INSTR_ENDIF 
INSTR_BREAK 
INSTR_BREAKP 
INSTR_CALL 
INSTR_CALLNZ 
INSTR_LOOP 
INSTR_RET 
INSTR_ENDLOOP 
INSTR_LABEL 
INSTR_SETP 
INSTR_TEXLDL 
INSTR_LIT 
INSTR_MOVA 
INSTR_CND 
INSTR_CMP 
INSTR_DP2ADD 
INSTR_TEXCOORD 
INSTR_TEXCRD 
INSTR_TEXKILL 
INSTR_TEX 
INSTR_TEXLD 
INSTR_TEXBEM 
INSTR_TEXBEML 
INSTR_TEXREG2AR 
INSTR_TEXREG2GB 
INSTR_TEXREG2RGB 
INSTR_TEXM3x2PAD 
INSTR_TEXM3x2TEX 
INSTR_TEXM3x3PAD 
INSTR_TEXM3x3SPEC 
INSTR_TEXM3x3VSPEC 
INSTR_TEXM3x3TEX 
INSTR_TEXDP3TEX 
INSTR_TEXM3x2DEPTH 
INSTR_TEXDP3 
INSTR_TEXM3x3 
INSTR_TEXDEPTH 
INSTR_BEM 
INSTR_DSX 
INSTR_DSY 
INSTR_TEXLDP 
INSTR_TEXLDB 
INSTR_TEXLDD 
INSTR_PHASE 
REG_TEMP 
REG_OUTPUT 
REG_INPUT 
REG_CONSTFLOAT 
REG_CONSTINT 
REG_CONSTBOOL 
REG_TEXTURE 
REG_SAMPLER 
REG_TEXCRDOUT 
REG_OPOS 
REG_OFOG 
REG_OPTS 
REG_VERTEXCOLOR 
REG_FRAGCOLOR 
REG_FRAGDEPTH 
REG_VPOS 
REG_VFACE 
REG_ADDRESS 
REG_LOOP 
REG_PREDICATE 
REG_LABEL 
VER_VS10 
VER_VS11 
VER_VS20 
VER_VS2X 
VER_VS30 
VER_PS10 
VER_PS11 
VER_PS12 
VER_PS13 
VER_PS14 
VER_PS20 
VER_PS2X 
VER_PS30 
SHIFT_X2 
SHIFT_X4 
SHIFT_X8 
SHIFT_D2 
SHIFT_D4 
SHIFT_D8 
MOD_SAT 
MOD_PP 
MOD_CENTROID 
COMP_GT 
COMP_LT 
COMP_GE 
COMP_LE 
COMP_EQ 
COMP_NE 
SMOD_BIAS 
SMOD_SCALEBIAS 
SMOD_DZ 
SMOD_DW 
SMOD_ABS 
SMOD_NOT 
SAMPTYPE_1D 
SAMPTYPE_2D 
SAMPTYPE_CUBE 
SAMPTYPE_VOLUME 
USAGE_POSITION 
USAGE_BLENDWEIGHT 
USAGE_BLENDINDICES 
USAGE_NORMAL 
USAGE_PSIZE 
USAGE_TEXCOORD 
USAGE_TANGENT 
USAGE_BINORMAL 
USAGE_TESSFACTOR 
USAGE_POSITIONT 
USAGE_COLOR 
USAGE_FOG 
USAGE_DEPTH 
USAGE_SAMPLE 
COMPONENT 
IMMVAL 
IMMBOOL 
KW_BLENDSTATE 
KW_BREAK 
KW_BUFFER 
KW_CBUFFER 
KW_COLUMN_MAJOR 
KW_COMPILE 
KW_CONST 
KW_CONTINUE 
KW_DEPTHSTENCILSTATE 
KW_DEPTHSTENCILVIEW 
KW_DISCARD 
KW_DO 
KW_DOUBLE 
KW_ELSE 
KW_EXTERN 
KW_FALSE 
KW_FOR 
KW_GEOMETRYSHADER 
KW_GROUPSHARED 
KW_IF 
KW_IN 
KW_INLINE 
KW_INOUT 
KW_MATRIX 
KW_NAMESPACE 
KW_NOINTERPOLATION 
KW_OUT 
KW_PASS 
KW_PIXELSHADER 
KW_PRECISE 
KW_RASTERIZERSTATE 
KW_RENDERTARGETVIEW 
KW_RETURN 
KW_REGISTER 
KW_ROW_MAJOR 
KW_SAMPLER 
KW_SAMPLER1D 
KW_SAMPLER2D 
KW_SAMPLER3D 
KW_SAMPLERCUBE 
KW_SAMPLER_STATE 
KW_SAMPLERCOMPARISONSTATE 
KW_SHARED 
KW_STATEBLOCK 
KW_STATEBLOCK_STATE 
KW_STATIC 
KW_STRING 
KW_STRUCT 
KW_SWITCH 
KW_TBUFFER 
KW_TECHNIQUE 
KW_TECHNIQUE10 
KW_TEXTURE 
KW_TEXTURE1D 
KW_TEXTURE1DARRAY 
KW_TEXTURE2D 
KW_TEXTURE2DARRAY 
KW_TEXTURE2DMS 
KW_TEXTURE2DMSARRAY 
KW_TEXTURE3D 
KW_TEXTURE3DARRAY 
KW_TEXTURECUBE 
KW_TRUE 
KW_TYPEDEF 
KW_UNIFORM 
KW_VECTOR 
KW_VERTEXSHADER 
KW_VOID 
KW_VOLATILE 
KW_WHILE 
OP_INC 
OP_DEC 
OP_AND 
OP_OR 
OP_EQ 
OP_LEFTSHIFT 
OP_LEFTSHIFTASSIGN 
OP_RIGHTSHIFT 
OP_RIGHTSHIFTASSIGN 
OP_ELLIPSIS 
OP_LE 
OP_GE 
OP_NE 
OP_ADDASSIGN 
OP_SUBASSIGN 
OP_MULASSIGN 
OP_DIVASSIGN 
OP_MODASSIGN 
OP_ANDASSIGN 
OP_ORASSIGN 
OP_XORASSIGN 
OP_UNKNOWN1 
OP_UNKNOWN2 
OP_UNKNOWN3 
OP_UNKNOWN4 
PRE_LINE 
VAR_IDENTIFIER 
TYPE_IDENTIFIER 
NEW_IDENTIFIER 
STRING 
C_FLOAT 
C_INTEGER 
KW_BLENDSTATE 
KW_BREAK 
KW_BUFFER 
KW_CBUFFER 
KW_COLUMN_MAJOR 
KW_COMPILE 
KW_CONST 
KW_CONTINUE 
KW_DEPTHSTENCILSTATE 
KW_DEPTHSTENCILVIEW 
KW_DISCARD 
KW_DO 
KW_DOUBLE 
KW_ELSE 
KW_EXTERN 
KW_FALSE 
KW_FOR 
KW_GEOMETRYSHADER 
KW_GROUPSHARED 
KW_IF 
KW_IN 
KW_INLINE 
KW_INOUT 
KW_MATRIX 
KW_NAMESPACE 
KW_NOINTERPOLATION 
KW_OUT 
KW_PASS 
KW_PIXELSHADER 
KW_PRECISE 
KW_RASTERIZERSTATE 
KW_RENDERTARGETVIEW 
KW_RETURN 
KW_REGISTER 
KW_ROW_MAJOR 
KW_SAMPLER 
KW_SAMPLER1D 
KW_SAMPLER2D 
KW_SAMPLER3D 
KW_SAMPLERCUBE 
KW_SAMPLER_STATE 
KW_SAMPLERCOMPARISONSTATE 
KW_SHARED 
KW_STATEBLOCK 
KW_STATEBLOCK_STATE 
KW_STATIC 
KW_STRING 
KW_STRUCT 
KW_SWITCH 
KW_TBUFFER 
KW_TECHNIQUE 
KW_TECHNIQUE10 
KW_TEXTURE 
KW_TEXTURE1D 
KW_TEXTURE1DARRAY 
KW_TEXTURE2D 
KW_TEXTURE2DARRAY 
KW_TEXTURE2DMS 
KW_TEXTURE2DMSARRAY 
KW_TEXTURE3D 
KW_TEXTURE3DARRAY 
KW_TEXTURECUBE 
KW_TRUE 
KW_TYPEDEF 
KW_UNIFORM 
KW_VECTOR 
KW_VERTEXSHADER 
KW_VOID 
KW_VOLATILE 
KW_WHILE 
OP_INC 
OP_DEC 
OP_AND 
OP_OR 
OP_EQ 
OP_LEFTSHIFT 
OP_LEFTSHIFTASSIGN 
OP_RIGHTSHIFT 
OP_RIGHTSHIFTASSIGN 
OP_ELLIPSIS 
OP_LE 
OP_GE 
OP_NE 
OP_ADDASSIGN 
OP_SUBASSIGN 
OP_MULASSIGN 
OP_DIVASSIGN 
OP_MODASSIGN 
OP_ANDASSIGN 
OP_ORASSIGN 
OP_XORASSIGN 
OP_UNKNOWN1 
OP_UNKNOWN2 
OP_UNKNOWN3 
OP_UNKNOWN4 
PRE_LINE 
VAR_IDENTIFIER 
TYPE_IDENTIFIER 
NEW_IDENTIFIER 
STRING 
C_FLOAT 
C_INTEGER 
tRCINCLUDE 
tIF 
tIFDEF 
tIFNDEF 
tELSE 
tELIF 
tENDIF 
tDEFINED 
tNL 
tINCLUDE 
tLINE 
tGCCLINE 
tERROR 
tWARNING 
tPRAGMA 
tPPIDENT 
tUNDEF 
tMACROEND 
tCONCAT 
tELIPSIS 
tSTRINGIZE 
tIDENT 
tLITERAL 
tMACRO 
tDEFINE 
tDQSTRING 
tSQSTRING 
tIQSTRING 
tUINT 
tSINT 
tULONG 
tSLONG 
tULONGLONG 
tSLONGLONG 
tRCINCLUDEPATH 
tLOGOR 
tLOGAND 
tEQ 
tNE 
tLTE 
tGTE 
tLSHIFT 
tRSHIFT 
tRCINCLUDE 
tIF 
tIFDEF 
tIFNDEF 
tELSE 
tELIF 
tENDIF 
tDEFINED 
tNL 
tINCLUDE 
tLINE 
tGCCLINE 
tERROR 
tWARNING 
tPRAGMA 
tPPIDENT 
tUNDEF 
tMACROEND 
tCONCAT 
tELIPSIS 
tSTRINGIZE 
tIDENT 
tLITERAL 
tMACRO 
tDEFINE 
tDQSTRING 
tSQSTRING 
tIQSTRING 
tUINT 
tSINT 
tULONG 
tSLONG 
tULONGLONG 
tSLONGLONG 
tRCINCLUDEPATH 
tLOGOR 
tLOGAND 
tEQ 
tNE 
tLTE 
tGTE 
tLSHIFT 
tRSHIFT 
tEQ 
tEQEQ 
tNEQ 
tNEQEQ 
tLSHIFT 
tRSHIFT 
tRRSHIFT 
tOR 
tAND 
tLEQ 
tGEQ 
tCCValue 
tEQ 
tEQEQ 
tNEQ 
tNEQEQ 
tLSHIFT 
tRSHIFT 
tRRSHIFT 
tOR 
tAND 
tLEQ 
tGEQ 
tCCValue 
kBREAK 
kCASE 
kCATCH 
kCONTINUE 
kDEFAULT 
kDELETE 
kDO 
kELSE 
kFUNCTION 
kIF 
kFINALLY 
kFOR 
kGET 
kIN 
kSET 
kINSTANCEOF 
kNEW 
kNULL 
kRETURN 
kSWITCH 
kTHIS 
kTHROW 
kTRUE 
kFALSE 
kTRY 
kTYPEOF 
kVAR 
kVOID 
kWHILE 
kWITH 
tANDAND 
tOROR 
tINC 
tDEC 
tHTMLCOMMENT 
kDIVEQ 
kDCOL 
tIdentifier 
tAssignOper 
tEqOper 
tShiftOper 
tRelOper 
tNumericLiteral 
tBooleanLiteral 
tStringLiteral 
tEOF 
LOWER_THAN_ELSE 
kBREAK 
kCASE 
kCATCH 
kCONTINUE 
kDEFAULT 
kDELETE 
kDO 
kELSE 
kFUNCTION 
kIF 
kFINALLY 
kFOR 
kGET 
kIN 
kSET 
kINSTANCEOF 
kNEW 
kNULL 
kRETURN 
kSWITCH 
kTHIS 
kTHROW 
kTRUE 
kFALSE 
kTRY 
kTYPEOF 
kVAR 
kVOID 
kWHILE 
kWITH 
tANDAND 
tOROR 
tINC 
tDEC 
tHTMLCOMMENT 
kDIVEQ 
kDCOL 
tIdentifier 
tAssignOper 
tEqOper 
tShiftOper 
tRelOper 
tNumericLiteral 
tBooleanLiteral 
tStringLiteral 
tEOF 
LOWER_THAN_ELSE 
COND_SPACE 
COND_EOF 
COND_OR 
COND_AND 
COND_NOT 
COND_XOR 
COND_IMP 
COND_EQV 
COND_LT 
COND_GT 
COND_EQ 
COND_NE 
COND_GE 
COND_LE 
COND_ILT 
COND_IGT 
COND_IEQ 
COND_INE 
COND_IGE 
COND_ILE 
COND_LPAR 
COND_RPAR 
COND_TILDA 
COND_SS 
COND_ISS 
COND_ILHS 
COND_IRHS 
COND_LHS 
COND_RHS 
COND_PERCENT 
COND_DOLLARS 
COND_QUESTION 
COND_AMPER 
COND_EXCLAM 
COND_IDENT 
COND_NUMBER 
COND_LITER 
COND_ERROR 
TK_ALTER 
TK_AND 
TK_BY 
TK_CHAR 
TK_COMMA 
TK_CREATE 
TK_DELETE 
TK_DROP 
TK_DISTINCT 
TK_DOT 
TK_EQ 
TK_FREE 
TK_FROM 
TK_GE 
TK_GT 
TK_HOLD 
TK_ADD 
TK_ID 
TK_ILLEGAL 
TK_INSERT 
TK_INT 
TK_INTEGER 
TK_INTO 
TK_IS 
TK_KEY 
TK_LE 
TK_LONG 
TK_LONGCHAR 
TK_LP 
TK_LT 
TK_LOCALIZABLE 
TK_MINUS 
TK_NE 
TK_NOT 
TK_NULL 
TK_OBJECT 
TK_OR 
TK_ORDER 
TK_PRIMARY 
TK_RP 
TK_SELECT 
TK_SET 
TK_SHORT 
TK_SPACE 
TK_STAR 
TK_STRING 
TK_TABLE 
TK_TEMPORARY 
TK_UPDATE 
TK_VALUES 
TK_WHERE 
TK_WILDCARD 
END_OF_FILE 
ILLEGAL 
SPACE 
UNCLOSED_STRING 
COMMENT 
FUNCTION 
COLUMN 
TK_LIKE 
TK_NEGATION 
TK_ALTER 
TK_AND 
TK_BY 
TK_CHAR 
TK_COMMA 
TK_CREATE 
TK_DELETE 
TK_DROP 
TK_DISTINCT 
TK_DOT 
TK_EQ 
TK_FREE 
TK_FROM 
TK_GE 
TK_GT 
TK_HOLD 
TK_ADD 
TK_ID 
TK_ILLEGAL 
TK_INSERT 
TK_INT 
TK_INTEGER 
TK_INTO 
TK_IS 
TK_KEY 
TK_LE 
TK_LONG 
TK_LONGCHAR 
TK_LP 
TK_LT 
TK_LOCALIZABLE 
TK_MINUS 
TK_NE 
TK_NOT 
TK_NULL 
TK_OBJECT 
TK_OR 
TK_ORDER 
TK_PRIMARY 
TK_RP 
TK_SELECT 
TK_SET 
TK_SHORT 
TK_SPACE 
TK_STAR 
TK_STRING 
TK_TABLE 
TK_TEMPORARY 
TK_UPDATE 
TK_VALUES 
TK_WHERE 
TK_WILDCARD 
END_OF_FILE 
ILLEGAL 
SPACE 
UNCLOSED_STRING 
COMMENT 
FUNCTION 
COLUMN 
TK_LIKE 
TK_NEGATION 
TOK_Parent 
TOK_Self 
TOK_DblFSlash 
TOK_FSlash 
TOK_Axis 
TOK_Colon 
TOK_OpAnd 
TOK_OpOr 
TOK_OpNot 
TOK_OpEq 
TOK_OpIEq 
TOK_OpNEq 
TOK_OpINEq 
TOK_OpLt 
TOK_OpILt 
TOK_OpGt 
TOK_OpIGt 
TOK_OpLEq 
TOK_OpILEq 
TOK_OpGEq 
TOK_OpIGEq 
TOK_OpAll 
TOK_OpAny 
TOK_NCName 
TOK_Literal 
TOK_Number 
tEXPRESSION 
tEOF 
tNL 
tEMPTYBRACKETS 
tLTEQ 
tGTEQ 
tNEQ 
tSTOP 
tME 
tREM 
tTRUE 
tFALSE 
tNOT 
tAND 
tOR 
tXOR 
tEQV 
tIMP 
tIS 
tMOD 
tCALL 
tDIM 
tSUB 
tFUNCTION 
tGET 
tLET 
tCONST 
tIF 
tELSE 
tELSEIF 
tEND 
tTHEN 
tEXIT 
tWHILE 
tWEND 
tDO 
tLOOP 
tUNTIL 
tFOR 
tTO 
tEACH 
tIN 
tSELECT 
tCASE 
tBYREF 
tBYVAL 
tOPTION 
tNOTHING 
tEMPTY 
tNULL 
tCLASS 
tSET 
tNEW 
tPUBLIC 
tPRIVATE 
tNEXT 
tON 
tRESUME 
tGOTO 
tIdentifier 
tString 
tDEFAULT 
tERROR 
tEXPLICIT 
tPROPERTY 
tSTEP 
tInt 
tDouble 
tEXPRESSION 
tEOF 
tNL 
tEMPTYBRACKETS 
tLTEQ 
tGTEQ 
tNEQ 
tSTOP 
tME 
tREM 
tTRUE 
tFALSE 
tNOT 
tAND 
tOR 
tXOR 
tEQV 
tIMP 
tIS 
tMOD 
tCALL 
tDIM 
tSUB 
tFUNCTION 
tGET 
tLET 
tCONST 
tIF 
tELSE 
tELSEIF 
tEND 
tTHEN 
tEXIT 
tWHILE 
tWEND 
tDO 
tLOOP 
tUNTIL 
tFOR 
tTO 
tEACH 
tIN 
tSELECT 
tCASE 
tBYREF 
tBYVAL 
tOPTION 
tNOTHING 
tEMPTY 
tNULL 
tCLASS 
tSET 
tNEW 
tPUBLIC 
tPRIVATE 
tNEXT 
tON 
tRESUME 
tGOTO 
tIdentifier 
tString 
tDEFAULT 
tERROR 
tEXPLICIT 
tPROPERTY 
tSTEP 
tInt 
tDouble 
TK_SELECT 
TK_FROM 
TK_STAR 
TK_COMMA 
TK_DOT 
TK_IS 
TK_LP 
TK_RP 
TK_NULL 
TK_FALSE 
TK_TRUE 
TK_INTEGER 
TK_WHERE 
TK_SPACE 
TK_MINUS 
TK_ILLEGAL 
TK_BY 
TK_ASSOCIATORS 
TK_OF 
TK_STRING 
TK_ID 
TK_PATH 
TK_OR 
TK_AND 
TK_NOT 
TK_EQ 
TK_NE 
TK_LT 
TK_GT 
TK_LE 
TK_GE 
TK_LIKE 
TK_SELECT 
TK_FROM 
TK_STAR 
TK_COMMA 
TK_DOT 
TK_IS 
TK_LP 
TK_RP 
TK_NULL 
TK_FALSE 
TK_TRUE 
TK_INTEGER 
TK_WHERE 
TK_SPACE 
TK_MINUS 
TK_ILLEGAL 
TK_BY 
TK_ASSOCIATORS 
TK_OF 
TK_STRING 
TK_ID 
TK_PATH 
TK_OR 
TK_AND 
TK_NOT 
TK_EQ 
TK_NE 
TK_LT 
TK_GT 
TK_LE 
TK_GE 
TK_LIKE 
aIDENTIFIER 
aPRAGMA 
aKNOWNTYPE 
aNUM 
aHEXNUM 
aDOUBLE 
aSTRING 
aWSTRING 
aSQSTRING 
aUUID 
aEOF 
aACF 
SHL 
SHR 
MEMBERPTR 
EQUALITY 
INEQUALITY 
GREATEREQUAL 
LESSEQUAL 
LOGICALOR 
LOGICALAND 
ELLIPSIS 
tAGGREGATABLE 
tALLNODES 
tALLOCATE 
tANNOTATION 
tAPPOBJECT 
tASYNC 
tASYNCUUID 
tAUTOHANDLE 
tBINDABLE 
tBOOLEAN 
tBROADCAST 
tBYTE 
tBYTECOUNT 
tCALLAS 
tCALLBACK 
tCASE 
tCDECL 
tCHAR 
tCOCLASS 
tCODE 
tCOMMSTATUS 
tCONST 
tCONTEXTHANDLE 
tCONTEXTHANDLENOSERIALIZE 
tCONTEXTHANDLESERIALIZE 
tCONTROL 
tCPPQUOTE 
tDECODE 
tDEFAULT 
tDEFAULTBIND 
tDEFAULTCOLLELEM 
tDEFAULTVALUE 
tDEFAULTVTABLE 
tDISABLECONSISTENCYCHECK 
tDISPLAYBIND 
tDISPINTERFACE 
tDLLNAME 
tDONTFREE 
tDOUBLE 
tDUAL 
tENABLEALLOCATE 
tENCODE 
tENDPOINT 
tENTRY 
tENUM 
tERRORSTATUST 
tEXPLICITHANDLE 
tEXTERN 
tFALSE 
tFASTCALL 
tFAULTSTATUS 
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 
tMAYBE 
tMESSAGE 
tMETHODS 
tMODULE 
tNAMESPACE 
tNOCODE 
tNONBROWSABLE 
tNONCREATABLE 
tNONEXTENSIBLE 
tNOTIFY 
tNOTIFYFLAG 
tNULL 
tOBJECT 
tODL 
tOLEAUTOMATION 
tOPTIMIZE 
tOPTIONAL 
tOUT 
tPARTIALIGNORE 
tPASCAL 
tPOINTERDEFAULT 
tPRAGMA_WARNING 
tPROGID 
tPROPERTIES 
tPROPGET 
tPROPPUT 
tPROPPUTREF 
tPROXY 
tPTR 
tPUBLIC 
tRANGE 
tREADONLY 
tREF 
tREGISTER 
tREPRESENTAS 
tREQUESTEDIT 
tRESTRICTED 
tRETVAL 
tSAFEARRAY 
tSHORT 
tSIGNED 
tSINGLENODE 
tSIZEIS 
tSIZEOF 
tSMALL 
tSOURCE 
tSTATIC 
tSTDCALL 
tSTRICTCONTEXTHANDLE 
tSTRING 
tSTRUCT 
tSWITCH 
tSWITCHIS 
tSWITCHTYPE 
tTHREADING 
tTRANSMITAS 
tTRUE 
tTYPEDEF 
tUIDEFAULT 
tUNION 
tUNIQUE 
tUNSIGNED 
tUSESGETLASTERROR 
tUSERMARSHAL 
tUUID 
tV1ENUM 
tVARARG 
tVERSION 
tVIPROGID 
tVOID 
tWCHAR 
tWIREMARSHAL 
tAPARTMENT 
tNEUTRAL 
tSINGLE 
tFREE 
tBOTH 
CAST 
PPTR 
POS 
NEG 
ADDRESSOF 
aIDENTIFIER 
aPRAGMA 
aKNOWNTYPE 
aNUM 
aHEXNUM 
aDOUBLE 
aSTRING 
aWSTRING 
aSQSTRING 
aUUID 
aEOF 
aACF 
SHL 
SHR 
MEMBERPTR 
EQUALITY 
INEQUALITY 
GREATEREQUAL 
LESSEQUAL 
LOGICALOR 
LOGICALAND 
ELLIPSIS 
tAGGREGATABLE 
tALLNODES 
tALLOCATE 
tANNOTATION 
tAPPOBJECT 
tASYNC 
tASYNCUUID 
tAUTOHANDLE 
tBINDABLE 
tBOOLEAN 
tBROADCAST 
tBYTE 
tBYTECOUNT 
tCALLAS 
tCALLBACK 
tCASE 
tCDECL 
tCHAR 
tCOCLASS 
tCODE 
tCOMMSTATUS 
tCONST 
tCONTEXTHANDLE 
tCONTEXTHANDLENOSERIALIZE 
tCONTEXTHANDLESERIALIZE 
tCONTROL 
tCPPQUOTE 
tDECODE 
tDEFAULT 
tDEFAULTBIND 
tDEFAULTCOLLELEM 
tDEFAULTVALUE 
tDEFAULTVTABLE 
tDISABLECONSISTENCYCHECK 
tDISPLAYBIND 
tDISPINTERFACE 
tDLLNAME 
tDONTFREE 
tDOUBLE 
tDUAL 
tENABLEALLOCATE 
tENCODE 
tENDPOINT 
tENTRY 
tENUM 
tERRORSTATUST 
tEXPLICITHANDLE 
tEXTERN 
tFALSE 
tFASTCALL 
tFAULTSTATUS 
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 
tMAYBE 
tMESSAGE 
tMETHODS 
tMODULE 
tNAMESPACE 
tNOCODE 
tNONBROWSABLE 
tNONCREATABLE 
tNONEXTENSIBLE 
tNOTIFY 
tNOTIFYFLAG 
tNULL 
tOBJECT 
tODL 
tOLEAUTOMATION 
tOPTIMIZE 
tOPTIONAL 
tOUT 
tPARTIALIGNORE 
tPASCAL 
tPOINTERDEFAULT 
tPRAGMA_WARNING 
tPROGID 
tPROPERTIES 
tPROPGET 
tPROPPUT 
tPROPPUTREF 
tPROXY 
tPTR 
tPUBLIC 
tRANGE 
tREADONLY 
tREF 
tREGISTER 
tREPRESENTAS 
tREQUESTEDIT 
tRESTRICTED 
tRETVAL 
tSAFEARRAY 
tSHORT 
tSIGNED 
tSINGLENODE 
tSIZEIS 
tSIZEOF 
tSMALL 
tSOURCE 
tSTATIC 
tSTDCALL 
tSTRICTCONTEXTHANDLE 
tSTRING 
tSTRUCT 
tSWITCH 
tSWITCHIS 
tSWITCHTYPE 
tTHREADING 
tTRANSMITAS 
tTRUE 
tTYPEDEF 
tUIDEFAULT 
tUNION 
tUNIQUE 
tUNSIGNED 
tUSESGETLASTERROR 
tUSERMARSHAL 
tUUID 
tV1ENUM 
tVARARG 
tVERSION 
tVIPROGID 
tVOID 
tWCHAR 
tWIREMARSHAL 
tAPARTMENT 
tNEUTRAL 
tSINGLE 
tFREE 
tBOTH 
CAST 
PPTR 
POS 
NEG 
ADDRESSOF 
tRCINCLUDE 
tIF 
tIFDEF 
tIFNDEF 
tELSE 
tELIF 
tENDIF 
tDEFINED 
tNL 
tINCLUDE 
tLINE 
tGCCLINE 
tERROR 
tWARNING 
tPRAGMA 
tPPIDENT 
tUNDEF 
tMACROEND 
tCONCAT 
tELIPSIS 
tSTRINGIZE 
tIDENT 
tLITERAL 
tMACRO 
tDEFINE 
tDQSTRING 
tSQSTRING 
tIQSTRING 
tUINT 
tSINT 
tULONG 
tSLONG 
tULONGLONG 
tSLONGLONG 
tRCINCLUDEPATH 
tLOGOR 
tLOGAND 
tEQ 
tNE 
tLTE 
tGTE 
tLSHIFT 
tRSHIFT 
tRCINCLUDE 
tIF 
tIFDEF 
tIFNDEF 
tELSE 
tELIF 
tENDIF 
tDEFINED 
tNL 
tINCLUDE 
tLINE 
tGCCLINE 
tERROR 
tWARNING 
tPRAGMA 
tPPIDENT 
tUNDEF 
tMACROEND 
tCONCAT 
tELIPSIS 
tSTRINGIZE 
tIDENT 
tLITERAL 
tMACRO 
tDEFINE 
tDQSTRING 
tSQSTRING 
tIQSTRING 
tUINT 
tSINT 
tULONG 
tSLONG 
tULONGLONG 
tSLONGLONG 
tRCINCLUDEPATH 
tLOGOR 
tLOGAND 
tEQ 
tNE 
tLTE 
tGTE 
tLSHIFT 
tRSHIFT 

Definition at line 266 of file parser.tab.c.

267  {
268  aIDENTIFIER = 258,
269  aPRAGMA = 259,
270  aKNOWNTYPE = 260,
271  aNUM = 261,
272  aHEXNUM = 262,
273  aDOUBLE = 263,
274  aSTRING = 264,
275  aWSTRING = 265,
276  aSQSTRING = 266,
277  aUUID = 267,
278  aEOF = 268,
279  aACF = 269,
280  SHL = 270,
281  SHR = 271,
282  MEMBERPTR = 272,
283  EQUALITY = 273,
284  INEQUALITY = 274,
285  GREATEREQUAL = 275,
286  LESSEQUAL = 276,
287  LOGICALOR = 277,
288  LOGICALAND = 278,
289  ELLIPSIS = 279,
290  tAGGREGATABLE = 280,
291  tALLNODES = 281,
292  tALLOCATE = 282,
293  tANNOTATION = 283,
294  tAPPOBJECT = 284,
295  tASYNC = 285,
296  tASYNCUUID = 286,
297  tAUTOHANDLE = 287,
298  tBINDABLE = 288,
299  tBOOLEAN = 289,
300  tBROADCAST = 290,
301  tBYTE = 291,
302  tBYTECOUNT = 292,
303  tCALLAS = 293,
304  tCALLBACK = 294,
305  tCASE = 295,
306  tCDECL = 296,
307  tCHAR = 297,
308  tCOCLASS = 298,
309  tCODE = 299,
310  tCOMMSTATUS = 300,
311  tCONST = 301,
312  tCONTEXTHANDLE = 302,
315  tCONTROL = 305,
316  tCPPQUOTE = 306,
317  tDECODE = 307,
318  tDEFAULT = 308,
319  tDEFAULTBIND = 309,
320  tDEFAULTCOLLELEM = 310,
321  tDEFAULTVALUE = 311,
322  tDEFAULTVTABLE = 312,
324  tDISPLAYBIND = 314,
325  tDISPINTERFACE = 315,
326  tDLLNAME = 316,
327  tDONTFREE = 317,
328  tDOUBLE = 318,
329  tDUAL = 319,
330  tENABLEALLOCATE = 320,
331  tENCODE = 321,
332  tENDPOINT = 322,
333  tENTRY = 323,
334  tENUM = 324,
335  tERRORSTATUST = 325,
336  tEXPLICITHANDLE = 326,
337  tEXTERN = 327,
338  tFALSE = 328,
339  tFASTCALL = 329,
340  tFAULTSTATUS = 330,
341  tFLOAT = 331,
342  tFORCEALLOCATE = 332,
343  tHANDLE = 333,
344  tHANDLET = 334,
345  tHELPCONTEXT = 335,
346  tHELPFILE = 336,
347  tHELPSTRING = 337,
348  tHELPSTRINGCONTEXT = 338,
349  tHELPSTRINGDLL = 339,
350  tHIDDEN = 340,
351  tHYPER = 341,
352  tID = 342,
353  tIDEMPOTENT = 343,
354  tIGNORE = 344,
355  tIIDIS = 345,
356  tIMMEDIATEBIND = 346,
357  tIMPLICITHANDLE = 347,
358  tIMPORT = 348,
359  tIMPORTLIB = 349,
360  tIN = 350,
361  tIN_LINE = 351,
362  tINLINE = 352,
363  tINPUTSYNC = 353,
364  tINT = 354,
365  tINT32 = 355,
366  tINT3264 = 356,
367  tINT64 = 357,
368  tINTERFACE = 358,
369  tLCID = 359,
370  tLENGTHIS = 360,
371  tLIBRARY = 361,
372  tLICENSED = 362,
373  tLOCAL = 363,
374  tLONG = 364,
375  tMAYBE = 365,
376  tMESSAGE = 366,
377  tMETHODS = 367,
378  tMODULE = 368,
379  tNAMESPACE = 369,
380  tNOCODE = 370,
381  tNONBROWSABLE = 371,
382  tNONCREATABLE = 372,
383  tNONEXTENSIBLE = 373,
384  tNOTIFY = 374,
385  tNOTIFYFLAG = 375,
386  tNULL = 376,
387  tOBJECT = 377,
388  tODL = 378,
389  tOLEAUTOMATION = 379,
390  tOPTIMIZE = 380,
391  tOPTIONAL = 381,
392  tOUT = 382,
393  tPARTIALIGNORE = 383,
394  tPASCAL = 384,
395  tPOINTERDEFAULT = 385,
396  tPRAGMA_WARNING = 386,
397  tPROGID = 387,
398  tPROPERTIES = 388,
399  tPROPGET = 389,
400  tPROPPUT = 390,
401  tPROPPUTREF = 391,
402  tPROXY = 392,
403  tPTR = 393,
404  tPUBLIC = 394,
405  tRANGE = 395,
406  tREADONLY = 396,
407  tREF = 397,
408  tREGISTER = 398,
409  tREPRESENTAS = 399,
410  tREQUESTEDIT = 400,
411  tRESTRICTED = 401,
412  tRETVAL = 402,
413  tSAFEARRAY = 403,
414  tSHORT = 404,
415  tSIGNED = 405,
416  tSINGLENODE = 406,
417  tSIZEIS = 407,
418  tSIZEOF = 408,
419  tSMALL = 409,
420  tSOURCE = 410,
421  tSTATIC = 411,
422  tSTDCALL = 412,
423  tSTRICTCONTEXTHANDLE = 413,
424  tSTRING = 414,
425  tSTRUCT = 415,
426  tSWITCH = 416,
427  tSWITCHIS = 417,
428  tSWITCHTYPE = 418,
429  tTHREADING = 419,
430  tTRANSMITAS = 420,
431  tTRUE = 421,
432  tTYPEDEF = 422,
433  tUIDEFAULT = 423,
434  tUNION = 424,
435  tUNIQUE = 425,
436  tUNSIGNED = 426,
437  tUSESGETLASTERROR = 427,
438  tUSERMARSHAL = 428,
439  tUUID = 429,
440  tV1ENUM = 430,
441  tVARARG = 431,
442  tVERSION = 432,
443  tVIPROGID = 433,
444  tVOID = 434,
445  tWCHAR = 435,
446  tWIREMARSHAL = 436,
447  tAPARTMENT = 437,
448  tNEUTRAL = 438,
449  tSINGLE = 439,
450  tFREE = 440,
451  tBOTH = 441,
452  CAST = 442,
453  PPTR = 443,
454  POS = 444,
455  NEG = 445,
456  ADDRESSOF = 446
457  };

Function Documentation

◆ add_explicit_handle_if_necessary()

static void add_explicit_handle_if_necessary ( const type_t iface,
var_t func 
)
static

Definition at line 7073 of file parser.tab.c.

7074 {
7075  unsigned char explicit_fc, implicit_fc;
7076 
7077  /* check for a defined binding handle */
7078  if (!get_func_handle_var( iface, func, &explicit_fc, &implicit_fc ) || !explicit_fc)
7079  {
7080  /* no explicit handle specified so add
7081  * "[in] handle_t IDL_handle" as the first parameter to the
7082  * function */
7083  var_t *idl_handle = make_var(xstrdup("IDL_handle"));
7084  idl_handle->attrs = append_attr(NULL, make_attr(ATTR_IN));
7085  idl_handle->type = find_type_or_error("handle_t", 0);
7086  type_function_add_head_arg(func->type, idl_handle);
7087  }
7088 }
GLenum func
Definition: glext.h:6028
static attr_t * make_attr(enum attr_type type)
Definition: parser.tab.c:5654
static type_t * find_type_or_error(const char *name, int t)
Definition: parser.tab.c:6351
const var_t * get_func_handle_var(const type_t *iface, const var_t *func, unsigned char *explicit_fc, unsigned char *implicit_fc)
Definition: header.c:867
static attr_list_t * append_attr(attr_list_t *list, attr_t *attr)
Definition: parser.tab.c:5532
type_t * type
Definition: widltypes.h:453
attr_list_t * attrs
Definition: widltypes.h:454
#define NULL
Definition: types.h:112
static void type_function_add_head_arg(type_t *type, var_t *arg)
Definition: parser.tab.c:5733
var_t * make_var(char *name)
Definition: parser.tab.c:6071
char * xstrdup(const char *s)
Definition: uimain.c:768

Referenced by check_functions().

◆ add_incomplete()

void add_incomplete ( type_t t)

Definition at line 6221 of file parser.tab.c.

6222 {
6223  struct typenode *tn = xmalloc(sizeof *tn);
6224  tn->type = t;
6226 }
GLdouble GLdouble t
Definition: gl.h:2047
typelist_t incomplete_types
Definition: parser.tab.c:138
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
Definition: list.h:102
void * xmalloc(int size)
Definition: uimain.c:747
type_t * type
Definition: parser.tab.c:121
struct list entry
Definition: parser.tab.c:122

Referenced by reg_typedefs(), type_new_enum(), type_new_nonencapsulated_union(), and type_new_struct().

◆ alloc_type()

type_t* alloc_type ( void  )

Definition at line 5712 of file parser.tab.c.

5713 {
5714  type_pool_node_t *node = xmalloc(sizeof *node);
5715  list_add_tail(&type_pool, &node->link);
5716  return &node->data;
5717 }
GLvoid * data
Definition: dlist.c:359
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
Definition: list.h:102
void * xmalloc(int size)
Definition: uimain.c:747
static struct list type_pool
Definition: parser.tab.c:5705
Definition: dlist.c:348

Referenced by duptype(), and make_type().

◆ append_array()

static type_t * append_array ( type_t chain,
expr_t expr 
)
static

Definition at line 5690 of file parser.tab.c.

5691 {
5692  type_t *array;
5693 
5694  if (!expr)
5695  return chain;
5696 
5697  /* An array is always a reference pointer unless explicitly marked otherwise
5698  * (regardless of what the default pointer attribute is). */
5699  array = type_new_array(NULL, NULL, FALSE, expr->is_const ? expr->cval : 0,
5700  expr->is_const ? NULL : expr, NULL, FC_RP);
5701 
5702  return append_chain_type(chain, array);
5703 }
Definition: query.h:86
type_t * type_new_array(const char *name, type_t *element, int declptr, unsigned int dim, expr_t *size_is, expr_t *length_is, unsigned char ptr_default_fc)
Definition: typetree.c:226
#define FALSE
Definition: types.h:117
struct sock * chain
Definition: tcpcore.h:1164
static type_t * append_chain_type(type_t *chain, type_t *type)
Definition: parser.tab.c:5785
#define NULL
Definition: types.h:112
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint GLenum GLenum GLenum GLint GLuint GLenum GLenum GLfloat GLenum GLfloat GLenum GLint const GLfloat GLenum GLint const GLushort GLint GLint GLsizei GLsizei GLenum GLsizei GLsizei GLenum GLenum const GLvoid GLenum GLdouble GLenum GLint GLenum GLenum GLint GLenum GLenum GLfloat GLenum GLenum GLfloat GLenum GLfloat GLenum GLushort const GLubyte GLenum GLenum GLenum GLint GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLvoid GLenum GLenum GLint GLenum GLint GLenum GLint GLuint GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble const GLfloat GLenum const GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble GLint GLint GLsizei GLsizei GLenum GLuint GLenum array
Definition: glfuncs.h:320

Referenced by yyparse().

◆ append_attr()

static attr_list_t * append_attr ( attr_list_t list,
attr_t attr 
)
static

Definition at line 5532 of file parser.tab.c.

5533 {
5534  attr_t *attr_existing;
5535  if (!attr) return list;
5536  if (!list)
5537  {
5538  list = xmalloc( sizeof(*list) );
5539  list_init( list );
5540  }
5541  LIST_FOR_EACH_ENTRY(attr_existing, list, attr_t, entry)
5542  if (attr_existing->type == attr->type)
5543  {
5544  parser_warning("duplicate attribute %s\n", get_attr_display_name(attr->type));
5545  /* use the last attribute, like MIDL does */
5546  list_remove(&attr_existing->entry);
5547  break;
5548  }
5549  list_add_tail( list, &attr->entry );
5550  return list;
5551 }
enum attr_type type
Definition: widltypes.h:298
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
Definition: list.h:102
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
Definition: list.h:198
void * xmalloc(int size)
Definition: uimain.c:747
const char * get_attr_display_name(enum attr_type type)
Definition: parser.tab.c:6582
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
Definition: list.h:108
Definition: cookie.c:201
uint32_t entry
Definition: isohybrid.c:63
Definition: _list.h:228
struct list entry
Definition: widltypes.h:304
#define list
Definition: rosglue.h:35
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149
int parser_warning(const char *s,...)
Definition: utils.c:94

Referenced by add_explicit_handle_if_necessary(), append_attr_list(), async_iface_attrs(), make_decl_spec(), move_attr(), reg_typedefs(), and yyparse().

◆ append_attr_list()

static attr_list_t * append_attr_list ( attr_list_t new_list,
attr_list_t old_list 
)
static

Definition at line 5566 of file parser.tab.c.

5567 {
5568  struct list *entry;
5569 
5570  if (!old_list) return new_list;
5571 
5572  while ((entry = list_head(old_list)))
5573  {
5575  list_remove(entry);
5576  new_list = append_attr(new_list, attr);
5577  }
5578  return new_list;
5579 }
__WINE_SERVER_LIST_INLINE struct list * list_head(const struct list *list)
Definition: list.h:131
static attr_list_t * append_attr(attr_list_t *list, attr_t *attr)
Definition: parser.tab.c:5532
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
Definition: list.h:108
Definition: cookie.c:201
uint32_t entry
Definition: isohybrid.c:63
Definition: _list.h:228
#define LIST_ENTRY(type)
Definition: queue.h:175

Referenced by make_decl_spec(), and yyparse().

◆ append_attribs()

static attr_list_t * append_attribs ( attr_list_t l1,
attr_list_t l2 
)
static

Definition at line 7376 of file parser.tab.c.

7377 {
7378  if (!l2) return l1;
7379  if (!l1 || l1 == l2) return l2;
7380  list_move_tail (l1, l2);
7381  return l1;
7382 }
__WINE_SERVER_LIST_INLINE void list_move_tail(struct list *dst, struct list *src)
Definition: list.h:164

Referenced by yyparse().

◆ append_chain_type()

static type_t * append_chain_type ( type_t chain,
type_t type 
)
static

Definition at line 5785 of file parser.tab.c.

5786 {
5787  type_t *chain_type;
5788 
5789  if (!chain)
5790  return type;
5791  for (chain_type = chain; get_array_or_ptr_ref(chain_type); chain_type = get_array_or_ptr_ref(chain_type))
5792  ;
5793 
5794  if (is_ptr(chain_type))
5795  chain_type->details.pointer.ref = type;
5796  else if (is_array(chain_type))
5797  chain_type->details.array.elem = type;
5798  else
5799  assert(0);
5800 
5801  return chain;
5802 }
union _type_t::@4829 details
struct pointer_details pointer
Definition: widltypes.h:433
static type_t * get_array_or_ptr_ref(type_t *type)
Definition: parser.tab.c:5776
#define assert(x)
Definition: debug.h:53
static int is_ptr(const type_t *t)
Definition: header.h:59
static int is_array(const type_t *t)
Definition: header.h:64
struct sock * chain
Definition: tcpcore.h:1164
if(!(yy_init))
Definition: macro.lex.yy.c:714
struct array_details array
Definition: widltypes.h:430
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545

Referenced by append_array(), declare_var(), and yyparse().

◆ append_declarator()

static declarator_list_t * append_declarator ( declarator_list_t list,
declarator_t p 
)
static

Definition at line 6095 of file parser.tab.c.

6096 {
6097  if (!d) return list;
6098  if (!list) {
6099  list = xmalloc(sizeof(*list));
6100  list_init(list);
6101  }
6102  list_add_tail(list, &d->entry);
6103  return list;
6104 }
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
Definition: list.h:102
void * xmalloc(int size)
Definition: uimain.c:747
Definition: _list.h:228
#define list
Definition: rosglue.h:35
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149
#define d
Definition: ke_i.h:81

Referenced by yyparse().

◆ append_expr()

static expr_list_t * append_expr ( expr_list_t list,
expr_t expr 
)
static

Definition at line 5678 of file parser.tab.c.

5679 {
5680  if (!expr) return list;
5681  if (!list)
5682  {
5683  list = xmalloc( sizeof(*list) );
5684  list_init( list );
5685  }
5686  list_add_tail( list, &expr->entry );
5687  return list;
5688 }
Definition: query.h:86
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
Definition: list.h:102
void * xmalloc(int size)
Definition: uimain.c:747
Definition: _list.h:228
#define list
Definition: rosglue.h:35
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149

Referenced by yyparse().

◆ append_ifref()

static ifref_list_t * append_ifref ( ifref_list_t list,
ifref_t iface 
)
static

Definition at line 6027 of file parser.tab.c.

6028 {
6029  if (!iface) return list;
6030  if (!list)
6031  {
6032  list = xmalloc( sizeof(*list) );
6033  list_init( list );
6034  }
6035  list_add_tail( list, &iface->entry );
6036  return list;
6037 }
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
Definition: list.h:102
void * xmalloc(int size)
Definition: uimain.c:747
struct list entry
Definition: widltypes.h:481
Definition: _list.h:228
#define list
Definition: rosglue.h:35
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149

Referenced by yyparse().

◆ append_statement()

static statement_list_t * append_statement ( statement_list_t list,
statement_t stmt 
)
static

Definition at line 7384 of file parser.tab.c.

7385 {
7386  if (!stmt) return list;
7387  if (!list)
7388  {
7389  list = xmalloc( sizeof(*list) );
7390  list_init( list );
7391  }
7392  list_add_tail( list, &stmt->entry );
7393  return list;
7394 }
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
Definition: list.h:102
void * xmalloc(int size)
Definition: uimain.c:747
struct list entry
Definition: widltypes.h:532
Definition: _list.h:228
#define list
Definition: rosglue.h:35
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149

Referenced by check_async_uuid(), and yyparse().

◆ append_statements()

static statement_list_t * append_statements ( statement_list_t l1,
statement_list_t l2 
)
static

Definition at line 7368 of file parser.tab.c.

7369 {
7370  if (!l2) return l1;
7371  if (!l1 || l1 == l2) return l2;
7372  list_move_tail (l1, l2);
7373  return l1;
7374 }
__WINE_SERVER_LIST_INLINE void list_move_tail(struct list *dst, struct list *src)
Definition: list.h:164

Referenced by yyparse().

◆ append_str()

static str_list_t * append_str ( str_list_t list,
char str 
)
static

Definition at line 5516 of file parser.tab.c.

5517 {
5518  struct str_list_entry_t *entry;
5519 
5520  if (!str) return list;
5521  if (!list)
5522  {
5523  list = xmalloc( sizeof(*list) );
5524  list_init( list );
5525  }
5526  entry = xmalloc( sizeof(*entry) );
5527  entry->str = str;
5528  list_add_tail( list, &entry->entry );
5529  return list;
5530 }
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
Definition: list.h:102
void * xmalloc(int size)
Definition: uimain.c:747
const WCHAR * str
Definition: widltypes.h:291
uint32_t entry
Definition: isohybrid.c:63
Definition: _list.h:228
#define list
Definition: rosglue.h:35
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149

Referenced by yyparse().

◆ append_var()

var_list_t* append_var ( var_list_t list,
var_t var 
)

Definition at line 6047 of file parser.tab.c.

6048 {
6049  if (!var) return list;
6050  if (!list)
6051  {
6052  list = xmalloc( sizeof(*list) );
6053  list_init( list );
6054  }
6055  list_add_tail( list, &var->entry );
6056  return list;
6057 }
const char * var
Definition: shader.c:5666
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
Definition: list.h:102
void * xmalloc(int size)
Definition: uimain.c:747
Definition: _list.h:228
#define list
Definition: rosglue.h:35
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149

Referenced by check_async_uuid(), set_var_types(), type_new_encapsulated_union(), and yyparse().

◆ append_var_list()

static var_list_t * append_var_list ( var_list_t list,
var_list_t vars 
)
static

Definition at line 6059 of file parser.tab.c.

6060 {
6061  if (!vars) return list;
6062  if (!list)
6063  {
6064  list = xmalloc( sizeof(*list) );
6065  list_init( list );
6066  }
6067  list_move_tail( list, vars );
6068  return list;
6069 }
void * xmalloc(int size)
Definition: uimain.c:747
__WINE_SERVER_LIST_INLINE void list_move_tail(struct list *dst, struct list *src)
Definition: list.h:164
Definition: _list.h:228
#define list
Definition: rosglue.h:35
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149

Referenced by yyparse().

◆ append_warning()

static warning_list_t * append_warning ( warning_list_t list,
int  num 
)
static

Definition at line 5804 of file parser.tab.c.

5805 {
5806  warning_t *entry;
5807 
5808  if(!list)
5809  {
5810  list = xmalloc( sizeof(*list) );
5811  list_init( list );
5812  }
5813  entry = xmalloc( sizeof(*entry) );
5814  entry->num = num;
5815  list_add_tail( list, &entry->entry );
5816  return list;
5817 }
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
Definition: list.h:102
void * xmalloc(int size)
Definition: uimain.c:747
GLuint GLuint num
Definition: glext.h:9618
uint32_t entry
Definition: isohybrid.c:63
Definition: _list.h:228
#define list
Definition: rosglue.h:35
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149

Referenced by yyparse().

◆ arg_in_attrs()

static int arg_in_attrs ( attr_list_t attrs,
const attr_t attr 
)
static

Definition at line 7134 of file parser.tab.c.

7135 {
7136  return attr->type != ATTR_OUT && attr->type != ATTR_RETVAL;
7137 }
Definition: cookie.c:201

Referenced by check_async_uuid().

◆ arg_out_attrs()

static int arg_out_attrs ( attr_list_t attrs,
const attr_t attr 
)
static

Definition at line 7139 of file parser.tab.c.

7140 {
7141  return attr->type != ATTR_IN;
7142 }
Definition: cookie.c:201

Referenced by check_async_uuid().

◆ async_iface_attrs()

static int async_iface_attrs ( attr_list_t attrs,
const attr_t attr 
)
static

Definition at line 7120 of file parser.tab.c.

7121 {
7122  switch(attr->type)
7123  {
7124  case ATTR_UUID:
7125  return 0;
7126  case ATTR_ASYNCUUID:
7127  append_attr(attrs, make_attrp(ATTR_UUID, attr->u.pval));
7128  return 0;
7129  default:
7130  return 1;
7131  }
7132 }
static attr_list_t * append_attr(attr_list_t *list, attr_t *attr)
Definition: parser.tab.c:5532
Definition: cookie.c:201
static attr_t * make_attrp(enum attr_type type, void *val)
Definition: parser.tab.c:5670

Referenced by check_async_uuid().

◆ check_all_user_types()

static void check_all_user_types ( const statement_list_t stmts)
static

Definition at line 7222 of file parser.tab.c.

7223 {
7224  const statement_t *stmt;
7225 
7226  if (stmts) LIST_FOR_EACH_ENTRY(stmt, stmts, const statement_t, entry)
7227  {
7228  if (stmt->type == STMT_LIBRARY)
7229  check_all_user_types(stmt->u.lib->stmts);
7230  else if (stmt->type == STMT_TYPE && type_get_type(stmt->u.type) == TYPE_INTERFACE &&
7231  !is_local(stmt->u.type->attrs))
7232  {
7233  const statement_t *stmt_func;
7235  const var_t *func = stmt_func->u.var;
7236  check_for_additional_prototype_types(func->type->details.function->args);
7237  }
7238  }
7239  }
7240 }
#define STATEMENTS_FOR_EACH_FUNC(stmt, stmts)
Definition: widltypes.h:597
GLenum func
Definition: glext.h:6028
typelib_t * lib
Definition: widltypes.h:540
static void check_all_user_types(const statement_list_t *stmts)
Definition: parser.tab.c:7222
var_t * var
Definition: widltypes.h:539
int is_local(const attr_list_t *a)
Definition: header.c:938
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
Definition: list.h:198
statement_type_t type
Definition: parser.h:124
static enum type_type type_get_type(const type_t *type)
Definition: typetree.h:68
uint32_t entry
Definition: isohybrid.c:63
statement_list_t * stmts
Definition: widltypes.h:518
void check_for_additional_prototype_types(const var_list_t *list)
Definition: header.c:640
static statement_list_t * type_iface_get_stmts(const type_t *type)
Definition: typetree.h:151
union _statement_t::@4830 u

Referenced by yyparse().

◆ check_arg_attrs()

static void check_arg_attrs ( const var_t arg)
static

Definition at line 6624 of file parser.tab.c.

6625 {
6626  const attr_t *attr;
6627 
6628  if (arg->attrs)
6629  {
6630  LIST_FOR_EACH_ENTRY(attr, arg->attrs, const attr_t, entry)
6631  {
6632  if (!allowed_attr[attr->type].on_arg)
6633  error_loc("inapplicable attribute %s for argument %s\n",
6634  allowed_attr[attr->type].display_name, arg->name);
6635  }
6636  }
6637 }
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
Definition: list.h:198
unsigned int on_arg
Definition: parser.tab.c:6462
void error_loc(const char *s,...)
Definition: utils.c:69
Definition: cookie.c:201
__u8 attr
Definition: mkdosfs.c:359
uint32_t entry
Definition: isohybrid.c:63
const char * display_name
Definition: parser.tab.c:6472

Referenced by yyparse().

◆ check_async_uuid()

static void check_async_uuid ( type_t iface)
static

Definition at line 7144 of file parser.tab.c.

7145 {
7146  statement_list_t *stmts = NULL;
7147  statement_t *stmt;
7148  type_t *async_iface;
7149  type_t *inherit;
7150 
7151  if (!is_attr(iface->attrs, ATTR_ASYNCUUID)) return;
7152 
7153  inherit = iface->details.iface->inherit;
7154  if (inherit && strcmp(inherit->name, "IUnknown"))
7155  inherit = inherit->details.iface->async_iface;
7156  if (!inherit)
7157  error_loc("async_uuid applied to an interface with incompatible parent\n");
7158 
7159  async_iface = get_type(TYPE_INTERFACE, concat_str("Async", iface->name), iface->namespace, 0);
7160  async_iface->attrs = map_attrs(iface->attrs, async_iface_attrs);
7161 
7163  {
7164  var_t *begin_func, *finish_func, *func = stmt->u.var, *arg;
7165  var_list_t *begin_args = NULL, *finish_args = NULL, *args;
7166 
7167  args = func->type->details.function->args;
7169  {
7170  if (is_attr(arg->attrs, ATTR_IN) || !is_attr(arg->attrs, ATTR_OUT))
7171  begin_args = append_var(begin_args, copy_var(arg, strdup(arg->name), arg_in_attrs));
7172  if (is_attr(arg->attrs, ATTR_OUT))
7173  finish_args = append_var(finish_args, copy_var(arg, strdup(arg->name), arg_out_attrs));
7174  }
7175 
7176  begin_func = copy_var(func, concat_str("Begin_", func->name), NULL);
7177  begin_func->type = type_new_function(begin_args);
7178  begin_func->type->attrs = func->attrs;
7179  begin_func->type->details.function->retval = func->type->details.function->retval;
7180  stmts = append_statement(stmts, make_statement_declaration(begin_func));
7181 
7182  finish_func =