Commit 205fef33 by kbr@chromium.org

Added support for GL_ARB_texture_rectangle to shader validator.

Parser was regenerated with the flex/bison shipped with Ubuntu 10.04. BUG=251 TEST=tested with new Core Animation plugin rendering path on Mac OS X Review URL: http://codereview.appspot.com/5432044 git-svn-id: https://angleproject.googlecode.com/svn/trunk@888 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent afaa0490
......@@ -76,7 +76,8 @@ typedef enum {
SH_FLOAT_MAT3 = 0x8B5B,
SH_FLOAT_MAT4 = 0x8B5C,
SH_SAMPLER_2D = 0x8B5E,
SH_SAMPLER_CUBE = 0x8B60
SH_SAMPLER_CUBE = 0x8B60,
SH_SAMPLER_2D_RECT_ARB = 0x8B63
} ShDataType;
typedef enum {
......@@ -137,6 +138,7 @@ typedef struct
// Set to 1 to enable the extension, else 0.
int OES_standard_derivatives;
int OES_EGL_image_external;
int ARB_texture_rectangle;
} ShBuiltInResources;
//
......
#define MAJOR_VERSION 0
#define MINOR_VERSION 0
#define BUILD_VERSION 0
#define BUILD_REVISION 885
#define BUILD_REVISION 888
#define STRINGIFY(x) #x
#define MACRO_STRINGIFY(x) STRINGIFY(x)
......
......@@ -43,6 +43,7 @@ enum TBasicType
EbtSampler2D,
EbtSamplerCube,
EbtSamplerExternalOES, // Only valid if OES_EGL_image_external exists.
EbtSampler2DRect, // Only valid if GL_ARB_texture_rectangle exists.
EbtGuardSamplerEnd, // non type: see implementation of IsSampler()
EbtStruct,
EbtAddress, // should be deprecated??
......@@ -59,6 +60,7 @@ inline const char* getBasicString(TBasicType t)
case EbtSampler2D: return "sampler2D"; break;
case EbtSamplerCube: return "samplerCube"; break;
case EbtSamplerExternalOES: return "samplerExternalOES"; break;
case EbtSampler2DRect: return "sampler2DRect"; break;
case EbtStruct: return "structure"; break;
default: return "unknown type";
}
......
......@@ -19,7 +19,7 @@
// Prototypes for built-in functions seen by both vertex and fragment shaders.
//
//============================================================================
static TString BuiltInFunctionsCommon()
static TString BuiltInFunctionsCommon(const ShBuiltInResources& resources)
{
TString s;
......@@ -311,6 +311,26 @@ static TString BuiltInFunctionsCommon()
s.append(TString("bvec4 not(bvec4 x);"));
//
// Texture Functions.
//
s.append(TString("vec4 texture2D(sampler2D sampler, vec2 coord);"));
s.append(TString("vec4 texture2DProj(sampler2D sampler, vec3 coord);"));
s.append(TString("vec4 texture2DProj(sampler2D sampler, vec4 coord);"));
s.append(TString("vec4 textureCube(samplerCube sampler, vec3 coord);"));
if (resources.OES_EGL_image_external) {
s.append(TString("vec4 texture2D(samplerExternalOES sampler, vec2 coord);"));
s.append(TString("vec4 texture2DProj(samplerExternalOES sampler, vec3 coord);"));
s.append(TString("vec4 texture2DProj(samplerExternalOES sampler, vec4 coord);"));
}
if (resources.ARB_texture_rectangle) {
s.append(TString("vec4 texture2DRect(sampler2DRect sampler, vec2 coord);"));
s.append(TString("vec4 texture2DRectProj(sampler2DRect sampler, vec3 coord);"));
s.append(TString("vec4 texture2DRectProj(sampler2DRect sampler, vec4 coord);"));
}
//
// Noise functions.
//
//s.append(TString("float noise1(float x);"));
......@@ -353,22 +373,11 @@ static TString BuiltInFunctionsVertex(const ShBuiltInResources& resources)
//
// Texture Functions.
//
s.append(TString("vec4 texture2D(sampler2D sampler, vec2 coord);"));
s.append(TString("vec4 texture2DProj(sampler2D sampler, vec3 coord);"));
s.append(TString("vec4 texture2DProj(sampler2D sampler, vec4 coord);"));
s.append(TString("vec4 textureCube(samplerCube sampler, vec3 coord);"));
s.append(TString("vec4 texture2DLod(sampler2D sampler, vec2 coord, float lod);"));
s.append(TString("vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod);"));
s.append(TString("vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod);"));
s.append(TString("vec4 textureCubeLod(samplerCube sampler, vec3 coord, float lod);"));
if (resources.OES_EGL_image_external) {
s.append(TString("vec4 texture2D(samplerExternalOES sampler, vec2 coord);"));
s.append(TString("vec4 texture2DProj(samplerExternalOES sampler, vec3 coord);"));
s.append(TString("vec4 texture2DProj(samplerExternalOES sampler, vec4 coord);"));
}
return s;
}
......@@ -384,22 +393,11 @@ static TString BuiltInFunctionsFragment(const ShBuiltInResources& resources)
//
// Texture Functions.
//
s.append(TString("vec4 texture2D(sampler2D sampler, vec2 coord);"));
s.append(TString("vec4 texture2DProj(sampler2D sampler, vec3 coord);"));
s.append(TString("vec4 texture2DProj(sampler2D sampler, vec4 coord);"));
s.append(TString("vec4 textureCube(samplerCube sampler, vec3 coord);"));
s.append(TString("vec4 texture2D(sampler2D sampler, vec2 coord, float bias);"));
s.append(TString("vec4 texture2DProj(sampler2D sampler, vec3 coord, float bias);"));
s.append(TString("vec4 texture2DProj(sampler2D sampler, vec4 coord, float bias);"));
s.append(TString("vec4 textureCube(samplerCube sampler, vec3 coord, float bias);"));
if (resources.OES_EGL_image_external) {
s.append(TString("vec4 texture2D(samplerExternalOES sampler, vec2 coord);"));
s.append(TString("vec4 texture2DProj(samplerExternalOES sampler, vec3 coord);"));
s.append(TString("vec4 texture2DProj(samplerExternalOES sampler, vec4 coord);"));
}
if (resources.OES_standard_derivatives) {
s.append(TString("float dFdx(float p);"));
s.append(TString("vec2 dFdx(vec2 p);"));
......@@ -500,14 +498,14 @@ void TBuiltIns::initialize(ShShaderType type, ShShaderSpec spec,
switch (type) {
case SH_FRAGMENT_SHADER:
builtInStrings.push_back(DefaultPrecisionFragment());
builtInStrings.push_back(BuiltInFunctionsCommon());
builtInStrings.push_back(BuiltInFunctionsCommon(resources));
builtInStrings.push_back(BuiltInFunctionsFragment(resources));
builtInStrings.push_back(StandardUniforms());
break;
case SH_VERTEX_SHADER:
builtInStrings.push_back(DefaultPrecisionVertex());
builtInStrings.push_back(BuiltInFunctionsCommon());
builtInStrings.push_back(BuiltInFunctionsCommon(resources));
builtInStrings.push_back(BuiltInFunctionsVertex(resources));
builtInStrings.push_back(StandardUniforms());
break;
......@@ -640,4 +638,6 @@ void InitExtensionBehavior(const ShBuiltInResources& resources,
extBehavior["GL_OES_standard_derivatives"] = EBhUndefined;
if (resources.OES_EGL_image_external)
extBehavior["GL_OES_EGL_image_external"] = EBhUndefined;
if (resources.ARB_texture_rectangle)
extBehavior["GL_ARB_texture_rectangle"] = EBhUndefined;
}
......@@ -122,6 +122,7 @@ void ShInitBuiltInResources(ShBuiltInResources* resources)
// Extensions.
resources->OES_standard_derivatives = 0;
resources->OES_EGL_image_external = 0;
resources->ARB_texture_rectangle = 0;
}
//
......
......@@ -63,6 +63,7 @@ static ShDataType getVariableDataType(const TType& type)
}
case EbtSampler2D: return SH_SAMPLER_2D;
case EbtSamplerCube: return SH_SAMPLER_CUBE;
case EbtSampler2DRect: return SH_SAMPLER_2D_RECT_ARB;
default: UNREACHABLE();
}
return SH_NONE;
......
......@@ -121,6 +121,7 @@ O [0-7]
"sampler2D" { context->lexAfterType = true; return SAMPLER2D; }
"samplerCube" { context->lexAfterType = true; return SAMPLERCUBE; }
"samplerExternalOES" { context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; }
"sampler2DRect" { context->lexAfterType = true; return SAMPLER2DRECT; }
"struct" { context->lexAfterType = true; return(STRUCT); }
......
......@@ -98,7 +98,7 @@ extern void yyerror(TParseContext* context, const char* reason);
%token <lex> BVEC2 BVEC3 BVEC4 IVEC2 IVEC3 IVEC4 VEC2 VEC3 VEC4
%token <lex> MATRIX2 MATRIX3 MATRIX4 IN_QUAL OUT_QUAL INOUT_QUAL UNIFORM VARYING
%token <lex> STRUCT VOID_TYPE WHILE
%token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES
%token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES SAMPLER2DRECT
%token <lex> IDENTIFIER TYPE_NAME FLOATCONSTANT INTCONSTANT BOOLCONSTANT
%token <lex> FIELD_SELECTION
......@@ -1624,6 +1624,15 @@ type_specifier_nonarray
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtSamplerExternalOES, qual, $1.line);
}
| SAMPLER2DRECT {
if (!context->supportsExtension("GL_ARB_texture_rectangle")) {
context->error($1.line, "unsupported type", "sampler2DRect", "");
context->recover();
}
FRAG_VERT_ONLY("sampler2DRect", $1.line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtSampler2DRect, qual, $1.line);
}
| struct_specifier {
FRAG_VERT_ONLY("struct", $1.line);
$$ = $1;
......
......@@ -63,7 +63,6 @@ typedef int flex_int32_t;
typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
#endif /* ! C99 */
/* Limits of integral types. */
#ifndef INT8_MIN
......@@ -94,6 +93,8 @@ typedef unsigned int flex_uint32_t;
#define UINT32_MAX (4294967295U)
#endif
#endif /* ! C99 */
#endif /* ! FLEXINT_H */
#ifdef __cplusplus
......@@ -167,7 +168,15 @@ typedef void* yyscan_t;
/* Size of default input buffer. */
#ifndef YY_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k.
* Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
* Ditto for the __ia64__ case accordingly.
*/
#define YY_BUF_SIZE 32768
#else
#define YY_BUF_SIZE 16384
#endif /* __ia64__ */
#endif
/* The state buf must be large enough to hold one state per character in the main buffer.
......@@ -371,8 +380,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
#define YY_NUM_RULES 146
#define YY_END_OF_BUFFER 147
#define YY_NUM_RULES 147
#define YY_END_OF_BUFFER 148
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
......@@ -380,55 +389,55 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
static yyconst flex_int16_t yy_accept[422] =
static yyconst flex_int16_t yy_accept[426] =
{ 0,
0, 0, 0, 0, 0, 0, 147, 145, 144, 144,
129, 135, 140, 124, 125, 133, 132, 121, 130, 128,
134, 93, 93, 122, 118, 136, 123, 137, 141, 89,
126, 127, 139, 89, 89, 89, 89, 89, 89, 89,
89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
89, 89, 89, 119, 138, 120, 131, 3, 4, 3,
143, 146, 142, 115, 101, 120, 109, 104, 99, 107,
97, 108, 98, 96, 2, 1, 100, 95, 91, 92,
0, 0, 93, 127, 119, 126, 116, 112, 114, 113,
117, 89, 105, 111, 89, 89, 89, 89, 89, 89,
89, 89, 89, 89, 17, 89, 89, 89, 89, 89,
89, 89, 89, 89, 89, 89, 89, 89, 20, 22,
89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
89, 89, 89, 89, 89, 89, 106, 110, 5, 142,
0, 1, 95, 0, 0, 94, 90, 102, 103, 49,
89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
89, 89, 89, 89, 89, 89, 89, 18, 89, 89,
89, 89, 89, 89, 89, 89, 26, 89, 89, 89,
89, 89, 89, 89, 89, 23, 89, 89, 89, 89,
89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
89, 89, 89, 89, 89, 89, 89, 89, 0, 96,
0, 95, 89, 28, 89, 89, 86, 89, 89, 89,
89, 89, 89, 89, 21, 52, 89, 89, 89, 89,
89, 57, 71, 89, 89, 89, 89, 89, 89, 89,
89, 68, 9, 33, 34, 35, 89, 89, 89, 89,
89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
89, 55, 29, 89, 89, 89, 89, 89, 89, 36,
37, 38, 27, 89, 89, 89, 15, 42, 43, 44,
50, 12, 89, 89, 89, 89, 82, 83, 84, 89,
30, 72, 25, 79, 80, 81, 7, 76, 77, 78,
89, 24, 74, 89, 89, 39, 40, 41, 89, 89,
89, 89, 89, 89, 89, 89, 89, 69, 89, 89,
89, 89, 89, 89, 89, 51, 89, 88, 89, 89,
19, 89, 89, 89, 89, 70, 65, 60, 89, 89,
89, 89, 89, 75, 56, 89, 63, 32, 89, 85,
64, 48, 58, 89, 89, 89, 89, 89, 89, 89,
89, 59, 31, 89, 89, 89, 8, 89, 89, 89,
89, 89, 53, 13, 89, 14, 89, 89, 16, 66,
89, 89, 89, 61, 89, 89, 89, 89, 54, 73,
62, 11, 67, 6, 87, 10, 45, 89, 89, 89,
89, 46, 89, 89, 89, 89, 89, 89, 89, 47,
0
0, 0, 0, 0, 0, 0, 148, 146, 145, 145,
130, 136, 141, 125, 126, 134, 133, 122, 131, 129,
135, 94, 94, 123, 119, 137, 124, 138, 142, 90,
127, 128, 140, 90, 90, 90, 90, 90, 90, 90,
90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
90, 90, 90, 120, 139, 121, 132, 3, 4, 3,
144, 147, 143, 116, 102, 121, 110, 105, 100, 108,
98, 109, 99, 97, 2, 1, 101, 96, 92, 93,
0, 0, 94, 128, 120, 127, 117, 113, 115, 114,
118, 90, 106, 112, 90, 90, 90, 90, 90, 90,
90, 90, 90, 90, 17, 90, 90, 90, 90, 90,
90, 90, 90, 90, 90, 90, 90, 90, 20, 22,
90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
90, 90, 90, 90, 90, 90, 107, 111, 5, 143,
0, 1, 96, 0, 0, 95, 91, 103, 104, 50,
90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
90, 90, 90, 90, 90, 90, 90, 18, 90, 90,
90, 90, 90, 90, 90, 90, 26, 90, 90, 90,
90, 90, 90, 90, 90, 23, 90, 90, 90, 90,
90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
90, 90, 90, 90, 90, 90, 90, 90, 0, 97,
0, 96, 90, 28, 90, 90, 87, 90, 90, 90,
90, 90, 90, 90, 21, 53, 90, 90, 90, 90,
90, 58, 72, 90, 90, 90, 90, 90, 90, 90,
90, 69, 9, 33, 34, 35, 90, 90, 90, 90,
90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
90, 56, 29, 90, 90, 90, 90, 90, 90, 36,
37, 38, 27, 90, 90, 90, 15, 42, 43, 44,
51, 12, 90, 90, 90, 90, 83, 84, 85, 90,
30, 73, 25, 80, 81, 82, 7, 77, 78, 79,
90, 24, 75, 90, 90, 39, 40, 41, 90, 90,
90, 90, 90, 90, 90, 90, 90, 70, 90, 90,
90, 90, 90, 90, 90, 52, 90, 89, 90, 90,
19, 90, 90, 90, 90, 71, 66, 61, 90, 90,
90, 90, 90, 76, 57, 90, 64, 32, 90, 86,
65, 49, 59, 90, 90, 90, 90, 90, 90, 90,
90, 60, 31, 90, 90, 90, 8, 90, 90, 90,
90, 90, 54, 13, 90, 14, 90, 90, 16, 67,
90, 90, 90, 62, 90, 90, 90, 90, 55, 74,
63, 11, 68, 6, 88, 10, 45, 90, 90, 90,
90, 90, 90, 46, 90, 90, 90, 48, 90, 90,
90, 90, 90, 47, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
......@@ -441,12 +450,12 @@ static yyconst flex_int32_t yy_ec[256] =
18, 19, 16, 16, 16, 20, 20, 21, 22, 23,
24, 25, 26, 1, 27, 27, 28, 29, 30, 27,
31, 31, 31, 31, 31, 31, 31, 31, 32, 31,
31, 31, 33, 31, 31, 31, 31, 34, 31, 31,
35, 1, 36, 37, 31, 1, 38, 39, 40, 41,
31, 33, 34, 31, 31, 31, 31, 35, 31, 31,
36, 1, 37, 38, 31, 1, 39, 40, 41, 42,
42, 43, 44, 45, 46, 31, 47, 48, 49, 50,
51, 52, 31, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 1, 1, 1, 1,
43, 44, 45, 46, 47, 31, 48, 49, 50, 51,
52, 53, 31, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
......@@ -463,199 +472,201 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1
} ;
static yyconst flex_int32_t yy_meta[66] =
static yyconst flex_int32_t yy_meta[67] =
{ 0,
1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 3, 3, 3, 3, 3, 3,
1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
4, 4, 4, 4, 1, 1, 1, 3, 3, 3,
3, 3, 3, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 1, 1, 1, 3, 3,
3, 3, 3, 3, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 1, 1, 1, 1
4, 4, 1, 1, 1, 1
} ;
static yyconst flex_int16_t yy_base[427] =
static yyconst flex_int16_t yy_base[431] =
{ 0,
0, 0, 63, 64, 73, 0, 621, 622, 622, 622,
596, 44, 133, 622, 622, 595, 130, 622, 129, 127,
141, 153, 161, 593, 622, 177, 593, 46, 622, 0,
622, 622, 124, 97, 105, 137, 148, 154, 168, 565,
151, 167, 564, 121, 158, 558, 111, 571, 177, 176,
157, 188, 567, 622, 168, 622, 622, 622, 622, 597,
622, 622, 0, 622, 622, 622, 622, 622, 622, 622,
622, 622, 622, 225, 622, 0, 622, 231, 259, 267,
288, 0, 297, 622, 622, 622, 586, 622, 622, 622,
585, 0, 622, 622, 559, 552, 555, 563, 562, 549,
564, 551, 557, 545, 542, 555, 542, 539, 539, 545,
533, 540, 537, 547, 533, 539, 542, 543, 0, 205,
542, 170, 528, 541, 532, 534, 524, 538, 535, 537,
520, 525, 522, 511, 199, 525, 521, 523, 512, 515,
212, 520, 512, 524, 138, 517, 622, 622, 622, 0,
313, 0, 325, 341, 275, 353, 0, 622, 622, 0,
509, 513, 522, 519, 503, 503, 179, 518, 515, 515,
513, 510, 502, 508, 495, 506, 509, 0, 506, 494,
501, 498, 502, 495, 484, 483, 496, 499, 496, 491,
482, 246, 487, 490, 481, 478, 482, 488, 479, 470,
473, 471, 481, 467, 465, 465, 467, 464, 475, 474,
245, 469, 464, 453, 251, 471, 473, 462, 359, 365,
371, 377, 463, 0, 461, 301, 0, 453, 451, 459,
448, 465, 454, 317, 0, 0, 448, 458, 458, 443,
329, 0, 0, 445, 345, 446, 440, 439, 440, 439,
381, 0, 0, 0, 0, 0, 435, 436, 441, 432,
445, 440, 439, 431, 435, 427, 430, 434, 439, 438,
429, 0, 0, 435, 424, 424, 429, 428, 425, 0,
0, 0, 0, 415, 427, 429, 0, 0, 0, 0,
0, 0, 417, 418, 412, 422, 0, 0, 0, 413,
0, 0, 64, 65, 74, 0, 627, 628, 628, 628,
602, 45, 135, 628, 628, 601, 132, 628, 131, 129,
143, 155, 163, 599, 628, 179, 599, 47, 628, 0,
628, 628, 126, 98, 108, 147, 158, 158, 165, 570,
130, 107, 569, 148, 156, 563, 172, 576, 174, 181,
177, 195, 572, 628, 173, 628, 628, 628, 628, 603,
628, 628, 0, 628, 628, 628, 628, 628, 628, 628,
628, 628, 628, 233, 628, 0, 628, 239, 255, 271,
287, 0, 300, 628, 628, 628, 592, 628, 628, 628,
591, 0, 628, 628, 564, 557, 560, 568, 567, 554,
569, 556, 562, 550, 547, 560, 547, 544, 544, 550,
538, 545, 542, 552, 538, 544, 547, 548, 0, 187,
547, 241, 533, 546, 537, 539, 529, 543, 540, 542,
525, 530, 527, 516, 192, 530, 526, 528, 517, 520,
274, 525, 517, 529, 114, 522, 628, 628, 628, 0,
316, 0, 322, 338, 344, 351, 0, 628, 628, 0,
514, 518, 527, 524, 508, 508, 205, 523, 520, 520,
518, 515, 507, 513, 500, 511, 514, 0, 511, 499,
506, 503, 507, 500, 489, 488, 501, 504, 501, 496,
487, 247, 492, 495, 486, 483, 487, 493, 484, 475,
478, 476, 486, 472, 470, 470, 472, 469, 480, 479,
328, 474, 469, 458, 260, 476, 478, 467, 358, 366,
372, 378, 468, 0, 466, 276, 0, 458, 456, 464,
453, 470, 459, 291, 0, 0, 453, 463, 463, 448,
305, 0, 0, 450, 327, 451, 445, 444, 445, 444,
382, 0, 0, 0, 0, 0, 440, 441, 446, 437,
450, 445, 444, 436, 440, 432, 435, 439, 444, 443,
434, 0, 0, 440, 429, 429, 434, 433, 430, 0,
0, 0, 0, 420, 432, 434, 0, 0, 0, 0,
0, 0, 422, 423, 417, 427, 0, 0, 0, 418,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420, 0, 0, 418, 414, 0, 0, 0, 410, 406,
411, 401, 414, 400, 413, 402, 409, 0, 407, 409,
393, 402, 408, 403, 391, 0, 393, 0, 392, 395,
0, 384, 383, 383, 396, 0, 398, 0, 397, 396,
381, 394, 381, 0, 0, 384, 0, 0, 376, 0,
0, 0, 0, 373, 384, 377, 383, 380, 375, 367,
379, 0, 0, 372, 379, 368, 0, 377, 374, 364,
294, 372, 0, 0, 372, 0, 368, 324, 0, 0,
323, 299, 310, 0, 300, 320, 282, 278, 0, 0,
0, 0, 0, 0, 0, 0, 0, 287, 266, 260,
257, 0, 228, 221, 221, 206, 206, 197, 160, 0,
622, 400, 402, 404, 408, 157
425, 0, 0, 423, 419, 0, 0, 0, 415, 411,
416, 406, 419, 405, 418, 407, 414, 0, 412, 414,
398, 407, 413, 408, 396, 0, 398, 0, 397, 400,
0, 389, 388, 388, 401, 0, 403, 0, 402, 401,
386, 399, 386, 0, 0, 389, 0, 0, 381, 0,
0, 0, 0, 378, 389, 382, 388, 385, 380, 372,
382, 0, 0, 365, 371, 360, 0, 369, 366, 356,
385, 364, 0, 0, 364, 0, 362, 361, 0, 0,
360, 323, 308, 0, 298, 318, 270, 265, 0, 0,
0, 0, 0, 0, 0, 0, 279, 271, 240, 240,
238, 237, 226, 0, 208, 188, 190, 0, 186, 173,
187, 164, 158, 0, 628, 415, 417, 419, 423, 186
} ;
static yyconst flex_int16_t yy_def[427] =
static yyconst flex_int16_t yy_def[431] =
{ 0,
421, 1, 422, 422, 421, 5, 421, 421, 421, 421,
421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
421, 421, 421, 421, 421, 421, 421, 421, 421, 423,
421, 421, 421, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 421, 421, 421, 421, 421, 421, 421,
421, 421, 424, 421, 421, 421, 421, 421, 421, 421,
421, 421, 421, 421, 421, 425, 421, 421, 421, 421,
421, 426, 421, 421, 421, 421, 421, 421, 421, 421,
421, 423, 421, 421, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 421, 421, 421, 424,
421, 425, 421, 421, 421, 421, 426, 421, 421, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 421, 421,
421, 421, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
0, 421, 421, 421, 421, 421
425, 1, 426, 426, 425, 5, 425, 425, 425, 425,
425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
425, 425, 425, 425, 425, 425, 425, 425, 425, 427,
425, 425, 425, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 425, 425, 425, 425, 425, 425, 425,
425, 425, 428, 425, 425, 425, 425, 425, 425, 425,
425, 425, 425, 425, 425, 429, 425, 425, 425, 425,
425, 430, 425, 425, 425, 425, 425, 425, 425, 425,
425, 427, 425, 425, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 425, 425, 425, 428,
425, 429, 425, 425, 425, 425, 430, 425, 425, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 425, 425,
425, 425, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
427, 427, 427, 427, 0, 425, 425, 425, 425, 425
} ;
static yyconst flex_int16_t yy_nxt[688] =
static yyconst flex_int16_t yy_nxt[695] =
{ 0,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 23, 23, 23, 23,
24, 25, 26, 27, 28, 29, 30, 30, 30, 30,
30, 30, 30, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 30, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 30, 30,
30, 54, 55, 56, 57, 59, 59, 65, 66, 90,
91, 60, 60, 8, 61, 62, 8, 8, 8, 8,
30, 30, 30, 30, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 30, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 30,
30, 30, 54, 55, 56, 57, 59, 59, 65, 66,
90, 91, 60, 60, 8, 61, 62, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 63,
63, 63, 63, 63, 63, 63, 63, 8, 8, 8,
63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
63, 63, 63, 63, 63, 63, 63, 63, 63, 8,
8, 8, 63, 63, 63, 63, 63, 63, 63, 63,
63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
63, 63, 63, 63, 8, 8, 8, 8, 67, 70,
72, 74, 74, 74, 74, 74, 74, 93, 128, 75,
95, 96, 73, 71, 76, 97, 68, 98, 123, 157,
94, 99, 124, 129, 77, 78, 130, 79, 79, 79,
79, 79, 80, 78, 100, 83, 83, 83, 83, 83,
83, 85, 81, 216, 101, 217, 82, 102, 116, 103,
81, 147, 420, 104, 81, 125, 117, 86, 105, 87,
88, 107, 81, 108, 106, 110, 141, 118, 126, 119,
142, 82, 109, 111, 132, 112, 120, 137, 113, 190,
138, 133, 134, 121, 114, 143, 419, 191, 139, 144,
148, 135, 229, 230, 136, 140, 204, 418, 145, 74,
74, 74, 74, 74, 74, 153, 153, 153, 153, 153,
153, 205, 184, 417, 151, 185, 186, 211, 416, 187,
154, 188, 254, 255, 256, 212, 151, 280, 281, 282,
415, 78, 154, 79, 79, 79, 79, 79, 80, 78,
414, 80, 80, 80, 80, 80, 80, 275, 81, 156,
156, 156, 156, 156, 156, 276, 81, 155, 413, 155,
81, 412, 156, 156, 156, 156, 156, 156, 81, 78,
396, 83, 83, 83, 83, 83, 83, 288, 289, 290,
411, 397, 219, 398, 219, 410, 81, 220, 220, 220,
220, 220, 220, 297, 298, 299, 409, 408, 81, 153,
153, 153, 153, 153, 153, 304, 305, 306, 407, 406,
221, 405, 221, 404, 154, 222, 222, 222, 222, 222,
222, 308, 309, 310, 403, 402, 154, 156, 156, 156,
156, 156, 156, 220, 220, 220, 220, 220, 220, 220,
220, 220, 220, 220, 220, 222, 222, 222, 222, 222,
222, 222, 222, 222, 222, 222, 222, 316, 317, 318,
58, 58, 58, 58, 92, 92, 150, 150, 152, 401,
152, 152, 400, 399, 395, 394, 393, 392, 391, 390,
389, 388, 387, 386, 385, 384, 383, 382, 381, 380,
379, 378, 377, 376, 375, 374, 373, 372, 371, 370,
369, 368, 367, 366, 365, 364, 363, 362, 361, 360,
359, 358, 357, 356, 355, 354, 353, 352, 351, 350,
349, 348, 347, 346, 345, 344, 343, 342, 341, 340,
339, 338, 337, 336, 335, 334, 333, 332, 331, 330,
329, 328, 327, 326, 325, 324, 323, 322, 321, 320,
319, 315, 314, 313, 312, 311, 307, 303, 302, 301,
300, 296, 295, 294, 293, 292, 291, 287, 286, 285,
284, 283, 279, 278, 277, 274, 273, 272, 271, 270,
269, 268, 267, 266, 265, 264, 263, 262, 261, 260,
259, 258, 257, 253, 252, 251, 250, 249, 248, 247,
246, 245, 244, 243, 242, 241, 240, 239, 238, 237,
236, 235, 234, 233, 232, 231, 228, 227, 226, 225,
224, 223, 218, 215, 214, 213, 210, 209, 208, 207,
206, 203, 202, 201, 200, 199, 198, 197, 196, 195,
194, 193, 192, 189, 183, 182, 181, 180, 179, 178,
177, 176, 175, 174, 173, 172, 171, 170, 169, 168,
167, 166, 165, 164, 163, 162, 161, 160, 159, 158,
149, 146, 131, 127, 122, 115, 89, 84, 69, 64,
421, 7, 421, 421, 421, 421, 421, 421, 421, 421,
421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
421, 421, 421, 421, 421, 421, 421
63, 63, 63, 63, 63, 63, 8, 8, 8, 8,
67, 70, 72, 74, 74, 74, 74, 74, 74, 93,
119, 75, 95, 96, 73, 71, 76, 120, 68, 97,
216, 98, 217, 94, 121, 99, 77, 78, 116, 79,
79, 79, 79, 79, 80, 78, 117, 83, 83, 83,
83, 83, 83, 85, 81, 100, 123, 118, 157, 82,
124, 424, 81, 423, 125, 101, 147, 81, 102, 86,
103, 87, 88, 110, 104, 81, 107, 126, 108, 105,
128, 111, 132, 112, 82, 106, 113, 109, 422, 133,
134, 421, 114, 137, 420, 129, 138, 141, 130, 135,
204, 142, 136, 143, 139, 184, 148, 144, 185, 186,
419, 140, 187, 418, 188, 205, 145, 74, 74, 74,
74, 74, 74, 153, 153, 153, 153, 153, 153, 229,
230, 417, 151, 254, 255, 256, 416, 78, 154, 79,
79, 79, 79, 79, 80, 151, 280, 281, 282, 415,
414, 154, 413, 78, 81, 80, 80, 80, 80, 80,
80, 190, 288, 289, 290, 412, 155, 81, 155, 191,
81, 156, 156, 156, 156, 156, 156, 297, 298, 299,
411, 410, 78, 81, 83, 83, 83, 83, 83, 83,
211, 304, 305, 306, 409, 219, 408, 219, 212, 81,
220, 220, 220, 220, 220, 220, 153, 153, 153, 153,
153, 153, 81, 308, 309, 310, 407, 221, 406, 221,
405, 154, 222, 222, 222, 222, 222, 222, 156, 156,
156, 156, 156, 156, 154, 156, 156, 156, 156, 156,
156, 275, 220, 220, 220, 220, 220, 220, 404, 276,
220, 220, 220, 220, 220, 220, 222, 222, 222, 222,
222, 222, 222, 222, 222, 222, 222, 222, 316, 317,
318, 396, 403, 402, 401, 400, 399, 395, 394, 393,
392, 391, 397, 390, 398, 58, 58, 58, 58, 92,
92, 150, 150, 152, 389, 152, 152, 388, 387, 386,
385, 384, 383, 382, 381, 380, 379, 378, 377, 376,
375, 374, 373, 372, 371, 370, 369, 368, 367, 366,
365, 364, 363, 362, 361, 360, 359, 358, 357, 356,
355, 354, 353, 352, 351, 350, 349, 348, 347, 346,
345, 344, 343, 342, 341, 340, 339, 338, 337, 336,
335, 334, 333, 332, 331, 330, 329, 328, 327, 326,
325, 324, 323, 322, 321, 320, 319, 315, 314, 313,
312, 311, 307, 303, 302, 301, 300, 296, 295, 294,
293, 292, 291, 287, 286, 285, 284, 283, 279, 278,
277, 274, 273, 272, 271, 270, 269, 268, 267, 266,
265, 264, 263, 262, 261, 260, 259, 258, 257, 253,
252, 251, 250, 249, 248, 247, 246, 245, 244, 243,
242, 241, 240, 239, 238, 237, 236, 235, 234, 233,
232, 231, 228, 227, 226, 225, 224, 223, 218, 215,
214, 213, 210, 209, 208, 207, 206, 203, 202, 201,
200, 199, 198, 197, 196, 195, 194, 193, 192, 189,
183, 182, 181, 180, 179, 178, 177, 176, 175, 174,
173, 172, 171, 170, 169, 168, 167, 166, 165, 164,
163, 162, 161, 160, 159, 158, 149, 146, 131, 127,
122, 115, 89, 84, 69, 64, 425, 7, 425, 425,
425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
425, 425, 425, 425
} ;
static yyconst flex_int16_t yy_chk[688] =
static yyconst flex_int16_t yy_chk[695] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
......@@ -663,79 +674,81 @@ static yyconst flex_int16_t yy_chk[688] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 3, 4, 12, 12, 28,
28, 3, 4, 5, 5, 5, 5, 5, 5, 5,
1, 1, 1, 1, 1, 1, 3, 4, 12, 12,
28, 28, 3, 4, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 13, 17,
19, 20, 20, 20, 20, 20, 20, 33, 47, 21,
34, 34, 19, 17, 21, 35, 13, 35, 44, 426,
33, 35, 44, 47, 21, 22, 47, 22, 22, 22,
22, 22, 22, 23, 36, 23, 23, 23, 23, 23,
23, 26, 22, 145, 36, 145, 22, 36, 41, 37,
23, 55, 419, 37, 22, 45, 41, 26, 37, 26,
26, 38, 23, 38, 37, 39, 51, 41, 45, 42,
51, 22, 38, 39, 49, 39, 42, 50, 39, 122,
50, 49, 49, 42, 39, 52, 418, 122, 50, 52,
55, 49, 167, 167, 49, 50, 135, 417, 52, 74,
74, 74, 74, 74, 74, 78, 78, 78, 78, 78,
78, 135, 120, 416, 74, 120, 120, 141, 415, 120,
78, 120, 192, 192, 192, 141, 74, 215, 215, 215,
414, 79, 78, 79, 79, 79, 79, 79, 79, 80,
413, 80, 80, 80, 80, 80, 80, 211, 79, 155,
155, 155, 155, 155, 155, 211, 80, 81, 411, 81,
79, 410, 81, 81, 81, 81, 81, 81, 80, 83,
381, 83, 83, 83, 83, 83, 83, 226, 226, 226,
409, 381, 151, 381, 151, 408, 83, 151, 151, 151,
151, 151, 151, 234, 234, 234, 398, 397, 83, 153,
153, 153, 153, 153, 153, 241, 241, 241, 396, 395,
154, 393, 154, 392, 153, 154, 154, 154, 154, 154,
154, 245, 245, 245, 391, 388, 153, 156, 156, 156,
156, 156, 156, 219, 219, 219, 219, 219, 219, 220,
220, 220, 220, 220, 220, 221, 221, 221, 221, 221,
221, 222, 222, 222, 222, 222, 222, 251, 251, 251,
422, 422, 422, 422, 423, 423, 424, 424, 425, 387,
425, 425, 385, 382, 380, 379, 378, 376, 375, 374,
371, 370, 369, 368, 367, 366, 365, 364, 359, 356,
353, 352, 351, 350, 349, 347, 345, 344, 343, 342,
340, 339, 337, 335, 334, 333, 332, 331, 330, 329,
327, 326, 325, 324, 323, 322, 321, 320, 319, 315,
314, 311, 300, 296, 295, 294, 293, 286, 285, 284,
279, 278, 277, 276, 275, 274, 271, 270, 269, 268,
267, 266, 265, 264, 263, 262, 261, 260, 259, 258,
257, 250, 249, 248, 247, 246, 244, 240, 239, 238,
237, 233, 232, 231, 230, 229, 228, 225, 223, 218,
217, 216, 214, 213, 212, 210, 209, 208, 207, 206,
205, 204, 203, 202, 201, 200, 199, 198, 197, 196,
195, 194, 193, 191, 190, 189, 188, 187, 186, 185,
184, 183, 182, 181, 180, 179, 177, 176, 175, 174,
173, 172, 171, 170, 169, 168, 166, 165, 164, 163,
162, 161, 146, 144, 143, 142, 140, 139, 138, 137,
136, 134, 133, 132, 131, 130, 129, 128, 127, 126,
125, 124, 123, 121, 118, 117, 116, 115, 114, 113,
112, 111, 110, 109, 108, 107, 106, 105, 104, 103,
102, 101, 100, 99, 98, 97, 96, 95, 91, 87,
60, 53, 48, 46, 43, 40, 27, 24, 16, 11,
7, 421, 421, 421, 421, 421, 421, 421, 421, 421,
421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
421, 421, 421, 421, 421, 421, 421
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
13, 17, 19, 20, 20, 20, 20, 20, 20, 33,
42, 21, 34, 34, 19, 17, 21, 42, 13, 35,
145, 35, 145, 33, 42, 35, 21, 22, 41, 22,
22, 22, 22, 22, 22, 23, 41, 23, 23, 23,
23, 23, 23, 26, 22, 36, 44, 41, 430, 22,
44, 423, 23, 422, 45, 36, 55, 22, 36, 26,
37, 26, 26, 39, 37, 23, 38, 45, 38, 37,
47, 39, 49, 39, 22, 37, 39, 38, 421, 49,
49, 420, 39, 50, 419, 47, 50, 51, 47, 49,
135, 51, 49, 52, 50, 120, 55, 52, 120, 120,
417, 50, 120, 416, 120, 135, 52, 74, 74, 74,
74, 74, 74, 78, 78, 78, 78, 78, 78, 167,
167, 415, 74, 192, 192, 192, 413, 79, 78, 79,
79, 79, 79, 79, 79, 74, 215, 215, 215, 412,
411, 78, 410, 80, 79, 80, 80, 80, 80, 80,
80, 122, 226, 226, 226, 409, 81, 79, 81, 122,
80, 81, 81, 81, 81, 81, 81, 234, 234, 234,
408, 407, 83, 80, 83, 83, 83, 83, 83, 83,
141, 241, 241, 241, 398, 151, 397, 151, 141, 83,
151, 151, 151, 151, 151, 151, 153, 153, 153, 153,
153, 153, 83, 245, 245, 245, 396, 154, 395, 154,
393, 153, 154, 154, 154, 154, 154, 154, 155, 155,
155, 155, 155, 155, 153, 156, 156, 156, 156, 156,
156, 211, 219, 219, 219, 219, 219, 219, 392, 211,
220, 220, 220, 220, 220, 220, 221, 221, 221, 221,
221, 221, 222, 222, 222, 222, 222, 222, 251, 251,
251, 381, 391, 388, 387, 385, 382, 380, 379, 378,
376, 375, 381, 374, 381, 426, 426, 426, 426, 427,
427, 428, 428, 429, 371, 429, 429, 370, 369, 368,
367, 366, 365, 364, 359, 356, 353, 352, 351, 350,
349, 347, 345, 344, 343, 342, 340, 339, 337, 335,
334, 333, 332, 331, 330, 329, 327, 326, 325, 324,
323, 322, 321, 320, 319, 315, 314, 311, 300, 296,
295, 294, 293, 286, 285, 284, 279, 278, 277, 276,
275, 274, 271, 270, 269, 268, 267, 266, 265, 264,
263, 262, 261, 260, 259, 258, 257, 250, 249, 248,
247, 246, 244, 240, 239, 238, 237, 233, 232, 231,
230, 229, 228, 225, 223, 218, 217, 216, 214, 213,
212, 210, 209, 208, 207, 206, 205, 204, 203, 202,
201, 200, 199, 198, 197, 196, 195, 194, 193, 191,
190, 189, 188, 187, 186, 185, 184, 183, 182, 181,
180, 179, 177, 176, 175, 174, 173, 172, 171, 170,
169, 168, 166, 165, 164, 163, 162, 161, 146, 144,
143, 142, 140, 139, 138, 137, 136, 134, 133, 132,
131, 130, 129, 128, 127, 126, 125, 124, 123, 121,
118, 117, 116, 115, 114, 113, 112, 111, 110, 109,
108, 107, 106, 105, 104, 103, 102, 101, 100, 99,
98, 97, 96, 95, 91, 87, 60, 53, 48, 46,
43, 40, 27, 24, 16, 11, 7, 425, 425, 425,
425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
425, 425, 425, 425
} ;
/* Table of booleans, true if rule could match eol. */
static yyconst flex_int32_t yy_rule_can_match_eol[147] =
static yyconst flex_int32_t yy_rule_can_match_eol[148] =
{ 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
......@@ -744,7 +757,7 @@ static yyconst flex_int32_t yy_rule_can_match_eol[147] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, };
0, 0, 0, 0, 0, 1, 0, 0, };
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
......@@ -909,7 +922,12 @@ static int input (yyscan_t yyscanner );
/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k */
#define YY_READ_BUF_SIZE 16384
#else
#define YY_READ_BUF_SIZE 8192
#endif /* __ia64__ */
#endif
/* Copy whatever the last rule matched to the standard output. */
......@@ -917,7 +935,7 @@ static int input (yyscan_t yyscanner );
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
#define ECHO fwrite( yytext, yyleng, 1, yyout )
#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
......@@ -928,7 +946,7 @@ static int input (yyscan_t yyscanner );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
int n; \
size_t n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
......@@ -1070,13 +1088,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 422 )
if ( yy_current_state >= 426 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
while ( yy_current_state != 421 );
while ( yy_current_state != 425 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
......@@ -1297,11 +1315,11 @@ YY_RULE_SETUP
YY_BREAK
case 48:
YY_RULE_SETUP
{ context->lexAfterType = true; return(STRUCT); }
{ context->lexAfterType = true; return SAMPLER2DRECT; }
YY_BREAK
case 49:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
{ context->lexAfterType = true; return(STRUCT); }
YY_BREAK
case 50:
YY_RULE_SETUP
......@@ -1461,30 +1479,30 @@ YY_RULE_SETUP
YY_BREAK
case 89:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 90:
YY_RULE_SETUP
{
yylval->lex.string = NewPoolTString(yytext);
return check_type(yyscanner);
}
YY_BREAK
case 90:
YY_RULE_SETUP
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK
case 91:
YY_RULE_SETUP
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK
case 92:
YY_RULE_SETUP
{ context->error(yylineno, "Invalid Octal number.", yytext, "", ""); context->recover(); return 0;}
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK
case 93:
YY_RULE_SETUP
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
{ context->error(yylineno, "Invalid Octal number.", yytext, "", ""); context->recover(); return 0;}
YY_BREAK
case 94:
YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK
case 95:
YY_RULE_SETUP
......@@ -1496,198 +1514,202 @@ YY_RULE_SETUP
YY_BREAK
case 97:
YY_RULE_SETUP
{ return(ADD_ASSIGN); }
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK
case 98:
YY_RULE_SETUP
{ return(SUB_ASSIGN); }
{ return(ADD_ASSIGN); }
YY_BREAK
case 99:
YY_RULE_SETUP
{ return(MUL_ASSIGN); }
{ return(SUB_ASSIGN); }
YY_BREAK
case 100:
YY_RULE_SETUP
{ return(DIV_ASSIGN); }
{ return(MUL_ASSIGN); }
YY_BREAK
case 101:
YY_RULE_SETUP
{ return(MOD_ASSIGN); }
{ return(DIV_ASSIGN); }
YY_BREAK
case 102:
YY_RULE_SETUP
{ return(LEFT_ASSIGN); }
{ return(MOD_ASSIGN); }
YY_BREAK
case 103:
YY_RULE_SETUP
{ return(RIGHT_ASSIGN); }
{ return(LEFT_ASSIGN); }
YY_BREAK
case 104:
YY_RULE_SETUP
{ return(AND_ASSIGN); }
{ return(RIGHT_ASSIGN); }
YY_BREAK
case 105:
YY_RULE_SETUP
{ return(XOR_ASSIGN); }
{ return(AND_ASSIGN); }
YY_BREAK
case 106:
YY_RULE_SETUP
{ return(OR_ASSIGN); }
{ return(XOR_ASSIGN); }
YY_BREAK
case 107:
YY_RULE_SETUP
{ return(INC_OP); }
{ return(OR_ASSIGN); }
YY_BREAK
case 108:
YY_RULE_SETUP
{ return(DEC_OP); }
{ return(INC_OP); }
YY_BREAK
case 109:
YY_RULE_SETUP
{ return(AND_OP); }
{ return(DEC_OP); }
YY_BREAK
case 110:
YY_RULE_SETUP
{ return(OR_OP); }
{ return(AND_OP); }
YY_BREAK
case 111:
YY_RULE_SETUP
{ return(XOR_OP); }
{ return(OR_OP); }
YY_BREAK
case 112:
YY_RULE_SETUP
{ return(LE_OP); }
{ return(XOR_OP); }
YY_BREAK
case 113:
YY_RULE_SETUP
{ return(GE_OP); }
{ return(LE_OP); }
YY_BREAK
case 114:
YY_RULE_SETUP
{ return(EQ_OP); }
{ return(GE_OP); }
YY_BREAK
case 115:
YY_RULE_SETUP
{ return(NE_OP); }
{ return(EQ_OP); }
YY_BREAK
case 116:
YY_RULE_SETUP
{ return(LEFT_OP); }
{ return(NE_OP); }
YY_BREAK
case 117:
YY_RULE_SETUP
{ return(RIGHT_OP); }
{ return(LEFT_OP); }
YY_BREAK
case 118:
YY_RULE_SETUP
{ context->lexAfterType = false; return(SEMICOLON); }
{ return(RIGHT_OP); }
YY_BREAK
case 119:
YY_RULE_SETUP
{ context->lexAfterType = false; return(LEFT_BRACE); }
{ context->lexAfterType = false; return(SEMICOLON); }
YY_BREAK
case 120:
YY_RULE_SETUP
{ return(RIGHT_BRACE); }
{ context->lexAfterType = false; return(LEFT_BRACE); }
YY_BREAK
case 121:
YY_RULE_SETUP
{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
{ return(RIGHT_BRACE); }
YY_BREAK
case 122:
YY_RULE_SETUP
{ return(COLON); }
{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
YY_BREAK
case 123:
YY_RULE_SETUP
{ context->lexAfterType = false; return(EQUAL); }
{ return(COLON); }
YY_BREAK
case 124:
YY_RULE_SETUP
{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
{ context->lexAfterType = false; return(EQUAL); }
YY_BREAK
case 125:
YY_RULE_SETUP
{ context->inTypeParen = false; return(RIGHT_PAREN); }
{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
YY_BREAK
case 126:
YY_RULE_SETUP
{ return(LEFT_BRACKET); }
{ context->inTypeParen = false; return(RIGHT_PAREN); }
YY_BREAK
case 127:
YY_RULE_SETUP
{ return(RIGHT_BRACKET); }
{ return(LEFT_BRACKET); }
YY_BREAK
case 128:
YY_RULE_SETUP
{ BEGIN(FIELDS); return(DOT); }
{ return(RIGHT_BRACKET); }
YY_BREAK
case 129:
YY_RULE_SETUP
{ return(BANG); }
{ BEGIN(FIELDS); return(DOT); }
YY_BREAK
case 130:
YY_RULE_SETUP
{ return(DASH); }
{ return(BANG); }
YY_BREAK
case 131:
YY_RULE_SETUP
{ return(TILDE); }
{ return(DASH); }
YY_BREAK
case 132:
YY_RULE_SETUP
{ return(PLUS); }
{ return(TILDE); }
YY_BREAK
case 133:
YY_RULE_SETUP
{ return(STAR); }
{ return(PLUS); }
YY_BREAK
case 134:
YY_RULE_SETUP
{ return(SLASH); }
{ return(STAR); }
YY_BREAK
case 135:
YY_RULE_SETUP
{ return(PERCENT); }
{ return(SLASH); }
YY_BREAK
case 136:
YY_RULE_SETUP
{ return(LEFT_ANGLE); }
{ return(PERCENT); }
YY_BREAK
case 137:
YY_RULE_SETUP
{ return(RIGHT_ANGLE); }
{ return(LEFT_ANGLE); }
YY_BREAK
case 138:
YY_RULE_SETUP
{ return(VERTICAL_BAR); }
{ return(RIGHT_ANGLE); }
YY_BREAK
case 139:
YY_RULE_SETUP
{ return(CARET); }
{ return(VERTICAL_BAR); }
YY_BREAK
case 140:
YY_RULE_SETUP
{ return(AMPERSAND); }
{ return(CARET); }
YY_BREAK
case 141:
YY_RULE_SETUP
{ return(QUESTION); }
{ return(AMPERSAND); }
YY_BREAK
case 142:
YY_RULE_SETUP
{ return(QUESTION); }
YY_BREAK
case 143:
YY_RULE_SETUP
{
BEGIN(INITIAL);
yylval->lex.string = NewPoolTString(yytext);
return FIELD_SELECTION;
}
YY_BREAK
case 143:
case 144:
YY_RULE_SETUP
{}
YY_BREAK
case 144:
/* rule 144 can match eol */
case 145:
/* rule 145 can match eol */
YY_RULE_SETUP
{ }
YY_BREAK
......@@ -1696,11 +1718,11 @@ case YY_STATE_EOF(COMMENT):
case YY_STATE_EOF(FIELDS):
{ context->AfterEOF = true; yyterminate(); }
YY_BREAK
case 145:
case 146:
YY_RULE_SETUP
{ context->warning(yylineno, "Unknown char", yytext, ""); return 0; }
YY_BREAK
case 146:
case 147:
YY_RULE_SETUP
ECHO;
YY_BREAK
......@@ -1996,7 +2018,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 422 )
if ( yy_current_state >= 426 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
......@@ -2025,11 +2047,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 422 )
if ( yy_current_state >= 426 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
yy_is_jam = (yy_current_state == 421);
yy_is_jam = (yy_current_state == 425);
return yy_is_jam ? 0 : yy_current_state;
}
......@@ -2439,8 +2461,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
* scan from a @e copy of @a bytes.
* @param bytes the byte buffer to scan
* @param len the number of bytes in the buffer pointed to by @a bytes.
* @param yybytes the byte buffer to scan
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
* @param yyscanner The scanner object.
* @return the newly allocated buffer state object.
*/
......
This source diff could not be displayed because it is too large. You can view the blob instead.
/* A Bison parser, made by GNU Bison 2.3. */
/* Skeleton interface for Bison's Yacc-like parsers in C
/* A Bison parser, made by GNU Bison 2.4.1. */
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
/* Skeleton interface for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
......@@ -29,10 +28,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
......@@ -80,160 +80,68 @@
SAMPLER2D = 296,
SAMPLERCUBE = 297,
SAMPLER_EXTERNAL_OES = 298,
IDENTIFIER = 299,
TYPE_NAME = 300,
FLOATCONSTANT = 301,
INTCONSTANT = 302,
BOOLCONSTANT = 303,
FIELD_SELECTION = 304,
LEFT_OP = 305,
RIGHT_OP = 306,
INC_OP = 307,
DEC_OP = 308,
LE_OP = 309,
GE_OP = 310,
EQ_OP = 311,
NE_OP = 312,
AND_OP = 313,
OR_OP = 314,
XOR_OP = 315,
MUL_ASSIGN = 316,
DIV_ASSIGN = 317,
ADD_ASSIGN = 318,
MOD_ASSIGN = 319,
LEFT_ASSIGN = 320,
RIGHT_ASSIGN = 321,
AND_ASSIGN = 322,
XOR_ASSIGN = 323,
OR_ASSIGN = 324,
SUB_ASSIGN = 325,
LEFT_PAREN = 326,
RIGHT_PAREN = 327,
LEFT_BRACKET = 328,
RIGHT_BRACKET = 329,
LEFT_BRACE = 330,
RIGHT_BRACE = 331,
DOT = 332,
COMMA = 333,
COLON = 334,
EQUAL = 335,
SEMICOLON = 336,
BANG = 337,
DASH = 338,
TILDE = 339,
PLUS = 340,
STAR = 341,
SLASH = 342,
PERCENT = 343,
LEFT_ANGLE = 344,
RIGHT_ANGLE = 345,
VERTICAL_BAR = 346,
CARET = 347,
AMPERSAND = 348,
QUESTION = 349
SAMPLER2DRECT = 299,
IDENTIFIER = 300,
TYPE_NAME = 301,
FLOATCONSTANT = 302,
INTCONSTANT = 303,
BOOLCONSTANT = 304,
FIELD_SELECTION = 305,
LEFT_OP = 306,
RIGHT_OP = 307,
INC_OP = 308,
DEC_OP = 309,
LE_OP = 310,
GE_OP = 311,
EQ_OP = 312,
NE_OP = 313,
AND_OP = 314,
OR_OP = 315,
XOR_OP = 316,
MUL_ASSIGN = 317,
DIV_ASSIGN = 318,
ADD_ASSIGN = 319,
MOD_ASSIGN = 320,
LEFT_ASSIGN = 321,
RIGHT_ASSIGN = 322,
AND_ASSIGN = 323,
XOR_ASSIGN = 324,
OR_ASSIGN = 325,
SUB_ASSIGN = 326,
LEFT_PAREN = 327,
RIGHT_PAREN = 328,
LEFT_BRACKET = 329,
RIGHT_BRACKET = 330,
LEFT_BRACE = 331,
RIGHT_BRACE = 332,
DOT = 333,
COMMA = 334,
COLON = 335,
EQUAL = 336,
SEMICOLON = 337,
BANG = 338,
DASH = 339,
TILDE = 340,
PLUS = 341,
STAR = 342,
SLASH = 343,
PERCENT = 344,
LEFT_ANGLE = 345,
RIGHT_ANGLE = 346,
VERTICAL_BAR = 347,
CARET = 348,
AMPERSAND = 349,
QUESTION = 350
};
#endif
/* Tokens. */
#define INVARIANT 258
#define HIGH_PRECISION 259
#define MEDIUM_PRECISION 260
#define LOW_PRECISION 261
#define PRECISION 262
#define ATTRIBUTE 263
#define CONST_QUAL 264
#define BOOL_TYPE 265
#define FLOAT_TYPE 266
#define INT_TYPE 267
#define BREAK 268
#define CONTINUE 269
#define DO 270
#define ELSE 271
#define FOR 272
#define IF 273
#define DISCARD 274
#define RETURN 275
#define BVEC2 276
#define BVEC3 277
#define BVEC4 278
#define IVEC2 279
#define IVEC3 280
#define IVEC4 281
#define VEC2 282
#define VEC3 283
#define VEC4 284
#define MATRIX2 285
#define MATRIX3 286
#define MATRIX4 287
#define IN_QUAL 288
#define OUT_QUAL 289
#define INOUT_QUAL 290
#define UNIFORM 291
#define VARYING 292
#define STRUCT 293
#define VOID_TYPE 294
#define WHILE 295
#define SAMPLER2D 296
#define SAMPLERCUBE 297
#define SAMPLER_EXTERNAL_OES 298
#define IDENTIFIER 299
#define TYPE_NAME 300
#define FLOATCONSTANT 301
#define INTCONSTANT 302
#define BOOLCONSTANT 303
#define FIELD_SELECTION 304
#define LEFT_OP 305
#define RIGHT_OP 306
#define INC_OP 307
#define DEC_OP 308
#define LE_OP 309
#define GE_OP 310
#define EQ_OP 311
#define NE_OP 312
#define AND_OP 313
#define OR_OP 314
#define XOR_OP 315
#define MUL_ASSIGN 316
#define DIV_ASSIGN 317
#define ADD_ASSIGN 318
#define MOD_ASSIGN 319
#define LEFT_ASSIGN 320
#define RIGHT_ASSIGN 321
#define AND_ASSIGN 322
#define XOR_ASSIGN 323
#define OR_ASSIGN 324
#define SUB_ASSIGN 325
#define LEFT_PAREN 326
#define RIGHT_PAREN 327
#define LEFT_BRACKET 328
#define RIGHT_BRACKET 329
#define LEFT_BRACE 330
#define RIGHT_BRACE 331
#define DOT 332
#define COMMA 333
#define COLON 334
#define EQUAL 335
#define SEMICOLON 336
#define BANG 337
#define DASH 338
#define TILDE 339
#define PLUS 340
#define STAR 341
#define SLASH 342
#define PERCENT 343
#define LEFT_ANGLE 344
#define RIGHT_ANGLE 345
#define VERTICAL_BAR 346
#define CARET 347
#define AMPERSAND 348
#define QUESTION 349
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
struct {
TSourceLoc line;
union {
......@@ -263,14 +171,15 @@ typedef union YYSTYPE
TTypeList* typeList;
};
} interm;
}
/* Line 1489 of yacc.c. */
YYSTYPE;
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment