ReactOS  0.4.13-dev-544-gede3fdd
parser.tab.c File Reference
#include "jscript.h"
#include "engine.h"
#include "parser.h"
#include "wine/debug.h"
#include <stddef.h>
Include dependency graph for parser.tab.c:

Go to the source code of this file.

Classes

struct  _statement_list_t
 
struct  _property_list_t
 
struct  _element_list_t
 
struct  _argument_list_t
 
struct  _case_list_t
 
struct  _variable_list_t
 
struct  statement_list_t
 
struct  _parameter_list_t
 
union  YYSTYPE
 
union  yyalloc
 

Macros

#define YYBISON   1
 
#define YYBISON_VERSION   "3.0"
 
#define YYSKELETON_NAME   "yacc.c"
 
#define YYPURE   1
 
#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 YY_NULL   0
 
#define YYERROR_VERBOSE   0
 
#define YY_PARSER_E_REACTOSSYNC_GCC_DLL_WIN32_JSCRIPT_PARSER_TAB_H_INCLUDED
 
#define YYDEBUG   0
 
#define YYTOKENTYPE
 
#define YYSTYPE_IS_TRIVIAL   1
 
#define YYSTYPE_IS_DECLARED   1
 
#define YYSIZE_T   size_t
 
#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)
 
#define YY_(Msgid)   Msgid
 
#define __attribute__(Spec)   /* empty */
 
#define YYUSE(E)   ((void) (E))
 
#define YY_INITIAL_VALUE(Value)   Value
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
 
#define YYSTACK_ALLOC   YYMALLOC
 
#define YYSTACK_FREE   YYFREE
 
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
 
#define YYMALLOC   malloc
 
#define YYFREE   free
 
#define YYSTACK_GAP_MAXIMUM   (sizeof (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   1393
 
#define YYNTOKENS   72
 
#define YYNNTS   99
 
#define YYNRULES   254
 
#define YYNSTATES   454
 
#define YYUNDEFTOK   2
 
#define YYMAXUTOK   304
 
#define YYTRANSLATE(YYX)   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
#define YYPACT_NINF   -361
 
#define yypact_value_is_default(Yystate)   (!!((Yystate) == (-361)))
 
#define YYTABLE_NINF   -238
 
#define yytable_value_is_error(Yytable_value)   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 YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
 

Typedefs

typedef struct _statement_list_t statement_list_t
 
typedef struct _property_list_t property_list_t
 
typedef struct _element_list_t element_list_t
 
typedef struct _argument_list_t argument_list_t
 
typedef struct _case_list_t case_list_t
 
typedef struct _variable_list_t variable_list_t
 
typedef struct _parameter_list_t parameter_list_t
 
typedef union YYSTYPE YYSTYPE
 
typedef unsigned char yytype_uint8
 
typedef signed char yytype_int8
 
typedef unsigned short int yytype_uint16
 
typedef short int yytype_int16
 

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,
  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,
  tEOF = 258, tNL = 259, tREM = 260, tEMPTYBRACKETS = 261,
  tTRUE = 262, tFALSE = 263, tNOT = 264, tAND = 265,
  tOR = 266, tXOR = 267, tEQV = 268, tIMP = 269,
  tNEQ = 270, tIS = 271, tLTEQ = 272, tGTEQ = 273,
  tMOD = 274, tCALL = 275, tDIM = 276, tSUB = 277,
  tFUNCTION = 278, tPROPERTY = 279, tGET = 280, tLET = 281,
  tCONST = 282, tIF = 283, tELSE = 284, tELSEIF = 285,
  tEND = 286, tTHEN = 287, tEXIT = 288, tWHILE = 289,
  tWEND = 290, tDO = 291, tLOOP = 292, tUNTIL = 293,
  tFOR = 294, tTO = 295, tSTEP = 296, tEACH = 297,
  tIN = 298, tSELECT = 299, tCASE = 300, tBYREF = 301,
  tBYVAL = 302, tOPTION = 303, tEXPLICIT = 304, tSTOP = 305,
  tNOTHING = 306, tEMPTY = 307, tNULL = 308, tCLASS = 309,
  tSET = 310, tNEW = 311, tPUBLIC = 312, tPRIVATE = 313,
  tDEFAULT = 314, tME = 315, tERROR = 316, tNEXT = 317,
  tON = 318, tRESUME = 319, tGOTO = 320, tIdentifier = 321,
  tString = 322, tLong = 323, tShort = 324, tDouble = 325,
  tEOF = 258, tNL = 259, tREM = 260, tEMPTYBRACKETS = 261,
  tTRUE = 262, tFALSE = 263, tNOT = 264, tAND = 265,
  tOR = 266, tXOR = 267, tEQV = 268, tIMP = 269,
  tNEQ = 270, tIS = 271, tLTEQ = 272, tGTEQ = 273,
  tMOD = 274, tCALL = 275, tDIM = 276, tSUB = 277,
  tFUNCTION = 278, tPROPERTY = 279, tGET = 280, tLET = 281,
  tCONST = 282, tIF = 283, tELSE = 284, tELSEIF = 285,
  tEND = 286, tTHEN = 287, tEXIT = 288, tWHILE = 289,
  tWEND = 290, tDO = 291, tLOOP = 292, tUNTIL = 293,
  tFOR = 294, tTO = 295, tSTEP = 296, tEACH = 297,
  tIN = 298, tSELECT = 299, tCASE = 300, tBYREF = 301,
  tBYVAL = 302, tOPTION = 303, tEXPLICIT = 304, tSTOP = 305,
  tNOTHING = 306, tEMPTY = 307, tNULL = 308, tCLASS = 309,
  tSET = 310, tNEW = 311, tPUBLIC = 312, tPRIVATE = 313,
  tDEFAULT = 314, tME = 315, tERROR = 316, tNEXT = 317,
  tON = 318, tRESUME = 319, tGOTO = 320, tIdentifier = 321,
  tString = 322, tLong = 323, tShort = 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_STRING = 275, TK_ID = 276, TK_OR = 277,
  TK_AND = 278, TK_NOT = 279, TK_EQ = 280, TK_NE = 281,
  TK_LT = 282, TK_GT = 283, TK_LE = 284, TK_GE = 285,
  TK_LIKE = 286, 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_STRING = 275, TK_ID = 276,
  TK_OR = 277, TK_AND = 278, TK_NOT = 279, TK_EQ = 280,
  TK_NE = 281, TK_LT = 282, TK_GT = 283, TK_LE = 284,
  TK_GE = 285, TK_LIKE = 286, 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, 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,
  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, 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, 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

 WINE_DEFAULT_DEBUG_CHANNEL (jscript)
 
static int parser_error (parser_ctx_t *, const char *)
 
static void set_error (parser_ctx_t *, UINT)
 
static BOOL explicit_error (parser_ctx_t *, void *, WCHAR)
 
static BOOL allow_auto_semicolon (parser_ctx_t *)
 
static void program_parsed (parser_ctx_t *, source_elements_t *)
 
static literal_tnew_string_literal (parser_ctx_t *, const WCHAR *)
 
static literal_tnew_null_literal (parser_ctx_t *)
 
static property_definition_tnew_property_definition (parser_ctx_t *ctx, property_definition_type_t, literal_t *name, expression_t *value)
 
static property_list_tnew_property_list (parser_ctx_t *, property_definition_t *)
 
static property_list_tproperty_list_add (parser_ctx_t *, property_list_t *, property_definition_t *)
 
static element_list_tnew_element_list (parser_ctx_t *, int, expression_t *)
 
static element_list_telement_list_add (parser_ctx_t *, element_list_t *, int, expression_t *)
 
static argument_list_tnew_argument_list (parser_ctx_t *, expression_t *)
 
static argument_list_targument_list_add (parser_ctx_t *, argument_list_t *, expression_t *)
 
static catch_block_tnew_catch_block (parser_ctx_t *, const WCHAR *, statement_t *)
 
static case_clausule_tnew_case_clausule (parser_ctx_t *, expression_t *, statement_list_t *)
 
static case_list_tnew_case_list (parser_ctx_t *, case_clausule_t *)
 
static case_list_tcase_list_add (parser_ctx_t *, case_list_t *, case_clausule_t *)
 
static case_clausule_tnew_case_block (parser_ctx_t *, case_list_t *, case_clausule_t *, case_list_t *)
 
static variable_declaration_tnew_variable_declaration (parser_ctx_t *, const WCHAR *, expression_t *)
 
static variable_list_tnew_variable_list (parser_ctx_t *, variable_declaration_t *)
 
static variable_list_tvariable_list_add (parser_ctx_t *, variable_list_t *, variable_declaration_t *)
 
static voidnew_statement (parser_ctx_t *, statement_type_t, size_t)
 
static statement_tnew_block_statement (parser_ctx_t *, statement_list_t *)
 
static statement_tnew_var_statement (parser_ctx_t *, variable_list_t *)
 
static statement_tnew_expression_statement (parser_ctx_t *, expression_t *)
 
static statement_tnew_if_statement (parser_ctx_t *, expression_t *, statement_t *, statement_t *)
 
static statement_tnew_while_statement (parser_ctx_t *, BOOL, expression_t *, statement_t *)
 
static statement_tnew_for_statement (parser_ctx_t *, variable_list_t *, expression_t *, expression_t *, expression_t *, statement_t *)
 
static statement_tnew_forin_statement (parser_ctx_t *, variable_declaration_t *, expression_t *, expression_t *, statement_t *)
 
static statement_tnew_continue_statement (parser_ctx_t *, const WCHAR *)
 
static statement_tnew_break_statement (parser_ctx_t *, const WCHAR *)
 
static statement_tnew_return_statement (parser_ctx_t *, expression_t *)
 
static statement_tnew_with_statement (parser_ctx_t *, expression_t *, statement_t *)
 
static statement_tnew_labelled_statement (parser_ctx_t *, const WCHAR *, statement_t *)
 
static statement_tnew_switch_statement (parser_ctx_t *, expression_t *, case_clausule_t *)
 
static statement_tnew_throw_statement (parser_ctx_t *, expression_t *)
 
static statement_tnew_try_statement (parser_ctx_t *, statement_t *, catch_block_t *, statement_t *)
 
static statement_list_tnew_statement_list (parser_ctx_t *, statement_t *)
 
static statement_list_tstatement_list_add (statement_list_t *, statement_t *)
 
static parameter_list_tnew_parameter_list (parser_ctx_t *, const WCHAR *)
 
static parameter_list_tparameter_list_add (parser_ctx_t *, parameter_list_t *, const WCHAR *)
 
static voidnew_expression (parser_ctx_t *ctx, expression_type_t, size_t)
 
static expression_tnew_function_expression (parser_ctx_t *, const WCHAR *, parameter_list_t *, source_elements_t *, const WCHAR *, const WCHAR *, DWORD)
 
static expression_tnew_binary_expression (parser_ctx_t *, expression_type_t, expression_t *, expression_t *)
 
static expression_tnew_unary_expression (parser_ctx_t *, expression_type_t, expression_t *)
 
static expression_tnew_conditional_expression (parser_ctx_t *, expression_t *, expression_t *, expression_t *)
 
static expression_tnew_member_expression (parser_ctx_t *, expression_t *, const WCHAR *)
 
static expression_tnew_new_expression (parser_ctx_t *, expression_t *, argument_list_t *)
 
static expression_tnew_call_expression (parser_ctx_t *, expression_t *, argument_list_t *)
 
static expression_tnew_identifier_expression (parser_ctx_t *, const WCHAR *)
 
static expression_tnew_literal_expression (parser_ctx_t *, literal_t *)
 
static expression_tnew_array_literal_expression (parser_ctx_t *, element_list_t *, int)
 
static expression_tnew_prop_and_value_expression (parser_ctx_t *, property_list_t *)
 
static source_elements_tnew_source_elements (parser_ctx_t *)
 
static source_elements_tsource_elements_add_statement (source_elements_t *, statement_t *)
 
int parser_parse (parser_ctx_t *ctx)
 
voidmalloc (YYSIZE_T)
 
void free (void *)
 
static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, parser_ctx_t *ctx)
 
int yyparse (parser_ctx_t *ctx)
 
static array_element_tnew_array_element (parser_ctx_t *ctx, int elision, expression_t *expr)
 
static argument_tnew_argument (parser_ctx_t *ctx, expression_t *expr)
 
static parameter_tnew_parameter (parser_ctx_t *ctx, const WCHAR *identifier)
 
void parser_release (parser_ctx_t *ctx)
 
HRESULT script_parse (script_ctx_t *ctx, const WCHAR *code, const WCHAR *delimiter, BOOL from_eval, parser_ctx_t **ret)
 

Variables

static const yytype_uint8 yytranslate []
 
static const yytype_int16 yypact []
 
static const yytype_uint8 yydefact []
 
static const yytype_int16 yypgoto []
 
static const yytype_int16 yydefgoto []
 
static const yytype_int16 yytable []
 
static const yytype_int16 yycheck []
 
static const yytype_uint8 yystos []
 
static const yytype_uint8 yyr1 []
 
static const yytype_uint8 yyr2 []
 

Macro Definition Documentation

◆ __attribute__

#define __attribute__ (   Spec)    /* empty */

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

◆ YY_

#define YY_ (   Msgid)    Msgid

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

◆ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

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

◆ YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_IGNORE_MAYBE_UNINITIALIZED_END

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

◆ YY_INITIAL_VALUE

#define YY_INITIAL_VALUE (   Value)    Value

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

◆ YY_NULL

#define YY_NULL   0

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

◆ YY_PARSER_E_REACTOSSYNC_GCC_DLL_WIN32_JSCRIPT_PARSER_TAB_H_INCLUDED

#define YY_PARSER_E_REACTOSSYNC_GCC_DLL_WIN32_JSCRIPT_PARSER_TAB_H_INCLUDED

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

◆ YY_REDUCE_PRINT

#define YY_REDUCE_PRINT (   Rule)

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

◆ YY_STACK_PRINT

#define YY_STACK_PRINT (   Bottom,
  Top 
)

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

◆ YY_SYMBOL_PRINT

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

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

◆ YYABORT

#define YYABORT   goto yyabortlab

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

◆ YYACCEPT

#define YYACCEPT   goto yyacceptlab

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

◆ YYBACKUP

#define YYBACKUP (   Token,
  Value 
)
Value:
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (ctx, YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (0)
_In_opt_ ULONG _Out_ PULONG Value
Definition: rtlfuncs.h:2327
#define YYEMPTY
Definition: parser.tab.c:1250
_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 YY_(Msgid)
Definition: parser.tab.c:373
if(!(yy_init))
Definition: macro.lex.yy.c:714
int yychar
Definition: parser.tab.c:2353

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

◆ YYBISON

#define YYBISON   1

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

◆ YYBISON_VERSION

#define YYBISON_VERSION   "3.0"

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

◆ yyclearin

#define yyclearin   (yychar = YYEMPTY)

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

◆ YYCOPY

#define YYCOPY (   Dst,
  Src,
  Count 
)
Value:
do \
{ \
YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
while (0)
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1015
#define Dst
Definition: mesh.h:153

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

◆ YYCOPY_NEEDED

#define YYCOPY_NEEDED   1

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

◆ yydebug

#define yydebug   parser_debug

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

◆ YYDEBUG

#define YYDEBUG   0

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

◆ YYDPRINTF

#define YYDPRINTF (   Args)

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

◆ YYEMPTY

#define YYEMPTY   (-2)

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

◆ YYEOF

#define YYEOF   0

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

◆ YYERRCODE

#define YYERRCODE   256

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

◆ yyerrok

#define yyerrok   (yyerrstatus = 0)

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

◆ yyerror

#define yyerror   parser_error

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

◆ YYERROR

#define YYERROR   goto yyerrorlab

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

◆ YYERROR_VERBOSE

#define YYERROR_VERBOSE   0

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

◆ YYFINAL

#define YYFINAL   3

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

◆ YYFREE

#define YYFREE   free

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

◆ YYINITDEPTH

#define YYINITDEPTH   200

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

◆ YYLAST

#define YYLAST   1393

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

◆ yylex

#define yylex   parser_lex

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

◆ YYMALLOC

#define YYMALLOC   malloc

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

◆ YYMAXDEPTH

#define YYMAXDEPTH   10000

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

◆ YYMAXUTOK

#define YYMAXUTOK   304

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

◆ yynerrs

#define yynerrs   parser_nerrs

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

◆ YYNNTS

#define YYNNTS   99

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

◆ YYNRULES

#define YYNRULES   254

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

◆ YYNSTATES

#define YYNSTATES   454

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

◆ YYNTOKENS

#define YYNTOKENS   72

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

◆ YYPACT_NINF

#define YYPACT_NINF   -361

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

◆ yypact_value_is_default

#define yypact_value_is_default (   Yystate)    (!!((Yystate) == (-361)))

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

◆ yyparse

#define yyparse   parser_parse

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

◆ YYPOPSTACK

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

◆ YYPULL

#define YYPULL   1

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

◆ YYPURE

#define YYPURE   1

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

◆ YYPUSH

#define YYPUSH   0

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

◆ YYRECOVERING

#define YYRECOVERING ( )    (!!yyerrstatus)

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

◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)

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

◆ YYSIZE_T

#define YYSIZE_T   size_t

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

◆ YYSKELETON_NAME

#define YYSKELETON_NAME   "yacc.c"

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

◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC   YYMALLOC

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

◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

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

◆ YYSTACK_BYTES

#define YYSTACK_BYTES (   N)
Value:
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
#define YYSTACK_GAP_MAXIMUM
Definition: parser.tab.c:492
short int yytype_int16
union YYSTYPE YYSTYPE
Definition: parser.tab.c:281

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

◆ YYSTACK_FREE

#define YYSTACK_FREE   YYFREE

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

◆ YYSTACK_GAP_MAXIMUM

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

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

◆ YYSTACK_RELOCATE

