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
diff --git a/src/compiler/BaseTypes.h b/src/compiler/BaseTypes.h
index 57e1d80..55b1f9a 100644
--- a/src/compiler/BaseTypes.h
+++ b/src/compiler/BaseTypes.h
@@ -43,6 +43,7 @@
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 @@
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";
}
diff --git a/src/compiler/Initialize.cpp b/src/compiler/Initialize.cpp
index 8c3a449..f3a19dc 100644
--- a/src/compiler/Initialize.cpp
+++ b/src/compiler/Initialize.cpp
@@ -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 @@
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 @@
//
// 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 @@
//
// 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 @@
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 @@
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;
}
diff --git a/src/compiler/ShaderLang.cpp b/src/compiler/ShaderLang.cpp
index 4c66743..13f11b5 100644
--- a/src/compiler/ShaderLang.cpp
+++ b/src/compiler/ShaderLang.cpp
@@ -122,6 +122,7 @@
// Extensions.
resources->OES_standard_derivatives = 0;
resources->OES_EGL_image_external = 0;
+ resources->ARB_texture_rectangle = 0;
}
//
diff --git a/src/compiler/VariableInfo.cpp b/src/compiler/VariableInfo.cpp
index a13a896..843f187 100644
--- a/src/compiler/VariableInfo.cpp
+++ b/src/compiler/VariableInfo.cpp
@@ -63,6 +63,7 @@
}
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;
diff --git a/src/compiler/glslang.l b/src/compiler/glslang.l
index 1eaa30c..810a0ff 100644
--- a/src/compiler/glslang.l
+++ b/src/compiler/glslang.l
@@ -121,6 +121,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); }
diff --git a/src/compiler/glslang.y b/src/compiler/glslang.y
index d06c125..ec1a85c 100644
--- a/src/compiler/glslang.y
+++ b/src/compiler/glslang.y
@@ -98,7 +98,7 @@
%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 @@
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;
diff --git a/src/compiler/glslang_lex.cpp b/src/compiler/glslang_lex.cpp
index 7866056..912dd08 100644
--- a/src/compiler/glslang_lex.cpp
+++ b/src/compiler/glslang_lex.cpp
@@ -63,7 +63,6 @@
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 @@
#define UINT32_MAX (4294967295U)
#endif
+#endif /* ! C99 */
+
#endif /* ! FLEXINT_H */
#ifdef __cplusplus
@@ -167,7 +168,15 @@
/* 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 @@
*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 @@
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,
+ 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,
- 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,
+ 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,
- 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,
+ 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, 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,
+ 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,
- 62, 11, 67, 6, 87, 10, 45, 89, 89, 89,
- 89, 46, 89, 89, 89, 89, 89, 89, 89, 47,
- 0
+ 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 @@
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 @@
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,
+ 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,
- 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,
+ 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,
- 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,
+ 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,
+ 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, 0, 287, 266, 260,
- 257, 0, 228, 221, 221, 206, 206, 197, 160, 0,
- 622, 400, 402, 404, 408, 157
+ 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,
+ 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,
- 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,
+ 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,
- 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,
+ 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,
- 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,
+ 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,
- 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
+ 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, 63,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 63, 63, 63, 63, 63, 63, 63, 8, 8, 8,
+ 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, 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,
+ 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,
- 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,
+ 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, 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,
+ 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,
- 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,
+ 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,
- 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,
+ 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,
- 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
+ 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 @@
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,
+ 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,
- 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,
+ 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,
- 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,
+ 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,
- 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,
+ 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,
- 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,
+ 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,
- 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
+ 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 @@
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 @@
/* 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 @@
/* 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 @@
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 @@
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_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_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_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(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 @@
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 @@
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 @@
/** 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.
*/
diff --git a/src/compiler/glslang_tab.cpp b/src/compiler/glslang_tab.cpp
index b46e982..535177b 100644
--- a/src/compiler/glslang_tab.cpp
+++ b/src/compiler/glslang_tab.cpp
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
+
+/* A Bison parser, made by GNU Bison 2.4.1. */
/* Skeleton implementation for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+
+ 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,7 +28,7 @@
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. */
@@ -47,7 +46,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,11 +54,55 @@
/* Pure parsers. */
#define YYPURE 1
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 0
+/* Copy the first part of user declarations. */
+
+
+//
+// Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+// This file is auto-generated by generate_parser.sh. DO NOT EDIT!
+
+#include "compiler/SymbolTable.h"
+#include "compiler/ParseHelper.h"
+#include "GLSLANG/ShaderLang.h"
+
+#define YYLEX_PARAM context->scanner
+
+
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table. */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -107,196 +150,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
-
-/* Copy the first part of user declarations. */
-
-
-//
-// Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-// This file is auto-generated by generate_parser.sh. DO NOT EDIT!
-
-#include "compiler/SymbolTable.h"
-#include "compiler/ParseHelper.h"
-#include "GLSLANG/ShaderLang.h"
-
-#define YYLEX_PARAM context->scanner
-
-
-/* Enabling traces. */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-/* Enabling verbose error messages. */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
-#else
-# define YYERROR_VERBOSE 0
-#endif
-
-/* Enabling the token table. */
-#ifndef YYTOKEN_TABLE
-# define YYTOKEN_TABLE 0
-#endif
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-
{
+
+
struct {
TSourceLoc line;
union {
@@ -326,17 +241,16 @@
TTypeList* typeList;
};
} interm;
-}
-/* Line 193 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
-
/* Copy the second part of user declarations. */
@@ -366,8 +280,6 @@
}
-/* Line 216 of yacc.c. */
-
#ifdef short
# undef short
@@ -417,7 +329,7 @@
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
#ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
+# if YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
# define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -442,14 +354,14 @@
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -530,9 +442,9 @@
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- };
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -566,12 +478,12 @@
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -580,22 +492,22 @@
#endif
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 70
+#define YYFINAL 71
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1327
+#define YYLAST 1370
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 95
+#define YYNTOKENS 96
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 80
/* YYNRULES -- Number of rules. */
-#define YYNRULES 196
+#define YYNRULES 197
/* YYNRULES -- Number of states. */
-#define YYNSTATES 299
+#define YYNSTATES 300
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 349
+#define YYMAXUTOK 350
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -637,7 +549,8 @@
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94
+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 95
};
#if YYDEBUG
@@ -658,74 +571,75 @@
298, 303, 306, 308, 311, 313, 315, 317, 320, 322,
324, 327, 329, 331, 333, 335, 340, 342, 344, 346,
348, 350, 352, 354, 356, 358, 360, 362, 364, 366,
- 368, 370, 372, 374, 376, 378, 380, 382, 383, 390,
- 391, 397, 399, 402, 406, 408, 412, 414, 419, 421,
- 423, 425, 427, 429, 431, 433, 435, 437, 440, 441,
- 442, 448, 450, 452, 455, 459, 461, 464, 466, 469,
- 475, 479, 481, 483, 488, 489, 496, 497, 506, 507,
- 515, 517, 519, 521, 522, 525, 529, 532, 535, 538,
- 542, 545, 547, 550, 552, 554, 555
+ 368, 370, 372, 374, 376, 378, 380, 382, 384, 385,
+ 392, 393, 399, 401, 404, 408, 410, 414, 416, 421,
+ 423, 425, 427, 429, 431, 433, 435, 437, 439, 442,
+ 443, 444, 450, 452, 454, 457, 461, 463, 466, 468,
+ 471, 477, 481, 483, 485, 490, 491, 498, 499, 508,
+ 509, 517, 519, 521, 523, 524, 527, 531, 534, 537,
+ 540, 544, 547, 549, 552, 554, 556, 557
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 171, 0, -1, 44, -1, 96, -1, 47, -1, 46,
- -1, 48, -1, 71, 123, 72, -1, 97, -1, 98,
- 73, 99, 74, -1, 100, -1, 98, 77, 49, -1,
- 98, 52, -1, 98, 53, -1, 123, -1, 101, -1,
- 102, -1, 98, 77, 102, -1, 104, 72, -1, 103,
- 72, -1, 105, 39, -1, 105, -1, 105, 121, -1,
- 104, 78, 121, -1, 106, 71, -1, 141, -1, 44,
- -1, 49, -1, 98, -1, 52, 107, -1, 53, 107,
- -1, 108, 107, -1, 85, -1, 83, -1, 82, -1,
- 107, -1, 109, 86, 107, -1, 109, 87, 107, -1,
- 109, -1, 110, 85, 109, -1, 110, 83, 109, -1,
- 110, -1, 111, -1, 112, 89, 111, -1, 112, 90,
- 111, -1, 112, 54, 111, -1, 112, 55, 111, -1,
- 112, -1, 113, 56, 112, -1, 113, 57, 112, -1,
- 113, -1, 114, -1, 115, -1, 116, -1, 117, 58,
- 116, -1, 117, -1, 118, 60, 117, -1, 118, -1,
- 119, 59, 118, -1, 119, -1, 119, 94, 123, 79,
- 121, -1, 120, -1, 107, 122, 121, -1, 80, -1,
- 61, -1, 62, -1, 63, -1, 70, -1, 121, -1,
- 123, 78, 121, -1, 120, -1, 126, 81, -1, 134,
- 81, -1, 7, 139, 140, 81, -1, 127, 72, -1,
- 129, -1, 128, -1, 129, 131, -1, 128, 78, 131,
- -1, 136, 44, 71, -1, 138, 44, -1, 138, 44,
- 73, 124, 74, -1, 137, 132, 130, -1, 132, 130,
- -1, 137, 132, 133, -1, 132, 133, -1, -1, 33,
- -1, 34, -1, 35, -1, 138, -1, 135, -1, 134,
- 78, 44, -1, 134, 78, 44, 73, 74, -1, 134,
- 78, 44, 73, 124, 74, -1, 134, 78, 44, 80,
- 149, -1, 136, -1, 136, 44, -1, 136, 44, 73,
- 74, -1, 136, 44, 73, 124, 74, -1, 136, 44,
- 80, 149, -1, 3, 44, -1, 138, -1, 137, 138,
+ 172, 0, -1, 45, -1, 97, -1, 48, -1, 47,
+ -1, 49, -1, 72, 124, 73, -1, 98, -1, 99,
+ 74, 100, 75, -1, 101, -1, 99, 78, 50, -1,
+ 99, 53, -1, 99, 54, -1, 124, -1, 102, -1,
+ 103, -1, 99, 78, 103, -1, 105, 73, -1, 104,
+ 73, -1, 106, 39, -1, 106, -1, 106, 122, -1,
+ 105, 79, 122, -1, 107, 72, -1, 142, -1, 45,
+ -1, 50, -1, 99, -1, 53, 108, -1, 54, 108,
+ -1, 109, 108, -1, 86, -1, 84, -1, 83, -1,
+ 108, -1, 110, 87, 108, -1, 110, 88, 108, -1,
+ 110, -1, 111, 86, 110, -1, 111, 84, 110, -1,
+ 111, -1, 112, -1, 113, 90, 112, -1, 113, 91,
+ 112, -1, 113, 55, 112, -1, 113, 56, 112, -1,
+ 113, -1, 114, 57, 113, -1, 114, 58, 113, -1,
+ 114, -1, 115, -1, 116, -1, 117, -1, 118, 59,
+ 117, -1, 118, -1, 119, 61, 118, -1, 119, -1,
+ 120, 60, 119, -1, 120, -1, 120, 95, 124, 80,
+ 122, -1, 121, -1, 108, 123, 122, -1, 81, -1,
+ 62, -1, 63, -1, 64, -1, 71, -1, 122, -1,
+ 124, 79, 122, -1, 121, -1, 127, 82, -1, 135,
+ 82, -1, 7, 140, 141, 82, -1, 128, 73, -1,
+ 130, -1, 129, -1, 130, 132, -1, 129, 79, 132,
+ -1, 137, 45, 72, -1, 139, 45, -1, 139, 45,
+ 74, 125, 75, -1, 138, 133, 131, -1, 133, 131,
+ -1, 138, 133, 134, -1, 133, 134, -1, -1, 33,
+ -1, 34, -1, 35, -1, 139, -1, 136, -1, 135,
+ 79, 45, -1, 135, 79, 45, 74, 75, -1, 135,
+ 79, 45, 74, 125, 75, -1, 135, 79, 45, 81,
+ 150, -1, 137, -1, 137, 45, -1, 137, 45, 74,
+ 75, -1, 137, 45, 74, 125, 75, -1, 137, 45,
+ 81, 150, -1, 3, 45, -1, 139, -1, 138, 139,
-1, 9, -1, 8, -1, 37, -1, 3, 37, -1,
- 36, -1, 140, -1, 139, 140, -1, 4, -1, 5,
- -1, 6, -1, 141, -1, 141, 73, 124, 74, -1,
+ 36, -1, 141, -1, 140, 141, -1, 4, -1, 5,
+ -1, 6, -1, 142, -1, 142, 74, 125, 75, -1,
39, -1, 11, -1, 12, -1, 10, -1, 27, -1,
28, -1, 29, -1, 21, -1, 22, -1, 23, -1,
24, -1, 25, -1, 26, -1, 30, -1, 31, -1,
- 32, -1, 41, -1, 42, -1, 43, -1, 142, -1,
- 45, -1, -1, 38, 44, 75, 143, 145, 76, -1,
- -1, 38, 75, 144, 145, 76, -1, 146, -1, 145,
- 146, -1, 138, 147, 81, -1, 148, -1, 147, 78,
- 148, -1, 44, -1, 44, 73, 124, 74, -1, 121,
- -1, 125, -1, 153, -1, 152, -1, 150, -1, 159,
- -1, 160, -1, 163, -1, 170, -1, 75, 76, -1,
- -1, -1, 75, 154, 158, 155, 76, -1, 157, -1,
- 152, -1, 75, 76, -1, 75, 158, 76, -1, 151,
- -1, 158, 151, -1, 81, -1, 123, 81, -1, 18,
- 71, 123, 72, 161, -1, 151, 16, 151, -1, 151,
- -1, 123, -1, 136, 44, 80, 149, -1, -1, 40,
- 71, 164, 162, 72, 156, -1, -1, 15, 165, 151,
- 40, 71, 123, 72, 81, -1, -1, 17, 71, 166,
- 167, 169, 72, 156, -1, 159, -1, 150, -1, 162,
- -1, -1, 168, 81, -1, 168, 81, 123, -1, 14,
- 81, -1, 13, 81, -1, 20, 81, -1, 20, 123,
- 81, -1, 19, 81, -1, 172, -1, 171, 172, -1,
- 173, -1, 125, -1, -1, 126, 174, 157, -1
+ 32, -1, 41, -1, 42, -1, 43, -1, 44, -1,
+ 143, -1, 46, -1, -1, 38, 45, 76, 144, 146,
+ 77, -1, -1, 38, 76, 145, 146, 77, -1, 147,
+ -1, 146, 147, -1, 139, 148, 82, -1, 149, -1,
+ 148, 79, 149, -1, 45, -1, 45, 74, 125, 75,
+ -1, 122, -1, 126, -1, 154, -1, 153, -1, 151,
+ -1, 160, -1, 161, -1, 164, -1, 171, -1, 76,
+ 77, -1, -1, -1, 76, 155, 159, 156, 77, -1,
+ 158, -1, 153, -1, 76, 77, -1, 76, 159, 77,
+ -1, 152, -1, 159, 152, -1, 82, -1, 124, 82,
+ -1, 18, 72, 124, 73, 162, -1, 152, 16, 152,
+ -1, 152, -1, 124, -1, 137, 45, 81, 150, -1,
+ -1, 40, 72, 165, 163, 73, 157, -1, -1, 15,
+ 166, 152, 40, 72, 124, 73, 82, -1, -1, 17,
+ 72, 167, 168, 170, 73, 157, -1, 160, -1, 151,
+ -1, 163, -1, -1, 169, 82, -1, 169, 82, 124,
+ -1, 14, 82, -1, 13, 82, -1, 20, 82, -1,
+ 20, 124, 82, -1, 19, 82, -1, 173, -1, 172,
+ 173, -1, 174, -1, 126, -1, -1, 127, 175, 158,
+ -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -744,13 +658,13 @@
1316, 1336, 1412, 1421, 1444, 1447, 1453, 1461, 1469, 1477,
1487, 1494, 1497, 1500, 1506, 1509, 1524, 1528, 1532, 1536,
1545, 1550, 1555, 1560, 1565, 1570, 1575, 1580, 1585, 1590,
- 1596, 1602, 1608, 1613, 1618, 1627, 1632, 1645, 1645, 1659,
- 1659, 1668, 1671, 1686, 1722, 1726, 1732, 1740, 1756, 1760,
- 1764, 1765, 1771, 1772, 1773, 1774, 1775, 1779, 1780, 1780,
- 1780, 1790, 1791, 1796, 1799, 1809, 1812, 1818, 1819, 1823,
- 1831, 1835, 1845, 1850, 1867, 1867, 1872, 1872, 1879, 1879,
- 1887, 1890, 1896, 1899, 1905, 1909, 1916, 1923, 1930, 1937,
- 1948, 1957, 1961, 1968, 1971, 1977, 1977
+ 1596, 1602, 1608, 1613, 1618, 1627, 1636, 1641, 1654, 1654,
+ 1668, 1668, 1677, 1680, 1695, 1731, 1735, 1741, 1749, 1765,
+ 1769, 1773, 1774, 1780, 1781, 1782, 1783, 1784, 1788, 1789,
+ 1789, 1789, 1799, 1800, 1805, 1808, 1818, 1821, 1827, 1828,
+ 1832, 1840, 1844, 1854, 1859, 1876, 1876, 1881, 1881, 1888,
+ 1888, 1896, 1899, 1905, 1908, 1914, 1918, 1925, 1932, 1939,
+ 1946, 1957, 1966, 1970, 1977, 1980, 1986, 1986
};
#endif
@@ -766,16 +680,16 @@
"BVEC4", "IVEC2", "IVEC3", "IVEC4", "VEC2", "VEC3", "VEC4", "MATRIX2",
"MATRIX3", "MATRIX4", "IN_QUAL", "OUT_QUAL", "INOUT_QUAL", "UNIFORM",
"VARYING", "STRUCT", "VOID_TYPE", "WHILE", "SAMPLER2D", "SAMPLERCUBE",
- "SAMPLER_EXTERNAL_OES", "IDENTIFIER", "TYPE_NAME", "FLOATCONSTANT",
- "INTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION", "LEFT_OP", "RIGHT_OP",
- "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP",
- "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "ADD_ASSIGN",
- "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN",
- "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN", "LEFT_BRACKET",
- "RIGHT_BRACKET", "LEFT_BRACE", "RIGHT_BRACE", "DOT", "COMMA", "COLON",
- "EQUAL", "SEMICOLON", "BANG", "DASH", "TILDE", "PLUS", "STAR", "SLASH",
- "PERCENT", "LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR", "CARET",
- "AMPERSAND", "QUESTION", "$accept", "variable_identifier",
+ "SAMPLER_EXTERNAL_OES", "SAMPLER2DRECT", "IDENTIFIER", "TYPE_NAME",
+ "FLOATCONSTANT", "INTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION",
+ "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP",
+ "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN",
+ "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN",
+ "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN",
+ "LEFT_BRACKET", "RIGHT_BRACKET", "LEFT_BRACE", "RIGHT_BRACE", "DOT",
+ "COMMA", "COLON", "EQUAL", "SEMICOLON", "BANG", "DASH", "TILDE", "PLUS",
+ "STAR", "SLASH", "PERCENT", "LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR",
+ "CARET", "AMPERSAND", "QUESTION", "$accept", "variable_identifier",
"primary_expression", "postfix_expression", "integer_expression",
"function_call", "function_call_or_method", "function_call_generic",
"function_call_header_no_parameters",
@@ -794,16 +708,16 @@
"init_declarator_list", "single_declaration", "fully_specified_type",
"type_qualifier", "type_specifier", "precision_qualifier",
"type_specifier_no_prec", "type_specifier_nonarray", "struct_specifier",
- "@1", "@2", "struct_declaration_list", "struct_declaration",
+ "$@1", "$@2", "struct_declaration_list", "struct_declaration",
"struct_declarator_list", "struct_declarator", "initializer",
"declaration_statement", "statement", "simple_statement",
- "compound_statement", "@3", "@4", "statement_no_new_scope",
+ "compound_statement", "$@3", "$@4", "statement_no_new_scope",
"compound_statement_no_new_scope", "statement_list",
"expression_statement", "selection_statement",
- "selection_rest_statement", "condition", "iteration_statement", "@5",
- "@6", "@7", "for_init_statement", "conditionopt", "for_rest_statement",
+ "selection_rest_statement", "condition", "iteration_statement", "$@5",
+ "$@6", "$@7", "for_init_statement", "conditionopt", "for_rest_statement",
"jump_statement", "translation_unit", "external_declaration",
- "function_definition", "@8", 0
+ "function_definition", "$@8", 0
};
#endif
@@ -821,33 +735,33 @@
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349
+ 345, 346, 347, 348, 349, 350
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 95, 96, 97, 97, 97, 97, 97, 98, 98,
- 98, 98, 98, 98, 99, 100, 101, 101, 102, 102,
- 103, 103, 104, 104, 105, 106, 106, 106, 107, 107,
- 107, 107, 108, 108, 108, 109, 109, 109, 110, 110,
- 110, 111, 112, 112, 112, 112, 112, 113, 113, 113,
- 114, 115, 116, 117, 117, 118, 118, 119, 119, 120,
- 120, 121, 121, 122, 122, 122, 122, 122, 123, 123,
- 124, 125, 125, 125, 126, 127, 127, 128, 128, 129,
- 130, 130, 131, 131, 131, 131, 132, 132, 132, 132,
- 133, 134, 134, 134, 134, 134, 135, 135, 135, 135,
- 135, 135, 136, 136, 137, 137, 137, 137, 137, 138,
- 138, 139, 139, 139, 140, 140, 141, 141, 141, 141,
- 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
- 141, 141, 141, 141, 141, 141, 141, 143, 142, 144,
- 142, 145, 145, 146, 147, 147, 148, 148, 149, 150,
- 151, 151, 152, 152, 152, 152, 152, 153, 154, 155,
- 153, 156, 156, 157, 157, 158, 158, 159, 159, 160,
- 161, 161, 162, 162, 164, 163, 165, 163, 166, 163,
- 167, 167, 168, 168, 169, 169, 170, 170, 170, 170,
- 170, 171, 171, 172, 172, 174, 173
+ 0, 96, 97, 98, 98, 98, 98, 98, 99, 99,
+ 99, 99, 99, 99, 100, 101, 102, 102, 103, 103,
+ 104, 104, 105, 105, 106, 107, 107, 107, 108, 108,
+ 108, 108, 109, 109, 109, 110, 110, 110, 111, 111,
+ 111, 112, 113, 113, 113, 113, 113, 114, 114, 114,
+ 115, 116, 117, 118, 118, 119, 119, 120, 120, 121,
+ 121, 122, 122, 123, 123, 123, 123, 123, 124, 124,
+ 125, 126, 126, 126, 127, 128, 128, 129, 129, 130,
+ 131, 131, 132, 132, 132, 132, 133, 133, 133, 133,
+ 134, 135, 135, 135, 135, 135, 136, 136, 136, 136,
+ 136, 136, 137, 137, 138, 138, 138, 138, 138, 139,
+ 139, 140, 140, 140, 141, 141, 142, 142, 142, 142,
+ 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
+ 142, 142, 142, 142, 142, 142, 142, 142, 144, 143,
+ 145, 143, 146, 146, 147, 148, 148, 149, 149, 150,
+ 151, 152, 152, 153, 153, 153, 153, 153, 154, 155,
+ 156, 154, 157, 157, 158, 158, 159, 159, 160, 160,
+ 161, 162, 162, 163, 163, 165, 164, 166, 164, 167,
+ 164, 168, 168, 169, 169, 170, 170, 171, 171, 171,
+ 171, 171, 172, 172, 173, 173, 175, 174
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -866,13 +780,13 @@
4, 2, 1, 2, 1, 1, 1, 2, 1, 1,
2, 1, 1, 1, 1, 4, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 0, 6, 0,
- 5, 1, 2, 3, 1, 3, 1, 4, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 2, 0, 0,
- 5, 1, 1, 2, 3, 1, 2, 1, 2, 5,
- 3, 1, 1, 4, 0, 6, 0, 8, 0, 7,
- 1, 1, 1, 0, 2, 3, 2, 2, 2, 3,
- 2, 1, 2, 1, 1, 0, 3
+ 1, 1, 1, 1, 1, 1, 1, 1, 0, 6,
+ 0, 5, 1, 2, 3, 1, 3, 1, 4, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
+ 0, 5, 1, 1, 2, 3, 1, 2, 1, 2,
+ 5, 3, 1, 1, 4, 0, 6, 0, 8, 0,
+ 7, 1, 1, 1, 0, 2, 3, 2, 2, 2,
+ 3, 2, 1, 2, 1, 1, 0, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -883,96 +797,96 @@
0, 0, 111, 112, 113, 0, 105, 104, 119, 117,
118, 123, 124, 125, 126, 127, 128, 120, 121, 122,
129, 130, 131, 108, 106, 0, 116, 132, 133, 134,
- 136, 194, 195, 0, 76, 86, 0, 91, 96, 0,
- 102, 0, 109, 114, 135, 0, 191, 193, 107, 101,
- 0, 0, 139, 71, 0, 74, 86, 0, 87, 88,
- 89, 77, 0, 86, 0, 72, 97, 103, 110, 0,
- 1, 192, 0, 137, 0, 0, 196, 78, 83, 85,
- 90, 0, 92, 79, 0, 0, 2, 5, 4, 6,
- 27, 0, 0, 0, 34, 33, 32, 3, 8, 28,
- 10, 15, 16, 0, 0, 21, 0, 35, 0, 38,
- 41, 42, 47, 50, 51, 52, 53, 55, 57, 59,
- 70, 0, 25, 73, 0, 0, 0, 141, 0, 0,
- 176, 0, 0, 0, 0, 0, 158, 163, 167, 35,
- 61, 68, 0, 149, 0, 114, 152, 165, 151, 150,
- 0, 153, 154, 155, 156, 80, 82, 84, 0, 0,
- 98, 0, 148, 100, 29, 30, 0, 12, 13, 0,
- 0, 19, 18, 0, 20, 22, 24, 31, 0, 0,
+ 135, 137, 195, 196, 0, 76, 86, 0, 91, 96,
+ 0, 102, 0, 109, 114, 136, 0, 192, 194, 107,
+ 101, 0, 0, 140, 71, 0, 74, 86, 0, 87,
+ 88, 89, 77, 0, 86, 0, 72, 97, 103, 110,
+ 0, 1, 193, 0, 138, 0, 0, 197, 78, 83,
+ 85, 90, 0, 92, 79, 0, 0, 2, 5, 4,
+ 6, 27, 0, 0, 0, 34, 33, 32, 3, 8,
+ 28, 10, 15, 16, 0, 0, 21, 0, 35, 0,
+ 38, 41, 42, 47, 50, 51, 52, 53, 55, 57,
+ 59, 70, 0, 25, 73, 0, 0, 0, 142, 0,
+ 0, 177, 0, 0, 0, 0, 0, 159, 164, 168,
+ 35, 61, 68, 0, 150, 0, 114, 153, 166, 152,
+ 151, 0, 154, 155, 156, 157, 80, 82, 84, 0,
+ 0, 98, 0, 149, 100, 29, 30, 0, 12, 13,
+ 0, 0, 19, 18, 0, 20, 22, 24, 31, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 115, 0, 146, 0, 144, 140, 142, 187,
- 186, 0, 178, 0, 190, 188, 0, 174, 157, 0,
- 64, 65, 66, 67, 63, 0, 0, 168, 164, 166,
- 0, 93, 0, 95, 99, 7, 0, 14, 26, 11,
- 17, 23, 36, 37, 40, 39, 45, 46, 43, 44,
- 48, 49, 54, 56, 58, 0, 138, 0, 0, 143,
- 0, 0, 0, 189, 0, 159, 62, 69, 0, 94,
- 9, 0, 0, 145, 0, 181, 180, 183, 0, 172,
- 0, 0, 0, 81, 60, 147, 0, 182, 0, 0,
- 171, 169, 0, 0, 160, 0, 184, 0, 0, 0,
- 162, 175, 161, 0, 185, 179, 170, 173, 177
+ 0, 0, 0, 115, 0, 147, 0, 145, 141, 143,
+ 188, 187, 0, 179, 0, 191, 189, 0, 175, 158,
+ 0, 64, 65, 66, 67, 63, 0, 0, 169, 165,
+ 167, 0, 93, 0, 95, 99, 7, 0, 14, 26,
+ 11, 17, 23, 36, 37, 40, 39, 45, 46, 43,
+ 44, 48, 49, 54, 56, 58, 0, 139, 0, 0,
+ 144, 0, 0, 0, 190, 0, 160, 62, 69, 0,
+ 94, 9, 0, 0, 146, 0, 182, 181, 184, 0,
+ 173, 0, 0, 0, 81, 60, 148, 0, 183, 0,
+ 0, 172, 170, 0, 0, 161, 0, 185, 0, 0,
+ 0, 163, 176, 162, 0, 186, 180, 171, 174, 178
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 97, 98, 99, 226, 100, 101, 102, 103, 104,
- 105, 106, 139, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 140, 141, 215, 142, 121,
- 143, 144, 33, 34, 35, 78, 61, 62, 79, 36,
- 37, 38, 39, 40, 41, 42, 122, 44, 124, 74,
- 126, 127, 195, 196, 163, 146, 147, 148, 149, 209,
- 272, 291, 292, 150, 151, 152, 281, 271, 153, 254,
- 201, 251, 267, 278, 279, 154, 45, 46, 47, 54
+ -1, 98, 99, 100, 227, 101, 102, 103, 104, 105,
+ 106, 107, 140, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 141, 142, 216, 143, 122,
+ 144, 145, 34, 35, 36, 79, 62, 63, 80, 37,
+ 38, 39, 40, 41, 42, 43, 123, 45, 125, 75,
+ 127, 128, 196, 197, 164, 147, 148, 149, 150, 210,
+ 273, 292, 293, 151, 152, 153, 282, 272, 154, 255,
+ 202, 252, 268, 279, 280, 155, 46, 47, 48, 55
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -242
+#define YYPACT_NINF -251
static const yytype_int16 yypact[] =
{
- 1179, -6, -242, -242, -242, 151, -242, -242, -242, -242,
- -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
- -242, -242, -242, -242, -242, -39, -242, -242, -242, -242,
- -242, -242, -69, -37, -32, 21, -61, -242, 26, 1221,
- -242, 1282, -242, -58, -242, 207, -242, -242, -242, -242,
- 1282, 22, -242, -242, 33, -242, 70, 88, -242, -242,
- -242, -242, 1221, 125, 42, -242, -8, -242, -242, 961,
- -242, -242, 72, -242, 1221, 286, -242, -242, -242, -242,
- 117, 1221, -57, -242, 766, 961, 94, -242, -242, -242,
- -242, 961, 961, 961, -242, -242, -242, -242, -242, 14,
- -242, -242, -242, 99, -35, 1026, 101, -242, 961, -27,
- 46, -242, -21, 56, -242, -242, -242, 115, 119, -45,
- -242, 103, -242, -242, 1221, 136, 1094, -242, 102, 104,
- -242, 111, 116, 105, 831, 118, 112, -242, -242, 39,
- -242, -242, 17, -242, -69, 93, -242, -242, -242, -242,
- 369, -242, -242, -242, -242, 122, -242, -242, 896, 961,
- -242, 123, -242, -242, -242, -242, 10, -242, -242, 961,
- 1246, -242, -242, 961, 120, -242, -242, -242, 961, 961,
- 961, 961, 961, 961, 961, 961, 961, 961, 961, 961,
- 961, 961, -242, 1136, 126, 49, -242, -242, -242, -242,
- -242, 452, -242, 961, -242, -242, 71, -242, -242, 452,
- -242, -242, -242, -242, -242, 961, 961, -242, -242, -242,
- 961, -242, 124, -242, -242, -242, 128, 114, -242, 129,
- -242, -242, -242, -242, -27, -27, -242, -242, -242, -242,
- -21, -21, -242, 115, 119, 89, -242, 961, 136, -242,
- 150, 618, 11, -242, 701, 452, -242, -242, 130, -242,
- -242, 961, 131, -242, 137, -242, -242, 701, 452, 114,
- 152, 148, 145, -242, -242, -242, 961, -242, 141, 153,
- 208, -242, 143, 535, -242, 38, 961, 535, 452, 961,
- -242, -242, -242, 146, 114, -242, -242, -242, -242
+ 1250, -17, -251, -251, -251, 113, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -39, -251, -251, -251, -251,
+ -251, -251, -251, -65, -34, -10, 21, -32, -251, 28,
+ 207, -251, 1324, -251, 56, -251, 1206, -251, -251, -251,
+ -251, 1324, 74, -251, -251, 86, -251, 71, 95, -251,
+ -251, -251, -251, 207, 119, 120, -251, -56, -251, -251,
+ 971, -251, -251, 84, -251, 207, 287, -251, -251, -251,
+ -251, 124, 207, -59, -251, 773, 971, 98, -251, -251,
+ -251, -251, 971, 971, 971, -251, -251, -251, -251, -251,
+ 35, -251, -251, -251, 100, -9, 1037, 102, -251, 971,
+ -27, -1, -251, -24, 99, -251, -251, -251, 112, 111,
+ -51, -251, 103, -251, -251, 207, 135, 1106, -251, 101,
+ 104, -251, 109, 115, 106, 839, 117, 107, -251, -251,
+ 39, -251, -251, -11, -251, -65, 54, -251, -251, -251,
+ -251, 371, -251, -251, -251, -251, 116, -251, -251, 905,
+ 971, -251, 118, -251, -251, -251, -251, 8, -251, -251,
+ 971, 1287, -251, -251, 971, 125, -251, -251, -251, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, -251, 1149, 122, 17, -251, -251, -251,
+ -251, -251, 455, -251, 971, -251, -251, 32, -251, -251,
+ 455, -251, -251, -251, -251, -251, 971, 971, -251, -251,
+ -251, 971, -251, 123, -251, -251, -251, 126, 121, -251,
+ 127, -251, -251, -251, -251, -27, -27, -251, -251, -251,
+ -251, -24, -24, -251, 112, 111, 79, -251, 971, 135,
+ -251, 151, 623, 11, -251, 707, 455, -251, -251, 128,
+ -251, -251, 971, 130, -251, 134, -251, -251, 707, 455,
+ 121, 147, 136, 131, -251, -251, -251, 971, -251, 132,
+ 142, 200, -251, 139, 539, -251, 19, 971, 539, 455,
+ 971, -251, -251, -251, 140, 121, -251, -251, -251, -251
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -242, -242, -242, -242, -242, -242, -242, 77, -242, -242,
- -242, -242, -44, -242, -63, -242, -62, -17, -242, -242,
- -242, 52, 37, 51, -242, -66, -83, -242, -92, -73,
- 7, 8, -242, -242, -242, 161, 197, 193, 176, -242,
- -242, -241, -29, -30, 253, -22, 0, -242, -242, -242,
- 135, -122, -242, 12, -138, 13, -140, -203, -242, -242,
- -242, -26, 209, 53, 15, -242, -242, -2, -242, -242,
- -242, -242, -242, -242, -242, -242, -242, 224, -242, -242
+ -251, -251, -251, -251, -251, -251, -251, 50, -251, -251,
+ -251, -251, -44, -251, -21, -251, -62, -20, -251, -251,
+ -251, 34, 36, 33, -251, -66, -83, -251, -92, -73,
+ 7, 13, -251, -251, -251, 143, 170, 176, 159, -251,
+ -251, -247, -22, -30, 237, -15, 0, -251, -251, -251,
+ 129, -122, -251, -6, -159, -8, -140, -250, -251, -251,
+ -251, -41, 202, 48, 9, -251, -251, -5, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, 213, -251, -251
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -982,276 +896,286 @@
#define YYTABLE_NINF -117
static const yytype_int16 yytable[] =
{
- 43, 166, 162, 120, 198, 51, 63, 31, 32, 67,
- 219, 161, 53, 270, 190, 69, 158, 64, 120, 68,
- 65, 223, 175, 159, 57, 107, 270, 63, 72, 6,
- 7, 48, 80, 182, 183, 55, 52, 172, 49, 43,
- 107, 43, 206, 173, 125, 43, 56, 164, 165, 191,
- 43, 80, 31, 32, 58, 59, 60, 23, 24, 178,
- 179, 250, 43, 83, 177, 84, 167, 168, 184, 185,
- 66, 198, 85, 57, 43, 145, 162, 227, 6, 7,
- 290, 43, 225, 268, 290, 222, 82, 169, 216, 216,
- 231, 170, 120, -75, 125, 216, 125, 73, 217, 245,
- 210, 211, 212, 58, 59, 60, 23, 24, 75, 213,
- 293, 252, 186, 187, 107, 219, 216, 234, 235, 214,
- 236, 237, 238, 239, 43, 48, 43, 248, 280, 180,
- 249, 181, 256, 257, 232, 233, 107, 107, 107, 107,
- 107, 107, 107, 107, 107, 107, 107, 258, 296, 216,
- 145, 297, 253, 123, 120, 2, 3, 4, 58, 59,
- 60, 155, 269, 125, -25, -26, 69, 216, 261, 240,
- 241, 171, 176, 188, 262, 269, 107, 192, 274, 189,
- 194, 120, 202, 199, 285, 200, 204, 203, 208, 207,
- 264, -116, 216, 43, 294, 220, 282, 224, 259, 247,
- -27, 145, 260, 107, 273, 275, 162, 70, 276, 145,
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 283, 284, 286, 289, 288, 287, 243, 298, 11, 12,
+ 44, 224, 167, 163, 121, 199, 52, 32, 271, 191,
+ 68, 220, 162, 33, 64, 159, 84, 54, 85, 121,
+ 49, 271, 160, 176, 58, 86, 108, 69, 50, 6,
+ 7, 183, 184, 81, 291, 64, 73, 53, 291, 56,
+ 44, 108, 44, 207, 192, 126, 44, 65, 165, 166,
+ 66, 44, 81, 32, 59, 60, 61, 23, 24, 33,
+ 179, 180, 251, 44, 173, 178, 185, 186, 217, 57,
+ 174, 218, 199, 67, 58, 44, 146, 163, 228, 6,
+ 7, 226, 44, 181, 269, 182, 223, 217, 168, 169,
+ 217, 232, 294, 121, -75, 126, 249, 126, 217, 250,
+ 246, 211, 212, 213, 59, 60, 61, 23, 24, 170,
+ 214, 217, 253, 171, 254, 108, 220, 2, 3, 4,
+ 215, 237, 238, 239, 240, 44, -25, 44, 70, 281,
+ 70, 298, 49, 257, 258, 233, 234, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 259, 297,
+ 74, 146, 59, 60, 61, 121, 187, 188, 217, 262,
+ 235, 236, 76, 270, 126, 83, 124, 241, 242, 156,
+ -26, 189, 190, 172, 177, 263, 270, 108, 193, 275,
+ 195, 203, 121, 200, 209, 286, 201, 204, 205, 208,
+ 221, 265, 283, 225, 44, 295, 248, -116, 260, -27,
+ 217, 261, 146, 274, 108, 276, 277, 163, 285, 284,
+ 146, 2, 3, 4, 287, 288, 289, 8, 9, 10,
+ 290, 231, 299, 243, 245, 157, 244, 78, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 242, 244, 156, 23, 24, 25, 26, 230, 27, 28,
- 29, 145, 30, 77, 145, 145, 81, 157, 50, 193,
- 263, 295, 255, 76, 265, 277, 266, 145, 145, 71,
+ 82, 158, 51, 264, 266, 25, 26, 296, 27, 28,
+ 29, 30, 146, 31, 194, 146, 146, 77, 256, 72,
+ 0, 267, 0, 278, 0, 0, 0, 0, 146, 146,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 145, 0, 0, 0, 145, 145, 1,
- 2, 3, 4, 5, 6, 7, 8, 9, 10, 128,
- 129, 130, 0, 131, 132, 133, 134, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
- 0, 0, 23, 24, 25, 26, 135, 27, 28, 29,
- 86, 30, 87, 88, 89, 90, 0, 0, 91, 92,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
- 0, 136, 137, 0, 0, 0, 0, 138, 94, 95,
- 0, 96, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 128, 129, 130, 0, 131, 132, 133, 134,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 0, 0, 0, 23, 24, 25, 26, 135,
- 27, 28, 29, 86, 30, 87, 88, 89, 90, 0,
- 0, 91, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 93, 0, 0, 0, 136, 218, 0, 0, 0, 0,
- 138, 94, 95, 0, 96, 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10, 128, 129, 130, 0, 131,
- 132, 133, 134, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 0, 0, 0, 23, 24,
- 25, 26, 135, 27, 28, 29, 86, 30, 87, 88,
- 89, 90, 0, 0, 91, 92, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 93, 0, 0, 0, 136, 0, 0,
- 0, 0, 0, 138, 94, 95, 0, 96, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 128, 129,
- 130, 0, 131, 132, 133, 134, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 0, 0,
- 0, 23, 24, 25, 26, 135, 27, 28, 29, 86,
- 30, 87, 88, 89, 90, 0, 0, 91, 92, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 93, 0, 0, 0,
- 75, 0, 0, 0, 0, 0, 138, 94, 95, 0,
- 96, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 0, 0, 0, 0, 0, 0, 0, 0, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 0, 0, 0, 23, 24, 25, 26, 0, 27,
- 28, 29, 86, 30, 87, 88, 89, 90, 0, 0,
- 91, 92, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 93,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 138,
- 94, 95, 0, 96, 57, 2, 3, 4, 0, 6,
- 7, 8, 9, 10, 0, 0, 0, 0, 0, 0,
- 0, 0, 11, 12, 13, 14, 15, 16, 17, 18,
+ 0, 0, 0, 0, 146, 0, 0, 0, 146, 146,
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 129, 130, 131, 0, 132, 133, 134, 135, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 0, 0, 0, 23, 24, 25, 26, 136, 27, 28,
+ 29, 30, 87, 31, 88, 89, 90, 91, 0, 0,
+ 92, 93, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,
+ 0, 0, 0, 137, 138, 0, 0, 0, 0, 139,
+ 95, 96, 0, 97, 1, 2, 3, 4, 5, 6,
+ 7, 8, 9, 10, 129, 130, 131, 0, 132, 133,
+ 134, 135, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 0, 0, 0, 23, 24, 25,
- 26, 0, 27, 28, 29, 86, 30, 87, 88, 89,
- 90, 0, 0, 91, 92, 0, 0, 0, 0, 0,
+ 26, 136, 27, 28, 29, 30, 87, 31, 88, 89,
+ 90, 91, 0, 0, 92, 93, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 93, 0, 0, 0, 8, 9, 10, 0,
- 0, 0, 0, 94, 95, 0, 96, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
- 0, 0, 0, 0, 25, 26, 0, 27, 28, 29,
- 86, 30, 87, 88, 89, 90, 0, 0, 91, 92,
+ 0, 0, 0, 94, 0, 0, 0, 137, 219, 0,
+ 0, 0, 0, 139, 95, 96, 0, 97, 1, 2,
+ 3, 4, 5, 6, 7, 8, 9, 10, 129, 130,
+ 131, 0, 132, 133, 134, 135, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 0, 0,
+ 0, 23, 24, 25, 26, 136, 27, 28, 29, 30,
+ 87, 31, 88, 89, 90, 91, 0, 0, 92, 93,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
- 160, 8, 9, 10, 0, 0, 0, 0, 94, 95,
- 0, 96, 11, 12, 13, 14, 15, 16, 17, 18,
+ 0, 0, 0, 0, 0, 0, 0, 94, 0, 0,
+ 0, 137, 0, 0, 0, 0, 0, 139, 95, 96,
+ 0, 97, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 129, 130, 131, 0, 132, 133, 134, 135,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 0, 0, 0, 23, 24, 25, 26, 136,
+ 27, 28, 29, 30, 87, 31, 88, 89, 90, 91,
+ 0, 0, 92, 93, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 94, 0, 0, 0, 76, 0, 0, 0, 0,
+ 0, 139, 95, 96, 0, 97, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 0, 0, 0, 0,
+ 0, 0, 0, 0, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 0, 0, 0, 23,
+ 24, 25, 26, 0, 27, 28, 29, 30, 87, 31,
+ 88, 89, 90, 91, 0, 0, 92, 93, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 94, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 139, 95, 96, 0, 97,
+ 58, 2, 3, 4, 0, 6, 7, 8, 9, 10,
+ 0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 0, 0, 0, 23, 24, 25, 26, 0, 27, 28,
+ 29, 30, 87, 31, 88, 89, 90, 91, 0, 0,
+ 92, 93, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,
+ 0, 0, 0, 8, 9, 10, 0, 0, 0, 0,
+ 95, 96, 0, 97, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 0, 0, 0, 0,
+ 0, 25, 26, 0, 27, 28, 29, 30, 87, 31,
+ 88, 89, 90, 91, 0, 0, 92, 93, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 94, 0, 0, 161, 8,
+ 9, 10, 0, 0, 0, 0, 95, 96, 0, 97,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 0, 0, 0, 0, 0, 25, 26, 0,
+ 27, 28, 29, 30, 87, 31, 88, 89, 90, 91,
+ 0, 0, 92, 93, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 94, 0, 0, 0, 8, 9, 10, 0, 0,
+ 0, 206, 95, 96, 0, 97, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 0, 0,
+ 0, 0, 0, 25, 26, 0, 27, 28, 29, 30,
+ 87, 31, 88, 89, 90, 91, 0, 0, 92, 93,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 94, 0, 0,
+ 222, 8, 9, 10, 0, 0, 0, 0, 95, 96,
+ 0, 97, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 0, 0, 0, 0, 0, 25,
- 26, 0, 27, 28, 29, 86, 30, 87, 88, 89,
- 90, 0, 0, 91, 92, 0, 0, 0, 0, 0,
+ 26, 0, 27, 28, 29, 30, 87, 31, 88, 89,
+ 90, 91, 0, 0, 92, 93, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 93, 0, 0, 0, 8, 9, 10, 0,
- 0, 0, 205, 94, 95, 0, 96, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
- 0, 0, 0, 0, 25, 26, 0, 27, 28, 29,
- 86, 30, 87, 88, 89, 90, 0, 0, 91, 92,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
- 221, 8, 9, 10, 0, 0, 0, 0, 94, 95,
- 0, 96, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 0, 0, 0, 0, 0, 25,
- 26, 0, 27, 28, 29, 86, 30, 87, 88, 89,
- 90, 0, 0, 91, 92, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 93, 0, 0, 0, 8, 9, 10, 0,
- 0, 0, 0, 94, 95, 0, 96, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
- 0, 0, 0, 0, 25, 174, 0, 27, 28, 29,
- 86, 30, 87, 88, 89, 90, 0, 0, 91, 92,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 93, 2, 3,
- 4, 0, 0, 0, 8, 9, 10, 0, 94, 95,
- 0, 96, 0, 0, 0, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 0, 0, 0,
- 0, 0, 25, 26, 0, 27, 28, 29, 0, 30,
+ 0, 0, 0, 94, 0, 0, 0, 8, 9, 10,
+ 0, 0, 0, 0, 95, 96, 0, 97, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 0, 0, 0, 0, 0, 25, 175, 0, 27, 28,
+ 29, 30, 87, 31, 88, 89, 90, 91, 0, 0,
+ 92, 93, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,
2, 3, 4, 0, 0, 0, 8, 9, 10, 0,
- 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
+ 95, 96, 0, 97, 0, 0, 0, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
- 197, 0, 0, 0, 25, 26, 0, 27, 28, 29,
- 0, 30, 1, 2, 3, 4, 5, 6, 7, 8,
+ 0, 0, 0, 0, 25, 26, 0, 27, 28, 29,
+ 30, 0, 31, 2, 3, 4, 0, 0, 0, 8,
9, 10, 0, 0, 0, 0, 0, 0, 0, 0,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 246, 0, 0, 23, 24, 25, 26, 0,
- 27, 28, 29, 0, 30, 2, 3, 4, 0, 0,
- 0, 8, 9, 10, 0, 0, 0, 0, 0, 0,
- 0, 0, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 0, 0, 8, 9, 10, 25,
- 26, 0, 27, 28, 29, 0, 30, 11, 12, 13,
+ 21, 22, 0, 198, 0, 0, 0, 25, 26, 0,
+ 27, 28, 29, 30, 0, 31, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 71, 0, 0, 1,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 0,
+ 0, 0, 0, 0, 0, 0, 247, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
- 0, 0, 0, 0, 25, 26, 0, 27, 28, 29,
- 228, 30, 8, 9, 10, 229, 0, 0, 0, 0,
- 0, 0, 0, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 0, 0, 0, 0, 0,
- 25, 26, 0, 27, 28, 29, 0, 30
+ 0, 0, 23, 24, 25, 26, 0, 27, 28, 29,
+ 30, 0, 31, 1, 2, 3, 4, 5, 6, 7,
+ 8, 9, 10, 0, 0, 0, 0, 0, 0, 0,
+ 0, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 0, 0, 0, 23, 24, 25, 26,
+ 0, 27, 28, 29, 30, 0, 31, 8, 9, 10,
+ 0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 0, 0, 0, 0, 0, 25, 26, 0, 27, 28,
+ 29, 30, 229, 31, 8, 9, 10, 230, 0, 0,
+ 0, 0, 0, 0, 0, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 0, 0, 0,
+ 0, 0, 25, 26, 0, 27, 28, 29, 30, 0,
+ 31
};
static const yytype_int16 yycheck[] =
{
- 0, 93, 85, 69, 126, 44, 35, 0, 0, 39,
- 150, 84, 81, 254, 59, 73, 73, 78, 84, 41,
- 81, 159, 105, 80, 3, 69, 267, 56, 50, 8,
- 9, 37, 62, 54, 55, 72, 75, 72, 44, 39,
- 84, 41, 134, 78, 74, 45, 78, 91, 92, 94,
- 50, 81, 45, 45, 33, 34, 35, 36, 37, 86,
- 87, 201, 62, 71, 108, 73, 52, 53, 89, 90,
- 44, 193, 80, 3, 74, 75, 159, 169, 8, 9,
- 283, 81, 72, 72, 287, 158, 44, 73, 78, 78,
- 173, 77, 158, 72, 124, 78, 126, 75, 81, 191,
- 61, 62, 63, 33, 34, 35, 36, 37, 75, 70,
- 72, 203, 56, 57, 158, 255, 78, 180, 181, 80,
- 182, 183, 184, 185, 124, 37, 126, 78, 268, 83,
- 81, 85, 215, 216, 178, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 189, 190, 220, 288, 78,
- 150, 289, 81, 81, 220, 4, 5, 6, 33, 34,
- 35, 44, 254, 193, 71, 71, 73, 78, 79, 186,
- 187, 72, 71, 58, 247, 267, 220, 74, 261, 60,
- 44, 247, 71, 81, 276, 81, 81, 71, 76, 71,
- 40, 71, 78, 193, 286, 73, 44, 74, 74, 73,
- 71, 201, 74, 247, 74, 74, 289, 0, 71, 209,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 72, 76, 81, 80, 16, 72, 189, 81, 21, 22,
+ 0, 160, 94, 86, 70, 127, 45, 0, 255, 60,
+ 40, 151, 85, 0, 36, 74, 72, 82, 74, 85,
+ 37, 268, 81, 106, 3, 81, 70, 42, 45, 8,
+ 9, 55, 56, 63, 284, 57, 51, 76, 288, 73,
+ 40, 85, 42, 135, 95, 75, 46, 79, 92, 93,
+ 82, 51, 82, 46, 33, 34, 35, 36, 37, 46,
+ 87, 88, 202, 63, 73, 109, 90, 91, 79, 79,
+ 79, 82, 194, 45, 3, 75, 76, 160, 170, 8,
+ 9, 73, 82, 84, 73, 86, 159, 79, 53, 54,
+ 79, 174, 73, 159, 73, 125, 79, 127, 79, 82,
+ 192, 62, 63, 64, 33, 34, 35, 36, 37, 74,
+ 71, 79, 204, 78, 82, 159, 256, 4, 5, 6,
+ 81, 183, 184, 185, 186, 125, 72, 127, 74, 269,
+ 74, 290, 37, 216, 217, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 221, 289,
+ 76, 151, 33, 34, 35, 221, 57, 58, 79, 80,
+ 181, 182, 76, 255, 194, 45, 82, 187, 188, 45,
+ 72, 59, 61, 73, 72, 248, 268, 221, 75, 262,
+ 45, 72, 248, 82, 77, 277, 82, 72, 82, 72,
+ 74, 40, 45, 75, 194, 287, 74, 72, 75, 72,
+ 79, 75, 202, 75, 248, 75, 72, 290, 77, 73,
+ 210, 4, 5, 6, 82, 73, 16, 10, 11, 12,
+ 81, 171, 82, 189, 191, 82, 190, 57, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 188, 190, 81, 36, 37, 38, 39, 170, 41, 42,
- 43, 251, 45, 56, 254, 255, 63, 81, 5, 124,
- 248, 287, 209, 54, 251, 267, 251, 267, 268, 45,
+ 64, 82, 5, 249, 252, 38, 39, 288, 41, 42,
+ 43, 44, 252, 46, 125, 255, 256, 55, 210, 46,
+ -1, 252, -1, 268, -1, -1, -1, -1, 268, 269,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 283, -1, -1, -1, 287, 288, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
- -1, -1, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, -1, -1, 52, 53,
+ -1, -1, -1, -1, 284, -1, -1, -1, 288, 289,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ -1, -1, -1, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, -1, -1,
+ 53, 54, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 72,
+ -1, -1, -1, 76, 77, -1, -1, -1, -1, 82,
+ 83, 84, -1, 86, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, -1, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, -1, -1, -1, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, -1, -1, 53, 54, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
- -1, 75, 76, -1, -1, -1, -1, 81, 82, 83,
- -1, 85, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, -1, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, -1, -1, -1, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, -1,
- -1, 52, 53, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 71, -1, -1, -1, 75, 76, -1, -1, -1, -1,
- 81, 82, 83, -1, 85, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, -1, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, -1, -1, -1, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, -1, -1, 52, 53, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 71, -1, -1, -1, 75, -1, -1,
- -1, -1, -1, 81, 82, 83, -1, 85, 3, 4,
+ -1, -1, -1, 72, -1, -1, -1, 76, 77, -1,
+ -1, -1, -1, 82, 83, 84, -1, 86, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, -1, -1,
-1, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, -1, -1, 52, 53, -1,
+ 45, 46, 47, 48, 49, 50, -1, -1, 53, 54,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
- 75, -1, -1, -1, -1, -1, 81, 82, 83, -1,
- 85, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, -1, -1, -1, -1, -1, -1, -1, -1, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, -1, -1, -1, 36, 37, 38, 39, -1, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, -1, -1,
- 52, 53, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 81,
- 82, 83, -1, 85, 3, 4, 5, 6, -1, 8,
- 9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
- -1, -1, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, -1, -1, -1, 36, 37, 38,
- 39, -1, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, -1, -1, 52, 53, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 72, -1, -1,
+ -1, 76, -1, -1, -1, -1, -1, 82, 83, 84,
+ -1, 86, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, -1, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, -1, -1, -1, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ -1, -1, 53, 54, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 71, -1, -1, -1, 10, 11, 12, -1,
- -1, -1, -1, 82, 83, -1, 85, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
- -1, -1, -1, -1, 38, 39, -1, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, -1, -1, 52, 53,
+ -1, 72, -1, -1, -1, 76, -1, -1, -1, -1,
+ -1, 82, 83, 84, -1, 86, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
+ -1, -1, -1, -1, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, -1, -1, -1, 36,
+ 37, 38, 39, -1, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, -1, -1, 53, 54, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
- 74, 10, 11, 12, -1, -1, -1, -1, 82, 83,
- -1, 85, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, -1, -1, -1, -1, 72, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 82, 83, 84, -1, 86,
+ 3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
+ -1, -1, -1, -1, -1, -1, -1, -1, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ -1, -1, -1, 36, 37, 38, 39, -1, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, -1, -1,
+ 53, 54, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 72,
+ -1, -1, -1, 10, 11, 12, -1, -1, -1, -1,
+ 83, 84, -1, 86, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, -1, -1, -1, -1,
+ -1, 38, 39, -1, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, -1, -1, 53, 54, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 72, -1, -1, 75, 10,
+ 11, 12, -1, -1, -1, -1, 83, 84, -1, 86,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, -1, -1, -1, -1, -1, 38, 39, -1,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ -1, -1, 53, 54, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 72, -1, -1, -1, 10, 11, 12, -1, -1,
+ -1, 82, 83, 84, -1, 86, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, -1, -1,
+ -1, -1, -1, 38, 39, -1, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, -1, -1, 53, 54,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 72, -1, -1,
+ 75, 10, 11, 12, -1, -1, -1, -1, 83, 84,
+ -1, 86, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, -1, -1, -1, -1, -1, 38,
39, -1, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, -1, -1, 52, 53, -1, -1, -1, -1, -1,
+ 49, 50, -1, -1, 53, 54, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 71, -1, -1, -1, 10, 11, 12, -1,
- -1, -1, 81, 82, 83, -1, 85, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
- -1, -1, -1, -1, 38, 39, -1, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, -1, -1, 52, 53,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
- 74, 10, 11, 12, -1, -1, -1, -1, 82, 83,
- -1, 85, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, -1, -1, -1, -1, -1, 38,
- 39, -1, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, -1, -1, 52, 53, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 71, -1, -1, -1, 10, 11, 12, -1,
- -1, -1, -1, 82, 83, -1, 85, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
- -1, -1, -1, -1, 38, 39, -1, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, -1, -1, 52, 53,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 71, 4, 5,
- 6, -1, -1, -1, 10, 11, 12, -1, 82, 83,
- -1, 85, -1, -1, -1, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, 32, -1, -1, -1,
- -1, -1, 38, 39, -1, 41, 42, 43, -1, 45,
+ -1, -1, -1, 72, -1, -1, -1, 10, 11, 12,
+ -1, -1, -1, -1, 83, 84, -1, 86, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ -1, -1, -1, -1, -1, 38, 39, -1, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, -1, -1,
+ 53, 54, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 72,
4, 5, 6, -1, -1, -1, 10, 11, 12, -1,
- -1, -1, -1, -1, -1, -1, -1, 21, 22, 23,
+ 83, 84, -1, 86, -1, -1, -1, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
- 76, -1, -1, -1, 38, 39, -1, 41, 42, 43,
- -1, 45, 3, 4, 5, 6, 7, 8, 9, 10,
+ -1, -1, -1, -1, 38, 39, -1, 41, 42, 43,
+ 44, -1, 46, 4, 5, 6, -1, -1, -1, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 76, -1, -1, 36, 37, 38, 39, -1,
- 41, 42, 43, -1, 45, 4, 5, 6, -1, -1,
- -1, 10, 11, 12, -1, -1, -1, -1, -1, -1,
- -1, -1, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, -1, -1, 10, 11, 12, 38,
- 39, -1, 41, 42, 43, -1, 45, 21, 22, 23,
+ 31, 32, -1, 77, -1, -1, -1, 38, 39, -1,
+ 41, 42, 43, 44, -1, 46, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 0, -1, -1, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
+ -1, -1, -1, -1, -1, -1, 77, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
- -1, -1, -1, -1, 38, 39, -1, 41, 42, 43,
- 44, 45, 10, 11, 12, 49, -1, -1, -1, -1,
- -1, -1, -1, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, -1, -1, -1, -1, -1,
- 38, 39, -1, 41, 42, 43, -1, 45
+ -1, -1, 36, 37, 38, 39, -1, 41, 42, 43,
+ 44, -1, 46, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
+ -1, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, -1, -1, -1, 36, 37, 38, 39,
+ -1, 41, 42, 43, 44, -1, 46, 10, 11, 12,
+ -1, -1, -1, -1, -1, -1, -1, -1, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ -1, -1, -1, -1, -1, 38, 39, -1, 41, 42,
+ 43, 44, 45, 46, 10, 11, 12, 50, -1, -1,
+ -1, -1, -1, -1, -1, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, -1, -1, -1,
+ -1, -1, 38, 39, -1, 41, 42, 43, 44, -1,
+ 46
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1261,33 +1185,33 @@
0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 36, 37, 38, 39, 41, 42, 43,
- 45, 125, 126, 127, 128, 129, 134, 135, 136, 137,
- 138, 139, 140, 141, 142, 171, 172, 173, 37, 44,
- 139, 44, 75, 81, 174, 72, 78, 3, 33, 34,
- 35, 131, 132, 137, 78, 81, 44, 138, 140, 73,
- 0, 172, 140, 75, 144, 75, 157, 131, 130, 133,
- 138, 132, 44, 71, 73, 80, 44, 46, 47, 48,
- 49, 52, 53, 71, 82, 83, 85, 96, 97, 98,
- 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 44, 46, 126, 127, 128, 129, 130, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 172, 173, 174, 37,
+ 45, 140, 45, 76, 82, 175, 73, 79, 3, 33,
+ 34, 35, 132, 133, 138, 79, 82, 45, 139, 141,
+ 74, 0, 173, 141, 76, 145, 76, 158, 132, 131,
+ 134, 139, 133, 45, 72, 74, 81, 45, 47, 48,
+ 49, 50, 53, 54, 72, 83, 84, 86, 97, 98,
+ 99, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
- 120, 124, 141, 81, 143, 138, 145, 146, 13, 14,
- 15, 17, 18, 19, 20, 40, 75, 76, 81, 107,
- 120, 121, 123, 125, 126, 141, 150, 151, 152, 153,
- 158, 159, 160, 163, 170, 44, 130, 133, 73, 80,
- 74, 124, 121, 149, 107, 107, 123, 52, 53, 73,
- 77, 72, 72, 78, 39, 121, 71, 107, 86, 87,
- 83, 85, 54, 55, 89, 90, 56, 57, 58, 60,
- 59, 94, 74, 145, 44, 147, 148, 76, 146, 81,
- 81, 165, 71, 71, 81, 81, 123, 71, 76, 154,
- 61, 62, 63, 70, 80, 122, 78, 81, 76, 151,
- 73, 74, 124, 149, 74, 72, 99, 123, 44, 49,
- 102, 121, 107, 107, 109, 109, 111, 111, 111, 111,
- 112, 112, 116, 117, 118, 123, 76, 73, 78, 81,
- 151, 166, 123, 81, 164, 158, 121, 121, 124, 74,
- 74, 79, 124, 148, 40, 150, 159, 167, 72, 123,
- 136, 162, 155, 74, 121, 74, 71, 162, 168, 169,
- 151, 161, 44, 72, 76, 123, 81, 72, 16, 80,
- 152, 156, 157, 72, 123, 156, 151, 149, 81
+ 120, 121, 125, 142, 82, 144, 139, 146, 147, 13,
+ 14, 15, 17, 18, 19, 20, 40, 76, 77, 82,
+ 108, 121, 122, 124, 126, 127, 142, 151, 152, 153,
+ 154, 159, 160, 161, 164, 171, 45, 131, 134, 74,
+ 81, 75, 125, 122, 150, 108, 108, 124, 53, 54,
+ 74, 78, 73, 73, 79, 39, 122, 72, 108, 87,
+ 88, 84, 86, 55, 56, 90, 91, 57, 58, 59,
+ 61, 60, 95, 75, 146, 45, 148, 149, 77, 147,
+ 82, 82, 166, 72, 72, 82, 82, 124, 72, 77,
+ 155, 62, 63, 64, 71, 81, 123, 79, 82, 77,
+ 152, 74, 75, 125, 150, 75, 73, 100, 124, 45,
+ 50, 103, 122, 108, 108, 110, 110, 112, 112, 112,
+ 112, 113, 113, 117, 118, 119, 124, 77, 74, 79,
+ 82, 152, 167, 124, 82, 165, 159, 122, 122, 125,
+ 75, 75, 80, 125, 149, 40, 151, 160, 168, 73,
+ 124, 137, 163, 156, 75, 122, 75, 72, 163, 169,
+ 170, 152, 162, 45, 73, 77, 124, 82, 73, 16,
+ 81, 153, 157, 158, 73, 124, 157, 152, 150, 82
};
#define yyerrok (yyerrstatus = 0)
@@ -1361,7 +1285,7 @@
we won't break user code: when these are the locations we know. */
#ifndef YY_LOCATION_PRINT
-# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
+# if YYLTYPE_IS_TRIVIAL
# define YY_LOCATION_PRINT(File, Loc) \
fprintf (File, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \
@@ -1475,17 +1399,20 @@
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -1520,11 +1447,11 @@
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
, context);
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -1806,10 +1733,8 @@
break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -1828,10 +1753,9 @@
-
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -1855,22 +1779,46 @@
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
+ /* Number of syntax errors so far. */
+ int yynerrs;
- int yystate;
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
+
+ YYSIZE_T yystacksize;
+
int yyn;
int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
#if YYERROR_VERBOSE
/* Buffer for error messages, and its allocated size. */
char yymsgbuf[128];
@@ -1878,51 +1826,28 @@
YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
#endif
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
-
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
-
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
-
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
-
-
-
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
- YYSIZE_T yystacksize = YYINITDEPTH;
-
- /* The variables used to return semantic value and location from the
- action routines. */
- YYSTYPE yyval;
-
-
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
@@ -1952,7 +1877,6 @@
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
-
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
@@ -1960,7 +1884,6 @@
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
-
&yystacksize);
yyss = yyss1;
@@ -1983,9 +1906,8 @@
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
-
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -1996,7 +1918,6 @@
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
-
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
@@ -2006,6 +1927,9 @@
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -2014,16 +1938,16 @@
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -2055,20 +1979,16 @@
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -2140,14 +2060,14 @@
(yyval.interm.intermTypedNode) = context->intermediate.addSymbol(variable->getUniqueId(),
variable->getName(),
variable->getType(), (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 3:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
- ;}
+ }
break;
case 4:
@@ -2164,7 +2084,7 @@
ConstantUnion *unionArray = new ConstantUnion[1];
unionArray->setIConst((yyvsp[(1) - (1)].lex).i);
(yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtInt, EbpUndefined, EvqConst), (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 5:
@@ -2173,7 +2093,7 @@
ConstantUnion *unionArray = new ConstantUnion[1];
unionArray->setFConst((yyvsp[(1) - (1)].lex).f);
(yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtFloat, EbpUndefined, EvqConst), (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 6:
@@ -2182,21 +2102,21 @@
ConstantUnion *unionArray = new ConstantUnion[1];
unionArray->setBConst((yyvsp[(1) - (1)].lex).b);
(yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 7:
{
(yyval.interm.intermTypedNode) = (yyvsp[(2) - (3)].interm.intermTypedNode);
- ;}
+ }
break;
case 8:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
- ;}
+ }
break;
case 9:
@@ -2273,14 +2193,14 @@
(yyval.interm.intermTypedNode)->setType(TType((yyvsp[(1) - (4)].interm.intermTypedNode)->getBasicType(), (yyvsp[(1) - (4)].interm.intermTypedNode)->getPrecision(), EvqTemporary));
else
(yyval.interm.intermTypedNode)->setType((yyvsp[(1) - (4)].interm.intermTypedNode)->getType());
- ;}
+ }
break;
case 10:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
- ;}
+ }
break;
case 11:
@@ -2393,7 +2313,7 @@
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode);
}
// don't delete $3.string, it's from the pool
- ;}
+ }
break;
case 12:
@@ -2407,7 +2327,7 @@
context->recover();
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (2)].interm.intermTypedNode);
}
- ;}
+ }
break;
case 13:
@@ -2421,7 +2341,7 @@
context->recover();
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (2)].interm.intermTypedNode);
}
- ;}
+ }
break;
case 14:
@@ -2430,7 +2350,7 @@
if (context->integerErrorCheck((yyvsp[(1) - (1)].interm.intermTypedNode), "[]"))
context->recover();
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
- ;}
+ }
break;
case 15:
@@ -2530,14 +2450,14 @@
}
}
delete fnCall;
- ;}
+ }
break;
case 16:
{
(yyval.interm) = (yyvsp[(1) - (1)].interm);
- ;}
+ }
break;
case 17:
@@ -2546,7 +2466,7 @@
context->error((yyvsp[(3) - (3)].interm).line, "methods are not supported", "", "");
context->recover();
(yyval.interm) = (yyvsp[(3) - (3)].interm);
- ;}
+ }
break;
case 18:
@@ -2554,7 +2474,7 @@
{
(yyval.interm) = (yyvsp[(1) - (2)].interm);
(yyval.interm).line = (yyvsp[(2) - (2)].lex).line;
- ;}
+ }
break;
case 19:
@@ -2562,7 +2482,7 @@
{
(yyval.interm) = (yyvsp[(1) - (2)].interm);
(yyval.interm).line = (yyvsp[(2) - (2)].lex).line;
- ;}
+ }
break;
case 20:
@@ -2570,7 +2490,7 @@
{
(yyval.interm).function = (yyvsp[(1) - (2)].interm.function);
(yyval.interm).intermNode = 0;
- ;}
+ }
break;
case 21:
@@ -2578,7 +2498,7 @@
{
(yyval.interm).function = (yyvsp[(1) - (1)].interm.function);
(yyval.interm).intermNode = 0;
- ;}
+ }
break;
case 22:
@@ -2588,7 +2508,7 @@
(yyvsp[(1) - (2)].interm.function)->addParameter(param);
(yyval.interm).function = (yyvsp[(1) - (2)].interm.function);
(yyval.interm).intermNode = (yyvsp[(2) - (2)].interm.intermTypedNode);
- ;}
+ }
break;
case 23:
@@ -2598,14 +2518,14 @@
(yyvsp[(1) - (3)].interm).function->addParameter(param);
(yyval.interm).function = (yyvsp[(1) - (3)].interm).function;
(yyval.interm).intermNode = context->intermediate.growAggregate((yyvsp[(1) - (3)].interm).intermNode, (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line);
- ;}
+ }
break;
case 24:
{
(yyval.interm.function) = (yyvsp[(1) - (2)].interm.function);
- ;}
+ }
break;
case 25:
@@ -2664,7 +2584,7 @@
TType type((yyvsp[(1) - (1)].interm.type));
TFunction *function = new TFunction(&tempString, type, op);
(yyval.interm.function) = function;
- ;}
+ }
break;
case 26:
@@ -2675,7 +2595,7 @@
TType type(EbtVoid, EbpUndefined);
TFunction *function = new TFunction((yyvsp[(1) - (1)].lex).string, type);
(yyval.interm.function) = function;
- ;}
+ }
break;
case 27:
@@ -2686,14 +2606,14 @@
TType type(EbtVoid, EbpUndefined);
TFunction *function = new TFunction((yyvsp[(1) - (1)].lex).string, type);
(yyval.interm.function) = function;
- ;}
+ }
break;
case 28:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
- ;}
+ }
break;
case 29:
@@ -2707,7 +2627,7 @@
context->recover();
(yyval.interm.intermTypedNode) = (yyvsp[(2) - (2)].interm.intermTypedNode);
}
- ;}
+ }
break;
case 30:
@@ -2721,7 +2641,7 @@
context->recover();
(yyval.interm.intermTypedNode) = (yyvsp[(2) - (2)].interm.intermTypedNode);
}
- ;}
+ }
break;
case 31:
@@ -2742,27 +2662,27 @@
}
} else
(yyval.interm.intermTypedNode) = (yyvsp[(2) - (2)].interm.intermTypedNode);
- ;}
+ }
break;
case 32:
- { (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpNull; ;}
+ { (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpNull; }
break;
case 33:
- { (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpNegative; ;}
+ { (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpNegative; }
break;
case 34:
- { (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpLogicalNot; ;}
+ { (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpLogicalNot; }
break;
case 35:
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); ;}
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 36:
@@ -2775,7 +2695,7 @@
context->recover();
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode);
}
- ;}
+ }
break;
case 37:
@@ -2788,12 +2708,12 @@
context->recover();
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode);
}
- ;}
+ }
break;
case 38:
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); ;}
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 39:
@@ -2805,7 +2725,7 @@
context->recover();
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode);
}
- ;}
+ }
break;
case 40:
@@ -2817,17 +2737,17 @@
context->recover();
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode);
}
- ;}
+ }
break;
case 41:
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); ;}
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 42:
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); ;}
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 43:
@@ -2841,7 +2761,7 @@
unionArray->setBConst(false);
(yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yyvsp[(2) - (3)].lex).line);
}
- ;}
+ }
break;
case 44:
@@ -2855,7 +2775,7 @@
unionArray->setBConst(false);
(yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yyvsp[(2) - (3)].lex).line);
}
- ;}
+ }
break;
case 45:
@@ -2869,7 +2789,7 @@
unionArray->setBConst(false);
(yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yyvsp[(2) - (3)].lex).line);
}
- ;}
+ }
break;
case 46:
@@ -2883,12 +2803,12 @@
unionArray->setBConst(false);
(yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yyvsp[(2) - (3)].lex).line);
}
- ;}
+ }
break;
case 47:
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); ;}
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 48:
@@ -2902,7 +2822,7 @@
unionArray->setBConst(false);
(yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yyvsp[(2) - (3)].lex).line);
}
- ;}
+ }
break;
case 49:
@@ -2916,27 +2836,27 @@
unionArray->setBConst(false);
(yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yyvsp[(2) - (3)].lex).line);
}
- ;}
+ }
break;
case 50:
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); ;}
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 51:
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); ;}
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 52:
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); ;}
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 53:
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); ;}
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 54:
@@ -2950,12 +2870,12 @@
unionArray->setBConst(false);
(yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yyvsp[(2) - (3)].lex).line);
}
- ;}
+ }
break;
case 55:
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); ;}
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 56:
@@ -2969,12 +2889,12 @@
unionArray->setBConst(false);
(yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yyvsp[(2) - (3)].lex).line);
}
- ;}
+ }
break;
case 57:
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); ;}
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 58:
@@ -2988,12 +2908,12 @@
unionArray->setBConst(false);
(yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yyvsp[(2) - (3)].lex).line);
}
- ;}
+ }
break;
case 59:
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); ;}
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 60:
@@ -3011,12 +2931,12 @@
context->recover();
(yyval.interm.intermTypedNode) = (yyvsp[(5) - (5)].interm.intermTypedNode);
}
- ;}
+ }
break;
case 61:
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); ;}
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 62:
@@ -3030,39 +2950,39 @@
context->recover();
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode);
}
- ;}
+ }
break;
case 63:
- { (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpAssign; ;}
+ { (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpAssign; }
break;
case 64:
- { FRAG_VERT_ONLY("*=", (yyvsp[(1) - (1)].lex).line); (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpMulAssign; ;}
+ { FRAG_VERT_ONLY("*=", (yyvsp[(1) - (1)].lex).line); (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpMulAssign; }
break;
case 65:
- { FRAG_VERT_ONLY("/=", (yyvsp[(1) - (1)].lex).line); (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpDivAssign; ;}
+ { FRAG_VERT_ONLY("/=", (yyvsp[(1) - (1)].lex).line); (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpDivAssign; }
break;
case 66:
- { (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpAddAssign; ;}
+ { (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpAddAssign; }
break;
case 67:
- { (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpSubAssign; ;}
+ { (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpSubAssign; }
break;
case 68:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
- ;}
+ }
break;
case 69:
@@ -3074,7 +2994,7 @@
context->recover();
(yyval.interm.intermTypedNode) = (yyvsp[(3) - (3)].interm.intermTypedNode);
}
- ;}
+ }
break;
case 70:
@@ -3083,7 +3003,7 @@
if (context->constErrorCheck((yyvsp[(1) - (1)].interm.intermTypedNode)))
context->recover();
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
- ;}
+ }
break;
case 71:
@@ -3112,7 +3032,7 @@
prototype->setOp(EOpPrototype);
(yyval.interm.intermNode) = prototype;
- ;}
+ }
break;
case 72:
@@ -3121,7 +3041,7 @@
if ((yyvsp[(1) - (2)].interm).intermAggregate)
(yyvsp[(1) - (2)].interm).intermAggregate->setOp(EOpDeclaration);
(yyval.interm.intermNode) = (yyvsp[(1) - (2)].interm).intermAggregate;
- ;}
+ }
break;
case 73:
@@ -3129,7 +3049,7 @@
{
context->symbolTable.setDefaultPrecision( (yyvsp[(3) - (4)].interm.type).type, (yyvsp[(2) - (4)].interm.precision) );
(yyval.interm.intermNode) = 0;
- ;}
+ }
break;
case 74:
@@ -3166,21 +3086,21 @@
(yyval.interm).line = (yyvsp[(2) - (2)].lex).line;
context->symbolTable.insert(*(yyval.interm).function);
- ;}
+ }
break;
case 75:
{
(yyval.interm.function) = (yyvsp[(1) - (1)].interm.function);
- ;}
+ }
break;
case 76:
{
(yyval.interm.function) = (yyvsp[(1) - (1)].interm.function);
- ;}
+ }
break;
case 77:
@@ -3192,7 +3112,7 @@
(yyvsp[(1) - (2)].interm.function)->addParameter((yyvsp[(2) - (2)].interm).param);
else
delete (yyvsp[(2) - (2)].interm).param.type;
- ;}
+ }
break;
case 78:
@@ -3214,7 +3134,7 @@
(yyval.interm.function) = (yyvsp[(1) - (3)].interm.function);
(yyvsp[(1) - (3)].interm.function)->addParameter((yyvsp[(3) - (3)].interm).param);
}
- ;}
+ }
break;
case 79:
@@ -3233,7 +3153,7 @@
TType type((yyvsp[(1) - (3)].interm.type));
function = new TFunction((yyvsp[(2) - (3)].lex).string, type);
(yyval.interm.function) = function;
- ;}
+ }
break;
case 80:
@@ -3248,7 +3168,7 @@
TParameter param = {(yyvsp[(2) - (2)].lex).string, new TType((yyvsp[(1) - (2)].interm.type))};
(yyval.interm).line = (yyvsp[(2) - (2)].lex).line;
(yyval.interm).param = param;
- ;}
+ }
break;
case 81:
@@ -3270,7 +3190,7 @@
TParameter param = { (yyvsp[(2) - (5)].lex).string, type };
(yyval.interm).line = (yyvsp[(2) - (5)].lex).line;
(yyval.interm).param = param;
- ;}
+ }
break;
case 82:
@@ -3279,7 +3199,7 @@
(yyval.interm) = (yyvsp[(3) - (3)].interm);
if (context->paramErrorCheck((yyvsp[(3) - (3)].interm).line, (yyvsp[(1) - (3)].interm.type).qualifier, (yyvsp[(2) - (3)].interm.qualifier), (yyval.interm).param.type))
context->recover();
- ;}
+ }
break;
case 83:
@@ -3290,7 +3210,7 @@
context->recover();
if (context->paramErrorCheck((yyvsp[(2) - (2)].interm).line, EvqTemporary, (yyvsp[(1) - (2)].interm.qualifier), (yyval.interm).param.type))
context->recover();
- ;}
+ }
break;
case 84:
@@ -3299,7 +3219,7 @@
(yyval.interm) = (yyvsp[(3) - (3)].interm);
if (context->paramErrorCheck((yyvsp[(3) - (3)].interm).line, (yyvsp[(1) - (3)].interm.type).qualifier, (yyvsp[(2) - (3)].interm.qualifier), (yyval.interm).param.type))
context->recover();
- ;}
+ }
break;
case 85:
@@ -3310,35 +3230,35 @@
context->recover();
if (context->paramErrorCheck((yyvsp[(2) - (2)].interm).line, EvqTemporary, (yyvsp[(1) - (2)].interm.qualifier), (yyval.interm).param.type))
context->recover();
- ;}
+ }
break;
case 86:
{
(yyval.interm.qualifier) = EvqIn;
- ;}
+ }
break;
case 87:
{
(yyval.interm.qualifier) = EvqIn;
- ;}
+ }
break;
case 88:
{
(yyval.interm.qualifier) = EvqOut;
- ;}
+ }
break;
case 89:
{
(yyval.interm.qualifier) = EvqInOut;
- ;}
+ }
break;
case 90:
@@ -3346,14 +3266,14 @@
{
TParameter param = { 0, new TType((yyvsp[(1) - (1)].interm.type)) };
(yyval.interm).param = param;
- ;}
+ }
break;
case 91:
{
(yyval.interm) = (yyvsp[(1) - (1)].interm);
- ;}
+ }
break;
case 92:
@@ -3373,7 +3293,7 @@
context->recover();
if (symbol && variable)
symbol->setId(variable->getUniqueId());
- ;}
+ }
break;
case 93:
@@ -3395,7 +3315,7 @@
if (context->arrayErrorCheck((yyvsp[(4) - (5)].lex).line, *(yyvsp[(3) - (5)].lex).string, (yyvsp[(1) - (5)].interm).type, variable))
context->recover();
}
- ;}
+ }
break;
case 94:
@@ -3423,7 +3343,7 @@
type.setArraySize(size);
(yyval.interm).intermAggregate = context->intermediate.growAggregate((yyvsp[(1) - (6)].interm).intermNode, context->intermediate.addSymbol(variable ? variable->getUniqueId() : 0, *(yyvsp[(3) - (6)].lex).string, type, (yyvsp[(3) - (6)].lex).line), (yyvsp[(3) - (6)].lex).line);
}
- ;}
+ }
break;
case 95:
@@ -3447,7 +3367,7 @@
context->recover();
(yyval.interm).intermAggregate = 0;
}
- ;}
+ }
break;
case 96:
@@ -3455,7 +3375,7 @@
{
(yyval.interm).type = (yyvsp[(1) - (1)].interm.type);
(yyval.interm).intermAggregate = context->intermediate.makeAggregate(context->intermediate.addSymbol(0, "", TType((yyvsp[(1) - (1)].interm.type)), (yyvsp[(1) - (1)].interm.type).line), (yyvsp[(1) - (1)].interm.type).line);
- ;}
+ }
break;
case 97:
@@ -3477,7 +3397,7 @@
context->recover();
if (variable && symbol)
symbol->setId(variable->getUniqueId());
- ;}
+ }
break;
case 98:
@@ -3489,7 +3409,7 @@
TIntermSymbol* symbol = context->intermediate.addSymbol(0, *(yyvsp[(2) - (4)].lex).string, TType((yyvsp[(1) - (4)].interm.type)), (yyvsp[(2) - (4)].lex).line);
(yyval.interm).intermAggregate = context->intermediate.makeAggregate(symbol, (yyvsp[(2) - (4)].lex).line);
(yyval.interm).type = (yyvsp[(1) - (4)].interm.type);
- ;}
+ }
break;
case 99:
@@ -3525,7 +3445,7 @@
if (variable && symbol)
symbol->setId(variable->getUniqueId());
}
- ;}
+ }
break;
case 100:
@@ -3549,7 +3469,7 @@
context->recover();
(yyval.interm).intermAggregate = 0;
}
- ;}
+ }
break;
case 101:
@@ -3558,7 +3478,7 @@
VERTEX_ONLY("invariant declaration", (yyvsp[(1) - (2)].lex).line);
(yyval.interm).qualifier = EvqInvariantVaryingOut;
(yyval.interm).intermAggregate = 0;
- ;}
+ }
break;
case 102:
@@ -3571,7 +3491,7 @@
context->recover();
(yyvsp[(1) - (1)].interm.type).setArray(false);
}
- ;}
+ }
break;
case 103:
@@ -3595,14 +3515,14 @@
}
(yyval.interm.type) = (yyvsp[(2) - (2)].interm.type);
(yyval.interm.type).qualifier = (yyvsp[(1) - (2)].interm.type).qualifier;
- ;}
+ }
break;
case 104:
{
(yyval.interm.type).setBasic(EbtVoid, EvqConst, (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 105:
@@ -3612,7 +3532,7 @@
if (context->globalErrorCheck((yyvsp[(1) - (1)].lex).line, context->symbolTable.atGlobalLevel(), "attribute"))
context->recover();
(yyval.interm.type).setBasic(EbtVoid, EvqAttribute, (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 106:
@@ -3624,7 +3544,7 @@
(yyval.interm.type).setBasic(EbtVoid, EvqVaryingOut, (yyvsp[(1) - (1)].lex).line);
else
(yyval.interm.type).setBasic(EbtVoid, EvqVaryingIn, (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 107:
@@ -3636,7 +3556,7 @@
(yyval.interm.type).setBasic(EbtVoid, EvqInvariantVaryingOut, (yyvsp[(1) - (2)].lex).line);
else
(yyval.interm.type).setBasic(EbtVoid, EvqInvariantVaryingIn, (yyvsp[(1) - (2)].lex).line);
- ;}
+ }
break;
case 108:
@@ -3645,7 +3565,7 @@
if (context->globalErrorCheck((yyvsp[(1) - (1)].lex).line, context->symbolTable.atGlobalLevel(), "uniform"))
context->recover();
(yyval.interm.type).setBasic(EbtVoid, EvqUniform, (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 109:
@@ -3659,7 +3579,7 @@
context->recover();
}
}
- ;}
+ }
break;
case 110:
@@ -3667,35 +3587,35 @@
{
(yyval.interm.type) = (yyvsp[(2) - (2)].interm.type);
(yyval.interm.type).precision = (yyvsp[(1) - (2)].interm.precision);
- ;}
+ }
break;
case 111:
{
(yyval.interm.precision) = EbpHigh;
- ;}
+ }
break;
case 112:
{
(yyval.interm.precision) = EbpMedium;
- ;}
+ }
break;
case 113:
{
(yyval.interm.precision) = EbpLow;
- ;}
+ }
break;
case 114:
{
(yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
- ;}
+ }
break;
case 115:
@@ -3711,7 +3631,7 @@
context->recover();
(yyval.interm.type).setArray(true, size);
}
- ;}
+ }
break;
case 116:
@@ -3719,7 +3639,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtVoid, qual, (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 117:
@@ -3727,7 +3647,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 118:
@@ -3735,7 +3655,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 119:
@@ -3743,7 +3663,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 120:
@@ -3752,7 +3672,7 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(2);
- ;}
+ }
break;
case 121:
@@ -3761,7 +3681,7 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(3);
- ;}
+ }
break;
case 122:
@@ -3770,7 +3690,7 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(4);
- ;}
+ }
break;
case 123:
@@ -3779,7 +3699,7 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(2);
- ;}
+ }
break;
case 124:
@@ -3788,7 +3708,7 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(3);
- ;}
+ }
break;
case 125:
@@ -3797,7 +3717,7 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(4);
- ;}
+ }
break;
case 126:
@@ -3806,7 +3726,7 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(2);
- ;}
+ }
break;
case 127:
@@ -3815,7 +3735,7 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(3);
- ;}
+ }
break;
case 128:
@@ -3824,7 +3744,7 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(4);
- ;}
+ }
break;
case 129:
@@ -3834,7 +3754,7 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(2, true);
- ;}
+ }
break;
case 130:
@@ -3844,7 +3764,7 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(3, true);
- ;}
+ }
break;
case 131:
@@ -3854,7 +3774,7 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(4, true);
- ;}
+ }
break;
case 132:
@@ -3863,7 +3783,7 @@
FRAG_VERT_ONLY("sampler2D", (yyvsp[(1) - (1)].lex).line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtSampler2D, qual, (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 133:
@@ -3872,7 +3792,7 @@
FRAG_VERT_ONLY("samplerCube", (yyvsp[(1) - (1)].lex).line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtSamplerCube, qual, (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 134:
@@ -3885,21 +3805,34 @@
FRAG_VERT_ONLY("samplerExternalOES", (yyvsp[(1) - (1)].lex).line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtSamplerExternalOES, qual, (yyvsp[(1) - (1)].lex).line);
- ;}
+ }
break;
case 135:
{
- FRAG_VERT_ONLY("struct", (yyvsp[(1) - (1)].interm.type).line);
- (yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
- (yyval.interm.type).qualifier = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- ;}
+ if (!context->supportsExtension("GL_ARB_texture_rectangle")) {
+ context->error((yyvsp[(1) - (1)].lex).line, "unsupported type", "sampler2DRect", "");
+ context->recover();
+ }
+ FRAG_VERT_ONLY("sampler2DRect", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtSampler2DRect, qual, (yyvsp[(1) - (1)].lex).line);
+ }
break;
case 136:
{
+ FRAG_VERT_ONLY("struct", (yyvsp[(1) - (1)].interm.type).line);
+ (yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
+ (yyval.interm.type).qualifier = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ }
+ break;
+
+ case 137:
+
+ {
//
// This is for user defined type names. The lexical phase looked up the
// type.
@@ -3908,16 +3841,16 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtStruct, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).userDef = &structure;
- ;}
- break;
-
- case 137:
-
- { if (context->enterStructDeclaration((yyvsp[(2) - (3)].lex).line, *(yyvsp[(2) - (3)].lex).string)) context->recover(); ;}
+ }
break;
case 138:
+ { if (context->enterStructDeclaration((yyvsp[(2) - (3)].lex).line, *(yyvsp[(2) - (3)].lex).string)) context->recover(); }
+ break;
+
+ case 139:
+
{
if (context->reservedErrorCheck((yyvsp[(2) - (6)].lex).line, *(yyvsp[(2) - (6)].lex).string))
context->recover();
@@ -3931,34 +3864,34 @@
(yyval.interm.type).setBasic(EbtStruct, EvqTemporary, (yyvsp[(1) - (6)].lex).line);
(yyval.interm.type).userDef = structure;
context->exitStructDeclaration();
- ;}
- break;
-
- case 139:
-
- { if (context->enterStructDeclaration((yyvsp[(2) - (2)].lex).line, *(yyvsp[(2) - (2)].lex).string)) context->recover(); ;}
+ }
break;
case 140:
+ { if (context->enterStructDeclaration((yyvsp[(2) - (2)].lex).line, *(yyvsp[(2) - (2)].lex).string)) context->recover(); }
+ break;
+
+ case 141:
+
{
TType* structure = new TType((yyvsp[(4) - (5)].interm.typeList), TString(""));
(yyval.interm.type).setBasic(EbtStruct, EvqTemporary, (yyvsp[(1) - (5)].lex).line);
(yyval.interm.type).userDef = structure;
context->exitStructDeclaration();
- ;}
- break;
-
- case 141:
-
- {
- (yyval.interm.typeList) = (yyvsp[(1) - (1)].interm.typeList);
- ;}
+ }
break;
case 142:
{
+ (yyval.interm.typeList) = (yyvsp[(1) - (1)].interm.typeList);
+ }
+ break;
+
+ case 143:
+
+ {
(yyval.interm.typeList) = (yyvsp[(1) - (2)].interm.typeList);
for (unsigned int i = 0; i < (yyvsp[(2) - (2)].interm.typeList)->size(); ++i) {
for (unsigned int j = 0; j < (yyval.interm.typeList)->size(); ++j) {
@@ -3969,10 +3902,10 @@
}
(yyval.interm.typeList)->push_back((*(yyvsp[(2) - (2)].interm.typeList))[i]);
}
- ;}
+ }
break;
- case 143:
+ case 144:
{
(yyval.interm.typeList) = (yyvsp[(2) - (3)].interm.typeList);
@@ -4006,37 +3939,37 @@
context->recover();
}
}
- ;}
- break;
-
- case 144:
-
- {
- (yyval.interm.typeList) = NewPoolTTypeList();
- (yyval.interm.typeList)->push_back((yyvsp[(1) - (1)].interm.typeLine));
- ;}
+ }
break;
case 145:
{
- (yyval.interm.typeList)->push_back((yyvsp[(3) - (3)].interm.typeLine));
- ;}
+ (yyval.interm.typeList) = NewPoolTTypeList();
+ (yyval.interm.typeList)->push_back((yyvsp[(1) - (1)].interm.typeLine));
+ }
break;
case 146:
{
+ (yyval.interm.typeList)->push_back((yyvsp[(3) - (3)].interm.typeLine));
+ }
+ break;
+
+ case 147:
+
+ {
if (context->reservedErrorCheck((yyvsp[(1) - (1)].lex).line, *(yyvsp[(1) - (1)].lex).string))
context->recover();
(yyval.interm.typeLine).type = new TType(EbtVoid, EbpUndefined);
(yyval.interm.typeLine).line = (yyvsp[(1) - (1)].lex).line;
(yyval.interm.typeLine).type->setFieldName(*(yyvsp[(1) - (1)].lex).string);
- ;}
+ }
break;
- case 147:
+ case 148:
{
if (context->reservedErrorCheck((yyvsp[(1) - (4)].lex).line, *(yyvsp[(1) - (4)].lex).string))
@@ -4050,169 +3983,169 @@
if (context->arraySizeErrorCheck((yyvsp[(2) - (4)].lex).line, (yyvsp[(3) - (4)].interm.intermTypedNode), size))
context->recover();
(yyval.interm.typeLine).type->setArraySize(size);
- ;}
- break;
-
- case 148:
-
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); ;}
+ }
break;
case 149:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); ;}
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 150:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); ;}
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 151:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); ;}
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); }
break;
case 152:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); ;}
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 153:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); ;}
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 154:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); ;}
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 155:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); ;}
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 156:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); ;}
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 157:
- { (yyval.interm.intermAggregate) = 0; ;}
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 158:
- { context->symbolTable.push(); ;}
+ { (yyval.interm.intermAggregate) = 0; }
break;
case 159:
- { context->symbolTable.pop(); ;}
+ { context->symbolTable.push(); }
break;
case 160:
+ { context->symbolTable.pop(); }
+ break;
+
+ case 161:
+
{
if ((yyvsp[(3) - (5)].interm.intermAggregate) != 0) {
(yyvsp[(3) - (5)].interm.intermAggregate)->setOp(EOpSequence);
(yyvsp[(3) - (5)].interm.intermAggregate)->setEndLine((yyvsp[(5) - (5)].lex).line);
}
(yyval.interm.intermAggregate) = (yyvsp[(3) - (5)].interm.intermAggregate);
- ;}
- break;
-
- case 161:
-
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); ;}
+ }
break;
case 162:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); ;}
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 163:
- {
- (yyval.interm.intermNode) = 0;
- ;}
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 164:
{
+ (yyval.interm.intermNode) = 0;
+ }
+ break;
+
+ case 165:
+
+ {
if ((yyvsp[(2) - (3)].interm.intermAggregate)) {
(yyvsp[(2) - (3)].interm.intermAggregate)->setOp(EOpSequence);
(yyvsp[(2) - (3)].interm.intermAggregate)->setEndLine((yyvsp[(3) - (3)].lex).line);
}
(yyval.interm.intermNode) = (yyvsp[(2) - (3)].interm.intermAggregate);
- ;}
- break;
-
- case 165:
-
- {
- (yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), 0);
- ;}
+ }
break;
case 166:
{
- (yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), 0);
- ;}
+ (yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), 0);
+ }
break;
case 167:
- { (yyval.interm.intermNode) = 0; ;}
+ {
+ (yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), 0);
+ }
break;
case 168:
- { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); ;}
+ { (yyval.interm.intermNode) = 0; }
break;
case 169:
- {
- if (context->boolErrorCheck((yyvsp[(1) - (5)].lex).line, (yyvsp[(3) - (5)].interm.intermTypedNode)))
- context->recover();
- (yyval.interm.intermNode) = context->intermediate.addSelection((yyvsp[(3) - (5)].interm.intermTypedNode), (yyvsp[(5) - (5)].interm.nodePair), (yyvsp[(1) - (5)].lex).line);
- ;}
+ { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); }
break;
case 170:
{
- (yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode);
- (yyval.interm.nodePair).node2 = (yyvsp[(3) - (3)].interm.intermNode);
- ;}
+ if (context->boolErrorCheck((yyvsp[(1) - (5)].lex).line, (yyvsp[(3) - (5)].interm.intermTypedNode)))
+ context->recover();
+ (yyval.interm.intermNode) = context->intermediate.addSelection((yyvsp[(3) - (5)].interm.intermTypedNode), (yyvsp[(5) - (5)].interm.nodePair), (yyvsp[(1) - (5)].lex).line);
+ }
break;
case 171:
{
- (yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode);
- (yyval.interm.nodePair).node2 = 0;
- ;}
+ (yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode);
+ (yyval.interm.nodePair).node2 = (yyvsp[(3) - (3)].interm.intermNode);
+ }
break;
case 172:
{
- (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
- if (context->boolErrorCheck((yyvsp[(1) - (1)].interm.intermTypedNode)->getLine(), (yyvsp[(1) - (1)].interm.intermTypedNode)))
- context->recover();
- ;}
+ (yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode);
+ (yyval.interm.nodePair).node2 = 0;
+ }
break;
case 173:
{
+ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
+ if (context->boolErrorCheck((yyvsp[(1) - (1)].interm.intermTypedNode)->getLine(), (yyvsp[(1) - (1)].interm.intermTypedNode)))
+ context->recover();
+ }
+ break;
+
+ case 174:
+
+ {
TIntermNode* intermNode;
if (context->structQualifierErrorCheck((yyvsp[(2) - (4)].lex).line, (yyvsp[(1) - (4)].interm.type)))
context->recover();
@@ -4225,109 +4158,109 @@
context->recover();
(yyval.interm.intermTypedNode) = 0;
}
- ;}
- break;
-
- case 174:
-
- { context->symbolTable.push(); ++context->loopNestingLevel; ;}
+ }
break;
case 175:
+ { context->symbolTable.push(); ++context->loopNestingLevel; }
+ break;
+
+ case 176:
+
{
context->symbolTable.pop();
(yyval.interm.intermNode) = context->intermediate.addLoop(ELoopWhile, 0, (yyvsp[(4) - (6)].interm.intermTypedNode), 0, (yyvsp[(6) - (6)].interm.intermNode), (yyvsp[(1) - (6)].lex).line);
--context->loopNestingLevel;
- ;}
- break;
-
- case 176:
-
- { ++context->loopNestingLevel; ;}
+ }
break;
case 177:
+ { ++context->loopNestingLevel; }
+ break;
+
+ case 178:
+
{
if (context->boolErrorCheck((yyvsp[(8) - (8)].lex).line, (yyvsp[(6) - (8)].interm.intermTypedNode)))
context->recover();
(yyval.interm.intermNode) = context->intermediate.addLoop(ELoopDoWhile, 0, (yyvsp[(6) - (8)].interm.intermTypedNode), 0, (yyvsp[(3) - (8)].interm.intermNode), (yyvsp[(4) - (8)].lex).line);
--context->loopNestingLevel;
- ;}
- break;
-
- case 178:
-
- { context->symbolTable.push(); ++context->loopNestingLevel; ;}
+ }
break;
case 179:
- {
- context->symbolTable.pop();
- (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopFor, (yyvsp[(4) - (7)].interm.intermNode), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node1), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node2), (yyvsp[(7) - (7)].interm.intermNode), (yyvsp[(1) - (7)].lex).line);
- --context->loopNestingLevel;
- ;}
+ { context->symbolTable.push(); ++context->loopNestingLevel; }
break;
case 180:
{
- (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
- ;}
+ context->symbolTable.pop();
+ (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopFor, (yyvsp[(4) - (7)].interm.intermNode), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node1), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node2), (yyvsp[(7) - (7)].interm.intermNode), (yyvsp[(1) - (7)].lex).line);
+ --context->loopNestingLevel;
+ }
break;
case 181:
{
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
- ;}
+ }
break;
case 182:
{
- (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
- ;}
+ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
+ }
break;
case 183:
{
- (yyval.interm.intermTypedNode) = 0;
- ;}
+ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
+ }
break;
case 184:
{
- (yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode);
- (yyval.interm.nodePair).node2 = 0;
- ;}
+ (yyval.interm.intermTypedNode) = 0;
+ }
break;
case 185:
{
- (yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode);
- (yyval.interm.nodePair).node2 = (yyvsp[(3) - (3)].interm.intermTypedNode);
- ;}
+ (yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode);
+ (yyval.interm.nodePair).node2 = 0;
+ }
break;
case 186:
{
+ (yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode);
+ (yyval.interm.nodePair).node2 = (yyvsp[(3) - (3)].interm.intermTypedNode);
+ }
+ break;
+
+ case 187:
+
+ {
if (context->loopNestingLevel <= 0) {
context->error((yyvsp[(1) - (2)].lex).line, "continue statement only allowed in loops", "", "");
context->recover();
}
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpContinue, (yyvsp[(1) - (2)].lex).line);
- ;}
+ }
break;
- case 187:
+ case 188:
{
if (context->loopNestingLevel <= 0) {
@@ -4335,10 +4268,10 @@
context->recover();
}
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpBreak, (yyvsp[(1) - (2)].lex).line);
- ;}
+ }
break;
- case 188:
+ case 189:
{
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(1) - (2)].lex).line);
@@ -4346,10 +4279,10 @@
context->error((yyvsp[(1) - (2)].lex).line, "non-void function must return a value", "return", "");
context->recover();
}
- ;}
+ }
break;
- case 189:
+ case 190:
{
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(2) - (3)].interm.intermTypedNode), (yyvsp[(1) - (3)].lex).line);
@@ -4361,50 +4294,50 @@
context->error((yyvsp[(1) - (3)].lex).line, "function return is not matching type:", "return", "");
context->recover();
}
- ;}
- break;
-
- case 190:
-
- {
- FRAG_ONLY("discard", (yyvsp[(1) - (2)].lex).line);
- (yyval.interm.intermNode) = context->intermediate.addBranch(EOpKill, (yyvsp[(1) - (2)].lex).line);
- ;}
+ }
break;
case 191:
{
- (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
- context->treeRoot = (yyval.interm.intermNode);
- ;}
+ FRAG_ONLY("discard", (yyvsp[(1) - (2)].lex).line);
+ (yyval.interm.intermNode) = context->intermediate.addBranch(EOpKill, (yyvsp[(1) - (2)].lex).line);
+ }
break;
case 192:
{
- (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0);
+ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
context->treeRoot = (yyval.interm.intermNode);
- ;}
+ }
break;
case 193:
{
- (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
- ;}
+ (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0);
+ context->treeRoot = (yyval.interm.intermNode);
+ }
break;
case 194:
{
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
- ;}
+ }
break;
case 195:
{
+ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
+ }
+ break;
+
+ case 196:
+
+ {
TFunction* function = (yyvsp[(1) - (1)].interm).function;
TFunction* prevDec = static_cast<TFunction*>(context->symbolTable.find(function->getMangledName()));
//
@@ -4484,10 +4417,10 @@
context->intermediate.setAggregateOperator(paramNodes, EOpParameters, (yyvsp[(1) - (1)].interm).line);
(yyvsp[(1) - (1)].interm).intermAggregate = paramNodes;
context->loopNestingLevel = 0;
- ;}
+ }
break;
- case 196:
+ case 197:
{
//?? Check that all paths return a value if return type != void ?
@@ -4510,11 +4443,10 @@
if ((yyvsp[(3) - (3)].interm.intermNode) && (yyvsp[(3) - (3)].interm.intermNode)->getAsAggregate())
(yyval.interm.intermNode)->getAsAggregate()->setEndLine((yyvsp[(3) - (3)].interm.intermNode)->getAsAggregate()->getEndLine());
- ;}
+ }
break;
-/* Line 1267 of yacc.c. */
default: break;
}
@@ -4526,7 +4458,6 @@
*++yyvsp = yyval;
-
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -4591,7 +4522,7 @@
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -4608,7 +4539,7 @@
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -4665,9 +4596,6 @@
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
@@ -4692,7 +4620,7 @@
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -4703,7 +4631,7 @@
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, context);
/* Do not reclaim the symbols of the rule which action triggered
diff --git a/src/compiler/glslang_tab.h b/src/compiler/glslang_tab.h
index 55c271c..987c308 100644
--- a/src/compiler/glslang_tab.h
+++ b/src/compiler/glslang_tab.h
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
+
+/* A Bison parser, made by GNU Bison 2.4.1. */
/* Skeleton interface for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+
+ 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 @@
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
+