ReactOS  0.4.14-dev-337-gf981a68
asmshader.tab.c File Reference
#include "wine/debug.h"
#include "d3dcompiler_private.h"
#include <stddef.h>
Include dependency graph for asmshader.tab.c:

Go to the source code of this file.

Classes

union  YYSTYPE
 
union  yyalloc
 

Macros

#define YYBISON   1
 
#define YYBISON_VERSION   "3.4.1"
 
#define YYSKELETON_NAME   "yacc.c"
 
#define YYPURE   0
 
#define YYPUSH   0
 
#define YYPULL   1
 
#define yyparse   asmshader_parse
 
#define yylex   asmshader_lex
 
#define yyerror   asmshader_error
 
#define yydebug   asmshader_debug
 
#define yynerrs   asmshader_nerrs
 
#define yylval   asmshader_lval
 
#define yychar   asmshader_char
 
#define YY_NULLPTR   ((void*)0)
 
#define YYERROR_VERBOSE   0
 
#define YY_ASMSHADER_E_REACTOSSYNC_GCC_DLL_DIRECTX_WINE_D3DCOMPILER_43_ASMSHADER_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 YY_ATTRIBUTE(Spec)   /* empty */
 
#define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
 
#define YY_ATTRIBUTE_UNUSED   YY_ATTRIBUTE ((__unused__))
 
#define YYUSE(E)   ((void) (E))
 
#define YY_INITIAL_VALUE(Value)   Value
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
 
#define YY_ASSERT(E)   ((void) (0 && (E)))
 
#define YYSTACK_ALLOC   YYMALLOC
 
#define YYSTACK_FREE   YYFREE
 
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
 
#define YYMALLOC   malloc
 
#define YYFREE   free
 
#define YYSTACK_GAP_MAXIMUM   (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   16
 
#define YYLAST   733
 
#define YYNTOKENS   171
 
#define YYNNTS   26
 
#define YYNRULES   228
 
#define YYNSTATES   552
 
#define YYUNDEFTOK   2
 
#define YYMAXUTOK   417
 
#define YYTRANSLATE(YYX)   ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
#define YYPACT_NINF   -458
 
#define yypact_value_is_default(Yystate)   (!!((Yystate) == (-458)))
 
#define YYTABLE_NINF   -1
 
#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 union YYSTYPE YYSTYPE
 
typedef unsigned char yytype_uint8
 
typedef signed char yytype_int8
 
typedef unsigned short yytype_uint16
 
typedef short 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,
  tRCINCLUDE = 258, tIF = 259, tIFDEF = 260, tIFNDEF = 261,
  tELSE = 262, tELIF = 263, tENDIF = 264, tDEFINED = 265,
  tNL = 266, tINCLUDE = 267, tLINE = 268, tGCCLINE = 269,
  tERROR = 270, tWARNING = 271, tPRAGMA = 272, tPPIDENT = 273,
  tUNDEF = 274, tMACROEND = 275, tCONCAT = 276, tELIPSIS = 277,
  tSTRINGIZE = 278, tIDENT = 279, tLITERAL = 280, tMACRO = 281,
  tDEFINE = 282, tDQSTRING = 283, tSQSTRING = 284, tIQSTRING = 285,
  tUINT = 286, tSINT = 287, tULONG = 288, tSLONG = 289,
  tULONGLONG = 290, tSLONGLONG = 291, tRCINCLUDEPATH = 292, tLOGOR = 293,
  tLOGAND = 294, tEQ = 295, tNE = 296, tLTE = 297,
  tGTE = 298, tLSHIFT = 299, tRSHIFT = 300, tRCINCLUDE = 258,
  tIF = 259, tIFDEF = 260, tIFNDEF = 261, tELSE = 262,
  tELIF = 263, tENDIF = 264, tDEFINED = 265, tNL = 266,
  tINCLUDE = 267, tLINE = 268, tGCCLINE = 269, tERROR = 270,
  tWARNING = 271, tPRAGMA = 272, tPPIDENT = 273, tUNDEF = 274,
  tMACROEND = 275, tCONCAT = 276, tELIPSIS = 277, tSTRINGIZE = 278,
  tIDENT = 279, tLITERAL = 280, tMACRO = 281, tDEFINE = 282,
  tDQSTRING = 283, tSQSTRING = 284, tIQSTRING = 285, tUINT = 286,
  tSINT = 287, tULONG = 288, tSLONG = 289, tULONGLONG = 290,
  tSLONGLONG = 291, tRCINCLUDEPATH = 292, tLOGOR = 293, tLOGAND = 294,
  tEQ = 295, tNE = 296, tLTE = 297, tGTE = 298,
  tLSHIFT = 299, tRSHIFT = 300, tEQ = 258, tEQEQ = 259,
  tNEQ = 260, tNEQEQ = 261, tLSHIFT = 262, tRSHIFT = 263,
  tRRSHIFT = 264, tOR = 265, tAND = 266, tLEQ = 267,
  tGEQ = 268, tCCValue = 269, tEQ = 258, tEQEQ = 259,
  tNEQ = 260, tNEQEQ = 261, tLSHIFT = 262, tRSHIFT = 263,
  tRRSHIFT = 264, tOR = 265, tAND = 266, tLEQ = 267,
  tGEQ = 268, tCCValue = 269, kBREAK = 258, kCASE = 259,
  kCATCH = 260, kCONTINUE = 261, kDEFAULT = 262, kDELETE = 263,
  kDO = 264, kELSE = 265, kFUNCTION = 266, kIF = 267,
  kFINALLY = 268, kFOR = 269, kGET = 270, kIN = 271,
  kSET = 272, kINSTANCEOF = 273, kNEW = 274, kNULL = 275,
  kRETURN = 276, kSWITCH = 277, kTHIS = 278, kTHROW = 279,
  kTRUE = 280, kFALSE = 281, kTRY = 282, kTYPEOF = 283,
  kVAR = 284, kVOID = 285, kWHILE = 286, kWITH = 287,
  tANDAND = 288, tOROR = 289, tINC = 290, tDEC = 291,
  tHTMLCOMMENT = 292, kDIVEQ = 293, kDCOL = 294, tIdentifier = 295,
  tAssignOper = 296, tEqOper = 297, tShiftOper = 298, tRelOper = 299,
  tNumericLiteral = 300, tBooleanLiteral = 301, tStringLiteral = 302, tEOF = 303,
  LOWER_THAN_ELSE = 304, kBREAK = 258, kCASE = 259, kCATCH = 260,
  kCONTINUE = 261, kDEFAULT = 262, kDELETE = 263, kDO = 264,
  kELSE = 265, kFUNCTION = 266, kIF = 267, kFINALLY = 268,
  kFOR = 269, kGET = 270, kIN = 271, kSET = 272,
  kINSTANCEOF = 273, kNEW = 274, kNULL = 275, kRETURN = 276,
  kSWITCH = 277, kTHIS = 278, kTHROW = 279, kTRUE = 280,
  kFALSE = 281, kTRY = 282, kTYPEOF = 283, kVAR = 284,
  kVOID = 285, kWHILE = 286, kWITH = 287, tANDAND = 288,
  tOROR = 289, tINC = 290, tDEC = 291, tHTMLCOMMENT = 292,
  kDIVEQ = 293, kDCOL = 294, tIdentifier = 295, tAssignOper = 296,
  tEqOper = 297, tShiftOper = 298, tRelOper = 299, tNumericLiteral = 300,
  tBooleanLiteral = 301, tStringLiteral = 302, tEOF = 303, LOWER_THAN_ELSE = 304,
  COND_SPACE = 258, COND_EOF = 259, COND_OR = 260, COND_AND = 261,
  COND_NOT = 262, COND_XOR = 263, COND_IMP = 264, COND_EQV = 265,
  COND_LT = 266, COND_GT = 267, COND_EQ = 268, COND_NE = 269,
  COND_GE = 270, COND_LE = 271, COND_ILT = 272, COND_IGT = 273,
  COND_IEQ = 274, COND_INE = 275, COND_IGE = 276, COND_ILE = 277,
  COND_LPAR = 278, COND_RPAR = 279, COND_TILDA = 280, COND_SS = 281,
  COND_ISS = 282, COND_ILHS = 283, COND_IRHS = 284, COND_LHS = 285,
  COND_RHS = 286, COND_PERCENT = 287, COND_DOLLARS = 288, COND_QUESTION = 289,
  COND_AMPER = 290, COND_EXCLAM = 291, COND_IDENT = 292, COND_NUMBER = 293,
  COND_LITER = 294, COND_ERROR = 295, TK_ALTER = 258, TK_AND = 259,
  TK_BY = 260, TK_CHAR = 261, TK_COMMA = 262, TK_CREATE = 263,
  TK_DELETE = 264, TK_DROP = 265, TK_DISTINCT = 266, TK_DOT = 267,
  TK_EQ = 268, TK_FREE = 269, TK_FROM = 270, TK_GE = 271,
  TK_GT = 272, TK_HOLD = 273, TK_ADD = 274, TK_ID = 275,
  TK_ILLEGAL = 276, TK_INSERT = 277, TK_INT = 278, TK_INTEGER = 279,
  TK_INTO = 280, TK_IS = 281, TK_KEY = 282, TK_LE = 283,
  TK_LONG = 284, TK_LONGCHAR = 285, TK_LP = 286, TK_LT = 287,
  TK_LOCALIZABLE = 288, TK_MINUS = 289, TK_NE = 290, TK_NOT = 291,
  TK_NULL = 292, TK_OBJECT = 293, TK_OR = 294, TK_ORDER = 295,
  TK_PRIMARY = 296, TK_RP = 297, TK_SELECT = 298, TK_SET = 299,
  TK_SHORT = 300, TK_SPACE = 301, TK_STAR = 302, TK_STRING = 303,
  TK_TABLE = 304, TK_TEMPORARY = 305, TK_UPDATE = 306, TK_VALUES = 307,
  TK_WHERE = 308, TK_WILDCARD = 309, END_OF_FILE = 310, ILLEGAL = 311,
  SPACE = 312, UNCLOSED_STRING = 313, COMMENT = 314, FUNCTION = 315,
  COLUMN = 316, TK_LIKE = 318, TK_NEGATION = 319, TK_ALTER = 258,
  TK_AND = 259, TK_BY = 260, TK_CHAR = 261, TK_COMMA = 262,
  TK_CREATE = 263, TK_DELETE = 264, TK_DROP = 265, TK_DISTINCT = 266,
  TK_DOT = 267, TK_EQ = 268, TK_FREE = 269, TK_FROM = 270,
  TK_GE = 271, TK_GT = 272, TK_HOLD = 273, TK_ADD = 274,
  TK_ID = 275, TK_ILLEGAL = 276, TK_INSERT = 277, TK_INT = 278,
  TK_INTEGER = 279, TK_INTO = 280, TK_IS = 281, TK_KEY = 282,
  TK_LE = 283, TK_LONG = 284, TK_LONGCHAR = 285, TK_LP = 286,
  TK_LT = 287, TK_LOCALIZABLE = 288, TK_MINUS = 289, TK_NE = 290,
  TK_NOT = 291, TK_NULL = 292, TK_OBJECT = 293, TK_OR = 294,
  TK_ORDER = 295, TK_PRIMARY = 296, TK_RP = 297, TK_SELECT = 298,
  TK_SET = 299, TK_SHORT = 300, TK_SPACE = 301, TK_STAR = 302,
  TK_STRING = 303, TK_TABLE = 304, TK_TEMPORARY = 305, TK_UPDATE = 306,
  TK_VALUES = 307, TK_WHERE = 308, TK_WILDCARD = 309, END_OF_FILE = 310,
  ILLEGAL = 311, SPACE = 312, UNCLOSED_STRING = 313, COMMENT = 314,
  FUNCTION = 315, COLUMN = 316, TK_LIKE = 318, TK_NEGATION = 319,
  TOK_Parent = 258, TOK_Self = 259, TOK_DblFSlash = 260, TOK_FSlash = 261,
  TOK_Axis = 262, TOK_Colon = 263, TOK_OpAnd = 264, TOK_OpOr = 265,
  TOK_OpNot = 266, TOK_OpEq = 267, TOK_OpIEq = 268, TOK_OpNEq = 269,
  TOK_OpINEq = 270, TOK_OpLt = 271, TOK_OpILt = 272, TOK_OpGt = 273,
  TOK_OpIGt = 274, TOK_OpLEq = 275, TOK_OpILEq = 276, TOK_OpGEq = 277,
  TOK_OpIGEq = 278, TOK_OpAll = 279, TOK_OpAny = 280, TOK_NCName = 281,
  TOK_Literal = 282, TOK_Number = 283, 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 (asmshader)
 
void WINAPIV asmparser_message (struct asm_parser *ctx, const char *fmt,...)
 
static void asmshader_error (char const *s)
 
static void set_rel_reg (struct shader_reg *reg, struct rel_reg *rel)
 
int asmshader_lex (void)
 
int asmshader_parse (void)
 
voidmalloc (YYSIZE_T)
 
void free (void *)
 
static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
 
int yyparse (void)
 
struct bwriter_shaderparse_asm_shader (char **messages)
 

Variables

struct asm_parser asm_ctx
 
YYSTYPE asmshader_lval
 
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_uint16 yytable []
 
static const yytype_int16 yycheck []
 
static const yytype_uint8 yystos []
 
static const yytype_uint8 yyr1 []
 
static const yytype_uint8 yyr2 []
 
int yychar
 
YYSTYPE yylval
 
int yynerrs
 

Macro Definition Documentation

◆ YY_

#define YY_ (   Msgid)    Msgid

Definition at line 432 of file asmshader.tab.c.

◆ YY_ASMSHADER_E_REACTOSSYNC_GCC_DLL_DIRECTX_WINE_D3DCOMPILER_43_ASMSHADER_TAB_H_INCLUDED

#define YY_ASMSHADER_E_REACTOSSYNC_GCC_DLL_DIRECTX_WINE_D3DCOMPILER_43_ASMSHADER_TAB_H_INCLUDED

Definition at line 148 of file asmshader.tab.c.

◆ YY_ASSERT

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

Definition at line 481 of file asmshader.tab.c.

◆ YY_ATTRIBUTE

#define YY_ATTRIBUTE (   Spec)    /* empty */

Definition at line 442 of file asmshader.tab.c.

◆ YY_ATTRIBUTE_PURE

#define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))

Definition at line 447 of file asmshader.tab.c.

◆ YY_ATTRIBUTE_UNUSED

#define YY_ATTRIBUTE_UNUSED   YY_ATTRIBUTE ((__unused__))

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

◆ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

Definition at line 473 of file asmshader.tab.c.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_IGNORE_MAYBE_UNINITIALIZED_END

Definition at line 474 of file asmshader.tab.c.

◆ YY_INITIAL_VALUE

#define YY_INITIAL_VALUE (   Value)    Value

Definition at line 470 of file asmshader.tab.c.

◆ YY_NULLPTR

#define YY_NULLPTR   ((void*)0)

Definition at line 133 of file asmshader.tab.c.

◆ YY_REDUCE_PRINT

#define YY_REDUCE_PRINT (   Rule)

Definition at line 1375 of file asmshader.tab.c.

◆ YY_STACK_PRINT

#define YY_STACK_PRINT (   Bottom,
  Top 
)

Definition at line 1374 of file asmshader.tab.c.

◆ YY_SYMBOL_PRINT

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

Definition at line 1373 of file asmshader.tab.c.

◆ YYABORT

#define YYABORT   goto yyabortlab

Definition at line 1220 of file asmshader.tab.c.

◆ YYACCEPT

#define YYACCEPT   goto yyacceptlab

Definition at line 1219 of file asmshader.tab.c.

◆ YYBACKUP

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

Definition at line 1226 of file asmshader.tab.c.

◆ YYBISON

#define YYBISON   1

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

◆ YYBISON_VERSION

#define YYBISON_VERSION   "3.4.1"

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

◆ yychar

#define yychar   asmshader_char

Definition at line 74 of file asmshader.tab.c.

◆ yyclearin

#define yyclearin   (yychar = YYEMPTY)

Definition at line 1215 of file asmshader.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 599 of file asmshader.tab.c.

◆ YYCOPY_NEEDED

#define YYCOPY_NEEDED   1

Definition at line 571 of file asmshader.tab.c.

◆ yydebug

#define yydebug   asmshader_debug

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

◆ YYDEBUG

#define YYDEBUG   0

Definition at line 151 of file asmshader.tab.c.

◆ YYDPRINTF

#define YYDPRINTF (   Args)

Definition at line 1372 of file asmshader.tab.c.

◆ YYEMPTY

#define YYEMPTY   (-2)

Definition at line 1216 of file asmshader.tab.c.

◆ YYEOF

#define YYEOF   0

Definition at line 1217 of file asmshader.tab.c.

◆ YYERRCODE

#define YYERRCODE   256

Definition at line 1245 of file asmshader.tab.c.

◆ yyerrok

#define yyerrok   (yyerrstatus = 0)

Definition at line 1214 of file asmshader.tab.c.

◆ yyerror

#define yyerror   asmshader_error

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

◆ YYERROR

#define YYERROR   goto yyerrorlab

Definition at line 1221 of file asmshader.tab.c.

◆ YYERROR_VERBOSE

#define YYERROR_VERBOSE   0

Definition at line 142 of file asmshader.tab.c.

◆ YYFINAL

#define YYFINAL   16

Definition at line 612 of file asmshader.tab.c.

◆ YYFREE

#define YYFREE   free

Definition at line 542 of file asmshader.tab.c.

◆ YYINITDEPTH

#define YYINITDEPTH   200

Definition at line 1381 of file asmshader.tab.c.

◆ YYLAST

#define YYLAST   733

Definition at line 614 of file asmshader.tab.c.

◆ yylex

#define yylex   asmshader_lex

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

◆ yylval

#define yylval   asmshader_lval

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

◆ YYMALLOC

#define YYMALLOC   malloc

Definition at line 536 of file asmshader.tab.c.

◆ YYMAXDEPTH

#define YYMAXDEPTH   10000

Definition at line 1392 of file asmshader.tab.c.

◆ YYMAXUTOK

#define YYMAXUTOK   417

Definition at line 626 of file asmshader.tab.c.

◆ yynerrs

#define yynerrs   asmshader_nerrs

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

◆ YYNNTS

#define YYNNTS   26

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

◆ YYNRULES

#define YYNRULES   228

Definition at line 621 of file asmshader.tab.c.

◆ YYNSTATES

#define YYNSTATES   552

Definition at line 623 of file asmshader.tab.c.

◆ YYNTOKENS

#define YYNTOKENS   171

Definition at line 617 of file asmshader.tab.c.

◆ YYPACT_NINF

#define YYPACT_NINF   -458

Definition at line 785 of file asmshader.tab.c.

◆ yypact_value_is_default

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

Definition at line 787 of file asmshader.tab.c.

◆ yyparse

#define yyparse   asmshader_parse

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

◆ YYPOPSTACK

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

◆ YYPULL

#define YYPULL   1

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

◆ YYPURE

#define YYPURE   0

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

◆ YYPUSH

#define YYPUSH   0

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

◆ YYRECOVERING

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 1224 of file asmshader.tab.c.

◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)

Definition at line 422 of file asmshader.tab.c.

◆ YYSIZE_T

#define YYSIZE_T   size_t

Definition at line 416 of file asmshader.tab.c.

◆ YYSKELETON_NAME

#define YYSKELETON_NAME   "yacc.c"

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

◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 522 of file asmshader.tab.c.

◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

Definition at line 525 of file asmshader.tab.c.

◆ YYSTACK_BYTES

#define YYSTACK_BYTES (   N)
Value:
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
#define YYSTACK_GAP_MAXIMUM
short yytype_int16
union YYSTYPE YYSTYPE

Definition at line 567 of file asmshader.tab.c.

◆ YYSTACK_FREE

#define YYSTACK_FREE   YYFREE

Definition at line 523 of file asmshader.tab.c.

◆ YYSTACK_GAP_MAXIMUM

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

Definition at line 563 of file asmshader.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 at line 578 of file asmshader.tab.c.

◆ YYSTYPE_IS_DECLARED

#define YYSTYPE_IS_DECLARED   1

Definition at line 369 of file asmshader.tab.c.

◆ YYSTYPE_IS_TRIVIAL

#define YYSTYPE_IS_TRIVIAL   1

Definition at line 368 of file asmshader.tab.c.

◆ YYTABLE_NINF

#define YYTABLE_NINF   -1

Definition at line 790 of file asmshader.tab.c.

◆ yytable_value_is_error

#define yytable_value_is_error (   Yytable_value)    0

Definition at line 792 of file asmshader.tab.c.

◆ YYTERROR

#define YYTERROR   1

Definition at line 1244 of file asmshader.tab.c.

◆ YYTOKENTYPE

#define YYTOKENTYPE

Definition at line 159 of file asmshader.tab.c.

◆ YYTRANSLATE

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

Definition at line 630 of file asmshader.tab.c.

◆ YYUNDEFTOK

#define YYUNDEFTOK   2

Definition at line 625 of file asmshader.tab.c.

◆ YYUSE

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

Definition at line 456 of file asmshader.tab.c.

Typedef Documentation

◆ YYSTYPE

typedef union YYSTYPE YYSTYPE

Definition at line 367 of file asmshader.tab.c.

◆ yytype_int16

Definition at line 406 of file asmshader.tab.c.

◆ yytype_int8

Definition at line 394 of file asmshader.tab.c.

◆ yytype_uint16

typedef unsigned short yytype_uint16

Definition at line 400 of file asmshader.tab.c.

◆ yytype_uint8

typedef unsigned char yytype_uint8

Definition at line 388 of file asmshader.tab.c.

Enumeration Type Documentation

◆ yytokentype