#define YYSTACK_RELOCATE (   Stack_alloc,
  Stack 
)
Value:
do \
{ \
YYSIZE_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
while (0)
#define YYSTACK_GAP_MAXIMUM
Definition: parser.tab.c:492

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

◆ YYSTYPE_IS_DECLARED

#define YYSTYPE_IS_DECLARED   1

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

◆ YYSTYPE_IS_TRIVIAL

#define YYSTYPE_IS_TRIVIAL   1

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

◆ YYTABLE_NINF

#define YYTABLE_NINF   -238

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

◆ yytable_value_is_error

#define yytable_value_is_error (   Yytable_value)    0

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

◆ YYTERROR

#define YYTERROR   1

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

◆ YYTOKENTYPE

#define YYTOKENTYPE

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

◆ YYTRANSLATE

#define YYTRANSLATE (   YYX)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

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

◆ YYUNDEFTOK

#define YYUNDEFTOK   2

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

◆ YYUSE

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

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

Typedef Documentation

◆ argument_list_t

◆ case_list_t

◆ element_list_t

◆ parameter_list_t

◆ property_list_t

◆ statement_list_t

◆ variable_list_t

◆ YYSTYPE

typedef union YYSTYPE YYSTYPE

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

◆ yytype_int16

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

◆ yytype_int8

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

◆ yytype_uint16

typedef unsigned short int yytype_uint16

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

◆ yytype_uint8

typedef unsigned char yytype_uint8

Definition at line 329 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 
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 
tEOF 
tNL 
tREM 
tEMPTYBRACKETS 
tTRUE 
tFALSE 
tNOT 
tAND 
tOR 
tXOR 
tEQV 
tIMP 
tNEQ 
tIS 
tLTEQ 
tGTEQ 
tMOD 
tCALL 
tDIM 
tSUB 
tFUNCTION 
tPROPERTY 
tGET 
tLET 
tCONST 
tIF 
tELSE 
tELSEIF 
tEND 
tTHEN 
tEXIT 
tWHILE 
tWEND 
tDO 
tLOOP 
tUNTIL 
tFOR 
tTO 
tSTEP 
tEACH 
tIN 
tSELECT 
tCASE 
tBYREF 
tBYVAL 
tOPTION 
tEXPLICIT 
tSTOP 
tNOTHING 
tEMPTY 
tNULL 
tCLASS 
tSET 
tNEW 
tPUBLIC 
tPRIVATE 
tDEFAULT 
tME 
tERROR 
tNEXT 
tON 
tRESUME 
tGOTO 
tIdentifier 
tString 
tLong 
tShort 
tDouble 
tEOF 
tNL 
tREM 
tEMPTYBRACKETS 
tTRUE 
tFALSE 
tNOT 
tAND 
tOR 
tXOR 
tEQV 
tIMP 
tNEQ 
tIS 
tLTEQ 
tGTEQ 
tMOD 
tCALL 
tDIM 
tSUB 
tFUNCTION 
tPROPERTY 
tGET 
tLET 
tCONST 
tIF 
tELSE 
tELSEIF 
tEND 
tTHEN 
tEXIT 
tWHILE 
tWEND 
tDO 
tLOOP 
tUNTIL 
tFOR 
tTO 
tSTEP 
tEACH 
tIN 
tSELECT 
tCASE 
tBYREF 
tBYVAL 
tOPTION 
tEXPLICIT 
tSTOP 
tNOTHING 
tEMPTY 
tNULL 
tCLASS 
tSET 
tNEW 
tPUBLIC 
tPRIVATE 
tDEFAULT 
tME 
tERROR 
tNEXT 
tON 
tRESUME 
tGOTO 
tIdentifier 
tString 
tLong 
tShort 
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_STRING 
TK_ID 
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_STRING 
TK_ID 
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 
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 
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 
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 
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 
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 
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 227 of file parser.tab.c.

228  {
229  kBREAK = 258,
230  kCASE = 259,
231  kCATCH = 260,
232  kCONTINUE = 261,
233  kDEFAULT = 262,
234  kDELETE = 263,
235  kDO = 264,
236  kELSE = 265,
237  kFUNCTION = 266,
238  kIF = 267,
239  kFINALLY = 268,
240  kFOR = 269,
241  kGET = 270,
242  kIN = 271,
243  kSET = 272,
244  kINSTANCEOF = 273,
245  kNEW = 274,
246  kNULL = 275,
247  kRETURN = 276,
248  kSWITCH = 277,
249  kTHIS = 278,
250  kTHROW = 279,
251  kTRUE = 280,
252  kFALSE = 281,
253  kTRY = 282,
254  kTYPEOF = 283,
255  kVAR = 284,
256  kVOID = 285,
257  kWHILE = 286,
258  kWITH = 287,
259  tANDAND = 288,
260  tOROR = 289,
261  tINC = 290,
262  tDEC = 291,
263  tHTMLCOMMENT = 292,
264  kDIVEQ = 293,
265  kDCOL = 294,
266  tIdentifier = 295,
267  tAssignOper = 296,
268  tEqOper = 297,
269  tShiftOper = 298,
270  tRelOper = 299,
271  tNumericLiteral = 300,
272  tBooleanLiteral = 301,
273  tStringLiteral = 302,
274  tEOF = 303,
275  LOWER_THAN_ELSE = 304
276  };

Function Documentation

◆ allow_auto_semicolon()

static BOOL allow_auto_semicolon ( parser_ctx_t ctx)
static

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

3674 {
3675  return ctx->nl || ctx->ptr == ctx->end || *(ctx->ptr-1) == '}';
3676 }
const WCHAR * ptr
Definition: parse.h:256
const WCHAR * end
Definition: parse.h:257

Referenced by yyparse().

◆ argument_list_add()

static argument_list_t * argument_list_add ( parser_ctx_t ctx,
argument_list_t list,
expression_t expr 
)
static

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

3784 {
3785  list->tail = list->tail->next = new_argument(ctx, expr);
3786 
3787  return list;
3788 }
static argument_t * new_argument(parser_ctx_t *ctx, expression_t *expr)
Definition: parser.tab.c:3764
Definition: query.h:86
struct list * next
Definition: list.h:38
Definition: _list.h:228
#define list
Definition: rosglue.h:35

Referenced by yyparse().

◆ case_list_add()

static case_list_t * case_list_add ( parser_ctx_t ctx,
case_list_t list,
case_clausule_t case_clausule 
)
static

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

3821 {
3822  list->tail = list->tail->next = case_clausule;
3823 
3824  return list;
3825 }
struct list * next
Definition: list.h:38
Definition: _list.h:228
#define list
Definition: rosglue.h:35

Referenced by yyparse().

◆ element_list_add()

static element_list_t * element_list_add ( parser_ctx_t ctx,
element_list_t list,
int  elision,
expression_t expr 
)
static

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

3758 {
3759  list->tail = list->tail->next = new_array_element(ctx, elision, expr);
3760 
3761  return list;
3762 }
Definition: query.h:86
static array_element_t * new_array_element(parser_ctx_t *ctx, int elision, expression_t *expr)
Definition: parser.tab.c:3737
struct list * next
Definition: list.h:38
Definition: _list.h:228
#define list
Definition: rosglue.h:35

Referenced by yyparse().

◆ explicit_error()

static BOOL explicit_error ( parser_ctx_t ctx,
void obj,
WCHAR  next 
)
static

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

4243 {
4244  if(obj || *(ctx->ptr-1)==next) return TRUE;
4245 
4246  set_error(ctx, JS_E_SYNTAX);
4247  return FALSE;
4248 }
#define TRUE
Definition: types.h:120
const WCHAR * ptr
Definition: parse.h:256
static unsigned __int64 next
Definition: rand_nt.c:6
#define JS_E_SYNTAX
Definition: jscript.h:537
static void set_error(parser_ctx_t *, UINT)
Definition: parser.tab.c:4237

Referenced by yyparse().

◆ free()

void free ( void )

Definition at line 147 of file cabinet.c.

148 {
150 }
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
Definition: heap.c:603
static PVOID ptr
Definition: dispmode.c:27
HANDLE ProcessHeap
Definition: servman.c:15

Referenced by check_remoting_args(), find_type_or_error2(), fix_incomplete(), fix_incomplete_types(), get_type(), make_decl_spec(), make_statement_typedef(), set_var_types(), and yyparse().

◆ malloc()

void* malloc ( YYSIZE_T  )

◆ new_argument()

static argument_t* new_argument ( parser_ctx_t ctx,
expression_t expr 
)
static

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

3765 {
3766  argument_t *ret = parser_alloc(ctx, sizeof(argument_t));
3767 
3768  ret->expr = expr;
3769  ret->next = NULL;
3770 
3771  return ret;
3772 }
LOCAL int expr(arg_t *ap, int *altp)
Definition: match.c:512
smooth NULL
Definition: ftsmooth.c:416
void * parser_alloc(parser_ctx_t *ctx, size_t size)
Definition: parser.tab.c:3405
int ret

Referenced by argument_list_add(), and new_argument_list().

◆ new_argument_list()

static argument_list_t * new_argument_list ( parser_ctx_t ctx,
expression_t expr 
)
static

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

3775 {
3777 
3778  ret->head = ret->tail = new_argument(ctx, expr);
3779 
3780  return ret;
3781 }
static argument_t * new_argument(parser_ctx_t *ctx, expression_t *expr)
Definition: parser.tab.c:3764
Definition: query.h:86
int ret
static void * parser_alloc_tmp(parser_ctx_t *ctx, DWORD size)
Definition: parser.h:62

Referenced by yyparse().

◆ new_array_element()

static array_element_t* new_array_element ( parser_ctx_t ctx,
int  elision,
expression_t expr 
)
static

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

3738 {
3740 
3741  ret->elision = elision;
3742  ret->expr = expr;
3743  ret->next = NULL;
3744 
3745  return ret;
3746 }
LOCAL int expr(arg_t *ap, int *altp)
Definition: match.c:512
smooth NULL
Definition: ftsmooth.c:416
void * parser_alloc(parser_ctx_t *ctx, size_t size)
Definition: parser.tab.c:3405
int ret

Referenced by element_list_add(), and new_element_list().

◆ new_array_literal_expression()

static expression_t * new_array_literal_expression ( parser_ctx_t ctx,
element_list_t element_list,
int  length 
)
static

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

4261 {
4263 
4264  ret->element_list = element_list ? element_list->head : NULL;
4265  ret->length = length;
4266 
4267  return &ret->expr;
4268 }
static void * new_expression(parser_ctx_t *ctx, expression_type_t, size_t)
Definition: parser.tab.c:4161
smooth NULL
Definition: ftsmooth.c:416
GLenum GLuint GLenum GLsizei length
Definition: glext.h:5579
int ret
array_element_t * head
Definition: parser.tab.c:107

Referenced by yyparse().

◆ new_binary_expression()

static expression_t * new_binary_expression ( parser_ctx_t ctx,
expression_type_t  type,
expression_t expression1,
expression_t expression2 
)
static

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

4172 {
4173  binary_expression_t *ret = new_expression(ctx, type, sizeof(*ret));
4174 
4175  ret->expression1 = expression1;
4176  ret->expression2 = expression2;
4177 
4178  return &ret->expr;
4179 }
static void * new_expression(parser_ctx_t *ctx, expression_type_t, size_t)
Definition: parser.tab.c:4161
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
int ret

Referenced by yyparse().

◆ new_block_statement()

static statement_t * new_block_statement ( parser_ctx_t ctx,
statement_list_t list 
)
static

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

3878 {
3880 
3881  ret = new_statement(ctx, STAT_BLOCK, sizeof(*ret));
3882  if(!ret)
3883  return NULL;
3884 
3885  ret->stat_list = list ? list->head : NULL;
3886 
3887  return &ret->stat;
3888 }
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
int ret
Definition: _list.h:228

Referenced by yyparse().

◆ new_break_statement()

static statement_t * new_break_statement ( parser_ctx_t ctx,
const WCHAR identifier 
)
static

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

4023 {
4025 
4026  ret = new_statement(ctx, STAT_BREAK, sizeof(*ret));
4027  if(!ret)
4028  return NULL;
4029 
4030  ret->identifier = identifier;
4031 
4032  return &ret->stat;
4033 }
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
int ret

Referenced by yyparse().

◆ new_call_expression()

static expression_t * new_call_expression ( parser_ctx_t ctx,
expression_t expression,
argument_list_t argument_list 
)
static

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

4223 {
4224  call_expression_t *ret = new_expression(ctx, EXPR_CALL, sizeof(*ret));
4225 
4226  ret->expression = expression;
4227  ret->argument_list = argument_list ? argument_list->head : NULL;
4228 
4229  return &ret->expr;
4230 }
static void * new_expression(parser_ctx_t *ctx, expression_type_t, size_t)
Definition: parser.tab.c:4161
smooth NULL
Definition: ftsmooth.c:416
int ret
argument_t * head
Definition: parser.tab.c:115

Referenced by yyparse().

◆ new_case_block()

static case_clausule_t * new_case_block ( parser_ctx_t ctx,
case_list_t case_list1,
case_clausule_t default_clausule,
case_list_t case_list2 
)
static

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

3829 {
3830  case_clausule_t *ret = NULL, *iter = NULL, *iter2;
3831  statement_t *stat = NULL;
3832 
3833  if(case_list1) {
3834  ret = case_list1->head;
3835  iter = case_list1->tail;
3836  }
3837 
3838  if(default_clausule) {
3839  if(ret)
3840  iter = iter->next = default_clausule;
3841  else
3842  ret = iter = default_clausule;
3843  }
3844 
3845  if(case_list2) {
3846  if(ret)
3847  iter->next = case_list2->head;
3848  else
3849  ret = case_list2->head;
3850  }
3851 
3852  if(!ret)
3853  return NULL;
3854 
3855  for(iter = ret; iter; iter = iter->next) {
3856  for(iter2 = iter; iter2 && !iter2->stat; iter2 = iter2->next);
3857  if(!iter2)
3858  break;
3859 
3860  while(iter != iter2) {
3861  iter->stat = iter2->stat;
3862  iter = iter->next;
3863  }
3864 
3865  if(stat) {
3866  while(stat->next)
3867  stat = stat->next;
3868  stat->next = iter->stat;
3869  }else {
3870  stat = iter->stat;
3871  }
3872  }
3873 
3874  return ret;
3875 }
case_clausule_t * head
Definition: parser.tab.c:123
smooth NULL
Definition: ftsmooth.c:416
struct _case_clausule_t * next
Definition: parser.h:195
case_clausule_t * tail
Definition: parser.tab.c:124
int ret
Definition: stat.h:55

Referenced by yyparse().

◆ new_case_clausule()

static case_clausule_t * new_case_clausule ( parser_ctx_t ctx,
expression_t expr,
statement_list_t stat_list 
)
static

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

3801 {
3803 
3804  ret->expr = expr;
3805  ret->stat = stat_list ? stat_list->head : NULL;
3806  ret->next = NULL;
3807 
3808  return ret;
3809 }
LOCAL int expr(arg_t *ap, int *altp)
Definition: match.c:512
statement_t * head
Definition: parser.tab.c:161
smooth NULL
Definition: ftsmooth.c:416
void * parser_alloc(parser_ctx_t *ctx, size_t size)
Definition: parser.tab.c:3405
int ret

Referenced by yyparse().

◆ new_case_list()

static case_list_t * new_case_list ( parser_ctx_t ctx,
case_clausule_t case_clausule 
)
static

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

3812 {
3813  case_list_t *ret = parser_alloc_tmp(ctx, sizeof(case_list_t));
3814 
3815  ret->head = ret->tail = case_clausule;
3816 
3817  return ret;
3818 }
int ret
static void * parser_alloc_tmp(parser_ctx_t *ctx, DWORD size)
Definition: parser.h:62

Referenced by yyparse().

◆ new_catch_block()

static catch_block_t * new_catch_block ( parser_ctx_t ctx,
const WCHAR identifier,
statement_t statement 
)
static

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

3791 {
3792  catch_block_t *ret = parser_alloc(ctx, sizeof(catch_block_t));
3793 
3794  ret->identifier = identifier;
3795  ret->statement = statement;
3796 
3797  return ret;
3798 }
void * parser_alloc(parser_ctx_t *ctx, size_t size)
Definition: parser.tab.c:3405
int ret

Referenced by yyparse().

◆ new_conditional_expression()

static expression_t * new_conditional_expression ( parser_ctx_t ctx,
expression_t expression,
expression_t true_expression,
expression_t false_expression 
)
static

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

4192 {
4194 
4195  ret->expression = expression;
4196  ret->true_expression = true_expression;
4197  ret->false_expression = false_expression;
4198 
4199  return &ret->expr;
4200 }
static void * new_expression(parser_ctx_t *ctx, expression_type_t, size_t)
Definition: parser.tab.c:4161
int ret

Referenced by yyparse().

◆ new_continue_statement()

static statement_t * new_continue_statement ( parser_ctx_t ctx,
const WCHAR identifier 
)
static

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

4010 {
4012 
4013  ret = new_statement(ctx, STAT_CONTINUE, sizeof(*ret));
4014  if(!ret)
4015  return NULL;
4016 
4017  ret->identifier = identifier;
4018 
4019  return &ret->stat;
4020 }
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
int ret

Referenced by yyparse().

◆ new_element_list()

static element_list_t * new_element_list ( parser_ctx_t ctx,
int  elision,
expression_t expr 
)
static

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

3749 {
3751 
3752  ret->head = ret->tail = new_array_element(ctx, elision, expr);
3753 
3754  return ret;
3755 }
Definition: query.h:86
static array_element_t * new_array_element(parser_ctx_t *ctx, int elision, expression_t *expr)
Definition: parser.tab.c:3737
int ret
static void * parser_alloc_tmp(parser_ctx_t *ctx, DWORD size)
Definition: parser.h:62

Referenced by yyparse().

◆ new_expression()

static void * new_expression ( parser_ctx_t ctx,
expression_type_t  type,
size_t  size 
)
static

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

4162 {
4163  expression_t *ret = parser_alloc(ctx, size ? size : sizeof(*ret));
4164 
4165  ret->type = type;
4166 
4167  return ret;
4168 }
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
void * parser_alloc(parser_ctx_t *ctx, size_t size)
Definition: parser.tab.c:3405
GLsizeiptr size
Definition: glext.h:5919
int ret

Referenced by new_array_literal_expression(), new_binary_expression(), new_call_expression(), new_conditional_expression(), new_function_expression(), new_identifier_expression(), new_literal_expression(), new_member_expression(), new_new_expression(), new_prop_and_value_expression(), new_unary_expression(), and yyparse().

◆ new_expression_statement()

static statement_t * new_expression_statement ( parser_ctx_t ctx,
expression_t expr 
)
static

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

3932 {
3934 
3935  ret = new_statement(ctx, STAT_EXPR, sizeof(*ret));
3936  if(!ret)
3937  return NULL;
3938 
3939  ret->expr = expr;
3940 
3941  return &ret->stat;
3942 }
LOCAL int expr(arg_t *ap, int *altp)
Definition: match.c:512
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
int ret

Referenced by yyparse().

◆ new_for_statement()

static statement_t * new_for_statement ( parser_ctx_t ctx,
variable_list_t variable_list,
expression_t begin_expr,
expression_t expr,
expression_t end_expr,
statement_t statement 
)
static

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

3976 {
3978 
3979  ret = new_statement(ctx, STAT_FOR, sizeof(*ret));
3980  if(!ret)
3981  return NULL;
3982 
3983  ret->variable_list = variable_list ? variable_list->head : NULL;
3984  ret->begin_expr = begin_expr;
3985  ret->expr = expr;
3986  ret->end_expr = end_expr;
3987  ret->statement = statement;
3988 
3989  return &ret->stat;
3990 }
LOCAL int expr(arg_t *ap, int *altp)
Definition: match.c:512
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
int ret
variable_declaration_t * head
Definition: parser.tab.c:134

Referenced by yyparse().

◆ new_forin_statement()

static statement_t * new_forin_statement ( parser_ctx_t ctx,
variable_declaration_t variable,
expression_t expr,
expression_t in_expr,
statement_t statement 
)
static

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

3994 {
3996 
3997  ret = new_statement(ctx, STAT_FORIN, sizeof(*ret));
3998  if(!ret)
3999  return NULL;
4000 
4001  ret->variable = variable;
4002  ret->expr = expr;
4003  ret->in_expr = in_expr;
4004  ret->statement = statement;
4005 
4006  return &ret->stat;
4007 }
LOCAL int expr(arg_t *ap, int *altp)
Definition: match.c:512
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
GLenum GLenum variable
Definition: glext.h:9031
int ret

Referenced by yyparse().

◆ new_function_expression()

static expression_t * new_function_expression ( parser_ctx_t ctx,
const WCHAR identifier,
parameter_list_t parameter_list,
source_elements_t source_elements,
const WCHAR event_target,
const WCHAR src_str,
DWORD  src_len 
)
static

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

4147 {
4149 
4150  ret->identifier = identifier;
4151  ret->parameter_list = parameter_list ? parameter_list->head : NULL;
4152  ret->source_elements = source_elements;
4153  ret->event_target = event_target;
4154  ret->src_str = src_str;
4155  ret->src_len = src_len;
4156  ret->next = NULL;
4157 
4158  return &ret->expr;
4159 }
static void * new_expression(parser_ctx_t *ctx, expression_type_t, size_t)
Definition: parser.tab.c:4161
parameter_t * head
Definition: parser.tab.c:169
smooth NULL
Definition: ftsmooth.c:416
int ret

Referenced by yyparse().

◆ new_identifier_expression()

static expression_t * new_identifier_expression ( parser_ctx_t ctx,
const WCHAR identifier 
)
static

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

4252 {
4254 
4255  ret->identifier = identifier;
4256 
4257  return &ret->expr;
4258 }
static void * new_expression(parser_ctx_t *ctx, expression_type_t, size_t)
Definition: parser.tab.c:4161
int ret

Referenced by yyparse().

◆ new_if_statement()

static statement_t * new_if_statement ( parser_ctx_t ctx,
expression_t expr,
statement_t if_stat,
statement_t else_stat 
)
static

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

3945 {
3947 
3948  ret = new_statement(ctx, STAT_IF, sizeof(*ret));
3949  if(!ret)
3950  return NULL;
3951 
3952  ret->expr = expr;
3953  ret->if_stat = if_stat;
3954  ret->else_stat = else_stat;
3955 
3956  return &ret->stat;
3957 }
LOCAL int expr(arg_t *ap, int *altp)
Definition: match.c:512
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
int ret

Referenced by yyparse().

◆ new_labelled_statement()

static statement_t * new_labelled_statement ( parser_ctx_t ctx,
const WCHAR identifier,
statement_t statement 
)
static

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

4063 {
4065 
4066  ret = new_statement(ctx, STAT_LABEL, sizeof(*ret));
4067  if(!ret)
4068  return NULL;
4069 
4070  ret->identifier = identifier;
4071  ret->statement = statement;
4072 
4073  return &ret->stat;
4074 }
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
int ret

Referenced by yyparse().

◆ new_literal_expression()

static expression_t * new_literal_expression ( parser_ctx_t ctx,
literal_t literal 
)
static

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

4280 {
4282 
4283  ret->literal = literal;
4284 
4285  return &ret->expr;
4286 }
static void * new_expression(parser_ctx_t *ctx, expression_type_t, size_t)
Definition: parser.tab.c:4161
int ret

Referenced by yyparse().

◆ new_member_expression()

static expression_t * new_member_expression ( parser_ctx_t ctx,
expression_t expression,
const WCHAR identifier 
)
static

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

4203 {
4205 
4206  ret->expression = expression;
4207  ret->identifier = identifier;
4208 
4209  return &ret->expr;
4210 }
static void * new_expression(parser_ctx_t *ctx, expression_type_t, size_t)
Definition: parser.tab.c:4161
int ret

Referenced by yyparse().

◆ new_new_expression()

static expression_t * new_new_expression ( parser_ctx_t ctx,
expression_t expression,
argument_list_t argument_list 
)
static

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

4213 {
4214  call_expression_t *ret = new_expression(ctx, EXPR_NEW, sizeof(*ret));
4215 
4216  ret->expression = expression;
4217  ret->argument_list = argument_list ? argument_list->head : NULL;
4218 
4219  return &ret->expr;
4220 }
static void * new_expression(parser_ctx_t *ctx, expression_type_t, size_t)
Definition: parser.tab.c:4161
smooth NULL
Definition: ftsmooth.c:416
int ret
argument_t * head
Definition: parser.tab.c:115

Referenced by yyparse().

◆ new_null_literal()

static literal_t * new_null_literal ( parser_ctx_t ctx)
static

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

3703 {
3704  literal_t *ret = parser_alloc(ctx, sizeof(literal_t));
3705 
3706  ret->type = LT_NULL;
3707 
3708  return ret;
3709 }
Definition: parser.h:75
void * parser_alloc(parser_ctx_t *ctx, size_t size)
Definition: parser.tab.c:3405
int ret

Referenced by yyparse().

◆ new_parameter()

static parameter_t* new_parameter ( parser_ctx_t ctx,
const WCHAR identifier 
)
static

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

4120 {
4121  parameter_t *ret = parser_alloc(ctx, sizeof(parameter_t));
4122 
4123  ret->identifier = identifier;
4124  ret->next = NULL;
4125 
4126  return ret;
4127 }
smooth NULL
Definition: ftsmooth.c:416
void * parser_alloc(parser_ctx_t *ctx, size_t size)
Definition: parser.tab.c:3405
int ret

Referenced by new_parameter_list(), and parameter_list_add().

◆ new_parameter_list()

static parameter_list_t * new_parameter_list ( parser_ctx_t ctx,
const WCHAR identifier 
)
static

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

4130 {
4132 
4133  ret->head = ret->tail = new_parameter(ctx, identifier);
4134 
4135  return ret;
4136 }
static parameter_t * new_parameter(parser_ctx_t *ctx, const WCHAR *identifier)
Definition: parser.tab.c:4119
int ret
static void * parser_alloc_tmp(parser_ctx_t *ctx, DWORD size)
Definition: parser.h:62

Referenced by yyparse().

◆ new_prop_and_value_expression()

static expression_t * new_prop_and_value_expression ( parser_ctx_t ctx,
property_list_t property_list 
)
static

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

4271 {
4273 
4274  ret->property_list = property_list ? property_list->head : NULL;
4275 
4276  return &ret->expr;
4277 }
static void * new_expression(parser_ctx_t *ctx, expression_type_t, size_t)
Definition: parser.tab.c:4161
smooth NULL
Definition: ftsmooth.c:416
property_definition_t * head
Definition: parser.tab.c:97
int ret

Referenced by yyparse().

◆ new_property_definition()

static property_definition_t * new_property_definition ( parser_ctx_t ctx,
property_definition_type_t  type,
literal_t name,
expression_t value 
)
static

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

3713 {
3715 
3716  ret->type = type;
3717  ret->name = name;
3718  ret->value = value;
3719  ret->next = NULL;
3720 
3721  return ret;
3722 }
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
smooth NULL
Definition: ftsmooth.c:416
void * parser_alloc(parser_ctx_t *ctx, size_t size)
Definition: parser.tab.c:3405
int ret
GLsizei const GLfloat * value
Definition: glext.h:6069
GLuint const GLchar * name
Definition: glext.h:6031

Referenced by yyparse().

◆ new_property_list()

static property_list_t * new_property_list ( parser_ctx_t ctx,
property_definition_t prop 
)
static

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

3725 {
3727  ret->head = ret->tail = prop;
3728  return ret;
3729 }
int ret
static void * parser_alloc_tmp(parser_ctx_t *ctx, DWORD size)
Definition: parser.h:62

Referenced by yyparse().

◆ new_return_statement()

static statement_t * new_return_statement ( parser_ctx_t ctx,
expression_t expr 
)
static

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

4036 {
4038 
4039  ret = new_statement(ctx, STAT_RETURN, sizeof(*ret));
4040  if(!ret)
4041  return NULL;
4042 
4043  ret->expr = expr;
4044 
4045  return &ret->stat;
4046 }
LOCAL int expr(arg_t *ap, int *altp)
Definition: match.c:512
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
int ret

Referenced by yyparse().

◆ new_source_elements()

static source_elements_t * new_source_elements ( parser_ctx_t ctx)
static

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

4289 {
4291 
4292  memset(ret, 0, sizeof(*ret));
4293 
4294  return ret;
4295 }
void * parser_alloc(parser_ctx_t *ctx, size_t size)
Definition: parser.tab.c:3405
int ret
#define memset(x, y, z)
Definition: compat.h:39

Referenced by yyparse().

◆ new_statement()

static void * new_statement ( parser_ctx_t ctx,
statement_type_t  type,
size_t  size 
)
static

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

3679 {
3680  statement_t *stat;
3681 
3682  stat = parser_alloc(ctx, size ? size : sizeof(*stat));
3683  if(!stat)
3684  return NULL;
3685 
3686  stat->type = type;
3687  stat->next = NULL;
3688 
3689  return stat;
3690 }
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
smooth NULL
Definition: ftsmooth.c:416
void * parser_alloc(parser_ctx_t *ctx, size_t size)
Definition: parser.tab.c:3405
GLsizeiptr size
Definition: glext.h:5919
Definition: stat.h:55
_CRTIMP int __cdecl stat(const char *_Filename, struct stat *_Stat)
Definition: stat.h:345

Referenced by new_block_statement(), new_break_statement(), new_continue_statement(), new_expression_statement(), new_for_statement(), new_forin_statement(), new_if_statement(), new_labelled_statement(), new_return_statement(), new_switch_statement(), new_throw_statement(), new_try_statement(), new_var_statement(), new_while_statement(), new_with_statement(), and yyparse().

◆ new_statement_list()

static statement_list_t * new_statement_list ( parser_ctx_t ctx,
statement_t statement 
)
static

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

4308 {
4310 
4311  ret->head = ret->tail = statement;
4312 
4313  return ret;
4314 }
int ret
static void * parser_alloc_tmp(parser_ctx_t *ctx, DWORD size)
Definition: parser.h:62

Referenced by yyparse().

◆ new_string_literal()

static literal_t * new_string_literal ( parser_ctx_t ctx,
const WCHAR str 
)
static

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

3693 {
3694  literal_t *ret = parser_alloc(ctx, sizeof(literal_t));
3695 
3696  ret->type = LT_STRING;
3697  ret->u.wstr = str;
3698 
3699  return ret;
3700 }
const WCHAR * str
void * parser_alloc(parser_ctx_t *ctx, size_t size)
Definition: parser.tab.c:3405
int ret

Referenced by yyparse().

◆ new_switch_statement()

static statement_t * new_switch_statement ( parser_ctx_t ctx,
expression_t expr,
case_clausule_t case_list 
)
static

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

4077 {
4079 
4080  ret = new_statement(ctx, STAT_SWITCH, sizeof(*ret));
4081  if(!ret)
4082  return NULL;
4083 
4084  ret->expr = expr;
4085  ret->case_list = case_list;
4086 
4087  return &ret->stat;
4088 }
LOCAL int expr(arg_t *ap, int *altp)
Definition: match.c:512
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
int ret

Referenced by yyparse().

◆ new_throw_statement()

static statement_t * new_throw_statement ( parser_ctx_t ctx,
expression_t expr 
)
static

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

4091 {
4093 
4094  ret = new_statement(ctx, STAT_THROW, sizeof(*ret));
4095  if(!ret)
4096  return NULL;
4097 
4098  ret->expr = expr;
4099 
4100  return &ret->stat;
4101 }
LOCAL int expr(arg_t *ap, int *altp)
Definition: match.c:512
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
int ret

Referenced by yyparse().

◆ new_try_statement()

static statement_t * new_try_statement ( parser_ctx_t ctx,
statement_t try_statement,
catch_block_t catch_block,
statement_t finally_statement 
)
static

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

4105 {
4107 
4108  ret = new_statement(ctx, STAT_TRY, sizeof(*ret));
4109  if(!ret)
4110  return NULL;
4111 
4112  ret->try_statement = try_statement;
4113  ret->catch_block = catch_block;
4114  ret->finally_statement = finally_statement;
4115 
4116  return &ret->stat;
4117 }
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
int ret

Referenced by yyparse().

◆ new_unary_expression()

static expression_t * new_unary_expression ( parser_ctx_t ctx,
expression_type_t  type,
expression_t expression 
)
static

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

4182 {
4183  unary_expression_t *ret = new_expression(ctx, type, sizeof(*ret));
4184 
4185  ret->expression = expression;
4186 
4187  return &ret->expr;
4188 }
static void * new_expression(parser_ctx_t *ctx, expression_type_t, size_t)
Definition: parser.tab.c:4161
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
int ret

Referenced by yyparse().

◆ new_var_statement()

static statement_t * new_var_statement ( parser_ctx_t ctx,
variable_list_t variable_list 
)
static

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

3919 {
3921 
3922  ret = new_statement(ctx, STAT_VAR, sizeof(*ret));
3923  if(!ret)
3924  return NULL;
3925 
3926  ret->variable_list = variable_list->head;
3927 
3928  return &ret->stat;
3929 }
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
int ret
variable_declaration_t * head
Definition: parser.tab.c:134

Referenced by yyparse().

◆ new_variable_declaration()

static variable_declaration_t * new_variable_declaration ( parser_ctx_t ctx,
const WCHAR identifier,
expression_t expr 
)
static

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

3891 {
3893 
3894  ret->identifier = identifier;
3895  ret->expr = expr;
3896  ret->next = NULL;
3897  ret->global_next = NULL;
3898 
3899  return ret;
3900 }
LOCAL int expr(arg_t *ap, int *altp)
Definition: match.c:512
smooth NULL
Definition: ftsmooth.c:416
void * parser_alloc(parser_ctx_t *ctx, size_t size)
Definition: parser.tab.c:3405
int ret

Referenced by yyparse().

◆ new_variable_list()

static variable_list_t * new_variable_list ( parser_ctx_t ctx,
variable_declaration_t decl 
)
static

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

3903 {
3905 
3906  ret->head = ret->tail = decl;
3907 
3908  return ret;
3909 }
int ret
static void * parser_alloc_tmp(parser_ctx_t *ctx, DWORD size)
Definition: parser.h:62

Referenced by yyparse().

◆ new_while_statement()

static statement_t * new_while_statement ( parser_ctx_t ctx,
BOOL  dowhile,
expression_t expr,
statement_t stat 
)
static

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

3960 {
3962 
3963  ret = new_statement(ctx, STAT_WHILE, sizeof(*ret));
3964  if(!ret)
3965  return NULL;
3966 
3967  ret->do_while = dowhile;
3968  ret->expr = expr;
3969  ret->statement = stat;
3970 
3971  return &ret->stat;
3972 }
LOCAL int expr(arg_t *ap, int *altp)
Definition: match.c:512
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
int ret
_CRTIMP int __cdecl stat(const char *_Filename, struct stat *_Stat)
Definition: stat.h:345

Referenced by yyparse().

◆ new_with_statement()

static statement_t * new_with_statement ( parser_ctx_t ctx,
expression_t expr,
statement_t statement 
)
static

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

4049 {
4051 
4052  ret = new_statement(ctx, STAT_WITH, sizeof(*ret));
4053  if(!ret)
4054  return NULL;
4055 
4056  ret->expr = expr;
4057  ret->statement = statement;
4058 
4059  return &ret->stat;
4060 }
LOCAL int expr(arg_t *ap, int *altp)
Definition: match.c:512
static void * new_statement(parser_ctx_t *, statement_type_t, size_t)
Definition: parser.tab.c:3678
smooth NULL
Definition: ftsmooth.c:416
int ret

Referenced by yyparse().

◆ parameter_list_add()

static parameter_list_t * parameter_list_add ( parser_ctx_t ctx,
parameter_list_t list,
const WCHAR identifier 
)
static

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

4139 {
4140  list->tail = list->tail->next = new_parameter(ctx, identifier);
4141 
4142  return list;
4143 }
static parameter_t * new_parameter(parser_ctx_t *ctx, const WCHAR *identifier)
Definition: parser.tab.c:4119
struct list * next
Definition: list.h:38
Definition: _list.h:228
#define list
Definition: rosglue.h:35

Referenced by yyparse().

◆ parser_error()

static int parser_error ( parser_ctx_t ctx,
const char str 
)
static

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

4233 {
4234  return 0;
4235 }

◆ parser_parse()

int parser_parse ( parser_ctx_t ctx)

Referenced by main(), parse_script(), and script_parse().

◆ parser_release()

void parser_release ( parser_ctx_t ctx)

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

4331 {
4332  script_release(ctx->script);
4333  heap_pool_free(&ctx->heap);
4334  heap_free(ctx);
4335 }
void script_release(script_ctx_t *ctx)
Definition: jscript.c:67
heap_pool_t heap
Definition: parse.h:271
void heap_pool_free(heap_pool_t *) DECLSPEC_HIDDEN
Definition: jsutils.c:167
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

Referenced by script_parse().

◆ program_parsed()

static void program_parsed ( parser_ctx_t ctx,
source_elements_t source 
)
static

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

4324 {
4325  ctx->source = source;
4326  if(!ctx->lexer_error)
4327  ctx->hres = S_OK;
4328 }
#define S_OK
Definition: intsafe.h:59
GLsizei GLsizei GLchar * source
Definition: glext.h:6048
HRESULT hres
Definition: parse.h:262

Referenced by yyparse().

◆ property_list_add()

static property_list_t * property_list_add ( parser_ctx_t ctx,
property_list_t list,
property_definition_t prop 
)
static

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

3732 {
3733  list->tail = list->tail->next = prop;
3734  return list;
3735 }
struct list * next
Definition: list.h:38
Definition: _list.h:228
#define list
Definition: rosglue.h:35

Referenced by yyparse().

◆ script_parse()

HRESULT script_parse ( script_ctx_t ctx,
const WCHAR code,
const WCHAR delimiter,
BOOL  from_eval,
parser_ctx_t **  ret 
)

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

4339 {
4340  parser_ctx_t *parser_ctx;
4341  heap_pool_t *mark;
4342  HRESULT hres;
4343 
4344  const WCHAR html_tagW[] = {'<','/','s','c','r','i','p','t','>',0};
4345 
4346  parser_ctx = heap_alloc_zero(sizeof(parser_ctx_t));
4347  if(!parser_ctx)
4348  return E_OUTOFMEMORY;
4349 
4350  parser_ctx->hres = JS_E_SYNTAX;
4351  parser_ctx->is_html = delimiter && !strcmpiW(delimiter, html_tagW);
4352 
4353  parser_ctx->begin = parser_ctx->ptr = code;
4354  parser_ctx->end = parser_ctx->begin + strlenW(parser_ctx->begin);
4355 
4356  script_addref(ctx);
4357  parser_ctx->script = ctx;
4358 
4359  mark = heap_pool_mark(&ctx->tmp_heap);
4360  heap_pool_init(&parser_ctx->heap);
4361 
4362  parser_parse(parser_ctx);
4363  heap_pool_clear(mark);
4364  hres = parser_ctx->hres;
4365  if(FAILED(hres)) {
4366  WARN("parser failed around %s\n",
4367  debugstr_w(parser_ctx->begin+20 > parser_ctx->ptr ? parser_ctx->begin : parser_ctx->ptr-20));
4368  parser_release(parser_ctx);
4369  return hres;
4370  }
4371 
4372  *ret = parser_ctx;
4373  return S_OK;
4374 }
WINE_UNICODE_INLINE unsigned int strlenW(const WCHAR *str)
Definition: unicode.h:212
#define WARN(fmt,...)
Definition: debug.h:111
void parser_release(parser_ctx_t *ctx)
Definition: parser.tab.c:4330
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
int parser_parse(parser_ctx_t *ctx)
#define debugstr_w
Definition: kernel32.h:32
const WCHAR * ptr
Definition: parse.h:256
const char * delimiter
Definition: string.c:1523
heap_pool_t heap
Definition: parse.h:271
HRESULT hres
Definition: protocol.c:465
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
int ret
const WCHAR * end
Definition: parse.h:257
heap_pool_t tmp_heap
Definition: jscript.h:422
int code
Definition: i386-dis.c:3591
void heap_pool_init(heap_pool_t *) DECLSPEC_HIDDEN
Definition: jsutils.c:69
#define strcmpiW(s1, s2)
Definition: unicode.h:39
#define S_OK
Definition: intsafe.h:59
static void script_addref(script_ctx_t *ctx)
Definition: jscript.h:459
#define JS_E_SYNTAX
Definition: jscript.h:537
HRESULT hres
Definition: parse.h:262
BOOL is_html
Definition: parse.h:261
heap_pool_t * heap_pool_mark(heap_pool_t *) DECLSPEC_HIDDEN
Definition: jsutils.c:180
void heap_pool_clear(heap_pool_t *) DECLSPEC_HIDDEN
Definition: jsutils.c:144

Referenced by compile_script().

◆ set_error()

static void set_error ( parser_ctx_t ctx,
UINT  error 
)
static

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

4238 {
4239  ctx->hres = error;
4240 }
#define error(str)
Definition: mkdosfs.c:1605
HRESULT hres
Definition: parse.h:262

Referenced by explicit_error(), and yyparse().

◆ source_elements_add_statement()

static source_elements_t * source_elements_add_statement ( source_elements_t source_elements,
statement_t statement 
)
static

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

4298 {
4299  if(source_elements->statement_tail)
4300  source_elements->statement_tail = source_elements->