diff options
Diffstat (limited to 'src/mesa/main')
-rw-r--r-- | src/mesa/main/arbvp_grammar.txt | 1279 |
1 files changed, 0 insertions, 1279 deletions
diff --git a/src/mesa/main/arbvp_grammar.txt b/src/mesa/main/arbvp_grammar.txt deleted file mode 100644 index f2e392a4981..00000000000 --- a/src/mesa/main/arbvp_grammar.txt +++ /dev/null @@ -1,1279 +0,0 @@ -========================================== -0: <program> ::= <optionSequence> <statementSequence> "END" - ------ - first: <OPTION> "" - <ARL> <ABS> <FLR> <FRC> <LIT> <MOV> <EX2> <EXP> <LG2> <LOG> <RCP> <RSQ> - <POW> <ADD> <DP3> <DP4> <DPH> <DST> <MAX> <MIN> <MUL> <SGE> <SLT> <SUB> <XPD> - <MAD> <SWZ> <ATTRIB> <PARAM> <TEMP> <ADDRESS> <OUTPUT> <ALIAS> - <END> - follow: $ - -========================================== -1: <optionSequence> ::= <optionSequence2> - ----- - first: <OPTION> "" - follow: = <ARL> <ABS> <FLR> <FRC> <LIT> <MOV> <EX2> <EXP> <LG2> <LOG> <RCP> <RSQ> - <POW> <ADD> <DP3> <DP4> <DPH> <DST> <MAX> <MIN> <MUL> <SGE> <SLT> <SUB> <XPD> - <MAD> <SWZ> <ATTRIB> <PARAM> <TEMP> <ADDRESS> <OUTPUT> <ALIAS> - <END> - -========================================== -2: <optionSequence2> ::= <option> <optionSequence2> - ------ - first: <OPTION> -3: | "" - ------ - first: "" - follow: <ARL> <ABS> <FLR> <FRC> <LIT> <MOV> <EX2> <EXP> <LG2> <LOG> <RCP> <RSQ> - <POW> <ADD> <DP3> <DP4> <DPH> <DST> <MAX> <MIN> <MUL> <SGE> <SLT> <SUB> <XPD> - <MAD> <SWZ> <ATTRIB> <PARAM> <TEMP> <ADDRESS> <OUTPUT> <ALIAS> - <END> - -========================================== -4: <option> ::= "OPTION" <identifier> ";" - ------- - first: <OPTION> - -========================================== -5: <statementSequence> ::= <statementSequence2> - ------- - first: <ARL> <ABS> <FLR> <FRC> <LIT> <MOV> <EX2> <EXP> <LG2> <LOG> <RCP> <RSQ> - <POW> <ADD> <DP3> <DP4> <DPH> <DST> <MAX> <MIN> <MUL> <SGE> <SLT> <SUB> <XPD> - <MAD> <SWZ> <ATTRIB> <PARAM> <TEMP> <ADDRESS> <OUTPUT> <ALIAS> - "" - follow: <END> - -========================================= -6: <statementSequence2> ::= <statement> <statementSequence2> - ---------- - first: <ARL> <ABS> <FLR> <FRC> <LIT> <MOV> <EX2> <EXP> <LG2> <LOG> <RCP> <RSQ> - <POW> <ADD> <DP3> <DP4> <DPH> <DST> <MAX> <MIN> <MUL> <SGE> <SLT> <SUB> <XPD> - <MAD> <SWZ> <ATTRIB> <PARAM> <TEMP> <ADDRESS> <OUTPUT> <ALIAS> -7: | "" - ------- - first: "" - follow: <END> - -========================================== -8: <statement> ::= <instruction> ";" - ---------- - first: <ARL> <ABS> <FLR> <FRC> <LIT> <MOV> <EX2> <EXP> <LG2> <LOG> <RCP> <RSQ> - <POW> <ADD> <DP3> <DP4> <DPH> <DST> <MAX> <MIN> <MUL> <SGE> <SLT> <SUB> <XPD> - <MAD> <SWZ> -9: | <namingStatement> ";" - -------- - first: <ATTRIB> <PARAM> <TEMP> <ADDRESS> <OUTPUT> <ALIAS> - -========================================== -10: <instruction> ::= <ARL_instruction> - --------- - first: <ARL> -11: | <VECTORop_instruction> - ---------- - first: <ABS> <FLR> <FRC> <LIT> <MOV> -12: | <SCALARop_instruction> - --------- - first: <EX2> <EXP> <LG2> <LOG> <RCP> <RSQ> -13: | <BINSCop_instruction> - ----- - first: <POW> -14: | <BINop_instruction> - ---- - first: <ADD> <DP3> <DP4> <DPH> <DST> <MAX> <MIN> <MUL> <SGE> <SLT> <SUB> <XPD> -15: | <TRIop_instruction> - ---- - first: <MAD> -16: | <SWZ_instruction> - ----- - first: <SWZ> - -=========================================== -17: <ARL_instruction> ::= "ARL" <maskedAddrReg> "," <scalarSrcReg> - --------- - first: <ARL> - -========================================== -18: <VECTORop_instruction> ::= <VECTORop> <maskedDstReg> "," <swizzleSrcReg> - ---------- - first: <ABS> <FLR> <FRC> <LIT> <MOV> - -========================================== -19: <VECTORop> ::= "ABS" -20: | "FLR" -21: | "FRC" -22: | "LIT" -23: | "MOV" - -========================================== -24: <SCALARop_instruction> ::= <SCALARop> <maskedDstReg> "," <scalarSrcReg> - --------- - first: <EX2> <EXP> <LG2> <LOG> <RCP> <RSQ> - -========================================== -25: <SCALARop> ::= "EX2" -26: | "EXP" -27: | "LG2" -28: | "LOG" -29: | "RCP" -30: | "RSQ" - -========================================== -31: <BINSCop_instruction> ::= <BINSCop> <maskedDstReg> <BINSCop_instruction2> - ----- - first: <POW> - -32: <BINSCop_instruction2> ::= "," <scalarSrcReg> "," <scalarSrcReg> - ----- - first: "," - -========================================== -33: <BINSCop> ::= "POW" - ---- - first: <POW> - -========================================== -34: <BINop_instruction> ::= <BINop> <maskedDstReg> <BINop_instruction2> - ---- - first: <ADD> <DP3> <DP4> <DPH> <DST> <MAX> <MIN> <MUL> <SGE> <SLT> <SUB> <XPD> - -35: <BINop_instruction2> ::= "," <swizzleSrcReg> "," <swizzleSrcReg> - ----- - first: "," - - -========================================== -36: <BINop> ::= "ADD" - ----- - first: <ADD> -37: | "DP3" - ----- - first: <DP3> -38: | "DP4" - ----- - first: <DP4> -39: | "DPH" - ----- - first: <DPH> -40: | "DST" - ----- - first: <DST> -41: | "MAX" - ----- - first: <MAX> -42: | "MIN" - ----- - first: <MIN> -43: | "MUL" - ---- - first: <MUL> -44: | "SGE" - ---- - first: <SGE> -45: | "SLT" - ---- - first: <SLT> -46: | "SUB" - ---- - first: <SUB> -47: | "XPD" - ----- - first: <XPD> -========================================== -48: <TRIop_instruction> ::= <TRIop> <maskedDstReg> <TRIop_instruction2> - ---- - first: <MAD> - -49: <TRIop_instruction2> ::= "," <swizzleSrcReg> <TRIop_instruction3> - ----- - first: "," - -50: <TRIop_instruction3> ::= "," <swizzleSrcReg> "," <swizzleSrcReg> - ----- - first: "," - -========================================== -51: <TRIop> ::= "MAD" - ----- - first: <MAD> - -========================================== -52: <SWZ_instruction> ::= "SWZ" <maskedDstReg> <SWZ_instruction2> - ----- - first: <SWZ> - -53: <SWZ_instruction2> ::= "," <srcReg> "," <extendedSwizzle> - ----- - first: "," - -========================================== -54: <scalarSrcReg> ::= <optionalSign> <srcReg> <scalarSuffix> - -------- - first: "+" "-" "vertex" "state" "program" "{" <float> <int> - <id> that is vertexAttrib - <id> that is a TEMP - <id> that is a single, <id> that is an array, - -========================================== -55: <swizzleSrcReg> ::= <optionalSign> <srcReg> <swizzleSuffix> - --------- - first: "+" "-" "vertex" "state" "program" "{" <float> <int> - <id> that is vertexAttrib - <id> that is a TEMP - <id> that is a single, <id> that is an array, - -========================================== -56: <maskedDstReg> ::= <dstReg> <optionalMask> - --------- - first: first: <id>, that is a TEMP "result", <id> that is a vertexResult - -========================================== -57: <maskedAddrReg> ::= <addrReg> <addrWriteMask> - --------- - first: <id> (that is an addr reg) - -========================================== -58: <extendedSwizzle> ::= <extSwizComp> "," <extSwizComp> <extendedSwizzle2> - ------- - first: "+" "-" "0" "1" "x" "y" "z" "w" - -59: <extendedSwizzle2> ::= "," <extSwizComp> "," <extSwizComp> - ------- - first: "," - -========================================== -60: <extSwizComp> ::= <optionalSign> <extSwizSel> - ------- - first: "+" "-" "0" "1" "x" "y" "z" "w" - -========================================== -61: <extSwizSel> ::= "0" -62: | "1" -63: | <component> - -========================================== -64: <srcReg> ::= <vertexAttribReg> - ---- - first: "vertex" <id> that is vertexAttrib -65: | <temporaryReg> - ----- - first: <id> that is a TEMP -66: | <progParamReg> - ---- - first: <id> that is a single, <id> that is an array, "state" "program" "{" <float> <int> - -========================================== -67: <dstReg> ::= <temporaryReg> - --------- - first: <id>, that is a TEMP -68: | <vertexResultReg> - -------- - first: "result", <id> that is a vertexResult - -========================================== -69: <vertexAttribReg> ::= <establishedName> - ----- - first: <id>, -70: | <vtxAttribBinding> - ----- - first: "vertex" - -========================================== - 71: <temporaryReg> ::= <establishedName> - ------ - first: <id> that is a TEMP - -========================================== -72: <progParamReg> ::= <progParamSingle> - ------ - first: <id>, that is single -73: | <progParamArray> "[" <progParamArrayMem> "]" - ----- - first: <id>, that is an array -74: | <paramSingleItemUse> - ------- - first: "state" "program" "{" <float> <int> - -========================================== -75: <progParamSingle> ::= <establishedName> - ------ - first: <id>, that is a single - -========================================== -76: <progParamArray> ::= <establishedName> - ------ - first: <id>, that is an array - -========================================== -77: <progParamArrayMem> ::= <progParamArrayAbs> - ------ - first: <integer> -78: | <progParamArrayRel> - ----- - first: <id> - -========================================== -79: <progParamArrayAbs> ::= <integer> - ------- - first: <integer> - -========================================== -80: <progParamArrayRel> ::= <addrReg> <addrComponent> <addrRegRelOffset> - ------ - first: <id> - -========================================== -81: <addrRegRelOffset> ::= "" - ----- - first: "" - follow: "]" -82: | "+" <addrRegPosOffset> - ----- - first: "+" -83: | "-" <addrRegNegOffset> - ----- - first: "-" - -========================================== -84: <addrRegPosOffset> ::= <integer> from 0 to 63 - ------- - first: <integer> - -========================================== -85: <addrRegNegOffset> ::= <integer> from 0 to 64 - ------- - first: <integer> - -========================================== -86: <vertexResultReg> ::= <establishedName> - ------ - first: <id> -87: | <resultBinding> - first: "result" - -========================================== -88: <addrReg> ::= <establishedName> - first: <id> - -========================================== -89: <addrComponent> ::= "." "x" - ------- - first: "." - -========================================== -90: <addrWriteMask> ::= "." "x" - -------- - first: "." - -========================================== -91: <scalarSuffix> ::= "." <component> - --------- - first: "." - -========================================== -92: <swizzleSuffix> ::= "" - --------- - first: "" - follow: "," ";" - - -/* -custom: | "." <component> | --> Treat as the same production -custom: | "." <component> <component> | --> but check the lenght of <component> - <component> <component> -*/ -317: | "." <swizzleSuffix2> - -------- - first: "." -318: swizzleSuffix2 ::= <component> - -319: | <component4> - -========================================== -93: <component> ::= "x" -94: | "y" -95: | "z" -96: | "w" - -========================================= - <component4> := strlen() == 4, chars are from {x, y, z, w} --> push the input onto the stack - ---- - -========================================== -97: <optionalMask> ::= "." <optionalMask2> - --------- - first: "." -98: | "" - --------- - first: "" - follow: "," - -========================================== -99: <optionalMask2> ::= "x" -100: | "y" -101: | "xy" -102: | "z" -103: | "xz" -104: | "yz" -105: | "xyz" -106: | "w" -107: | "xw" -108: | "yw" -109: | "xyw" -110: | "zw" -111: | "xzw" -112: | "yzw" -113: | "xyzw" - -========================================== -114: <namingStatement> ::= <ATTRIB_statement> - ------ - first: "ATTRIB" -115: | <PARAM_statement> - ----- - first: "PARAM" -116: | <TEMP_statement> - ----- - first: "TEMP" -117: | <ADDRESS_statement> - ----- - first: "ADDRESS" -118: | <OUTPUT_statement> - ----- - first: "OUTPUT" -119: | <ALIAS_statement> - ----- - first: "ALIAS" - -========================================== -120: <ATTRIB_statement> ::= "ATTRIB" <establishName> "=" - <vtxAttribBinding> - ------ - first: "ATTRIB" - -========================================== -121: <vtxAttribBinding> ::= "vertex" "." <vtxAttribItem> - ----- - first: "vertex" - -========================================== -122: <vtxAttribItem> ::= "position" - ------ - first: "position" -123: | "weight" <vtxOptWeightNum> - ----- - first: "weight" -124: | "normal" - ----- - first: "normal" -125: | "color" <optColorType> - ----- - first: "color" -126: | "fogcoord" - ----- - first: "fogcoord" -127: | "texcoord" <optTexCoordNum> - ----- - first: "texcoord" -128: | "matrixindex" "[" <vtxWeightNum> "]" - ---- - first: "matrixindex" -129: | "attrib" "[" <vtxAttribNum> "]" - ---- - first: "attrib" - -========================================== -130: <vtxAttribNum> ::= <integer> from 0 to MAX_VERTEX_ATTRIBS_ARB-1 - ------ - first: <integer> - -========================================== -131: <vtxOptWeightNum> ::= "" - ------ - first: "" - follow: ";" "," "." -132: | "[" <vtxWeightNum> "]" - ------ - first: "[" - -========================================== -133: <vtxWeightNum> ::= <integer> from 0 to MAX_VERTEX_UNITS_ARB-1, - must be divisible by four - ----- - first: <integer> - -========================================== -134: <PARAM_statement> ::= "PARAM" <establishName> <PARAM_statement2> - ----------- - first: "PARAM" - -135: <PARAM_statement2> ::= <paramSingleInit> - ------ - first: "=" -136: | "[" <optArraySize> "]" <paramMultipleInit> - ------ - first: "[" - -========================================== -137: <optArraySize> ::= "" - --------- - first: "" - follow: "]" -138: | <integer> from 1 to MAX_PROGRAM_PARAMETERS_ARB - (maximum number of allowed program - parameter bindings) - -------- - first: <integer> - -========================================== -139: <paramSingleInit> ::= "=" <paramSingleItemDecl> - ------ - first: "=" - -========================================== -140: <paramMultipleInit> ::= "=" "{" <paramMultInitList> "}" - ------ - first: "=" - -========================================== -141: <paramMultInitList> ::= <paramMultipleItem> <paramMultInitList2> - ------ - first: "state" "program" "+" "-" <float> <int> "{" - -========================================== -142: <paramMultInitList2> ::= "," <paramMultInitList> - ------ - first: "," -143: | "" - ------ - first: "" - follow: "}" - -========================================== -144: <paramSingleItemDecl> ::= <stateSingleItem> - ------ - first: "state" -145: | <programSingleItem> - ------ - first: "program" -146: | <paramConstDecl> - ------ - first: "+" "-" <float> <int>"{" - -========================================== -147: <paramSingleItemUse> ::= <stateSingleItem> - ------ - first: "state" -148: | <programSingleItem> - ------ - first: "program" -149: | <paramConstUse> - ------ - first: "{" <float> <int> - -========================================== -150: <paramMultipleItem> ::= <stateMultipleItem> - ----- - first: "state" -151: | <programMultipleItem> - ------ - first: "program" -152: | <paramConstDecl> - ------ - first: "+" "-" <float> <int> "{" - -========================================== -153: <stateMultipleItem> ::= "state" "." <stateMultipleItem2> - ------- - first: "state" - -======================================== -154: <stateMultipleItem2> ::= <stateMaterialItem> - ----- - first: "material" -155: | <stateLightItem> - ------ - first: "light" -156: | <stateLightModelItem> - ------ - first: "lightmodel" -157: | <stateLightProdItem> - ------ - first: "lightprod" -158: | <stateTexGenItem> - ------ - first: "texgen" -159: | <stateFogItem> - ------ - first: "fog" -160: | <stateClipPlaneItem> - ------ - first: "clip" -161: | <statePointItem> - ------ - first: "point" - -162 ::= "matrix" "." <stateMatrixName> <foo> - ---- - first: "matrix" - -=========================== -163: <foo> ::= "." <foo2> ------- - first: "." -316: | "" ------ -follow: "," "}" - - -164: <foo2> ::= <stateMatModifier> <foo3> - ----- - first: "inverse" "transpose" "invtrans" - -165: | "row" "[" <stateMatrixRowNum> <foo4> - ------ - first: "row" - -=========================== -166: <foo3> ::= "" - ----- - first: "" - follow: , } - -167: | "." "row" "[" <foo35> - ----- - first: "." - -============================== -168: <foo35> ::= <stateMatrixRowNum> <foo4> - ------ - first: <int> - -============================== -169: <foo4> ::= "]" - ----- - first: "]" -170: | ".." <stateMatrixRowNum> "]" - ----- - first: .. - -========================================== -171: <stateSingleItem> ::= "state" "." <stateSingleItem2> - ------- - first: "state" - -========================================== -172: <stateSingleItem2> ::= <stateMaterialItem> - ------ - first: "material" -173: | <stateLightItem> - ------ - first: "light" -174: | <stateLightModelItem> - ------ - first: "lightmodel" -175: | <stateLightProdItem> - ------ - first: "lightprod" -176: | <stateTexGenItem> - ------ - first: "texgen" -177: | <stateFogItem> - ------ - first: "fog" -178: | <stateClipPlaneItem> - ------ - first: "clip" -179: | <statePointItem> - ------ - first: "point" -180: | <stateMatrixRow> - ------ - first: "matrix" -========================================== -181: <stateMaterialItem> ::= "material" "." <stateMaterialItem2> - ------ - first: "material" - -======================================== -182: <stateMaterialItem2> ::= <stateMatProperty> - ------ - first: "ambient" "diffuse" "specular" "emission" "shininess" -183: | "." <optFaceType2> "." <stateMatProperty> - ----- - first: "." - -========================================== -184: <stateMatProperty> ::= "ambient" - ----- - first: "ambient" -185; | "diffuse" - ----- - first: "diffuse" -186: | "specular" - ----- - first: "specular" -187: | "emission" - ----- - first: "emission" -188: | "shininess" - ----- - first: "shininess" -========================================== -189: <stateLightItem> ::= "light" "[" <stateLightNumber> <stateLightItem2> - ------ - first: "light" - -190: <stateLightItem2> ::= "]" "." <stateLightProperty> - ----- - first: "]" - - -========================================== -191: <stateLightProperty> ::= "ambient" - ------- - first: "ambient" -192: | "diffuse" - ------- - first: "diffuse" -193: | "specular" - ------- - first: "specular" -194: | "position" - ------- - first: "position" -195: | "attenuation" - ------- - first: "attenuation" -196: | "spot" "." <stateSpotProperty> - -------- - first: "spot" -197: | "half" - -------- - first: "half" - -========================================== -198: <stateSpotProperty> ::= "direction" - --------- - first: "direction" - -========================================== -199: <stateLightModelItem> ::= "lightmodel" <stateLModProperty> - -------- - first: "lightmodel" - -========================================== -200: <stateLModProperty> ::= "." <stateLModProperty2> - ------- - first: "." - -201: <stateLModProperty2> ::= "ambient" - ------- - first: "ambient" -202: | "scenecolor" - ------ - first: "scenecolor" -203: | <optFaceType2> "." "scenecolor" - ------- - first: "front" "back" -========================================== -204: <stateLightProdItem> ::= "lightprod" "[" <stateLightNumber> <stateLightProdItem15> - ------ - first: "lightprod" - -205: <stateLightProdItem15> ::= "]" "." <stateLightProdItem2> - -------- - first: "]" - -=============== -206: <stateLightProdItem2> ::= <stateLProdProperty> - ---------- - first: "ambient" "diffuse" "specular" -207: | <optFaceType2> "." <stateLProdProperty> - --------- - first: "front" "back" - -========================================== -208: <stateLProdProperty> ::= "ambient" - ------- - first: "ambient" -209: | "diffuse" - ------- - first: "diffuse" -210: | "specular" - ------- - first: "specular" - -========================================== -211: <stateLightNumber> ::= <integer> from 0 to MAX_LIGHTS-1 - --------- - first: <integer> - -========================================== -212: <stateTexGenItem> ::= "texgen" <optTexCoordNum> <stateTexGenItem2> - ----------- - first: "texgen" - -213: <stateTexGenItem2> ::= "." <stateTexGenType> "." <stateTexGenCoord> - -========================================== -214: <stateTexGenType> ::= "eye" - -------------- - first: "eye" -215: | "object" - -------------- - first: "object" - -========================================== -216: <stateTexGenCoord> ::= "s" - ------ - first: "s" -217: | "t" - ------- - first: "t" -218: | "r" - ------- - first: "r" -219: | "q" - ------- - first: "q" -========================================== -220: <stateFogItem> ::= "fog" "." <stateFogProperty> - -------- - first: "fog" - -========================================== -221: <stateFogProperty> ::= "color" - ------ - first: "color" -222: | "params" - ------ - first: "params" -========================================== -223: <stateClipPlaneItem> ::= "clip" "[" <stateClipPlaneNum> <stateClipPlaneItem2> - ------ - first: "clip" - -224: <stateClipPlaneItem2> ::= "]" "." "plane" - ----- - first: "]" - -========================================== -225: <stateClipPlaneNum> ::= <integer> from 0 to MAX_CLIP_PLANES-1 - ------- - first: <integer> - -========================================== -226: <statePointItem> ::= "point" . <statePointProperty> - ----- - first: "point" - -========================================== -227: <statePointProperty> ::= "size" - ------- - first: "size" -228: | "attenuation" - -------- - first: "attenuation" - -========================================== -229: <stateMatrixRow> ::= "matrix" "." <stateMatrixName> <stateMatrixRow15> - -------- - first: "matrix" - -230: <stateMatrixRow15> ::= "." <stateMatrixRow2> - ----- - first: "." - -=========================== -231: <stateMatrixRow2> ::= "row" "[" <stateMatrixRowNum> "]" - -------- - first: "row" -232: | <stateMatModifier> "." "row" <stateMatrixRow3> - ------ - first: "inverse" "transpose" "invtrans" - -233: <stateMatrixRow3> ::= "[" <stateMatrixRowNum> "]" - ----- - first: "[" - -========================================== -234: <stateMatModifier> ::= "inverse" - -------- - first: "inverse" -235: | "transpose" - ------- - first: "transpose" -236: | "invtrans" - ------- - first: "invtrans" - -========================================== -237: <stateMatrixRowNum> ::= <integer> from 0 to 3 - ---------- - first: <integer> - -========================================== -238: <stateMatrixName> ::= "modelview" <stateOptModMatNum> - ------------ - first: "modelview" -239: | "projection" - ------------ - first: "projection" -240: | "mvp" - ----------- - first: "mvp" -241: | "texture" <optTexCoordNum> - ----------- - first: "texture" -242: | "palette" "[" <statePaletteMatNum> "]" - ----------- - first: "palette" -243: | "program" "[" <stateProgramMatNum> "]" - ----------- - first: "program" - -========================================== -244: <stateOptModMatNum> ::= "" - ------------- - first: "" - follow: "." "," "}" -245: | "[" <stateModMatNum> "]" - ------------- - first: "[" - -========================================== -246: <stateModMatNum> ::= <integer> from 0 to MAX_VERTEX_UNITS_ARB-1 - ----------- - first: <integer> - -========================================== -247: <statePaletteMatNum> ::= <integer> from 0 to MAX_PALETTE_MATRICES_ARB-1 - ----------- - first: <integer> - -========================================== -248: <stateProgramMatNum> ::= <integer> from 0 to MAX_PROGRAM_MATRICES_ARB-1 - ------------ - first: <integer> - -========================================== -249: <programSingleItem> ::= "program" "." <programSingleItem2> - --------------- - first: "program" - -250: <programSingleItem2> ::= <progEnvParam> - -------------- - first: "env" -251: | <progLocalParam> - -------------- - first: "local" - -========================================== -252: <programMultipleItem> ::= "program" "." <programMultipleItem2> - --------------- - first: "program" - -========================================== -253: <programMultipleItem2> ::= <progEnvParams> - --------------- - first: "env" -254: | <progLocalParams> - -------------- - first: "local" - -========================================== -255: <progEnvParams> ::= "env" "[" <progEnvParamNums> "]" - ----------- - first: "env" - -========================================== -256: <progEnvParamNums> ::= <progEnvParamNum> <progEnvParamNums2> - --------- - first: <integer> - -========================================== -257: <progEnvParamNums2> ::= ".." <progEnvParamNum> - ---------- - first: ".." -258: | "" - --------- - first: "" - follow: "]" - -========================================== -259: <progEnvParam> ::= "env" "[" <progEnvParamNum> "]" - --------- - first: "env" - -========================================== -260: <progLocalParams> ::= "local" "[" <progLocalParamNums> "]" - --------- - first: "local" - -========================================== -261: <progLocalParamNums> ::= <progLocalParamNum> <progLocalParamNums2> - ---------- - first: <integer> - -========================================== -262: <progLocalParamNums2> ::= ".." <progLocalParamNum> - --------- - first: ".." -263: | "" - -------- - first: "" - follow: "]" -========================================== -264: <progLocalParam> ::= "local" "[" <progLocalParamNum> "]" - --------- - first: "local" - -========================================== -265: <progEnvParamNum> ::= <integer> from 0 to MAX_PROGRAM_ENV_PARAMETERS_ARB - 1 - --------- - first: <integer> - - -========================================== -266: <progLocalParamNum> ::= <integer> from 0 to MAX_PROGRAM_LOCAL_PARAMETERS_ARB - 1 - ------------- - first: <integer> - -========================================== -267: <paramConstDecl> ::= <paramConstScalarDecl> - ------------ - first: "+" "-" <float> <int> - -268: | <paramConstVector> - ------------ - first: "{" - -========================================== -269: <paramConstUse> ::= <paramConstScalarUse> - ----------- - first: <float> <int> -270: | <paramConstVector> - ---------- - first: "{" - -========================================== -271: <paramConstScalarDecl> ::= <signedFloatConstant> - ---------- - first: "+" "-" <float> <int> - -========================================== -272: <paramConstScalarUse> ::= <floatConstant> - ------------ - first: <float> <int> - -========================================== -273: <paramConstVector> ::= "{" <signedFloatConstant> <paramConstVector2> - ------------- - -========================================== -274: <paramConstVector2> ::= "}" - ------------- - first: "}" -275: | "," <signedFloatConstant> <paramConstVector3> - ------------- - first: "," - -========================================== -276: <paramConstVector3> ::= "}" - ------------- - first: "}" -277: | "," <signedFloatConstant> <paramConstVector4> - ------------ - first: "," - -========================================== -278: <paramConstVector4> ::= "}" - ------------ - first: "}" -279: | "," <signedFloatConstant> "}" - ------------ - first: "," - -========================================== -280: <signedFloatConstant> ::= <optionalSign> <floatConstant> - ---------- - first: "-" "+" <float> <int> - -========================================== - <floatConstant> ::= see text - ---------- - first: <float> <int> - -========================================== -281: <optionalSign> ::= "" - ----------- - first: "" - follow: <float> <int> "0" "1" "x" "y" "z" "w" "state" "program" "vertex" "{" - vertexattr <id> - temp <id> - single <id> - array <id> - - | "-" - ----------- -282: first: "-" - - | "+" - --------- -283: first: "+" - -========================================== -284: <TEMP_statement> ::= "TEMP" <varNameList> - -------- - first: "TEMP" - -========================================== -285: <ADDRESS_statement> ::= "ADDRESS" <varNameList> - ------------- - first: "ADDRESS" - -========================================== -286: <varNameList> ::= <establishName> - ------------- - first: <id> -287: | <establishName> "," <varNameList> - ------------- - first: <id> - -========================================== -288: <OUTPUT_statement> ::= "OUTPUT" <establishName> "=" <resultBinding> - ------------------ - first: "OUTPUT" - -========================================== -289: <resultBinding> ::= "result" "." <resultBinding2> - ------------------- - first: "result" - -========================================== -290: <resultBinding2> ::= "position" - ---------------------------------- - first: "position" -291: | "fogcoord" - ---------------------------------- - first: "fogcoord" -292: | "pointsize" - ---------------------------------- - first: "pointsize" -293: | <resultColBinding> - ---------------------------------- - first: "color" -294: | "texcoord" <optTexCoordNum> - ---------------------------------- - first: "texcoord" - -========================================== -295: <resultColBinding> ::= "color" <resultColBinding2> - ----- - first: "color" - -============= -296: <resultColBinding2> ::= "" - ---- - first: "" - follow: ";" "," "." -297: | "." <resultColBinding3> - ---- - first: "." - --> HACK: If we have a ".", look ahead 1 and see if we have - "front" | back". If so, choose the second production. - If not, choose the first. - -=========== -298: <resultColBinding3> ::= "front" <resultColBinding4> - --------- - first: "front" -299: | "back" <resultColBinding4> - -------- - first: "back" - -=========== -300: <resultColBinding4> ::= "" - --------- - first: "" - follow: ";" "," "." -301: | "." <resultColBinding5> - --------- - first "." - - ----> HACK: If we have a ".", peek ahead 1 and see if we have "primary" | "secondary". - If so, choose teh second production. If not, choose the first. - -=============== -302: <resultColBinding5> ::= "primary" - -------- - first: "primary" -303: | "secondary" - -------- - first: "secondary" - - -========================================== -304: <optFaceType2> ::= "front" - ---------------------------------- - first: "front" -305: | "back" - ---------------------------------- - first: "back" - -========================================== -306: <optColorType> ::= "." <optColorType2> - ---------------------------------- - first: "." -307: | "" - ---------------------------------- - first: "" - follow: ";" "," "." - - --> HACK: If we get a ".", peek ahead 1 token. if we have - "primary" | "secondary", go choose the first production. - else, choose the second. - -========================================== -308: <optColorType2> ::= "primary" - ---------------------------------- - first: "primary" -309: | "secondary" - ---------------------------------- - first: "secondary" - -========================================== -310: <optTexCoordNum> ::= "" - ---------------------------------- - first: "" - follow: "." ";" "," "}" -311: | "[" <texCoordNum> "]" - ---------------------------------- - first: "[" - -========================================== -312: <texCoordNum> ::= <integer> from 0 to MAX_TEXTURE_UNITS-1 - ----------------------------------- - first: <integer> - -========================================== -313: <ALIAS_statement> ::= "ALIAS" <establishName> "=" <establishedName> - ----------------------------------- - first: "ALIAS" - -========================================== -314: <establishName> ::= <identifier> - ----------------------------------- - first: <id> - -========================================== -315: <establishedName> ::= <identifier> - ----------------------------------- - first: <id> - -========================================== - <identifier> ::= see text - ----------------------------------- - first: <id> - -HIGHEST PRODUCTION: 319 |