Enumerator
INSTR_ADD 
INSTR_NOP 
INSTR_MOV 
INSTR_SUB 
INSTR_MAD 
INSTR_MUL 
INSTR_RCP 
INSTR_RSQ 
INSTR_DP3 
INSTR_DP4 
INSTR_MIN 
INSTR_MAX 
INSTR_SLT 
INSTR_SGE 
INSTR_ABS 
INSTR_EXP 
INSTR_LOG 
INSTR_EXPP 
INSTR_LOGP 
INSTR_DST 
INSTR_LRP 
INSTR_FRC 
INSTR_POW 
INSTR_CRS 
INSTR_SGN 
INSTR_NRM 
INSTR_SINCOS 
INSTR_M4x4 
INSTR_M4x3 
INSTR_M3x4 
INSTR_M3x3 
INSTR_M3x2 
INSTR_DCL 
INSTR_DEF 
INSTR_DEFB 
INSTR_DEFI 
INSTR_REP 
INSTR_ENDREP 
INSTR_IF 
INSTR_ELSE 
INSTR_ENDIF 
INSTR_BREAK 
INSTR_BREAKP 
INSTR_CALL 
INSTR_CALLNZ 
INSTR_LOOP 
INSTR_RET 
INSTR_ENDLOOP 
INSTR_LABEL 
INSTR_SETP 
INSTR_TEXLDL 
INSTR_LIT 
INSTR_MOVA 
INSTR_CND 
INSTR_CMP 
INSTR_DP2ADD 
INSTR_TEXCOORD 
INSTR_TEXCRD 
INSTR_TEXKILL 
INSTR_TEX 
INSTR_TEXLD 
INSTR_TEXBEM 
INSTR_TEXBEML 
INSTR_TEXREG2AR 
INSTR_TEXREG2GB 
INSTR_TEXREG2RGB 
INSTR_TEXM3x2PAD 
INSTR_TEXM3x2TEX 
INSTR_TEXM3x3PAD 
INSTR_TEXM3x3SPEC 
INSTR_TEXM3x3VSPEC 
INSTR_TEXM3x3TEX 
INSTR_TEXDP3TEX 
INSTR_TEXM3x2DEPTH 
INSTR_TEXDP3 
INSTR_TEXM3x3 
INSTR_TEXDEPTH 
INSTR_BEM 
INSTR_DSX 
INSTR_DSY 
INSTR_TEXLDP 
INSTR_TEXLDB 
INSTR_TEXLDD 
INSTR_PHASE 
REG_TEMP 
REG_OUTPUT 
REG_INPUT 
REG_CONSTFLOAT 
REG_CONSTINT 
REG_CONSTBOOL 
REG_TEXTURE 
REG_SAMPLER 
REG_TEXCRDOUT 
REG_OPOS 
REG_OFOG 
REG_OPTS 
REG_VERTEXCOLOR 
REG_FRAGCOLOR 
REG_FRAGDEPTH 
REG_VPOS 
REG_VFACE 
REG_ADDRESS 
REG_LOOP 
REG_PREDICATE 
REG_LABEL 
VER_VS10 
VER_VS11 
VER_VS20 
VER_VS2X 
VER_VS30 
VER_PS10 
VER_PS11 
VER_PS12 
VER_PS13 
VER_PS14 
VER_PS20 
VER_PS2X 
VER_PS30 
SHIFT_X2 
SHIFT_X4 
SHIFT_X8 
SHIFT_D2 
SHIFT_D4 
SHIFT_D8 
MOD_SAT 
MOD_PP 
MOD_CENTROID 
COMP_GT 
COMP_LT 
COMP_GE 
COMP_LE 
COMP_EQ 
COMP_NE 
SMOD_BIAS 
SMOD_SCALEBIAS 
SMOD_DZ 
SMOD_DW 
SMOD_ABS 
SMOD_NOT 
SAMPTYPE_1D 
SAMPTYPE_2D 
SAMPTYPE_CUBE 
SAMPTYPE_VOLUME 
USAGE_POSITION 
USAGE_BLENDWEIGHT 
USAGE_BLENDINDICES 
USAGE_NORMAL 
USAGE_PSIZE 
USAGE_TEXCOORD 
USAGE_TANGENT 
USAGE_BINORMAL 
USAGE_TESSFACTOR 
USAGE_POSITIONT 
USAGE_COLOR 
USAGE_FOG 
USAGE_DEPTH 
USAGE_SAMPLE 
COMPONENT 
IMMVAL 
IMMBOOL 
INSTR_ADD 
INSTR_NOP 
INSTR_MOV 
INSTR_SUB 
INSTR_MAD 
INSTR_MUL 
INSTR_RCP 
INSTR_RSQ 
INSTR_DP3 
INSTR_DP4 
INSTR_MIN 
INSTR_MAX 
INSTR_SLT 
INSTR_SGE 
INSTR_ABS 
INSTR_EXP 
INSTR_LOG 
INSTR_EXPP 
INSTR_LOGP 
INSTR_DST 
INSTR_LRP 
INSTR_FRC 
INSTR_POW 
INSTR_CRS 
INSTR_SGN 
INSTR_NRM 
INSTR_SINCOS 
INSTR_M4x4 
INSTR_M4x3 
INSTR_M3x4 
INSTR_M3x3 
INSTR_M3x2 
INSTR_DCL 
INSTR_DEF 
INSTR_DEFB 
INSTR_DEFI 
INSTR_REP 
INSTR_ENDREP 
INSTR_IF 
INSTR_ELSE 
INSTR_ENDIF 
INSTR_BREAK 
INSTR_BREAKP 
INSTR_CALL 
INSTR_CALLNZ 
INSTR_LOOP 
INSTR_RET 
INSTR_ENDLOOP 
INSTR_LABEL 
INSTR_SETP 
INSTR_TEXLDL 
INSTR_LIT 
INSTR_MOVA 
INSTR_CND 
INSTR_CMP 
INSTR_DP2ADD 
INSTR_TEXCOORD 
INSTR_TEXCRD 
INSTR_TEXKILL 
INSTR_TEX 
INSTR_TEXLD 
INSTR_TEXBEM 
INSTR_TEXBEML 
INSTR_TEXREG2AR 
INSTR_TEXREG2GB 
INSTR_TEXREG2RGB 
INSTR_TEXM3x2PAD 
INSTR_TEXM3x2TEX 
INSTR_TEXM3x3PAD 
INSTR_TEXM3x3SPEC 
INSTR_TEXM3x3VSPEC 
INSTR_TEXM3x3TEX 
INSTR_TEXDP3TEX 
INSTR_TEXM3x2DEPTH 
INSTR_TEXDP3 
INSTR_TEXM3x3 
INSTR_TEXDEPTH 
INSTR_BEM 
INSTR_DSX 
INSTR_DSY 
INSTR_TEXLDP 
INSTR_TEXLDB 
INSTR_TEXLDD 
INSTR_PHASE 
REG_TEMP 
REG_OUTPUT 
REG_INPUT 
REG_CONSTFLOAT 
REG_CONSTINT 
REG_CONSTBOOL 
REG_TEXTURE 
REG_SAMPLER 
REG_TEXCRDOUT 
REG_OPOS 
REG_OFOG 
REG_OPTS 
REG_VERTEXCOLOR 
REG_FRAGCOLOR 
REG_FRAGDEPTH 
REG_VPOS 
REG_VFACE 
REG_ADDRESS 
REG_LOOP 
REG_PREDICATE 
REG_LABEL 
VER_VS10 
VER_VS11 
VER_VS20 
VER_VS2X 
VER_VS30 
VER_PS10 
VER_PS11 
VER_PS12 
VER_PS13 
VER_PS14 
VER_PS20 
VER_PS2X 
VER_PS30 
SHIFT_X2 
SHIFT_X4 
SHIFT_X8 
SHIFT_D2 
SHIFT_D4 
SHIFT_D8 
MOD_SAT 
MOD_PP 
MOD_CENTROID 
COMP_GT 
COMP_LT 
COMP_GE 
COMP_LE 
COMP_EQ 
COMP_NE 
SMOD_BIAS 
SMOD_SCALEBIAS 
SMOD_DZ 
SMOD_DW 
SMOD_ABS 
SMOD_NOT 
SAMPTYPE_1D 
SAMPTYPE_2D 
SAMPTYPE_CUBE 
SAMPTYPE_VOLUME 
USAGE_POSITION 
USAGE_BLENDWEIGHT 
USAGE_BLENDINDICES 
USAGE_NORMAL 
USAGE_PSIZE 
USAGE_TEXCOORD 
USAGE_TANGENT 
USAGE_BINORMAL 
USAGE_TESSFACTOR 
USAGE_POSITIONT 
USAGE_COLOR 
USAGE_FOG 
USAGE_DEPTH 
USAGE_SAMPLE 
COMPONENT 
IMMVAL 
IMMBOOL 
KW_BLENDSTATE 
KW_BREAK 
KW_BUFFER 
KW_CBUFFER 
KW_COLUMN_MAJOR 
KW_COMPILE 
KW_CONST 
KW_CONTINUE 
KW_DEPTHSTENCILSTATE 
KW_DEPTHSTENCILVIEW 
KW_DISCARD 
KW_DO 
KW_DOUBLE 
KW_ELSE 
KW_EXTERN 
KW_FALSE 
KW_FOR 
KW_GEOMETRYSHADER 
KW_GROUPSHARED 
KW_IF 
KW_IN 
KW_INLINE 
KW_INOUT 
KW_MATRIX 
KW_NAMESPACE 
KW_NOINTERPOLATION 
KW_OUT 
KW_PASS 
KW_PIXELSHADER 
KW_PRECISE 
KW_RASTERIZERSTATE 
KW_RENDERTARGETVIEW 
KW_RETURN 
KW_REGISTER 
KW_ROW_MAJOR 
KW_SAMPLER 
KW_SAMPLER1D 
KW_SAMPLER2D 
KW_SAMPLER3D 
KW_SAMPLERCUBE 
KW_SAMPLER_STATE 
KW_SAMPLERCOMPARISONSTATE 
KW_SHARED 
KW_STATEBLOCK 
KW_STATEBLOCK_STATE 
KW_STATIC 
KW_STRING 
KW_STRUCT 
KW_SWITCH 
KW_TBUFFER 
KW_TECHNIQUE 
KW_TECHNIQUE10 
KW_TEXTURE 
KW_TEXTURE1D 
KW_TEXTURE1DARRAY 
KW_TEXTURE2D 
KW_TEXTURE2DARRAY 
KW_TEXTURE2DMS 
KW_TEXTURE2DMSARRAY 
KW_TEXTURE3D 
KW_TEXTURE3DARRAY 
KW_TEXTURECUBE 
KW_TRUE 
KW_TYPEDEF 
KW_UNIFORM 
KW_VECTOR 
KW_VERTEXSHADER 
KW_VOID 
KW_VOLATILE 
KW_WHILE 
OP_INC 
OP_DEC 
OP_AND 
OP_OR 
OP_EQ 
OP_LEFTSHIFT 
OP_LEFTSHIFTASSIGN 
OP_RIGHTSHIFT 
OP_RIGHTSHIFTASSIGN 
OP_ELLIPSIS 
OP_LE 
OP_GE 
OP_NE 
OP_ADDASSIGN 
OP_SUBASSIGN 
OP_MULASSIGN 
OP_DIVASSIGN 
OP_MODASSIGN 
OP_ANDASSIGN 
OP_ORASSIGN 
OP_XORASSIGN 
OP_UNKNOWN1 
OP_UNKNOWN2 
OP_UNKNOWN3 
OP_UNKNOWN4 
PRE_LINE 
VAR_IDENTIFIER 
TYPE_IDENTIFIER 
NEW_IDENTIFIER 
STRING 
C_FLOAT 
C_INTEGER 
KW_BLENDSTATE 
KW_BREAK 
KW_BUFFER 
KW_CBUFFER 
KW_COLUMN_MAJOR 
KW_COMPILE 
KW_CONST 
KW_CONTINUE 
KW_DEPTHSTENCILSTATE 
KW_DEPTHSTENCILVIEW 
KW_DISCARD 
KW_DO 
KW_DOUBLE 
KW_ELSE 
KW_EXTERN 
KW_FALSE 
KW_FOR 
KW_GEOMETRYSHADER 
KW_GROUPSHARED 
KW_IF 
KW_IN 
KW_INLINE 
KW_INOUT 
KW_MATRIX 
KW_NAMESPACE 
KW_NOINTERPOLATION 
KW_OUT 
KW_PASS 
KW_PIXELSHADER 
KW_PRECISE 
KW_RASTERIZERSTATE 
KW_RENDERTARGETVIEW 
KW_RETURN 
KW_REGISTER 
KW_ROW_MAJOR 
KW_SAMPLER 
KW_SAMPLER1D 
KW_SAMPLER2D 
KW_SAMPLER3D 
KW_SAMPLERCUBE 
KW_SAMPLER_STATE 
KW_SAMPLERCOMPARISONSTATE 
KW_SHARED 
KW_STATEBLOCK 
KW_STATEBLOCK_STATE 
KW_STATIC 
KW_STRING 
KW_STRUCT 
KW_SWITCH 
KW_TBUFFER 
KW_TECHNIQUE 
KW_TECHNIQUE10 
KW_TEXTURE 
KW_TEXTURE1D 
KW_TEXTURE1DARRAY 
KW_TEXTURE2D 
KW_TEXTURE2DARRAY 
KW_TEXTURE2DMS 
KW_TEXTURE2DMSARRAY 
KW_TEXTURE3D 
KW_TEXTURE3DARRAY 
KW_TEXTURECUBE 
KW_TRUE 
KW_TYPEDEF 
KW_UNIFORM 
KW_VECTOR 
KW_VERTEXSHADER 
KW_VOID 
KW_VOLATILE 
KW_WHILE 
OP_INC 
OP_DEC 
OP_AND 
OP_OR 
OP_EQ 
OP_LEFTSHIFT 
OP_LEFTSHIFTASSIGN 
OP_RIGHTSHIFT 
OP_RIGHTSHIFTASSIGN 
OP_ELLIPSIS 
OP_LE 
OP_GE 
OP_NE 
OP_ADDASSIGN 
OP_SUBASSIGN 
OP_MULASSIGN 
OP_DIVASSIGN 
OP_MODASSIGN 
OP_ANDASSIGN 
OP_ORASSIGN 
OP_XORASSIGN 
OP_UNKNOWN1 
OP_UNKNOWN2 
OP_UNKNOWN3 
OP_UNKNOWN4 
PRE_LINE 
VAR_IDENTIFIER 
TYPE_IDENTIFIER 
NEW_IDENTIFIER 
STRING 
C_FLOAT 
C_INTEGER 
tRCINCLUDE 
tIF 
tIFDEF 
tIFNDEF 
tELSE 
tELIF 
tENDIF 
tDEFINED 
tNL 
tINCLUDE 
tLINE 
tGCCLINE 
tERROR 
tWARNING 
tPRAGMA 
tPPIDENT 
tUNDEF 
tMACROEND 
tCONCAT 
tELIPSIS 
tSTRINGIZE 
tIDENT 
tLITERAL 
tMACRO 
tDEFINE 
tDQSTRING 
tSQSTRING 
tIQSTRING 
tUINT 
tSINT 
tULONG 
tSLONG 
tULONGLONG 
tSLONGLONG 
tRCINCLUDEPATH 
tLOGOR 
tLOGAND 
tEQ 
tNE 
tLTE 
tGTE 
tLSHIFT 
tRSHIFT 
tRCINCLUDE 
tIF 
tIFDEF 
tIFNDEF 
tELSE 
tELIF 
tENDIF 
tDEFINED 
tNL 
tINCLUDE 
tLINE 
tGCCLINE 
tERROR 
tWARNING 
tPRAGMA 
tPPIDENT 
tUNDEF 
tMACROEND 
tCONCAT 
tELIPSIS 
tSTRINGIZE 
tIDENT 
tLITERAL 
tMACRO 
tDEFINE 
tDQSTRING 
tSQSTRING 
tIQSTRING 
tUINT 
tSINT 
tULONG 
tSLONG 
tULONGLONG 
tSLONGLONG 
tRCINCLUDEPATH 
tLOGOR 
tLOGAND 
tEQ 
tNE 
tLTE 
tGTE 
tLSHIFT 
tRSHIFT 
tEQ 
tEQEQ 
tNEQ 
tNEQEQ 
tLSHIFT 
tRSHIFT 
tRRSHIFT 
tOR 
tAND 
tLEQ 
tGEQ 
tCCValue 
tEQ 
tEQEQ 
tNEQ 
tNEQEQ 
tLSHIFT 
tRSHIFT 
tRRSHIFT 
tOR 
tAND 
tLEQ 
tGEQ 
tCCValue 
kBREAK 
kCASE 
kCATCH 
kCONTINUE 
kDEFAULT 
kDELETE 
kDO 
kELSE 
kFUNCTION 
kIF 
kFINALLY 
kFOR 
kGET 
kIN 
kSET 
kINSTANCEOF 
kNEW 
kNULL 
kRETURN 
kSWITCH 
kTHIS 
kTHROW 
kTRUE 
kFALSE 
kTRY 
kTYPEOF 
kVAR 
kVOID 
kWHILE 
kWITH 
tANDAND 
tOROR 
tINC 
tDEC 
tHTMLCOMMENT 
kDIVEQ 
kDCOL 
tIdentifier 
tAssignOper 
tEqOper 
tShiftOper 
tRelOper 
tNumericLiteral 
tBooleanLiteral 
tStringLiteral 
tEOF 
LOWER_THAN_ELSE 
kBREAK 
kCASE 
kCATCH 
kCONTINUE 
kDEFAULT 
kDELETE 
kDO 
kELSE 
kFUNCTION 
kIF 
kFINALLY 
kFOR 
kGET 
kIN 
kSET 
kINSTANCEOF 
kNEW 
kNULL 
kRETURN 
kSWITCH 
kTHIS 
kTHROW 
kTRUE 
kFALSE 
kTRY 
kTYPEOF 
kVAR 
kVOID 
kWHILE 
kWITH 
tANDAND 
tOROR 
tINC 
tDEC 
tHTMLCOMMENT 
kDIVEQ 
kDCOL 
tIdentifier 
tAssignOper 
tEqOper 
tShiftOper 
tRelOper 
tNumericLiteral 
tBooleanLiteral 
tStringLiteral 
tEOF 
LOWER_THAN_ELSE 
COND_SPACE 
COND_EOF 
COND_OR 
COND_AND 
COND_NOT 
COND_XOR 
COND_IMP 
COND_EQV 
COND_LT 
COND_GT 
COND_EQ 
COND_NE 
COND_GE 
COND_LE 
COND_ILT 
COND_IGT 
COND_IEQ 
COND_INE 
COND_IGE 
COND_ILE 
COND_LPAR 
COND_RPAR 
COND_TILDA 
COND_SS 
COND_ISS 
COND_ILHS 
COND_IRHS 
COND_LHS 
COND_RHS 
COND_PERCENT 
COND_DOLLARS 
COND_QUESTION 
COND_AMPER 
COND_EXCLAM 
COND_IDENT 
COND_NUMBER 
COND_LITER 
COND_ERROR 
TK_ALTER 
TK_AND 
TK_BY 
TK_CHAR 
TK_COMMA 
TK_CREATE 
TK_DELETE 
TK_DROP 
TK_DISTINCT 
TK_DOT 
TK_EQ 
TK_FREE 
TK_FROM 
TK_GE 
TK_GT 
TK_HOLD 
TK_ADD 
TK_ID 
TK_ILLEGAL 
TK_INSERT 
TK_INT 
TK_INTEGER 
TK_INTO 
TK_IS 
TK_KEY 
TK_LE 
TK_LONG 
TK_LONGCHAR 
TK_LP 
TK_LT 
TK_LOCALIZABLE 
TK_MINUS 
TK_NE 
TK_NOT 
TK_NULL 
TK_OBJECT 
TK_OR 
TK_ORDER 
TK_PRIMARY 
TK_RP 
TK_SELECT 
TK_SET 
TK_SHORT 
TK_SPACE 
TK_STAR 
TK_STRING 
TK_TABLE 
TK_TEMPORARY 
TK_UPDATE 
TK_VALUES 
TK_WHERE 
TK_WILDCARD 
END_OF_FILE 
ILLEGAL 
SPACE 
UNCLOSED_STRING 
COMMENT 
FUNCTION 
COLUMN 
TK_LIKE 
TK_NEGATION 
TK_ALTER 
TK_AND 
TK_BY 
TK_CHAR 
TK_COMMA 
TK_CREATE 
TK_DELETE 
TK_DROP 
TK_DISTINCT 
TK_DOT 
TK_EQ 
TK_FREE 
TK_FROM 
TK_GE 
TK_GT 
TK_HOLD 
TK_ADD 
TK_ID 
TK_ILLEGAL 
TK_INSERT 
TK_INT 
TK_INTEGER 
TK_INTO 
TK_IS 
TK_KEY 
TK_LE 
TK_LONG 
TK_LONGCHAR 
TK_LP 
TK_LT 
TK_LOCALIZABLE 
TK_MINUS 
TK_NE 
TK_NOT 
TK_NULL 
TK_OBJECT 
TK_OR 
TK_ORDER 
TK_PRIMARY 
TK_RP 
TK_SELECT 
TK_SET 
TK_SHORT 
TK_SPACE 
TK_STAR 
TK_STRING 
TK_TABLE 
TK_TEMPORARY 
TK_UPDATE 
TK_VALUES 
TK_WHERE 
TK_WILDCARD 
END_OF_FILE 
ILLEGAL 
SPACE 
UNCLOSED_STRING 
COMMENT 
FUNCTION 
COLUMN 
TK_LIKE 
TK_NEGATION 
TOK_Parent 
TOK_Self 
TOK_DblFSlash 
TOK_FSlash 
TOK_Axis 
TOK_Colon 
TOK_OpAnd 
TOK_OpOr 
TOK_OpNot 
TOK_OpEq 
TOK_OpIEq 
TOK_OpNEq 
TOK_OpINEq 
TOK_OpLt 
TOK_OpILt 
TOK_OpGt 
TOK_OpIGt 
TOK_OpLEq 
TOK_OpILEq 
TOK_OpGEq 
TOK_OpIGEq 
TOK_OpAll 
TOK_OpAny 
TOK_NCName 
TOK_Literal 
TOK_Number 
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 160 of file asmshader.tab.c.

161  {
162  INSTR_ADD = 258,
163  INSTR_NOP = 259,
164  INSTR_MOV = 260,
165  INSTR_SUB = 261,
166  INSTR_MAD = 262,
167  INSTR_MUL = 263,
168  INSTR_RCP = 264,
169  INSTR_RSQ = 265,
170  INSTR_DP3 = 266,
171  INSTR_DP4 = 267,
172  INSTR_MIN = 268,
173  INSTR_MAX = 269,
174  INSTR_SLT = 270,
175  INSTR_SGE = 271,
176  INSTR_ABS = 272,
177  INSTR_EXP = 273,
178  INSTR_LOG = 274,
179  INSTR_EXPP = 275,
180  INSTR_LOGP = 276,
181  INSTR_DST = 277,
182  INSTR_LRP = 278,
183  INSTR_FRC = 279,
184  INSTR_POW = 280,
185  INSTR_CRS = 281,
186  INSTR_SGN = 282,
187  INSTR_NRM = 283,
188  INSTR_SINCOS = 284,
189  INSTR_M4x4 = 285,
190  INSTR_M4x3 = 286,
191  INSTR_M3x4 = 287,
192  INSTR_M3x3 = 288,
193  INSTR_M3x2 = 289,
194  INSTR_DCL = 290,
195  INSTR_DEF = 291,
196  INSTR_DEFB = 292,
197  INSTR_DEFI = 293,
198  INSTR_REP = 294,
199  INSTR_ENDREP = 295,
200  INSTR_IF = 296,
201  INSTR_ELSE = 297,
202  INSTR_ENDIF = 298,
203  INSTR_BREAK = 299,
204  INSTR_BREAKP = 300,
205  INSTR_CALL = 301,
206  INSTR_CALLNZ = 302,
207  INSTR_LOOP = 303,
208  INSTR_RET = 304,
209  INSTR_ENDLOOP = 305,
210  INSTR_LABEL = 306,
211  INSTR_SETP = 307,
212  INSTR_TEXLDL = 308,
213  INSTR_LIT = 309,
214  INSTR_MOVA = 310,
215  INSTR_CND = 311,
216  INSTR_CMP = 312,
217  INSTR_DP2ADD = 313,
218  INSTR_TEXCOORD = 314,
219  INSTR_TEXCRD = 315,
220  INSTR_TEXKILL = 316,
221  INSTR_TEX = 317,
222  INSTR_TEXLD = 318,
223  INSTR_TEXBEM = 319,
224  INSTR_TEXBEML = 320,
225  INSTR_TEXREG2AR = 321,
226  INSTR_TEXREG2GB = 322,
227  INSTR_TEXREG2RGB = 323,
228  INSTR_TEXM3x2PAD = 324,
229  INSTR_TEXM3x2TEX = 325,
230  INSTR_TEXM3x3PAD = 326,
231  INSTR_TEXM3x3SPEC = 327,
232  INSTR_TEXM3x3VSPEC = 328,
233  INSTR_TEXM3x3TEX = 329,
234  INSTR_TEXDP3TEX = 330,
235  INSTR_TEXM3x2DEPTH = 331,
236  INSTR_TEXDP3 = 332,
237  INSTR_TEXM3x3 = 333,
238  INSTR_TEXDEPTH = 334,
239  INSTR_BEM = 335,
240  INSTR_DSX = 336,
241  INSTR_DSY = 337,
242  INSTR_TEXLDP = 338,
243  INSTR_TEXLDB = 339,
244  INSTR_TEXLDD = 340,
245  INSTR_PHASE = 341,
246  REG_TEMP = 342,
247  REG_OUTPUT = 343,
248  REG_INPUT = 344,
249  REG_CONSTFLOAT = 345,
250  REG_CONSTINT = 346,
251  REG_CONSTBOOL = 347,
252  REG_TEXTURE = 348,
253  REG_SAMPLER = 349,
254  REG_TEXCRDOUT = 350,
255  REG_OPOS = 351,
256  REG_OFOG = 352,
257  REG_OPTS = 353,
258  REG_VERTEXCOLOR = 354,
259  REG_FRAGCOLOR = 355,
260  REG_FRAGDEPTH = 356,
261  REG_VPOS = 357,
262  REG_VFACE = 358,
263  REG_ADDRESS = 359,
264  REG_LOOP = 360,
265  REG_PREDICATE = 361,
266  REG_LABEL = 362,
267  VER_VS10 = 363,
268  VER_VS11 = 364,
269  VER_VS20 = 365,
270  VER_VS2X = 366,
271  VER_VS30 = 367,
272  VER_PS10 = 368,
273  VER_PS11 = 369,
274  VER_PS12 = 370,
275  VER_PS13 = 371,
276  VER_PS14 = 372,
277  VER_PS20 = 373,
278  VER_PS2X = 374,
279  VER_PS30 = 375,
280  SHIFT_X2 = 376,
281  SHIFT_X4 = 377,
282  SHIFT_X8 = 378,
283  SHIFT_D2 = 379,
284  SHIFT_D4 = 380,
285  SHIFT_D8 = 381,
286  MOD_SAT = 382,
287  MOD_PP = 383,
288  MOD_CENTROID = 384,
289  COMP_GT = 385,
290  COMP_LT = 386,
291  COMP_GE = 387,
292  COMP_LE = 388,
293  COMP_EQ = 389,
294  COMP_NE = 390,
295  SMOD_BIAS = 391,
296  SMOD_SCALEBIAS = 392,
297  SMOD_DZ = 393,
298  SMOD_DW = 394,
299  SMOD_ABS = 395,
300  SMOD_NOT = 396,
301  SAMPTYPE_1D = 397,
302  SAMPTYPE_2D = 398,
303  SAMPTYPE_CUBE = 399,
304  SAMPTYPE_VOLUME = 400,
305  USAGE_POSITION = 401,
306  USAGE_BLENDWEIGHT = 402,
307  USAGE_BLENDINDICES = 403,
308  USAGE_NORMAL = 404,
309  USAGE_PSIZE = 405,
310  USAGE_TEXCOORD = 406,
311  USAGE_TANGENT = 407,
312  USAGE_BINORMAL = 408,
313  USAGE_TESSFACTOR = 409,
314  USAGE_POSITIONT = 410,
315  USAGE_COLOR = 411,
316  USAGE_FOG = 412,
317  USAGE_DEPTH = 413,
318  USAGE_SAMPLE = 414,
319  COMPONENT = 415,
320  IMMVAL = 416,
321  IMMBOOL = 417
322  };

Function Documentation

◆ asmparser_message()

void WINAPIV asmparser_message ( struct asm_parser ctx,
const char fmt,
  ... 
)

Definition at line 87 of file asmshader.tab.c.

88 {
90 
94 }
static static const char __ms_va_list
Definition: printf.c:76
void compilation_message(struct compilation_messages *msg, const char *fmt, __ms_va_list args) DECLSPEC_HIDDEN
Definition: utils.c:719
struct compilation_messages messages
Definition: match.c:390
#define __ms_va_end(list)
Definition: windef.h:443
#define __ms_va_start(list, arg)
Definition: windef.h:442
#define args
Definition: format.c:66
Definition: dsound.c:943

Referenced by asmparser_coissue_supported(), asmparser_coissue_unsupported(), asmparser_dcl_input(), asmparser_dcl_input_unsupported(), asmparser_dcl_output(), asmparser_dcl_output_unsupported(), asmparser_dcl_sampler(), asmparser_dcl_sampler_unsupported(), asmparser_dstreg_ps_1_0123(), asmparser_dstreg_ps_1_4(), asmparser_dstreg_ps_2(), asmparser_dstreg_ps_2_x(), asmparser_dstreg_ps_3(), asmparser_dstreg_vs_1(), asmparser_dstreg_vs_2(), asmparser_dstreg_vs_3(), asmparser_instr(), asmparser_predicate_unsupported(), asmparser_sincos(), asmparser_srcreg_ps_1_0123(), asmparser_srcreg_ps_1_4(), asmparser_srcreg_ps_2(), asmparser_srcreg_ps_2_x(), asmparser_srcreg_ps_3(), asmparser_srcreg_vs_1(), asmparser_srcreg_vs_2(), asmparser_srcreg_vs_3(), asmparser_texcoord(), asmparser_texcrd(), asmparser_texld14(), asmshader_error(), check_abs_srcmod(), check_legacy_srcmod(), check_loop_swizzle(), check_ps_dstmod(), check_shift_dstmod(), and yyparse().

◆ asmshader_error()

static void asmshader_error ( char const s)
static

Definition at line 96 of file asmshader.tab.c.

96  {
97  asmparser_message(&asm_ctx, "Line %u: Error \"%s\" from bison\n", asm_ctx.line_no, s);
99 }
struct asm_parser asm_ctx
Definition: asmshader.tab.c:85
void WINAPIV asmparser_message(struct asm_parser *ctx, const char *fmt,...)
Definition: asmshader.tab.c:87
GLdouble s
Definition: gl.h:2039
static void set_parse_status(enum parse_status *current, enum parse_status update)

◆ asmshader_lex()

int asmshader_lex ( void  )

◆ asmshader_parse()

int asmshader_parse ( void  )

Referenced by parse_asm_shader().

◆ 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:606
static PVOID ptr
Definition: dispmode.c:27
HANDLE ProcessHeap
Definition: servman.c:15

◆ malloc()

void* malloc ( YYSIZE_T  )

◆ parse_asm_shader()

struct bwriter_shader* parse_asm_shader ( char **  messages)

Definition at line 4375 of file asmshader.tab.c.

4376 {
4377  struct bwriter_shader *ret = NULL;
4378 
4379  asm_ctx.shader = NULL;
4380  asm_ctx.status = PARSE_SUCCESS;
4381  asm_ctx.messages.size = asm_ctx.messages.capacity = 0;
4382  asm_ctx.line_no = 1;
4383 
4384  asmshader_parse();
4385 
4386  if (asm_ctx.status != PARSE_ERR)
4387  ret = asm_ctx.shader;
4388  else if (asm_ctx.shader)
4389  SlDeleteShader(asm_ctx.shader);
4390 
4391  if (messages)
4392  {
4393  if (asm_ctx.messages.size)
4394  {
4395  /* Shrink the buffer to the used size */
4396  *messages = d3dcompiler_realloc(asm_ctx.messages.string, asm_ctx.messages.size + 1);
4397  if (!*messages)
4398  {
4399  ERR("Out of memory, no messages reported\n");
4400  d3dcompiler_free(asm_ctx.messages.string);
4401  }
4402  }
4403  else
4404  {
4405  *messages = NULL;
4406  }
4407  }
4408  else
4409  {
4410  if (asm_ctx.messages.capacity)
4411  d3dcompiler_free(asm_ctx.messages.string);
4412  }
4413 
4414  return ret;
4415 }
static void * d3dcompiler_realloc(void *ptr, SIZE_T size)
struct asm_parser asm_ctx
Definition: asmshader.tab.c:85
static BOOL d3dcompiler_free(void *ptr)
int asmshader_parse(void)
smooth NULL
Definition: ftsmooth.c:416
int ret
void SlDeleteShader(struct bwriter_shader *shader)
#define ERR(fmt,...)
Definition: debug.h:109

◆ set_rel_reg()

static void set_rel_reg ( struct shader_reg reg,
struct rel_reg rel 
)
static

Definition at line 101 of file asmshader.tab.c.

101  {
102  /* We can have an additional offset without true relative addressing
103  * ex. c2[ 4 ] */
104  reg->regnum += rel->additional_offset;
105  if(!rel->has_rel_reg) {
106  reg->rel_reg = NULL;
107  } else {
108  reg->rel_reg = d3dcompiler_alloc(sizeof(*reg->rel_reg));
109  if(!reg->rel_reg) {
110  return;
111  }
112  reg->rel_reg->type = rel->type;
113  reg->rel_reg->u.swizzle = rel->swizzle;
114  reg->rel_reg->regnum = rel->rel_regnum;
115  }
116 }
static void * d3dcompiler_alloc(SIZE_T size)
DWORD additional_offset
smooth NULL
Definition: ftsmooth.c:416
static int reg
Definition: i386-dis.c:1275

Referenced by yyparse().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( asmshader  )

◆ yydestruct()

static void yydestruct ( const char yymsg,
int  yytype,
YYSTYPE yyvaluep 
)
static

Definition at line 1628 of file asmshader.tab.c.

1629 {
1630  YYUSE (yyvaluep);
1631  if (!yymsg)
1632  yymsg = "Deleting";
1633  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1634 
1636  YYUSE (yytype);
1638 }
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YYUSE(E)
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)

Referenced by yyparse().

◆ yyparse()

int yyparse ( void  )

Definition at line 1657 of file asmshader.tab.c.

1658 {
1659  int yystate;
1660  /* Number of tokens to shift before error messages enabled. */
1661  int yyerrstatus;
1662 
1663  /* The stacks and their tools:
1664  'yyss': related to states.
1665  'yyvs': related to semantic values.
1666 
1667  Refer to the stacks through separate pointers, to allow yyoverflow
1668  to reallocate them elsewhere. */
1669 
1670  /* The state stack. */
1671  yytype_int16 yyssa[YYINITDEPTH];
1672  yytype_int16 *yyss;
1673  yytype_int16 *yyssp;
1674 
1675  /* The semantic value stack. */
1676  YYSTYPE yyvsa[YYINITDEPTH];
1677  YYSTYPE *yyvs;
1678  YYSTYPE *yyvsp;
1679 
1680  YYSIZE_T yystacksize;
1681 
1682  int yyn;
1683  int yyresult;
1684  /* Lookahead token as an internal (translated) token number. */
1685  int yytoken = 0;
1686  /* The variables used to return semantic value and location from the
1687  action routines. */
1688  YYSTYPE yyval;
1689 
1690 #if YYERROR_VERBOSE
1691  /* Buffer for error messages, and its allocated size. */
1692  char yymsgbuf[128];
1693  char *yymsg = yymsgbuf;
1694  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1695 #endif
1696 
1697 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1698 
1699  /* The number of symbols on the RHS of the reduced rule.
1700  Keep to zero when no symbol should be popped. */
1701  int yylen = 0;
1702 
1703  yyssp = yyss = yyssa;
1704  yyvsp = yyvs = yyvsa;
1705  yystacksize = YYINITDEPTH;
1706 
1707  YYDPRINTF ((stderr, "Starting parse\n"));
1708 
1709  yystate = 0;
1710  yyerrstatus = 0;
1711  yynerrs = 0;
1712  yychar = YYEMPTY; /* Cause a token to be read. */
1713  goto yysetstate;
1714 
1715 
1716 /*------------------------------------------------------------.
1717 | yynewstate -- push a new state, which is found in yystate. |
1718 `------------------------------------------------------------*/
1719 yynewstate:
1720  /* In all cases, when you get here, the value and location stacks
1721  have just been pushed. So pushing a state here evens the stacks. */
1722  yyssp++;
1723 
1724 
1725 /*--------------------------------------------------------------------.
1726 | yynewstate -- set current state (the top of the stack) to yystate. |
1727 `--------------------------------------------------------------------*/
1728 yysetstate:
1729  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1730  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
1731  *yyssp = (yytype_int16) yystate;
1732 
1733  if (yyss + yystacksize - 1 <= yyssp)
1734 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
1735  goto yyexhaustedlab;
1736 #else
1737  {
1738  /* Get the current used size of the three stacks, in elements. */
1739  YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
1740 
1741 # if defined yyoverflow
1742  {
1743  /* Give user a chance to reallocate the stack. Use copies of
1744  these so that the &'s don't force the real ones into
1745  memory. */
1746  YYSTYPE *yyvs1 = yyvs;
1747  yytype_int16 *yyss1 = yyss;
1748 
1749  /* Each stack pointer address is followed by the size of the
1750  data in use in that stack, in bytes. This used to be a
1751  conditional around just the two extra args, but that might
1752  be undefined if yyoverflow is a macro. */
1753  yyoverflow (YY_("memory exhausted"),
1754  &yyss1, yysize * sizeof (*yyssp),
1755  &yyvs1, yysize * sizeof (*yyvsp),
1756  &yystacksize);
1757  yyss = yyss1;
1758  yyvs = yyvs1;
1759  }
1760 # else /* defined YYSTACK_RELOCATE */
1761  /* Extend the stack our own way. */
1762  if (YYMAXDEPTH <= yystacksize)
1763  goto yyexhaustedlab;
1764  yystacksize *= 2;
1765  if (YYMAXDEPTH < yystacksize)
1766  yystacksize = YYMAXDEPTH;
1767 
1768  {
1769  yytype_int16 *yyss1 = yyss;
1770  union yyalloc *yyptr =
1771  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1772  if (! yyptr)
1773  goto yyexhaustedlab;
1774  YYSTACK_RELOCATE (yyss_alloc, yyss);
1775  YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1776 # undef YYSTACK_RELOCATE
1777  if (yyss1 != yyssa)
1778  YYSTACK_FREE (yyss1);
1779  }
1780 # endif
1781 
1782  yyssp = yyss + yysize - 1;
1783  yyvsp = yyvs + yysize - 1;
1784 
1785  YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1786  (unsigned long) yystacksize));
1787 
1788  if (yyss + yystacksize - 1 <= yyssp)
1789  YYABORT;
1790  }
1791 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
1792 
1793  if (yystate == YYFINAL)
1794  YYACCEPT;
1795 
1796  goto yybackup;
1797 
1798 
1799 /*-----------.
1800 | yybackup. |
1801 `-----------*/
1802 yybackup:
1803  /* Do appropriate processing given the current state. Read a
1804  lookahead token if we need one and don't already have one. */
1805 
1806  /* First try to decide what to do without reference to lookahead token. */
1807  yyn = yypact[yystate];
1808  if (yypact_value_is_default (yyn))
1809  goto yydefault;
1810 
1811  /* Not known => get a lookahead token if don't already have one. */
1812 
1813  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1814  if (yychar == YYEMPTY)
1815  {
1816  YYDPRINTF ((stderr, "Reading a token: "));
1817  yychar = yylex ();
1818  }
1819 
1820  if (yychar <= YYEOF)
1821  {
1822  yychar = yytoken = YYEOF;
1823  YYDPRINTF ((stderr, "Now at end of input.\n"));
1824  }
1825  else
1826  {
1827  yytoken = YYTRANSLATE (yychar);
1828  YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1829  }
1830 
1831  /* If the proper action on seeing token YYTOKEN is to reduce or to
1832  detect an error, take that action. */
1833  yyn += yytoken;
1834  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1835  goto yydefault;
1836  yyn = yytable[yyn];
1837  if (yyn <= 0)
1838  {
1839  if (yytable_value_is_error (yyn))
1840  goto yyerrlab;
1841  yyn = -yyn;
1842  goto yyreduce;
1843  }
1844 
1845  /* Count tokens shifted since error; after three, turn off error
1846  status. */
1847  if (yyerrstatus)
1848  yyerrstatus--;
1849 
1850  /* Shift the lookahead token. */
1851  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1852 
1853  /* Discard the shifted token. */
1854  yychar = YYEMPTY;
1855 
1856  yystate = yyn;
1858  *++yyvsp = yylval;
1860  goto yynewstate;
1861 
1862 
1863 /*-----------------------------------------------------------.
1864 | yydefault -- do the default action for the current state. |
1865 `-----------------------------------------------------------*/
1866 yydefault:
1867  yyn = yydefact[yystate];
1868  if (yyn == 0)
1869  goto yyerrlab;
1870  goto yyreduce;
1871 
1872 
1873 /*-----------------------------.
1874 | yyreduce -- do a reduction. |
1875 `-----------------------------*/
1876 yyreduce:
1877  /* yyn is the number of a rule to reduce with. */
1878  yylen = yyr2[yyn];
1879 
1880  /* If YYLEN is nonzero, implement the default value of the action:
1881  '$$ = $1'.
1882 
1883  Otherwise, the following line sets YYVAL to garbage.
1884  This behavior is undocumented and Bison
1885  users should not rely upon it. Assigning to YYVAL
1886  unconditionally makes the parser a bit smaller, and it avoids a
1887  GCC warning that YYVAL may be used uninitialized. */
1888  yyval = yyvsp[1-yylen];
1889 
1890 
1891  YY_REDUCE_PRINT (yyn);
1892  switch (yyn)
1893  {
1894  case 2:
1895 #line 310 "asmshader.y"
1896  {
1897  asm_ctx.funcs->end(&asm_ctx);
1898  }
1899 #line 1900 "asmshader.tab.c"
1900  break;
1901 
1902  case 3:
1903 #line 315 "asmshader.y"
1904  {
1905  TRACE("Vertex shader 1.0\n");
1907  }
1908 #line 1909 "asmshader.tab.c"
1909  break;
1910 
1911  case 4:
1912 #line 320 "asmshader.y"
1913  {
1914  TRACE("Vertex shader 1.1\n");
1916  }
1917 #line 1918 "asmshader.tab.c"
1918  break;
1919 
1920  case 5:
1921 #line 325 "asmshader.y"
1922  {
1923  TRACE("Vertex shader 2.0\n");
1925  }
1926 #line 1927 "asmshader.tab.c"
1927  break;
1928 
1929  case 6:
1930 #line 330 "asmshader.y"
1931  {
1932  TRACE("Vertex shader 2.x\n");
1934  }
1935 #line 1936 "asmshader.tab.c"
1936  break;
1937 
1938  case 7:
1939 #line 335 "asmshader.y"
1940  {
1941  TRACE("Vertex shader 3.0\n");
1943  }
1944 #line 1945 "asmshader.tab.c"
1945  break;
1946 
1947  case 8:
1948 #line 340 "asmshader.y"
1949  {
1950  TRACE("Pixel shader 1.0\n");
1952  }
1953 #line 1954 "asmshader.tab.c"
1954  break;
1955 
1956  case 9:
1957 #line 345 "asmshader.y"
1958  {
1959  TRACE("Pixel shader 1.1\n");
1961  }
1962 #line 1963 "asmshader.tab.c"
1963  break;
1964 
1965  case 10:
1966 #line 350 "asmshader.y"
1967  {
1968  TRACE("Pixel shader 1.2\n");
1970  }
1971 #line 1972 "asmshader.tab.c"
1972  break;
1973 
1974  case 11:
1975 #line 355 "asmshader.y"
1976  {
1977  TRACE("Pixel shader 1.3\n");
1979  }
1980 #line 1981 "asmshader.tab.c"
1981  break;
1982 
1983  case 12:
1984 #line 360 "asmshader.y"
1985  {
1986  TRACE("Pixel shader 1.4\n");
1988  }
1989 #line 1990 "asmshader.tab.c"
1990  break;
1991 
1992  case 13:
1993 #line 365 "asmshader.y"
1994  {
1995  TRACE("Pixel shader 2.0\n");
1997  }
1998 #line 1999 "asmshader.tab.c"
1999  break;
2000 
2001  case 14:
2002 #line 370 "asmshader.y"
2003  {
2004  TRACE("Pixel shader 2.x\n");
2006  }
2007 #line 2008 "asmshader.tab.c"
2008  break;
2009 
2010  case 15:
2011 #line 375 "asmshader.y"
2012  {
2013  TRACE("Pixel shader 3.0\n");
2015  }
2016 #line 2017 "asmshader.tab.c"
2017  break;
2018 
2019  case 17:
2020 #line 382 "asmshader.y"
2021  {
2022  /* Nothing to do */
2023  }
2024 #line 2025 "asmshader.tab.c"
2025  break;
2026 
2027  case 18:
2028 #line 387 "asmshader.y"
2029  {
2030 
2031  }
2032 #line 2033 "asmshader.tab.c"
2033  break;
2034 
2035  case 19:
2036 #line 391 "asmshader.y"
2037  {
2038  TRACE("predicate\n");
2039  asm_ctx.funcs->predicate(&asm_ctx, &(yyvsp[-1].reg));
2040  }
2041 #line 2042 "asmshader.tab.c"
2042  break;
2043 
2044  case 20:
2045 #line 396 "asmshader.y"
2046  {
2047  TRACE("coissue\n");
2048  asm_ctx.funcs->coissue(&asm_ctx);
2049  }
2050 #line 2051 "asmshader.tab.c"
2051  break;
2052 
2053  case 21:
2054 #line 402 "asmshader.y"
2055  {
2056  TRACE("ADD\n");
2057  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_ADD, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2058  }
2059 #line 2060 "asmshader.tab.c"
2060  break;
2061 
2062  case 22:
2063 #line 407 "asmshader.y"
2064  {
2065  TRACE("NOP\n");
2066  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_NOP, 0, 0, 0, 0, 0, 0);
2067  }
2068 #line 2069 "asmshader.tab.c"
2069  break;
2070 
2071  case 23:
2072 #line 412 "asmshader.y"
2073  {
2074  TRACE("MOV\n");
2075  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_MOV, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2076  }
2077 #line 2078 "asmshader.tab.c"
2078  break;
2079 
2080  case 24:
2081 #line 417 "asmshader.y"
2082  {
2083  TRACE("SUB\n");
2084  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_SUB, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2085  }
2086 #line 2087 "asmshader.tab.c"
2087  break;
2088 
2089  case 25:
2090 #line 422 "asmshader.y"
2091  {
2092  TRACE("MAD\n");
2093  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_MAD, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 3);
2094  }
2095 #line 2096 "asmshader.tab.c"
2096  break;
2097 
2098  case 26:
2099 #line 427 "asmshader.y"
2100  {
2101  TRACE("MUL\n");
2102  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_MUL, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2103  }
2104 #line 2105 "asmshader.tab.c"
2105  break;
2106 
2107  case 27:
2108 #line 432 "asmshader.y"
2109  {
2110  TRACE("RCP\n");
2111  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_RCP, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2112  }
2113 #line 2114 "asmshader.tab.c"
2114  break;
2115 
2116  case 28:
2117 #line 437 "asmshader.y"
2118  {
2119  TRACE("RSQ\n");
2120  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_RSQ, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2121  }
2122 #line 2123 "asmshader.tab.c"
2123  break;
2124 
2125  case 29:
2126 #line 442 "asmshader.y"
2127  {
2128  TRACE("DP3\n");
2129  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_DP3, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2130  }
2131 #line 2132 "asmshader.tab.c"
2132  break;
2133 
2134  case 30:
2135 #line 447 "asmshader.y"
2136  {
2137  TRACE("DP4\n");
2138  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_DP4, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2139  }
2140 #line 2141 "asmshader.tab.c"
2141  break;
2142 
2143  case 31:
2144 #line 452 "asmshader.y"
2145  {
2146  TRACE("MIN\n");
2147  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_MIN, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2148  }
2149 #line 2150 "asmshader.tab.c"
2150  break;
2151 
2152  case 32:
2153 #line 457 "asmshader.y"
2154  {
2155  TRACE("MAX\n");
2156  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_MAX, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2157  }
2158 #line 2159 "asmshader.tab.c"
2159  break;
2160 
2161  case 33:
2162 #line 462 "asmshader.y"
2163  {
2164  TRACE("SLT\n");
2165  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_SLT, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2166  }
2167 #line 2168 "asmshader.tab.c"
2168  break;
2169 
2170  case 34:
2171 #line 467 "asmshader.y"
2172  {
2173  TRACE("SGE\n");
2174  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_SGE, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2175  }
2176 #line 2177 "asmshader.tab.c"
2177  break;
2178 
2179  case 35:
2180 #line 472 "asmshader.y"
2181  {
2182  TRACE("ABS\n");
2183  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_ABS, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2184  }
2185 #line 2186 "asmshader.tab.c"
2186  break;
2187 
2188  case 36:
2189 #line 477 "asmshader.y"
2190  {
2191  TRACE("EXP\n");
2192  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_EXP, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2193  }
2194 #line 2195 "asmshader.tab.c"
2195  break;
2196 
2197  case 37:
2198 #line 482 "asmshader.y"
2199  {
2200  TRACE("LOG\n");
2201  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_LOG, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2202  }
2203 #line 2204 "asmshader.tab.c"
2204  break;
2205 
2206  case 38:
2207 #line 487 "asmshader.y"
2208  {
2209  TRACE("LOGP\n");
2210  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_LOGP, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2211  }
2212 #line 2213 "asmshader.tab.c"
2213  break;
2214 
2215  case 39:
2216 #line 492 "asmshader.y"
2217  {
2218  TRACE("EXPP\n");
2219  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_EXPP, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2220  }
2221 #line 2222 "asmshader.tab.c"
2222  break;
2223 
2224  case 40:
2225 #line 497 "asmshader.y"
2226  {
2227  TRACE("DST\n");
2228  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_DST, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2229  }
2230 #line 2231 "asmshader.tab.c"
2231  break;
2232 
2233  case 41:
2234 #line 502 "asmshader.y"
2235  {
2236  TRACE("LRP\n");
2237  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_LRP, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 3);
2238  }
2239 #line 2240 "asmshader.tab.c"
2240  break;
2241 
2242  case 42:
2243 #line 507 "asmshader.y"
2244  {
2245  TRACE("FRC\n");
2246  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_FRC, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2247  }
2248 #line 2249 "asmshader.tab.c"
2249  break;
2250 
2251  case 43:
2252 #line 512 "asmshader.y"
2253  {
2254  TRACE("POW\n");
2255  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_POW, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2256  }
2257 #line 2258 "asmshader.tab.c"
2258  break;
2259 
2260  case 44:
2261 #line 517 "asmshader.y"
2262  {
2263  TRACE("CRS\n");
2264  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_CRS, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2265  }
2266 #line 2267 "asmshader.tab.c"
2267  break;
2268 
2269  case 45:
2270 #line 522 "asmshader.y"
2271  {
2272  TRACE("SGN\n");
2273  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_SGN, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 3);
2274  }
2275 #line 2276 "asmshader.tab.c"
2276  break;
2277 
2278  case 46:
2279 #line 527 "asmshader.y"
2280  {
2281  TRACE("NRM\n");
2282  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_NRM, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2283  }
2284 #line 2285 "asmshader.tab.c"
2285  break;
2286 
2287  case 47:
2288 #line 532 "asmshader.y"
2289  {
2290  TRACE("SINCOS\n");
2291  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_SINCOS, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2292  }
2293 #line 2294 "asmshader.tab.c"
2294  break;
2295 
2296  case 48:
2297 #line 537 "asmshader.y"
2298  {
2299  TRACE("M4x4\n");
2300  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_M4x4, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2301  }
2302 #line 2303 "asmshader.tab.c"
2303  break;
2304 
2305  case 49:
2306 #line 542 "asmshader.y"
2307  {
2308  TRACE("M4x3\n");
2309  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_M4x3, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2310  }
2311 #line 2312 "asmshader.tab.c"
2312  break;
2313 
2314  case 50:
2315 #line 547 "asmshader.y"
2316  {
2317  TRACE("M3x4\n");
2318  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_M3x4, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2319  }
2320 #line 2321 "asmshader.tab.c"
2321  break;
2322 
2323  case 51:
2324 #line 552 "asmshader.y"
2325  {
2326  TRACE("M3x3\n");
2327  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_M3x3, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2328  }
2329 #line 2330 "asmshader.tab.c"
2330  break;
2331 
2332  case 52:
2333 #line 557 "asmshader.y"
2334  {
2335  TRACE("M3x2\n");
2336  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_M3x2, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2337  }
2338 #line 2339 "asmshader.tab.c"
2339  break;
2340 
2341  case 53:
2342 #line 562 "asmshader.y"
2343  {
2344  struct shader_reg reg;
2345  TRACE("Output reg declaration\n");
2346  ZeroMemory(&reg, sizeof(reg));
2347  reg.type = BWRITERSPR_OUTPUT;
2348  reg.regnum = (yyvsp[0].regnum);
2349  reg.rel_reg = NULL;
2350  reg.srcmod = 0;
2351  reg.u.writemask = BWRITERSP_WRITEMASK_ALL;
2352  asm_ctx.funcs->dcl_output(&asm_ctx, (yyvsp[-1].declaration).dclusage, (yyvsp[-1].declaration).regnum, &reg);
2353  }
2354 #line 2355 "asmshader.tab.c"
2355  break;
2356 
2357  case 54:
2358 #line 574 "asmshader.y"
2359  {
2360  struct shader_reg reg;
2361  TRACE("Output reg declaration\n");
2362  ZeroMemory(&reg, sizeof(reg));
2363  reg.type = BWRITERSPR_OUTPUT;
2364  reg.regnum = (yyvsp[-1].regnum);
2365  reg.rel_reg = NULL;
2366  reg.srcmod = 0;
2367  reg.u.writemask = (yyvsp[0].writemask);
2368  asm_ctx.funcs->dcl_output(&asm_ctx, (yyvsp[-2].declaration).dclusage, (yyvsp[-2].declaration).regnum, &reg);
2369  }
2370 #line 2371 "asmshader.tab.c"
2371  break;
2372 
2373  case 55:
2374 #line 586 "asmshader.y"
2375  {
2376  struct shader_reg reg;
2377  TRACE("Input reg declaration\n");
2378  if((yyvsp[-1].modshift).shift != 0) {
2379  asmparser_message(&asm_ctx, "Line %u: Shift modifier not allowed here\n",
2380  asm_ctx.line_no);
2382  }
2383  if(asm_ctx.shader->version == BWRITERPS_VERSION(2, 0) ||
2384  asm_ctx.shader->version == BWRITERPS_VERSION(2, 1)) {
2385  asmparser_message(&asm_ctx, "Line %u: Declaration not supported in PS 2\n",
2386  asm_ctx.line_no);
2388  }
2389  ZeroMemory(&reg, sizeof(reg));
2390  reg.type = (yyvsp[0].reg).type;
2391  reg.regnum = (yyvsp[0].reg).regnum;
2392  reg.rel_reg = NULL;
2393  reg.srcmod = 0;
2394  reg.u.writemask = BWRITERSP_WRITEMASK_ALL;
2395  asm_ctx.funcs->dcl_input(&asm_ctx, (yyvsp[-2].declaration).dclusage, (yyvsp[-2].declaration).regnum, (yyvsp[-1].modshift).mod, &reg);
2396  }
2397 #line 2398 "asmshader.tab.c"
2398  break;
2399 
2400  case 56:
2401 #line 609 "asmshader.y"
2402  {
2403  struct shader_reg reg;
2404  TRACE("Input reg declaration\n");
2405  if((yyvsp[-2].modshift).shift != 0) {
2406  asmparser_message(&asm_ctx, "Line %u: Shift modifier not allowed here\n",
2407  asm_ctx.line_no);
2409  }
2410  if(asm_ctx.shader->version == BWRITERPS_VERSION(2, 0) ||
2411  asm_ctx.shader->version == BWRITERPS_VERSION(2, 1)) {
2412  asmparser_message(&asm_ctx, "Line %u: Declaration not supported in PS 2\n",
2413  asm_ctx.line_no);
2415  }
2416  ZeroMemory(&reg, sizeof(reg));
2417  reg.type = (yyvsp[-1].reg).type;
2418  reg.regnum = (yyvsp[-1].reg).regnum;
2419  reg.rel_reg = NULL;
2420  reg.srcmod = 0;
2421  reg.u.writemask = (yyvsp[0].writemask);
2422  asm_ctx.funcs->dcl_input(&asm_ctx, (yyvsp[-3].declaration).dclusage, (yyvsp[-3].declaration).regnum, (yyvsp[-2].modshift).mod, &reg);
2423  }
2424 #line 2425 "asmshader.tab.c"
2425  break;
2426 
2427  case 57:
2428 #line 632 "asmshader.y"
2429  {
2430  struct shader_reg reg;
2431  TRACE("Input reg declaration\n");
2432  if((yyvsp[-1].modshift).shift != 0) {
2433  asmparser_message(&asm_ctx, "Line %u: Shift modifier not allowed here\n",
2434  asm_ctx.line_no);
2436  }
2437  if(asm_ctx.shader->type != ST_PIXEL) {
2438  asmparser_message(&asm_ctx, "Line %u: Declaration needs a semantic\n",
2439  asm_ctx.line_no);
2441  }
2442  ZeroMemory(&reg, sizeof(reg));
2443  reg.type = (yyvsp[0].reg).type;
2444  reg.regnum = (yyvsp[0].reg).regnum;
2445  reg.rel_reg = NULL;
2446  reg.srcmod = 0;
2447  reg.u.writemask = BWRITERSP_WRITEMASK_ALL;
2448  asm_ctx.funcs->dcl_input(&asm_ctx, 0, 0, (yyvsp[-1].modshift).mod, &reg);
2449  }
2450 #line 2451 "asmshader.tab.c"
2451  break;
2452 
2453  case 58:
2454 #line 654 "asmshader.y"
2455  {
2456  struct shader_reg reg;
2457  TRACE("Input reg declaration\n");
2458  if((yyvsp[-2].modshift).shift != 0) {
2459  asmparser_message(&asm_ctx, "Line %u: Shift modifier not allowed here\n",
2460  asm_ctx.line_no);
2462  }
2463  if(asm_ctx.shader->type != ST_PIXEL) {
2464  asmparser_message(&asm_ctx, "Line %u: Declaration needs a semantic\n",
2465  asm_ctx.line_no);
2467  }
2468  ZeroMemory(&reg, sizeof(reg));
2469  reg.type = (yyvsp[-1].reg).type;
2470  reg.regnum = (yyvsp[-1].reg).regnum;
2471  reg.rel_reg = NULL;
2472  reg.srcmod = 0;
2473  reg.u.writemask = (yyvsp[0].writemask);
2474  asm_ctx.funcs->dcl_input(&asm_ctx, 0, 0, (yyvsp[-2].modshift).mod, &reg);
2475  }
2476 #line 2477 "asmshader.tab.c"
2477  break;
2478 
2479  case 59:
2480 #line 676 "asmshader.y"
2481  {
2482  TRACE("Sampler declared\n");
2483  if((yyvsp[-1].modshift).shift != 0) {
2484  asmparser_message(&asm_ctx, "Line %u: Shift modifier not allowed here\n",
2485  asm_ctx.line_no);
2487  }
2488  asm_ctx.funcs->dcl_sampler(&asm_ctx, (yyvsp[-2].samplertype), (yyvsp[-1].modshift).mod, (yyvsp[0].regnum), asm_ctx.line_no);
2489  }
2490 #line 2491 "asmshader.tab.c"
2491  break;
2492 
2493  case 60:
2494 #line 686 "asmshader.y"
2495  {
2496  TRACE("Sampler declared\n");
2497  if((yyvsp[-1].modshift).shift != 0) {
2498  asmparser_message(&asm_ctx, "Line %u: Shift modifier not allowed here\n",
2499  asm_ctx.line_no);
2501  }
2502  if(asm_ctx.shader->type != ST_PIXEL) {
2503  asmparser_message(&asm_ctx, "Line %u: Declaration needs a sampler type\n",
2504  asm_ctx.line_no);
2506  }
2507  asm_ctx.funcs->dcl_sampler(&asm_ctx, BWRITERSTT_UNKNOWN, (yyvsp[-1].modshift).mod, (yyvsp[0].regnum), asm_ctx.line_no);
2508  }
2509 #line 2510 "asmshader.tab.c"
2510  break;
2511 
2512  case 61:
2513 #line 701 "asmshader.y"
2514  {
2515  TRACE("Error rule: sampler decl of input reg\n");
2516  asmparser_message(&asm_ctx, "Line %u: Sampler declarations of input regs is not valid\n",
2517  asm_ctx.line_no);
2519  }
2520 #line 2521 "asmshader.tab.c"
2521  break;
2522 
2523  case 62:
2524 #line 708 "asmshader.y"
2525  {
2526  TRACE("Error rule: sampler decl of output reg\n");
2527  asmparser_message(&asm_ctx, "Line %u: Sampler declarations of output regs is not valid\n",
2528  asm_ctx.line_no);
2530  }
2531 #line 2532 "asmshader.tab.c"
2532  break;
2533 
2534  case 63:
2535 #line 715 "asmshader.y"
2536  {
2537  asm_ctx.funcs->constF(&asm_ctx, (yyvsp[-8].regnum), (yyvsp[-6].immval).val, (yyvsp[-4].immval).val, (yyvsp[-2].immval).val, (yyvsp[0].immval).val);
2538  }
2539 #line 2540 "asmshader.tab.c"
2540  break;
2541 
2542  case 64:
2543 #line 719 "asmshader.y"
2544  {
2545  asm_ctx.funcs->constI(&asm_ctx, (yyvsp[-8].regnum), (yyvsp[-6].immval).val, (yyvsp[-4].immval).val, (yyvsp[-2].immval).val, (yyvsp[0].immval).val);
2546  }
2547 #line 2548 "asmshader.tab.c"
2548  break;
2549 
2550  case 65:
2551 #line 723 "asmshader.y"
2552  {
2553  asm_ctx.funcs->constB(&asm_ctx, (yyvsp[-2].regnum), (yyvsp[0].immbool));
2554  }
2555 #line 2556 "asmshader.tab.c"
2556  break;
2557 
2558  case 66:
2559 #line 727 "asmshader.y"
2560  {
2561  TRACE("REP\n");
2562  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_REP, 0, 0, 0, 0, &(yyvsp[0].sregs), 1);
2563  }
2564 #line 2565 "asmshader.tab.c"
2565  break;
2566 
2567  case 67:
2568 #line 732 "asmshader.y"
2569  {
2570  TRACE("ENDREP\n");
2571  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_ENDREP, 0, 0, 0, 0, 0, 0);
2572  }
2573 #line 2574 "asmshader.tab.c"
2574  break;
2575 
2576  case 68:
2577 #line 737 "asmshader.y"
2578  {
2579  TRACE("IF\n");
2580  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_IF, 0, 0, 0, 0, &(yyvsp[0].sregs), 1);
2581  }
2582 #line 2583 "asmshader.tab.c"
2583  break;
2584 
2585  case 69:
2586 #line 742 "asmshader.y"
2587  {
2588  TRACE("IFC\n");
2589  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_IFC, 0, 0, (yyvsp[-1].comptype), 0, &(yyvsp[0].sregs), 2);
2590  }
2591 #line 2592 "asmshader.tab.c"
2592  break;
2593 
2594  case 70:
2595 #line 747 "asmshader.y"
2596  {
2597  TRACE("ELSE\n");
2598  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_ELSE, 0, 0, 0, 0, 0, 0);
2599  }
2600 #line 2601 "asmshader.tab.c"
2601  break;
2602 
2603  case 71:
2604 #line 752 "asmshader.y"
2605  {
2606  TRACE("ENDIF\n");
2607  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_ENDIF, 0, 0, 0, 0, 0, 0);
2608  }
2609 #line 2610 "asmshader.tab.c"
2610  break;
2611 
2612  case 72:
2613 #line 757 "asmshader.y"
2614  {
2615  TRACE("BREAK\n");
2616  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_BREAK, 0, 0, 0, 0, 0, 0);
2617  }
2618 #line 2619 "asmshader.tab.c"
2619  break;
2620 
2621  case 73:
2622 #line 762 "asmshader.y"
2623  {
2624  TRACE("BREAKC\n");
2625  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_BREAKC, 0, 0, (yyvsp[-1].comptype), 0, &(yyvsp[0].sregs), 2);
2626  }
2627 #line 2628 "asmshader.tab.c"
2628  break;
2629 
2630  case 74:
2631 #line 767 "asmshader.y"
2632  {
2633  TRACE("BREAKP\n");
2634  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_BREAKP, 0, 0, 0, 0, &(yyvsp[0].sregs), 1);
2635  }
2636 #line 2637 "asmshader.tab.c"
2637  break;
2638 
2639  case 75:
2640 #line 772 "asmshader.y"
2641  {
2642  TRACE("CALL\n");
2643  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_CALL, 0, 0, 0, 0, &(yyvsp[0].sregs), 1);
2644  }
2645 #line 2646 "asmshader.tab.c"
2646  break;
2647 
2648  case 76:
2649 #line 777 "asmshader.y"
2650  {
2651  TRACE("CALLNZ\n");
2652  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_CALLNZ, 0, 0, 0, 0, &(yyvsp[0].sregs), 2);
2653  }
2654 #line 2655 "asmshader.tab.c"
2655  break;
2656 
2657  case 77:
2658 #line 782 "asmshader.y"
2659  {
2660  TRACE("LOOP\n");
2661  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_LOOP, 0, 0, 0, 0, &(yyvsp[0].sregs), 2);
2662  }
2663 #line 2664 "asmshader.tab.c"
2664  break;
2665 
2666  case 78:
2667 #line 787 "asmshader.y"
2668  {
2669  TRACE("RET\n");
2670  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_RET, 0, 0, 0, 0, 0, 0);
2671  }
2672 #line 2673 "asmshader.tab.c"
2673  break;
2674 
2675  case 79:
2676 #line 792 "asmshader.y"
2677  {
2678  TRACE("ENDLOOP\n");
2679  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_ENDLOOP, 0, 0, 0, 0, 0, 0);
2680  }
2681 #line 2682 "asmshader.tab.c"
2682  break;
2683 
2684  case 80:
2685 #line 797 "asmshader.y"
2686  {
2687  TRACE("LABEL\n");
2688  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_LABEL, 0, 0, 0, 0, &(yyvsp[0].sregs), 1);
2689  }
2690 #line 2691 "asmshader.tab.c"
2691  break;
2692 
2693  case 81:
2694 #line 802 "asmshader.y"
2695  {
2696  TRACE("SETP\n");
2697  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_SETP, 0, 0, (yyvsp[-3].comptype), &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2698  }
2699 #line 2700 "asmshader.tab.c"
2700  break;
2701 
2702  case 82:
2703 #line 807 "asmshader.y"
2704  {
2705  TRACE("TEXLDL\n");
2706  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXLDL, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2707  }
2708 #line 2709 "asmshader.tab.c"
2709  break;
2710 
2711  case 83:
2712 #line 812 "asmshader.y"
2713  {
2714  TRACE("LIT\n");
2715  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_LIT, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2716  }
2717 #line 2718 "asmshader.tab.c"
2718  break;
2719 
2720  case 84:
2721 #line 817 "asmshader.y"
2722  {
2723  TRACE("MOVA\n");
2724  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_MOVA, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2725  }
2726 #line 2727 "asmshader.tab.c"
2727  break;
2728 
2729  case 85:
2730 #line 822 "asmshader.y"
2731  {
2732  TRACE("CND\n");
2733  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_CND, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 3);
2734  }
2735 #line 2736 "asmshader.tab.c"
2736  break;
2737 
2738  case 86:
2739 #line 827 "asmshader.y"
2740  {
2741  TRACE("CMP\n");
2742  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_CMP, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 3);
2743  }
2744 #line 2745 "asmshader.tab.c"
2745  break;
2746 
2747  case 87:
2748 #line 832 "asmshader.y"
2749  {
2750  TRACE("DP2ADD\n");
2751  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_DP2ADD, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 3);
2752  }
2753 #line 2754 "asmshader.tab.c"
2754  break;
2755 
2756  case 88:
2757 #line 837 "asmshader.y"
2758  {
2759  TRACE("TEXCOORD\n");
2760  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXCOORD, (yyvsp[-1].modshift).mod, (yyvsp[-1].modshift).shift, 0, &(yyvsp[0].reg), 0, 0);
2761  }
2762 #line 2763 "asmshader.tab.c"
2763  break;
2764 
2765  case 89:
2766 #line 842 "asmshader.y"
2767  {
2768  TRACE("TEXCRD\n");
2769  /* texcoord and texcrd share the same opcode */
2770  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXCOORD, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2771  }
2772 #line 2773 "asmshader.tab.c"
2773  break;
2774 
2775  case 90:
2776 #line 848 "asmshader.y"
2777  {
2778  TRACE("TEXKILL\n");
2779  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXKILL, 0, 0, 0, &(yyvsp[0].reg), 0, 0);
2780  }
2781 #line 2782 "asmshader.tab.c"
2782  break;
2783 
2784  case 91:
2785 #line 853 "asmshader.y"
2786  {
2787  TRACE("TEX\n");
2788  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEX, (yyvsp[-1].modshift).mod, (yyvsp[-1].modshift).shift, 0, &(yyvsp[0].reg), 0, 0);
2789  }
2790 #line 2791 "asmshader.tab.c"
2791  break;
2792 
2793  case 92:
2794 #line 858 "asmshader.y"
2795  {
2796  TRACE("TEXDEPTH\n");
2797  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXDEPTH, (yyvsp[-1].modshift).mod, (yyvsp[-1].modshift).shift, 0, &(yyvsp[0].reg), 0, 0);
2798  }
2799 #line 2800 "asmshader.tab.c"
2800  break;
2801 
2802  case 93:
2803 #line 863 "asmshader.y"
2804  {
2805  TRACE("TEXLD\n");
2806  /* There is more than one acceptable syntax for texld:
2807  with 1 sreg (PS 1.4) or
2808  with 2 sregs (PS 2.0+)
2809  Moreover, texld shares the same opcode as the tex instruction,
2810  so there are a total of 3 valid syntaxes
2811  These variations are handled in asmparser.c */
2812  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEX, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2813  }
2814 #line 2815 "asmshader.tab.c"
2815  break;
2816 
2817  case 94:
2818 #line 874 "asmshader.y"
2819  {
2820  TRACE("TEXLDP\n");
2821  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXLDP, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2822  }
2823 #line 2824 "asmshader.tab.c"
2824  break;
2825 
2826  case 95:
2827 #line 879 "asmshader.y"
2828  {
2829  TRACE("TEXLDB\n");
2830  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXLDB, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2831  }
2832 #line 2833 "asmshader.tab.c"
2833  break;
2834 
2835  case 96:
2836 #line 884 "asmshader.y"
2837  {
2838  TRACE("TEXBEM\n");
2839  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXBEM, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2840  }
2841 #line 2842 "asmshader.tab.c"
2842  break;
2843 
2844  case 97:
2845 #line 889 "asmshader.y"
2846  {
2847  TRACE("TEXBEML\n");
2848  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXBEML, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2849  }
2850 #line 2851 "asmshader.tab.c"
2851  break;
2852 
2853  case 98:
2854 #line 894 "asmshader.y"
2855  {
2856  TRACE("TEXREG2AR\n");
2857  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXREG2AR, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2858  }
2859 #line 2860 "asmshader.tab.c"
2860  break;
2861 
2862  case 99:
2863 #line 899 "asmshader.y"
2864  {
2865  TRACE("TEXREG2GB\n");
2866  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXREG2GB, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2867  }
2868 #line 2869 "asmshader.tab.c"
2869  break;
2870 
2871  case 100:
2872 #line 904 "asmshader.y"
2873  {
2874  TRACE("TEXREG2RGB\n");
2875  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXREG2RGB, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2876  }
2877 #line 2878 "asmshader.tab.c"
2878  break;
2879 
2880  case 101:
2881 #line 909 "asmshader.y"
2882  {
2883  TRACE("TEXM3x2PAD\n");
2884  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXM3x2PAD, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2885  }
2886 #line 2887 "asmshader.tab.c"
2887  break;
2888 
2889  case 102:
2890 #line 914 "asmshader.y"
2891  {
2892  TRACE("INSTR_TEXM3x3PAD\n");
2893  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXM3x3PAD, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2894  }
2895 #line 2896 "asmshader.tab.c"
2896  break;
2897 
2898  case 103:
2899 #line 919 "asmshader.y"
2900  {
2901  TRACE("TEXM3x3SPEC\n");
2902  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXM3x3SPEC, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2);
2903  }
2904 #line 2905 "asmshader.tab.c"
2905  break;
2906 
2907  case 104:
2908 #line 924 "asmshader.y"
2909  {
2910  TRACE("TEXM3x3VSPEC\n");
2911  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXM3x3VSPEC, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2912  }
2913 #line 2914 "asmshader.tab.c"
2914  break;
2915 
2916  case 105:
2917 #line 929 "asmshader.y"
2918  {
2919  TRACE("TEXM3x3TEX\n");
2920  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXM3x3TEX, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2921  }
2922 #line 2923 "asmshader.tab.c"
2923  break;
2924 
2925  case 106:
2926 #line 934 "asmshader.y"
2927  {
2928  TRACE("TEXDP3TEX\n");
2929  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXDP3TEX, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2930  }
2931 #line 2932 "asmshader.tab.c"
2932  break;
2933 
2934  case 107:
2935 #line 939 "asmshader.y"
2936  {
2937  TRACE("TEXM3x2DEPTH\n");
2938  asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXM3x2DEPTH, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1);
2939  }
2940 #line 2941 "asmshader.tab.c"
2941  break;
2942 
2943  case 108:
2944 #line 944 "asmshader.y"
2945  {
2946  TRACE("TEXM3x2TEX\n");
2947  asm_ctx.funcs->instr(&