Completing GLES 3.0 language parser
Added new matrix and sampler types in
glslang parsed files, along with related
code and new types in the C++ code.
Change-Id: Id70c73fac04d000d508236bc9bf1b39a46beda6f
Reviewed-on: https://swiftshader-review.googlesource.com/2826
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/compiler/Compiler.cpp b/src/OpenGL/compiler/Compiler.cpp
index 32e8e69..5bb5865 100644
--- a/src/OpenGL/compiler/Compiler.cpp
+++ b/src/OpenGL/compiler/Compiler.cpp
@@ -156,14 +156,14 @@
TPublicType integer;
integer.type = EbtInt;
- integer.size = 1;
- integer.matrix = false;
+ integer.primarySize = 1;
+ integer.secondarySize = 1;
integer.array = false;
TPublicType floatingPoint;
floatingPoint.type = EbtFloat;
- floatingPoint.size = 1;
- floatingPoint.matrix = false;
+ floatingPoint.primarySize = 1;
+ floatingPoint.secondarySize = 1;
floatingPoint.array = false;
switch(shaderType)
diff --git a/src/OpenGL/compiler/Initialize.cpp b/src/OpenGL/compiler/Initialize.cpp
index ebc1415..0373f2d 100644
--- a/src/OpenGL/compiler/Initialize.cpp
+++ b/src/OpenGL/compiler/Initialize.cpp
@@ -81,9 +81,9 @@
symbolTable.insertBuiltIn(COMMON_BUILTINS, EOpReflect, genType, "reflect", genType, genType);
symbolTable.insertBuiltIn(COMMON_BUILTINS, EOpRefract, genType, "refract", genType, genType, float1);
- TType *mat2 = new TType(EbtFloat, 2, true);
- TType *mat3 = new TType(EbtFloat, 3, true);
- TType *mat4 = new TType(EbtFloat, 4, true);
+ TType *mat2 = new TType(EbtFloat, 2, 2);
+ TType *mat3 = new TType(EbtFloat, 3, 3);
+ TType *mat4 = new TType(EbtFloat, 4, 4);
//
// Matrix Functions.
@@ -260,7 +260,7 @@
case GL_FRAGMENT_SHADER:
{
// Set up gl_FragData. The array size.
- TType fragData(EbtFloat, EbpMedium, EvqFragData, 4, false, true);
+ TType fragData(EbtFloat, EbpMedium, EvqFragData, 4, 1, true);
fragData.setArraySize(resources.MaxDrawBuffers);
symbolTable.insert(ESSL1_BUILTINS, *new TVariable(NewPoolTString("gl_FragData"), fragData));
}
diff --git a/src/OpenGL/compiler/Intermediate.cpp b/src/OpenGL/compiler/Intermediate.cpp
index 73e44ce..37de4ae 100644
--- a/src/OpenGL/compiler/Intermediate.cpp
+++ b/src/OpenGL/compiler/Intermediate.cpp
@@ -697,6 +697,7 @@
}
int size = std::max(left->getNominalSize(), right->getNominalSize());
+ int matrixSize = std::max(left->getSecondarySize(), right->getSecondarySize()); // FIXME: This will have to change for NxM matrices
//
// All scalars. Code after this test assumes this case is removed!
@@ -746,6 +747,12 @@
return false;
}
+ if (left->getSecondarySize() != right->getSecondarySize()) {
+ // Operator cannot be of type pure assignment.
+ if (op == EOpAssign || op == EOpInitialize)
+ return false;
+ }
+
//
// Can these two operands be combined?
//
@@ -757,12 +764,12 @@
op = EOpVectorTimesMatrix;
else {
op = EOpMatrixTimesScalar;
- setType(TType(basicType, higherPrecision, EvqTemporary, size, true));
+ setType(TType(basicType, higherPrecision, EvqTemporary, size, matrixSize));
}
} else if (left->isMatrix() && !right->isMatrix()) {
if (right->isVector()) {
op = EOpMatrixTimesVector;
- setType(TType(basicType, higherPrecision, EvqTemporary, size, false));
+ setType(TType(basicType, higherPrecision, EvqTemporary, size, 1));
} else {
op = EOpMatrixTimesScalar;
}
@@ -773,7 +780,7 @@
// leave as component product
} else if (left->isVector() || right->isVector()) {
op = EOpVectorTimesScalar;
- setType(TType(basicType, higherPrecision, EvqTemporary, size, false));
+ setType(TType(basicType, higherPrecision, EvqTemporary, size, 1));
}
} else {
infoSink.info.message(EPrefixInternalError, "Missing elses", getLine());
@@ -802,7 +809,7 @@
if (! left->isVector())
return false;
op = EOpVectorTimesScalarAssign;
- setType(TType(basicType, higherPrecision, EvqTemporary, size, false));
+ setType(TType(basicType, higherPrecision, EvqTemporary, size, 1));
}
} else {
infoSink.info.message(EPrefixInternalError, "Missing elses", getLine());
@@ -821,7 +828,7 @@
if ((left->isMatrix() && right->isVector()) ||
(left->isVector() && right->isMatrix()))
return false;
- setType(TType(basicType, higherPrecision, EvqTemporary, size, left->isMatrix() || right->isMatrix()));
+ setType(TType(basicType, higherPrecision, EvqTemporary, size, matrixSize));
break;
case EOpEqual:
@@ -1288,6 +1295,6 @@
const TType& t = node->getType();
- return addConstantUnion(leftUnionArray, TType(promoteTo, t.getPrecision(), t.getQualifier(), t.getNominalSize(), t.isMatrix(), t.isArray()), node->getLine());
+ return addConstantUnion(leftUnionArray, TType(promoteTo, t.getPrecision(), t.getQualifier(), t.getNominalSize(), t.getSecondarySize(), t.isArray()), node->getLine());
}
diff --git a/src/OpenGL/compiler/OutputASM.cpp b/src/OpenGL/compiler/OutputASM.cpp
index db6ff74..aae86fe 100644
--- a/src/OpenGL/compiler/OutputASM.cpp
+++ b/src/OpenGL/compiler/OutputASM.cpp
@@ -19,6 +19,7 @@
#define GL_APICALL
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
+#include <GLES3/gl3.h>
namespace glsl
{
@@ -33,7 +34,7 @@
class Temporary : public TIntermSymbol
{
public:
- Temporary(OutputASM *assembler) : TIntermSymbol(0, "tmp", TType(EbtFloat, EbpHigh, EvqTemporary, 4, false, false)), assembler(assembler)
+ Temporary(OutputASM *assembler) : TIntermSymbol(0, "tmp", TType(EbtFloat, EbpHigh, EvqTemporary, 4, 1, false)), assembler(assembler)
{
}
@@ -49,7 +50,7 @@
class Constant : public TIntermConstantUnion
{
public:
- Constant(float x, float y, float z, float w) : TIntermConstantUnion(constants, TType(EbtFloat, EbpHigh, EvqConstExpr, 4, false, false))
+ Constant(float x, float y, float z, float w) : TIntermConstantUnion(constants, TType(EbtFloat, EbpHigh, EvqConstExpr, 4, 1, false))
{
constants[0].setFConst(x);
constants[1].setFConst(y);
@@ -57,12 +58,12 @@
constants[3].setFConst(w);
}
- Constant(bool b) : TIntermConstantUnion(constants, TType(EbtBool, EbpHigh, EvqConstExpr, 1, false, false))
+ Constant(bool b) : TIntermConstantUnion(constants, TType(EbtBool, EbpHigh, EvqConstExpr, 1, 1, false))
{
constants[0].setBConst(b);
}
- Constant(int i) : TIntermConstantUnion(constants, TType(EbtInt, EbpHigh, EvqConstExpr, 1, false, false))
+ Constant(int i) : TIntermConstantUnion(constants, TType(EbtInt, EbpHigh, EvqConstExpr, 1, 1, false))
{
constants[0].setIConst(i);
}
@@ -2357,9 +2358,30 @@
{
switch(type.getNominalSize())
{
- case 2: return GL_FLOAT_MAT2;
- case 3: return GL_FLOAT_MAT3;
- case 4: return GL_FLOAT_MAT4;
+ case 2:
+ switch(type.getSecondarySize())
+ {
+ case 2: return GL_FLOAT_MAT2;
+ case 3: return GL_FLOAT_MAT2x3;
+ case 4: return GL_FLOAT_MAT2x4;
+ default: UNREACHABLE();
+ }
+ case 3:
+ switch(type.getSecondarySize())
+ {
+ case 2: return GL_FLOAT_MAT3x2;
+ case 3: return GL_FLOAT_MAT3;
+ case 4: return GL_FLOAT_MAT4x2;
+ default: UNREACHABLE();
+ }
+ case 4:
+ switch(type.getSecondarySize())
+ {
+ case 2: return GL_FLOAT_MAT4x2;
+ case 3: return GL_FLOAT_MAT4x3;
+ case 4: return GL_FLOAT_MAT4;
+ default: UNREACHABLE();
+ }
default: UNREACHABLE();
}
}
diff --git a/src/OpenGL/compiler/ParseHelper.cpp b/src/OpenGL/compiler/ParseHelper.cpp
index 63e5795..b8ca5cc 100644
--- a/src/OpenGL/compiler/ParseHelper.cpp
+++ b/src/OpenGL/compiler/ParseHelper.cpp
@@ -580,7 +580,7 @@
//
bool TParseContext::boolErrorCheck(int line, const TPublicType& pType)
{
- if (pType.type != EbtBool || pType.array || pType.matrix || (pType.size > 1)) {
+ if (pType.type != EbtBool || pType.array || (pType.primarySize > 1) || (pType.secondarySize > 1)) {
error(line, "boolean expression expected", "");
return true;
}
diff --git a/src/OpenGL/compiler/SymbolTable.cpp b/src/OpenGL/compiler/SymbolTable.cpp
index 53a896d..6d7757d 100644
--- a/src/OpenGL/compiler/SymbolTable.cpp
+++ b/src/OpenGL/compiler/SymbolTable.cpp
@@ -25,7 +25,7 @@
int TSymbolTableLevel::uniqueId = 0;
TType::TType(const TPublicType &p) :
- type(p.type), precision(p.precision), qualifier(p.qualifier), size(p.size), matrix(p.matrix), array(p.array), arraySize(p.arraySize),
+ type(p.type), precision(p.precision), primarySize(p.primarySize), secondarySize(p.secondarySize), qualifier(p.qualifier), array(p.array), arraySize(p.arraySize),
maxArraySize(0), arrayInformationType(0), structure(0), structureSize(0), deepestStructNesting(0), fieldName(0), mangled(0), typeName(0)
{
if (p.userDef)
diff --git a/src/OpenGL/compiler/SymbolTable.h b/src/OpenGL/compiler/SymbolTable.h
index 9920686..45dc096 100644
--- a/src/OpenGL/compiler/SymbolTable.h
+++ b/src/OpenGL/compiler/SymbolTable.h
@@ -439,7 +439,7 @@
return true; // Skip sampler types for the time being
if (type.type != EbtFloat && type.type != EbtInt)
return false; // Only set default precision for int/float
- if (type.size != 1 || type.matrix || type.array)
+ if (type.primarySize > 1 || type.secondarySize > 1 || type.array)
return false; // Not allowed to set for aggregate types
int indexOfLastElement = static_cast<int>(precisionStack.size()) - 1;
precisionStack[indexOfLastElement][type.type] = prec; // Uses map operator [], overwrites the current value
diff --git a/src/OpenGL/compiler/Types.h b/src/OpenGL/compiler/Types.h
index f8abd65..be5d61f 100644
--- a/src/OpenGL/compiler/Types.h
+++ b/src/OpenGL/compiler/Types.h
@@ -39,19 +39,19 @@
public:
POOL_ALLOCATOR_NEW_DELETE();
TType() {}
- TType(TBasicType t, int s = 1, bool m = false) :
- type(t), precision(EbpUndefined), qualifier(EvqGlobal), size(s), matrix(m), array(false), arraySize(0),
+ TType(TBasicType t, int s0 = 1, int s1 = 1) :
+ type(t), precision(EbpUndefined), qualifier(EvqGlobal), primarySize(s0), secondarySize(s1), array(false), arraySize(0),
maxArraySize(0), arrayInformationType(0), structure(0), structureSize(0), deepestStructNesting(0), fieldName(0), mangled(0), typeName(0)
{
}
- TType(TBasicType t, TPrecision p, TQualifier q = EvqTemporary, int s = 1, bool m = false, bool a = false) :
- type(t), precision(p), qualifier(q), size(s), matrix(m), array(a), arraySize(0),
+ TType(TBasicType t, TPrecision p, TQualifier q = EvqTemporary, int s0 = 1, int s1 = 1, bool a = false) :
+ type(t), precision(p), qualifier(q), primarySize(s0), secondarySize(s1), array(a), arraySize(0),
maxArraySize(0), arrayInformationType(0), structure(0), structureSize(0), deepestStructNesting(0), fieldName(0), mangled(0), typeName(0)
{
}
explicit TType(const TPublicType &p);
TType(TTypeList* userDef, const TString& n, TPrecision p = EbpUndefined) :
- type(EbtStruct), precision(p), qualifier(EvqTemporary), size(1), matrix(false), array(false), arraySize(0),
+ type(EbtStruct), precision(p), qualifier(EvqTemporary), primarySize(1), secondarySize(1), array(false), arraySize(0),
maxArraySize(0), arrayInformationType(0), structure(userDef), structureSize(0), deepestStructNesting(0), fieldName(0), mangled(0)
{
typeName = NewPoolTString(n.c_str());
@@ -67,8 +67,8 @@
void setQualifier(TQualifier q) { qualifier = q; }
// One-dimensional size of single instance type
- int getNominalSize() const { return size; }
- void setNominalSize(int s) { size = s; }
+ int getNominalSize() const { return primarySize; }
+ void setNominalSize(int s) { primarySize = s; }
// Full size of single instance of type
int getObjectSize() const
{
@@ -88,13 +88,13 @@
{
return getStructSize();
}
- else if(matrix)
+ else if(isMatrix())
{
- return size * size;
+ return primarySize * secondarySize;
}
else // Vector or scalar
{
- return size;
+ return primarySize;
}
}
@@ -135,8 +135,9 @@
}
}
- bool isMatrix() const { return matrix ? true : false; }
- void setMatrix(bool m) { matrix = m; }
+ bool isMatrix() const { return secondarySize > 1; }
+ void setSecondarySize(int s1) { secondarySize = s1; }
+ int getSecondarySize() const { return secondarySize; }
bool isArray() const { return array ? true : false; }
int getArraySize() const { return arraySize; }
@@ -147,9 +148,9 @@
void setArrayInformationType(TType* t) { arrayInformationType = t; }
TType* getArrayInformationType() const { return arrayInformationType; }
- bool isVector() const { return size > 1 && !matrix; }
- bool isScalar() const { return size == 1 && !matrix && !structure; }
- bool isRegister() const { return !matrix && !structure && !array; } // Fits in a 4-element register
+ bool isVector() const { return primarySize > 1 && !isMatrix(); }
+ bool isScalar() const { return primarySize == 1 && !isMatrix() && !structure; }
+ bool isRegister() const { return !isMatrix() && !structure && !array; } // Fits in a 4-element register
bool isStruct() const { return structure != 0; }
bool isScalarInt() const { return isScalar() && (type == EbtInt || type == EbtUInt); }
@@ -189,15 +190,15 @@
bool sameElementType(const TType& right) const {
return type == right.type &&
- size == right.size &&
- matrix == right.matrix &&
+ primarySize == right.primarySize &&
+ secondarySize == right.secondarySize &&
structure == right.structure;
}
bool operator==(const TType& right) const {
return type == right.type &&
- size == right.size &&
- matrix == right.matrix &&
- array == right.array && (!array || arraySize == right.arraySize) &&
+ primarySize == right.primarySize &&
+ secondarySize == right.secondarySize &&
+ array == right.array && (!array || arraySize == right.arraySize) &&
structure == right.structure;
// don't check the qualifier, it's not ever what's being sought after
}
@@ -206,8 +207,8 @@
}
bool operator<(const TType& right) const {
if (type != right.type) return type < right.type;
- if (size != right.size) return size < right.size;
- if (matrix != right.matrix) return matrix < right.matrix;
+ if(primarySize != right.primarySize) return (primarySize * secondarySize) < (right.primarySize * right.secondarySize);
+ if(secondarySize != right.secondarySize) return secondarySize < right.secondarySize;
if (array != right.array) return array < right.array;
if (arraySize != right.arraySize) return arraySize < right.arraySize;
if (structure != right.structure) return structure < right.structure;
@@ -244,8 +245,8 @@
TBasicType type;
TPrecision precision;
TQualifier qualifier;
- unsigned char size; // size of vector or matrix, not size of array
- bool matrix;
+ unsigned char primarySize; // size of vector or matrix, not size of array
+ unsigned char secondarySize; // secondarySize: 1 for vectors, >1 for matrices
bool array;
int arraySize;
int maxArraySize;
@@ -275,8 +276,8 @@
TLayoutQualifier layoutQualifier;
TQualifier qualifier;
TPrecision precision;
- int size; // size of vector or matrix, not size of array
- bool matrix;
+ int primarySize; // size of vector or matrix, not size of array
+ int secondarySize; // 1 for scalars/vectors, >1 for matrices
bool array;
int arraySize;
TType* userDef;
@@ -288,20 +289,26 @@
layoutQualifier = TLayoutQualifier::create();
qualifier = q;
precision = EbpUndefined;
- size = 1;
- matrix = false;
+ primarySize = 1;
+ secondarySize = 1;
array = false;
arraySize = 0;
userDef = 0;
line = ln;
}
- void setAggregate(int s, bool m = false)
+ void setAggregate(int s)
{
- size = s;
- matrix = m;
+ primarySize = s;
+ secondarySize = 1;
}
+ void setMatrix(int s0, int s1)
+ {
+ primarySize = s0;
+ secondarySize = s1;
+ }
+
void setArray(bool a, int s = 0)
{
array = a;
diff --git a/src/OpenGL/compiler/glslang.l b/src/OpenGL/compiler/glslang.l
index c405ebf..ed086b6 100644
--- a/src/OpenGL/compiler/glslang.l
+++ b/src/OpenGL/compiler/glslang.l
@@ -1,6 +1,6 @@
/*
//
-// Copyright (c) 2002-2012 The ANGLE Project Authors. All rights reserved.
+// Copyright (c) 2002-2015 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.
//
@@ -133,6 +133,17 @@
"mat3" { context->lexAfterType = true; return(MATRIX3); }
"mat4" { context->lexAfterType = true; return(MATRIX4); }
+"mat2x2" { return ES2_identifier_ES3_keyword(context, MATRIX2); }
+"mat3x3" { return ES2_identifier_ES3_keyword(context, MATRIX3); }
+"mat4x4" { return ES2_identifier_ES3_keyword(context, MATRIX4); }
+
+"mat2x3" { return ES2_identifier_ES3_keyword(context, MATRIX2x3); }
+"mat3x2" { return ES2_identifier_ES3_keyword(context, MATRIX3x2); }
+"mat2x4" { return ES2_identifier_ES3_keyword(context, MATRIX2x4); }
+"mat4x2" { return ES2_identifier_ES3_keyword(context, MATRIX4x2); }
+"mat3x4" { return ES2_identifier_ES3_keyword(context, MATRIX3x4); }
+"mat4x3" { return ES2_identifier_ES3_keyword(context, MATRIX4x3); }
+
"vec2" { context->lexAfterType = true; return (VEC2); }
"vec3" { context->lexAfterType = true; return (VEC3); }
"vec4" { context->lexAfterType = true; return (VEC4); }
@@ -151,7 +162,18 @@
"samplerExternalOES" { context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; }
"sampler3D" { context->lexAfterType = true; return SAMPLER3D; }
"sampler3DRect" { return ES2_reserved_ES3_keyword(context, SAMPLER3DRECT); }
+"sampler2DArray" { return ES2_identifier_ES3_keyword(context, SAMPLER2DARRAY); }
+"isampler2D" { return ES2_identifier_ES3_keyword(context, ISAMPLER2D); }
+"isampler3D" { return ES2_identifier_ES3_keyword(context, ISAMPLER3D); }
+"isamplerCube" { return ES2_identifier_ES3_keyword(context, ISAMPLERCUBE); }
+"isampler2DArray" { return ES2_identifier_ES3_keyword(context, ISAMPLER2DARRAY); }
+"usampler2D" { return ES2_identifier_ES3_keyword(context, USAMPLER2D); }
+"usampler3D" { return ES2_identifier_ES3_keyword(context, USAMPLER3D); }
+"usamplerCube" { return ES2_identifier_ES3_keyword(context, USAMPLERCUBE); }
+"usampler2DArray" { return ES2_identifier_ES3_keyword(context, USAMPLER2DARRAY); }
"sampler2DShadow" { return ES2_reserved_ES3_keyword(context, SAMPLER2DSHADOW); }
+"samplerCubeShadow" { return ES2_identifier_ES3_keyword(context, SAMPLERCUBESHADOW); }
+"sampler2DArrayShadow" { return ES2_identifier_ES3_keyword(context, SAMPLER2DARRAYSHADOW); }
"struct" { context->lexAfterType = true; return(STRUCT); }
diff --git a/src/OpenGL/compiler/glslang.y b/src/OpenGL/compiler/glslang.y
index e4fe60d..f87072b 100644
--- a/src/OpenGL/compiler/glslang.y
+++ b/src/OpenGL/compiler/glslang.y
@@ -1,6 +1,6 @@
/*
//
-// Copyright (c) 2002-2013 The ANGLE Project Authors. All rights reserved.
+// Copyright (c) 2002-2015 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.
//
@@ -15,7 +15,7 @@
%{
//
-// Copyright (c) 2002-2013 The ANGLE Project Authors. All rights reserved.
+// Copyright (c) 2002-2015 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.
//
@@ -127,10 +127,13 @@
%token <lex> BREAK CONTINUE DO ELSE FOR IF DISCARD RETURN SWITCH CASE DEFAULT
%token <lex> BVEC2 BVEC3 BVEC4 IVEC2 IVEC3 IVEC4 VEC2 VEC3 VEC4 UVEC2 UVEC3 UVEC4
%token <lex> MATRIX2 MATRIX3 MATRIX4 IN_QUAL OUT_QUAL INOUT_QUAL UNIFORM VARYING
+%token <lex> MATRIX2x3 MATRIX3x2 MATRIX2x4 MATRIX4x2 MATRIX3x4 MATRIX4x3
%token <lex> CENTROID FLAT SMOOTH
%token <lex> STRUCT VOID_TYPE WHILE
-%token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES SAMPLER2DRECT
-%token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW
+%token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES SAMPLER2DRECT SAMPLER2DARRAY
+%token <lex> ISAMPLER2D ISAMPLER3D ISAMPLERCUBE ISAMPLER2DARRAY
+%token <lex> USAMPLER2D USAMPLER3D USAMPLERCUBE USAMPLER2DARRAY
+%token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW SAMPLERCUBESHADOW SAMPLER2DARRAYSHADOW
%token <lex> LAYOUT
%token <lex> IDENTIFIER TYPE_NAME FLOATCONSTANT INTCONSTANT UINTCONSTANT BOOLCONSTANT
@@ -315,7 +318,7 @@
if ($1->getType().getStruct())
$$->setType(TType($1->getType().getStruct(), $1->getType().getTypeName()));
else
- $$->setType(TType($1->getBasicType(), $1->getPrecision(), EvqTemporary, $1->getNominalSize(), $1->isMatrix()));
+ $$->setType(TType($1->getBasicType(), $1->getPrecision(), EvqTemporary, $1->getNominalSize(), $1->getSecondarySize()));
if ($1->getType().getQualifier() == EvqConstExpr)
$$->getTypePointer()->setQualifier(EvqConstExpr);
@@ -631,23 +634,37 @@
} else {
switch ($1.type) {
case EbtFloat:
- if ($1.matrix) {
- switch($1.size) {
- case 2: op = EOpConstructMat2; break;
- case 3: op = EOpConstructMat3; break;
- case 4: op = EOpConstructMat4; break;
+ switch($1.primarySize) {
+ case 1:
+ op = EOpConstructFloat; break;
+ case 2:
+ switch($1.secondarySize) {
+ case 1: op = EOpConstructVec2; break;
+ case 2: op = EOpConstructMat2; break;
+ case 3: op = EOpConstructMat2x3; break;
+ case 4: op = EOpConstructMat2x4; break;
}
- } else {
- switch($1.size) {
- case 1: op = EOpConstructFloat; break;
- case 2: op = EOpConstructVec2; break;
- case 3: op = EOpConstructVec3; break;
- case 4: op = EOpConstructVec4; break;
+ break;
+ case 3:
+ switch($1.secondarySize) {
+ case 1: op = EOpConstructVec3; break;
+ case 2: op = EOpConstructMat3x2; break;
+ case 3: op = EOpConstructMat3; break;
+ case 4: op = EOpConstructMat3x4; break;
}
+ break;
+ case 4:
+ switch($1.secondarySize) {
+ case 1: op = EOpConstructVec4; break;
+ case 2: op = EOpConstructMat4x2; break;
+ case 3: op = EOpConstructMat4x3; break;
+ case 4: op = EOpConstructMat4; break;
+ }
+ break;
}
break;
case EbtInt:
- switch($1.size) {
+ switch($1.primarySize) {
case 1: op = EOpConstructInt; break;
case 2: FRAG_VERT_ONLY("ivec2", $1.line); op = EOpConstructIVec2; break;
case 3: FRAG_VERT_ONLY("ivec3", $1.line); op = EOpConstructIVec3; break;
@@ -655,7 +672,7 @@
}
break;
case EbtBool:
- switch($1.size) {
+ switch($1.primarySize) {
case 1: op = EOpConstructBool; break;
case 2: FRAG_VERT_ONLY("bvec2", $1.line); op = EOpConstructBVec2; break;
case 3: FRAG_VERT_ONLY("bvec3", $1.line); op = EOpConstructBVec3; break;
@@ -1737,19 +1754,55 @@
FRAG_VERT_ONLY("mat2", $1.line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtFloat, qual, $1.line);
- $$.setAggregate(2, true);
+ $$.setMatrix(2, 2);
}
| MATRIX3 {
FRAG_VERT_ONLY("mat3", $1.line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtFloat, qual, $1.line);
- $$.setAggregate(3, true);
+ $$.setMatrix(3, 3);
}
| MATRIX4 {
FRAG_VERT_ONLY("mat4", $1.line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtFloat, qual, $1.line);
- $$.setAggregate(4, true);
+ $$.setMatrix(4, 4);
+ }
+ | MATRIX2x3 {
+ FRAG_VERT_ONLY("mat2x3", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtFloat, qual, $1.line);
+ $$.setMatrix(2, 3);
+ }
+ | MATRIX3x2 {
+ FRAG_VERT_ONLY("mat3x2", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtFloat, qual, $1.line);
+ $$.setMatrix(3, 2);
+ }
+ | MATRIX2x4 {
+ FRAG_VERT_ONLY("mat2x4", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtFloat, qual, $1.line);
+ $$.setMatrix(2, 4);
+ }
+ | MATRIX4x2 {
+ FRAG_VERT_ONLY("mat4x2", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtFloat, qual, $1.line);
+ $$.setMatrix(4, 2);
+ }
+ | MATRIX3x4 {
+ FRAG_VERT_ONLY("mat3x4", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtFloat, qual, $1.line);
+ $$.setMatrix(3, 4);
+ }
+ | MATRIX4x3 {
+ FRAG_VERT_ONLY("mat4x3", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtFloat, qual, $1.line);
+ $$.setMatrix(4, 3);
}
| SAMPLER2D {
FRAG_VERT_ONLY("sampler2D", $1.line);
@@ -1775,6 +1828,66 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtSampler3D, qual, $1.line);
}
+ | SAMPLER2DARRAY {
+ FRAG_VERT_ONLY("sampler2DArray", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtSampler2DArray, qual, $1.line);
+ }
+ | ISAMPLER2D {
+ FRAG_VERT_ONLY("isampler2D", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtISampler2D, qual, $1.line);
+ }
+ | ISAMPLER3D {
+ FRAG_VERT_ONLY("isampler3D", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtISampler3D, qual, $1.line);
+ }
+ | ISAMPLERCUBE {
+ FRAG_VERT_ONLY("isamplerCube", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtISamplerCube, qual, $1.line);
+ }
+ | ISAMPLER2DARRAY {
+ FRAG_VERT_ONLY("isampler2DArray", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtISampler2DArray, qual, $1.line);
+ }
+ | USAMPLER2D {
+ FRAG_VERT_ONLY("usampler2D", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtUSampler2D, qual, $1.line);
+ }
+ | USAMPLER3D {
+ FRAG_VERT_ONLY("usampler3D", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtUSampler3D, qual, $1.line);
+ }
+ | USAMPLERCUBE {
+ FRAG_VERT_ONLY("usamplerCube", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtUSamplerCube, qual, $1.line);
+ }
+ | USAMPLER2DARRAY {
+ FRAG_VERT_ONLY("usampler2DArray", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtUSampler2DArray, qual, $1.line);
+ }
+ | SAMPLER2DSHADOW {
+ FRAG_VERT_ONLY("sampler2DShadow", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtSampler2DShadow, qual, $1.line);
+ }
+ | SAMPLERCUBESHADOW {
+ FRAG_VERT_ONLY("samplerCubeShadow", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtSamplerCubeShadow, qual, $1.line);
+ }
+ | SAMPLER2DARRAYSHADOW {
+ FRAG_VERT_ONLY("sampler2DArrayShadow", $1.line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtSampler2DArrayShadow, qual, $1.line);
+ }
| struct_specifier {
FRAG_VERT_ONLY("struct", $1.line);
$$ = $1;
@@ -1846,8 +1959,8 @@
//
TType* type = (*$$)[i].type;
type->setBasicType($1.type);
- type->setNominalSize($1.size);
- type->setMatrix($1.matrix);
+ type->setNominalSize($1.primarySize);
+ type->setSecondarySize($1.secondarySize);
type->setPrecision($1.precision);
// don't allow arrays of arrays
diff --git a/src/OpenGL/compiler/glslang_lex.cpp b/src/OpenGL/compiler/glslang_lex.cpp
index 86b1b34..340b9d1 100644
--- a/src/OpenGL/compiler/glslang_lex.cpp
+++ b/src/OpenGL/compiler/glslang_lex.cpp
@@ -392,8 +392,8 @@
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 222
-#define YY_END_OF_BUFFER 223
+#define YY_NUM_RULES 242
+#define YY_END_OF_BUFFER 243
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -401,93 +401,99 @@
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[775] =
+static yyconst flex_int16_t yy_accept[826] =
{ 0,
- 0, 0, 0, 0, 0, 0, 223, 221, 220, 220,
- 205, 211, 216, 200, 201, 209, 208, 197, 206, 204,
- 210, 166, 166, 198, 194, 212, 199, 213, 217, 162,
- 202, 203, 215, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 195, 214, 196, 207, 3, 4, 3,
- 219, 222, 218, 191, 177, 196, 185, 180, 175, 183,
- 173, 184, 174, 172, 2, 1, 176, 171, 164, 165,
- 0, 169, 0, 166, 203, 195, 202, 192, 188, 190,
- 189, 193, 162, 181, 187, 162, 162, 162, 162, 162,
+ 0, 0, 0, 0, 0, 0, 243, 241, 240, 240,
+ 225, 231, 236, 220, 221, 229, 228, 217, 226, 224,
+ 230, 186, 186, 218, 214, 232, 219, 233, 237, 182,
+ 222, 223, 235, 182, 182, 182, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 182, 182, 182, 215, 234, 216, 227, 3, 4, 3,
+ 239, 242, 238, 211, 197, 216, 205, 200, 195, 203,
+ 193, 204, 194, 192, 2, 1, 196, 191, 184, 185,
+ 0, 189, 0, 186, 223, 215, 222, 212, 208, 210,
+ 209, 213, 182, 201, 207, 182, 182, 182, 182, 182,
- 162, 162, 162, 162, 162, 162, 162, 17, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 20, 162, 162, 28, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 182, 186,
- 5, 218, 0, 1, 171, 0, 168, 0, 170, 163,
- 178, 179, 162, 120, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 18, 162, 162,
+ 182, 182, 182, 182, 182, 182, 182, 17, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 182, 20, 182, 182, 28, 182, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 202, 206,
+ 5, 238, 0, 1, 191, 0, 188, 0, 190, 183,
+ 198, 199, 182, 140, 182, 182, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 18, 182, 182,
- 162, 162, 162, 162, 162, 162, 162, 162, 32, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 29, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 0, 172, 0, 171, 167,
- 162, 162, 162, 35, 162, 162, 23, 159, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 21, 123,
- 162, 162, 162, 162, 26, 162, 162, 127, 139, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 182, 182, 182, 182, 182, 182, 182, 182, 32, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 29, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 0, 192, 0, 191, 187,
+ 182, 182, 182, 35, 182, 182, 23, 179, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 21, 143,
+ 182, 182, 182, 182, 26, 182, 182, 147, 159, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 162, 136, 9, 40, 41, 42, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 126, 36, 162, 162, 33, 162, 162, 162, 162, 162,
- 162, 162, 43, 44, 45, 34, 162, 162, 162, 162,
- 162, 162, 15, 52, 53, 54, 162, 121, 162, 162,
- 12, 162, 162, 162, 162, 148, 149, 150, 162, 37,
- 162, 140, 31, 151, 152, 153, 7, 145, 146, 147,
- 162, 162, 162, 30, 143, 162, 162, 162, 46, 47,
- 48, 162, 162, 162, 162, 162, 162, 162, 162, 70,
+ 182, 156, 9, 40, 41, 42, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 146, 36, 182, 182, 33, 182, 182, 182, 182, 182,
+ 182, 182, 52, 53, 54, 34, 182, 182, 182, 182,
+ 182, 182, 15, 61, 62, 63, 182, 141, 182, 182,
+ 12, 182, 182, 182, 182, 168, 169, 170, 182, 37,
+ 182, 160, 31, 171, 172, 173, 7, 165, 166, 167,
+ 182, 182, 182, 30, 163, 182, 182, 182, 55, 56,
+ 57, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 162, 162, 162, 162, 162, 162, 162, 137, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 122,
- 162, 162, 161, 49, 50, 51, 162, 162, 19, 162,
- 75, 162, 162, 162, 162, 73, 162, 162, 162, 138,
- 133, 76, 162, 162, 162, 162, 162, 162, 128, 162,
- 162, 162, 62, 162, 162, 162, 162, 144, 119, 162,
- 162, 131, 162, 162, 162, 39, 71, 158, 27, 132,
- 61, 162, 142, 22, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 24, 38,
- 162, 162, 162, 162, 162, 162, 77, 78, 79, 162,
+ 182, 182, 90, 182, 182, 182, 182, 182, 182, 182,
+ 157, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 182, 182, 142, 182, 182, 181, 58, 59, 60, 182,
+ 182, 19, 182, 95, 182, 182, 182, 182, 93, 182,
+ 182, 182, 158, 153, 96, 182, 182, 182, 182, 182,
+ 182, 148, 182, 182, 182, 82, 43, 46, 48, 47,
+ 44, 50, 49, 51, 45, 182, 182, 182, 182, 164,
+ 139, 182, 182, 151, 182, 182, 182, 39, 91, 178,
+ 27, 152, 81, 182, 162, 22, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 162, 162, 162, 162, 8, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 124, 162, 162, 162,
- 162, 162, 13, 162, 162, 14, 162, 162, 162, 162,
- 25, 63, 16, 134, 81, 82, 83, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 129,
- 162, 162, 162, 65, 67, 64, 162, 162, 162, 162,
- 162, 162, 162, 125, 85, 86, 87, 162, 162, 141,
- 162, 130, 162, 162, 11, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 80, 135, 6, 162, 162, 162,
- 160, 162, 74, 10, 154, 55, 58, 162, 162, 162,
+ 24, 38, 182, 182, 182, 182, 182, 182, 97, 98,
+ 99, 182, 182, 182, 182, 182, 8, 182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 144, 182,
+ 182, 182, 182, 182, 13, 182, 182, 14, 182, 182,
+ 182, 182, 25, 83, 16, 154, 101, 102, 103, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 182, 149, 182, 182, 182, 85, 87, 84, 182, 182,
+ 182, 182, 182, 182, 182, 145, 105, 106, 107, 182,
+ 182, 161, 182, 150, 182, 182, 11, 182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 100, 155, 6, 182,
- 162, 162, 162, 162, 162, 162, 162, 162, 66, 162,
- 162, 162, 162, 84, 162, 162, 162, 162, 162, 104,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 72, 162, 162, 162, 88, 106, 162, 162,
- 68, 162, 162, 162, 162, 162, 162, 162, 99, 162,
- 162, 162, 162, 162, 162, 162, 113, 162, 162, 162,
- 162, 56, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 100, 89, 162, 90, 162, 162, 114, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 101, 162, 115, 162, 162, 91, 92, 162,
+ 182, 182, 182, 182, 180, 182, 94, 10, 174, 64,
+ 67, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 182, 182, 182, 182, 86, 182, 182, 182, 182, 104,
+ 182, 182, 182, 182, 182, 124, 70, 71, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 182, 92, 182, 182, 182, 108, 126, 74, 75, 182,
+ 182, 88, 182, 182, 182, 182, 182, 182, 182, 119,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 133, 182, 182, 182, 182, 65, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 120, 109,
- 95, 162, 96, 162, 162, 162, 162, 69, 162, 162,
- 162, 156, 162, 59, 110, 162, 93, 94, 162, 162,
- 162, 162, 162, 162, 162, 162, 108, 111, 102, 162,
- 162, 162, 162, 162, 162, 162, 109, 112, 162, 162,
- 105, 162, 162, 155, 162, 162, 60, 162, 107, 162,
- 162, 162, 162, 162, 116, 162, 162, 162, 162, 162,
- 117, 162, 162, 162, 118, 97, 98, 162, 162, 57,
- 162, 157, 103, 0
+ 182, 110, 182, 182, 182, 134, 182, 182, 72, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
+ 182, 182, 121, 182, 182, 135, 182, 182, 76, 111,
+ 112, 182, 115, 182, 116, 182, 182, 182, 182, 182,
+ 89, 182, 182, 182, 182, 176, 182, 68, 130, 182,
+ 182, 113, 114, 182, 182, 182, 182, 182, 182, 182,
+ 182, 182, 182, 128, 131, 122, 182, 69, 182, 182,
+ 182, 182, 182, 182, 182, 182, 129, 132, 182, 182,
+ 125, 73, 182, 182, 175, 182, 182, 182, 78, 182,
+ 182, 127, 77, 182, 182, 182, 182, 182, 182, 136,
+
+ 182, 182, 182, 182, 182, 182, 137, 182, 182, 182,
+ 79, 182, 138, 117, 118, 182, 182, 182, 66, 182,
+ 182, 177, 123, 80, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -534,185 +540,197 @@
1, 1
} ;
-static yyconst flex_int16_t yy_base[780] =
+static yyconst flex_int16_t yy_base[831] =
{ 0,
- 0, 0, 70, 71, 80, 0, 995, 996, 996, 996,
- 969, 50, 147, 996, 996, 968, 144, 996, 143, 141,
- 156, 169, 223, 966, 996, 169, 966, 52, 996, 0,
- 996, 996, 152, 117, 138, 118, 157, 148, 167, 932,
- 147, 173, 159, 126, 188, 926, 200, 939, 205, 199,
- 212, 226, 147, 996, 158, 996, 996, 996, 996, 973,
- 996, 996, 0, 996, 996, 996, 996, 996, 996, 996,
- 996, 996, 996, 262, 996, 0, 996, 272, 256, 310,
- 297, 996, 0, 0, 996, 996, 996, 961, 996, 996,
- 996, 960, 0, 996, 996, 922, 927, 191, 924, 932,
+ 0, 0, 70, 71, 80, 0, 1046, 1047, 1047, 1047,
+ 1020, 50, 147, 1047, 1047, 1019, 144, 1047, 143, 141,
+ 156, 169, 223, 1017, 1047, 169, 1017, 52, 1047, 0,
+ 1047, 1047, 152, 117, 138, 118, 157, 148, 167, 983,
+ 147, 173, 159, 126, 188, 977, 200, 990, 205, 199,
+ 212, 226, 147, 1047, 158, 1047, 1047, 1047, 1047, 1024,
+ 1047, 1047, 0, 1047, 1047, 1047, 1047, 1047, 1047, 1047,
+ 1047, 1047, 1047, 262, 1047, 0, 1047, 272, 256, 310,
+ 297, 1047, 0, 0, 1047, 1047, 1047, 1012, 1047, 1047,
+ 1047, 1011, 0, 1047, 1047, 973, 978, 191, 975, 983,
- 931, 918, 921, 932, 245, 926, 914, 911, 924, 911,
- 908, 908, 914, 158, 240, 908, 918, 904, 910, 913,
- 914, 0, 906, 916, 277, 915, 910, 891, 162, 895,
- 908, 899, 246, 892, 286, 904, 906, 289, 895, 892,
- 881, 890, 292, 294, 894, 890, 892, 881, 884, 287,
- 203, 255, 893, 881, 893, 199, 886, 885, 996, 996,
- 996, 0, 345, 0, 359, 377, 996, 384, 394, 306,
- 996, 996, 884, 0, 880, 875, 879, 888, 885, 305,
- 869, 869, 880, 872, 309, 882, 879, 879, 877, 874,
- 866, 872, 859, 857, 869, 855, 871, 0, 868, 856,
+ 982, 969, 972, 983, 245, 977, 965, 962, 975, 962,
+ 959, 959, 965, 158, 240, 959, 969, 955, 961, 964,
+ 965, 0, 957, 967, 277, 966, 961, 942, 162, 946,
+ 959, 950, 246, 943, 286, 955, 957, 289, 946, 943,
+ 932, 941, 292, 294, 945, 941, 943, 932, 935, 287,
+ 203, 255, 944, 932, 944, 199, 937, 936, 1047, 1047,
+ 1047, 0, 345, 0, 359, 377, 1047, 384, 394, 306,
+ 1047, 1047, 935, 0, 931, 926, 930, 939, 936, 305,
+ 920, 920, 931, 923, 309, 933, 930, 930, 928, 925,
+ 917, 923, 910, 908, 920, 906, 922, 0, 919, 907,
- 863, 860, 864, 865, 858, 855, 844, 843, 856, 859,
- 847, 855, 843, 849, 840, 364, 845, 848, 839, 846,
- 835, 839, 830, 844, 843, 834, 840, 248, 824, 827,
- 825, 835, 825, 820, 818, 820, 830, 816, 818, 815,
- 826, 825, 828, 810, 366, 818, 814, 812, 821, 800,
- 367, 818, 820, 809, 801, 402, 410, 417, 424, 996,
- 798, 808, 807, 0, 805, 429, 0, 0, 798, 796,
- 796, 797, 792, 800, 789, 806, 795, 432, 0, 0,
- 789, 799, 798, 798, 0, 783, 435, 0, 0, 785,
- 438, 792, 793, 784, 778, 777, 778, 777, 777, 441,
+ 914, 911, 915, 916, 909, 906, 895, 894, 907, 910,
+ 898, 906, 894, 900, 891, 364, 896, 899, 890, 897,
+ 886, 890, 881, 895, 894, 885, 891, 248, 875, 878,
+ 876, 886, 876, 871, 869, 871, 881, 867, 869, 866,
+ 877, 876, 879, 861, 366, 869, 865, 863, 872, 851,
+ 367, 869, 871, 860, 852, 402, 410, 417, 424, 1047,
+ 849, 859, 858, 0, 856, 429, 0, 0, 849, 847,
+ 847, 848, 843, 851, 840, 857, 846, 432, 0, 0,
+ 840, 850, 849, 849, 0, 834, 435, 0, 0, 836,
+ 438, 843, 844, 835, 829, 828, 829, 828, 828, 441,
- 772, 0, 0, 0, 0, 0, 771, 772, 777, 771,
- 767, 780, 775, 775, 773, 772, 766, 760, 762, 761,
- 765, 757, 760, 755, 763, 768, 756, 753, 765, 756,
- 0, 0, 762, 758, 0, 750, 750, 755, 746, 753,
- 444, 750, 0, 0, 0, 0, 740, 752, 751, 750,
- 751, 751, 0, 0, 0, 0, 738, 0, 746, 737,
- 0, 736, 737, 731, 741, 0, 0, 0, 732, 0,
- 728, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 738, 448, 737, 0, 0, 735, 731, 728, 0, 0,
- 0, 720, 725, 721, 726, 717, 715, 728, 713, 0,
+ 823, 0, 0, 819, 818, 817, 819, 820, 825, 819,
+ 815, 828, 823, 823, 821, 820, 814, 808, 810, 809,
+ 813, 805, 808, 803, 811, 816, 804, 801, 813, 804,
+ 0, 0, 810, 806, 0, 798, 798, 803, 794, 801,
+ 444, 798, 0, 0, 0, 0, 788, 800, 799, 798,
+ 799, 799, 0, 0, 0, 0, 786, 0, 794, 785,
+ 0, 784, 785, 779, 789, 0, 0, 0, 780, 0,
+ 776, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 786, 448, 785, 0, 0, 783, 779, 776, 0, 0,
+ 0, 768, 450, 453, 456, 773, 769, 774, 765, 763,
- 713, 726, 715, 711, 717, 712, 719, 0, 717, 714,
- 718, 702, 700, 703, 709, 715, 710, 709, 697, 0,
- 699, 700, 0, 0, 0, 0, 697, 700, 0, 694,
- 0, 707, 687, 696, 691, 0, 684, 684, 697, 0,
- 699, 0, 451, 712, 711, 710, 677, 676, 0, 693,
- 692, 687, 0, 676, 689, 676, 673, 0, 0, 678,
- 677, 0, 674, 681, 680, 0, 666, 0, 0, 0,
- 0, 663, 0, 0, 662, 673, 454, 666, 672, 671,
- 668, 663, 660, 653, 653, 666, 651, 663, 0, 0,
- 656, 679, 678, 677, 644, 643, 330, 447, 0, 655,
+ 776, 761, 0, 761, 774, 763, 759, 765, 760, 767,
+ 0, 765, 762, 766, 750, 748, 751, 757, 763, 758,
+ 757, 745, 0, 747, 748, 0, 0, 0, 0, 745,
+ 748, 0, 742, 0, 755, 735, 744, 739, 0, 732,
+ 732, 745, 0, 747, 0, 463, 760, 759, 758, 725,
+ 724, 0, 741, 740, 735, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 724, 737, 724, 721, 0,
+ 0, 726, 725, 0, 722, 729, 728, 0, 714, 0,
+ 0, 0, 0, 711, 0, 0, 710, 721, 466, 714,
+ 720, 719, 716, 711, 708, 701, 701, 714, 699, 711,
- 658, 656, 645, 641, 0, 653, 650, 649, 639, 638,
- 628, 645, 631, 470, 639, 642, 0, 659, 658, 657,
- 624, 623, 0, 637, 624, 0, 634, 627, 628, 631,
- 0, 0, 0, 0, 651, 650, 0, 627, 630, 615,
- 622, 613, 620, 621, 621, 620, 606, 474, 618, 0,
- 619, 608, 607, 0, 0, 0, 632, 631, 630, 597,
- 596, 592, 600, 0, 628, 627, 0, 604, 607, 0,
- 476, 0, 585, 594, 0, 590, 589, 598, 598, 586,
- 600, 584, 598, 593, 0, 0, 0, 610, 609, 576,
- 0, 576, 0, 0, 451, 459, 600, 586, 589, 572,
+ 0, 0, 704, 727, 726, 725, 692, 691, 330, 448,
+ 0, 703, 706, 704, 693, 689, 0, 701, 698, 697,
+ 687, 686, 676, 693, 679, 471, 687, 690, 0, 707,
+ 706, 705, 672, 671, 0, 685, 672, 0, 682, 675,
+ 676, 679, 0, 0, 0, 0, 699, 698, 0, 675,
+ 678, 663, 670, 661, 668, 669, 669, 668, 654, 481,
+ 666, 0, 667, 656, 655, 0, 0, 0, 680, 679,
+ 678, 645, 644, 640, 648, 0, 676, 675, 0, 652,
+ 655, 0, 488, 0, 633, 642, 0, 638, 637, 646,
+ 646, 634, 648, 632, 646, 641, 0, 0, 0, 658,
- 584, 572, 571, 580, 580, 597, 596, 563, 0, 563,
- 564, 563, 573, 0, 576, 572, 574, 570, 557, 588,
- 353, 565, 561, 553, 560, 573, 561, 557, 559, 557,
- 557, 556, 0, 544, 543, 553, 0, 573, 439, 550,
- 0, 554, 553, 537, 529, 537, 527, 535, 0, 532,
- 553, 541, 539, 524, 527, 541, 557, 537, 538, 535,
- 532, 0, 520, 534, 533, 517, 516, 537, 525, 523,
- 505, 504, 0, 532, 504, 530, 502, 506, 537, 517,
- 514, 513, 516, 512, 499, 496, 509, 494, 495, 497,
- 486, 485, 0, 491, 522, 502, 499, 0, 0, 495,
+ 657, 656, 623, 622, 0, 622, 0, 0, 474, 485,
+ 646, 632, 635, 618, 630, 618, 617, 626, 626, 643,
+ 642, 641, 608, 607, 0, 607, 608, 607, 617, 0,
+ 620, 616, 618, 614, 601, 632, 479, 0, 609, 612,
+ 604, 596, 603, 594, 615, 603, 599, 601, 599, 599,
+ 598, 0, 586, 585, 595, 0, 615, 491, 0, 592,
+ 595, 0, 595, 594, 578, 570, 578, 568, 576, 0,
+ 573, 572, 593, 581, 579, 579, 563, 566, 580, 564,
+ 595, 575, 576, 573, 570, 580, 557, 571, 570, 554,
+ 553, 552, 573, 561, 559, 559, 540, 539, 0, 567,
- 0, 494, 0, 500, 484, 481, 482, 0, 474, 482,
- 479, 500, 479, 0, 0, 491, 0, 0, 490, 474,
- 471, 472, 486, 485, 462, 468, 0, 0, 489, 461,
- 480, 472, 458, 467, 454, 460, 0, 0, 471, 470,
- 0, 470, 452, 0, 434, 453, 0, 459, 0, 437,
- 415, 349, 339, 327, 0, 308, 315, 271, 259, 255,
- 0, 255, 216, 209, 0, 0, 0, 158, 132, 0,
- 115, 0, 0, 996, 505, 507, 509, 513, 163
+ 539, 565, 537, 541, 540, 571, 551, 548, 0, 547,
+ 550, 546, 548, 532, 529, 542, 527, 528, 535, 529,
+ 518, 517, 0, 523, 522, 553, 533, 530, 0, 0,
+ 0, 526, 0, 525, 0, 531, 530, 514, 511, 512,
+ 0, 504, 512, 502, 508, 529, 508, 0, 0, 520,
+ 519, 0, 0, 518, 517, 501, 498, 499, 513, 512,
+ 489, 488, 494, 0, 0, 515, 487, 513, 505, 497,
+ 483, 118, 125, 130, 149, 187, 0, 0, 226, 255,
+ 0, 0, 275, 272, 0, 286, 280, 311, 0, 314,
+ 352, 0, 0, 345, 348, 349, 418, 445, 446, 0,
+
+ 446, 443, 477, 448, 456, 459, 0, 477, 479, 471,
+ 0, 492, 0, 0, 0, 473, 474, 468, 0, 469,
+ 470, 0, 0, 0, 1047, 535, 537, 539, 543, 542
} ;
-static yyconst flex_int16_t yy_def[780] =
+static yyconst flex_int16_t yy_def[831] =
{ 0,
- 774, 1, 775, 775, 774, 5, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 776,
- 774, 774, 774, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 777, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 778, 774, 774, 22, 774,
- 774, 774, 779, 23, 774, 774, 774, 774, 774, 774,
- 774, 774, 776, 774, 774, 776, 776, 776, 776, 776,
+ 825, 1, 826, 826, 825, 5, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 827,
+ 825, 825, 825, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 828, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 829, 825, 825, 22, 825,
+ 825, 825, 830, 23, 825, 825, 825, 825, 825, 825,
+ 825, 825, 827, 825, 825, 827, 827, 827, 827, 827,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 774, 774,
- 774, 777, 774, 778, 774, 774, 774, 774, 774, 779,
- 774, 774, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 825, 825,
+ 825, 828, 825, 829, 825, 825, 825, 825, 825, 830,
+ 825, 825, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 774, 774, 774, 774, 774,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 825, 825, 825, 825, 825,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 0, 774, 774, 774, 774, 774
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 0, 825, 825, 825, 825, 825
} ;
-static yyconst flex_int16_t yy_nxt[1069] =
+static yyconst flex_int16_t yy_nxt[1120] =
{ 0,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 23, 23, 23, 23,
@@ -731,109 +749,115 @@
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, 74, 102, 96, 75, 170, 103, 73, 71, 76,
- 130, 68, 104, 86, 131, 105, 94, 97, 98, 773,
+ 74, 74, 102, 96, 75, 790, 103, 73, 71, 76,
+ 130, 68, 104, 86, 131, 105, 94, 97, 98, 791,
77, 78, 159, 79, 79, 79, 79, 79, 79, 80,
- 87, 119, 88, 89, 95, 99, 772, 100, 157, 120,
+ 87, 119, 88, 89, 95, 99, 792, 100, 157, 120,
81, 101, 110, 128, 111, 106, 158, 82, 83, 107,
- 121, 113, 194, 112, 108, 771, 129, 81, 214, 114,
+ 121, 113, 194, 112, 108, 793, 129, 81, 214, 114,
109, 115, 122, 195, 116, 123, 215, 160, 124, 125,
117, 82, 132, 126, 83, 78, 127, 84, 84, 84,
- 84, 84, 84, 84, 135, 133, 770, 146, 175, 139,
+ 84, 84, 84, 84, 135, 133, 794, 146, 175, 139,
147, 252, 176, 253, 81, 245, 140, 141, 148, 136,
142, 82, 137, 246, 150, 149, 143, 144, 151, 145,
- 154, 81, 152, 769, 155, 153, 74, 74, 74, 74,
+ 154, 81, 152, 795, 155, 153, 74, 74, 74, 74,
74, 74, 74, 156, 196, 82, 165, 165, 165, 165,
- 165, 165, 165, 163, 167, 774, 183, 197, 219, 247,
+ 165, 165, 165, 163, 167, 825, 183, 197, 219, 247,
- 184, 185, 768, 166, 220, 318, 168, 248, 168, 319,
- 163, 169, 169, 169, 169, 169, 169, 169, 167, 767,
- 166, 774, 78, 766, 80, 80, 80, 80, 80, 80,
- 80, 206, 222, 227, 207, 208, 234, 765, 209, 236,
- 210, 81, 243, 244, 260, 223, 764, 224, 82, 228,
- 229, 235, 237, 267, 256, 763, 256, 540, 81, 257,
- 257, 257, 257, 257, 257, 257, 268, 541, 260, 273,
- 274, 762, 82, 165, 165, 165, 165, 165, 165, 165,
- 304, 305, 306, 343, 344, 345, 258, 651, 258, 652,
+ 184, 185, 796, 166, 220, 318, 168, 248, 168, 319,
+ 163, 169, 169, 169, 169, 169, 169, 169, 167, 797,
+ 166, 825, 78, 798, 80, 80, 80, 80, 80, 80,
+ 80, 206, 222, 227, 207, 208, 234, 799, 209, 236,
+ 210, 81, 243, 244, 260, 223, 800, 224, 82, 228,
+ 229, 235, 237, 267, 256, 801, 256, 552, 81, 257,
+ 257, 257, 257, 257, 257, 257, 268, 553, 260, 273,
+ 274, 802, 82, 165, 165, 165, 165, 165, 165, 165,
+ 304, 305, 306, 343, 344, 345, 258, 803, 258, 804,
166, 259, 259, 259, 259, 259, 259, 259, 169, 169,
- 169, 169, 169, 169, 169, 761, 760, 166, 169, 169,
+ 169, 169, 169, 169, 169, 805, 806, 166, 169, 169,
169, 169, 169, 169, 169, 336, 257, 257, 257, 257,
257, 257, 257, 337, 257, 257, 257, 257, 257, 257,
257, 259, 259, 259, 259, 259, 259, 259, 259, 259,
259, 259, 259, 259, 259, 354, 355, 356, 366, 367,
368, 374, 375, 376, 378, 379, 380, 389, 390, 391,
- 424, 425, 426, 444, 445, 446, 492, 493, 494, 518,
- 519, 520, 759, 668, 542, 669, 447, 448, 624, 495,
- 496, 758, 521, 522, 543, 557, 558, 559, 625, 588,
- 589, 606, 607, 626, 757, 627, 628, 756, 560, 561,
+ 427, 428, 429, 447, 448, 449, 457, 458, 459, 460,
+ 461, 462, 463, 464, 465, 554, 450, 451, 504, 505,
+ 506, 530, 531, 532, 807, 555, 569, 570, 571, 808,
+ 809, 507, 508, 810, 533, 534, 600, 601, 602, 572,
- 755, 562, 590, 754, 608, 58, 58, 58, 58, 93,
- 93, 162, 162, 164, 753, 164, 164, 752, 751, 750,
- 749, 748, 747, 746, 745, 744, 743, 742, 741, 740,
- 739, 738, 737, 736, 735, 734, 733, 732, 731, 730,
- 729, 728, 727, 726, 725, 724, 723, 722, 721, 720,
- 719, 718, 717, 716, 715, 714, 713, 712, 711, 710,
- 709, 708, 707, 706, 705, 704, 703, 702, 701, 700,
- 699, 698, 697, 696, 695, 694, 693, 692, 691, 690,
- 689, 688, 687, 686, 685, 684, 683, 682, 681, 680,
- 679, 678, 677, 676, 675, 674, 673, 672, 671, 670,
+ 573, 642, 574, 620, 621, 622, 672, 811, 812, 603,
+ 604, 643, 644, 673, 813, 674, 623, 624, 692, 645,
+ 814, 646, 647, 815, 816, 693, 817, 694, 818, 819,
+ 820, 821, 822, 823, 824, 58, 58, 58, 58, 93,
+ 93, 162, 162, 164, 170, 164, 164, 789, 788, 787,
+ 786, 785, 784, 783, 782, 781, 780, 779, 778, 777,
+ 776, 775, 774, 773, 772, 771, 770, 769, 768, 767,
+ 766, 765, 764, 763, 762, 761, 760, 759, 758, 757,
+ 756, 755, 754, 753, 752, 751, 750, 749, 748, 747,
+ 746, 745, 744, 743, 742, 741, 740, 739, 738, 737,
- 667, 666, 665, 664, 663, 662, 661, 660, 659, 658,
- 657, 656, 655, 654, 653, 650, 649, 648, 647, 646,
- 645, 644, 643, 642, 641, 640, 639, 638, 637, 636,
- 635, 634, 633, 632, 631, 630, 629, 623, 622, 621,
- 620, 619, 618, 617, 616, 615, 614, 613, 612, 611,
- 610, 609, 605, 604, 603, 602, 601, 600, 599, 598,
- 597, 596, 595, 594, 593, 592, 591, 587, 586, 585,
+ 736, 735, 734, 733, 732, 731, 730, 729, 728, 727,
+ 726, 725, 724, 723, 722, 721, 720, 719, 718, 717,
+ 716, 715, 714, 713, 712, 711, 710, 709, 708, 707,
+ 706, 705, 704, 703, 702, 701, 700, 699, 698, 697,
+ 696, 695, 691, 690, 689, 688, 687, 686, 685, 684,
+ 683, 682, 681, 680, 679, 678, 677, 676, 675, 671,
+ 670, 669, 668, 667, 666, 665, 664, 663, 662, 661,
+ 660, 659, 658, 657, 656, 655, 654, 653, 652, 651,
+ 650, 649, 648, 641, 640, 639, 638, 637, 636, 635,
+ 634, 633, 632, 631, 630, 629, 628, 627, 626, 625,
+
+ 619, 618, 617, 616, 615, 614, 613, 612, 611, 610,
+ 609, 608, 607, 606, 605, 599, 598, 597, 596, 595,
+ 594, 593, 592, 591, 590, 589, 588, 587, 586, 585,
584, 583, 582, 581, 580, 579, 578, 577, 576, 575,
- 574, 573, 572, 571, 570, 569, 568, 567, 566, 565,
- 564, 563, 556, 555, 554, 553, 552, 551, 550, 549,
+ 568, 567, 566, 565, 564, 563, 562, 561, 560, 559,
+ 558, 557, 556, 551, 550, 549, 548, 547, 546, 545,
+ 544, 543, 542, 541, 540, 539, 538, 537, 536, 535,
+ 529, 528, 527, 526, 525, 524, 523, 522, 521, 520,
+ 519, 518, 517, 516, 515, 514, 513, 512, 511, 510,
+ 509, 503, 502, 501, 500, 499, 498, 497, 496, 495,
- 548, 547, 546, 545, 544, 539, 538, 537, 536, 535,
- 534, 533, 532, 531, 530, 529, 528, 527, 526, 525,
- 524, 523, 517, 516, 515, 514, 513, 512, 511, 510,
- 509, 508, 507, 506, 505, 504, 503, 502, 501, 500,
- 499, 498, 497, 491, 490, 489, 488, 487, 486, 485,
+ 494, 493, 492, 491, 490, 489, 488, 487, 486, 485,
484, 483, 482, 481, 480, 479, 478, 477, 476, 475,
- 474, 473, 472, 471, 470, 469, 468, 467, 466, 465,
- 464, 463, 462, 461, 460, 459, 458, 457, 456, 455,
- 454, 453, 452, 451, 450, 449, 443, 442, 441, 440,
- 439, 438, 437, 436, 435, 434, 433, 432, 431, 430,
+ 474, 473, 472, 471, 470, 469, 468, 467, 466, 456,
+ 455, 454, 453, 452, 446, 445, 444, 443, 442, 441,
+ 440, 439, 438, 437, 436, 435, 434, 433, 432, 431,
+ 430, 426, 425, 424, 423, 422, 421, 420, 419, 418,
+ 417, 416, 415, 414, 413, 412, 411, 410, 409, 408,
+ 407, 406, 405, 404, 403, 402, 401, 400, 399, 398,
+ 397, 396, 395, 394, 393, 392, 388, 387, 386, 385,
+ 384, 383, 382, 381, 377, 373, 372, 371, 370, 369,
- 429, 428, 427, 423, 422, 421, 420, 419, 418, 417,
- 416, 415, 414, 413, 412, 411, 410, 409, 408, 407,
- 406, 405, 404, 403, 402, 401, 400, 399, 398, 397,
- 396, 395, 394, 393, 392, 388, 387, 386, 385, 384,
- 383, 382, 381, 377, 373, 372, 371, 370, 369, 365,
- 364, 363, 362, 361, 360, 359, 358, 357, 353, 352,
- 351, 350, 349, 348, 347, 346, 342, 341, 340, 339,
- 338, 335, 334, 333, 332, 331, 330, 329, 328, 327,
- 326, 325, 324, 323, 322, 321, 320, 317, 316, 315,
- 314, 313, 312, 311, 310, 309, 308, 307, 303, 302,
+ 365, 364, 363, 362, 361, 360, 359, 358, 357, 353,
+ 352, 351, 350, 349, 348, 347, 346, 342, 341, 340,
+ 339, 338, 335, 334, 333, 332, 331, 330, 329, 328,
+ 327, 326, 325, 324, 323, 322, 321, 320, 317, 316,
+ 315, 314, 313, 312, 311, 310, 309, 308, 307, 303,
+ 302, 301, 300, 299, 298, 297, 296, 295, 294, 293,
+ 292, 291, 290, 289, 288, 287, 286, 285, 284, 283,
+ 282, 281, 280, 279, 278, 277, 276, 275, 272, 271,
+ 270, 269, 266, 265, 264, 263, 262, 261, 255, 254,
+ 251, 250, 249, 242, 241, 240, 239, 238, 233, 232,
- 301, 300, 299, 298, 297, 296, 295, 294, 293, 292,
- 291, 290, 289, 288, 287, 286, 285, 284, 283, 282,
- 281, 280, 279, 278, 277, 276, 275, 272, 271, 270,
- 269, 266, 265, 264, 263, 262, 261, 255, 254, 251,
- 250, 249, 242, 241, 240, 239, 238, 233, 232, 231,
- 230, 226, 225, 221, 218, 217, 216, 213, 212, 211,
- 205, 204, 203, 202, 201, 200, 199, 198, 193, 192,
- 191, 190, 189, 188, 187, 186, 182, 181, 180, 179,
- 178, 177, 174, 173, 172, 171, 161, 138, 134, 118,
- 90, 85, 69, 64, 774, 7, 774, 774, 774, 774,
+ 231, 230, 226, 225, 221, 218, 217, 216, 213, 212,
+ 211, 205, 204, 203, 202, 201, 200, 199, 198, 193,
+ 192, 191, 190, 189, 188, 187, 186, 182, 181, 180,
+ 179, 178, 177, 174, 173, 172, 171, 161, 138, 134,
+ 118, 90, 85, 69, 64, 825, 7, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825
} ;
-static yyconst flex_int16_t yy_chk[1069] =
+static yyconst flex_int16_t yy_chk[1120] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -852,110 +876,116 @@
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, 20, 36, 34, 21, 779, 36, 19, 17, 21,
- 44, 13, 36, 26, 44, 36, 33, 34, 34, 771,
+ 20, 20, 36, 34, 21, 772, 36, 19, 17, 21,
+ 44, 13, 36, 26, 44, 36, 33, 34, 34, 773,
21, 22, 55, 22, 22, 22, 22, 22, 22, 22,
- 26, 41, 26, 26, 33, 35, 769, 35, 53, 41,
+ 26, 41, 26, 26, 33, 35, 774, 35, 53, 41,
22, 35, 38, 43, 38, 37, 53, 22, 22, 37,
- 41, 39, 114, 38, 37, 768, 43, 22, 129, 39,
+ 41, 39, 114, 38, 37, 775, 43, 22, 129, 39,
37, 39, 42, 114, 39, 42, 129, 55, 42, 42,
39, 22, 45, 42, 22, 23, 42, 23, 23, 23,
- 23, 23, 23, 23, 47, 45, 764, 50, 98, 49,
+ 23, 23, 23, 23, 47, 45, 776, 50, 98, 49,
50, 156, 98, 156, 23, 151, 49, 49, 50, 47,
49, 23, 47, 151, 51, 50, 49, 49, 51, 49,
- 52, 23, 51, 763, 52, 51, 74, 74, 74, 74,
+ 52, 23, 51, 779, 52, 51, 74, 74, 74, 74,
74, 74, 74, 52, 115, 23, 78, 78, 78, 78,
78, 78, 78, 74, 79, 79, 105, 115, 133, 152,
- 105, 105, 762, 78, 133, 228, 81, 152, 81, 228,
- 74, 81, 81, 81, 81, 81, 81, 81, 79, 760,
- 78, 79, 80, 759, 80, 80, 80, 80, 80, 80,
- 80, 125, 135, 138, 125, 125, 143, 758, 125, 144,
- 125, 80, 150, 150, 170, 135, 757, 135, 80, 138,
- 138, 143, 144, 180, 163, 756, 163, 497, 80, 163,
- 163, 163, 163, 163, 163, 163, 180, 497, 170, 185,
- 185, 754, 80, 165, 165, 165, 165, 165, 165, 165,
- 216, 216, 216, 251, 251, 251, 166, 621, 166, 621,
+ 105, 105, 780, 78, 133, 228, 81, 152, 81, 228,
+ 74, 81, 81, 81, 81, 81, 81, 81, 79, 783,
+ 78, 79, 80, 784, 80, 80, 80, 80, 80, 80,
+ 80, 125, 135, 138, 125, 125, 143, 786, 125, 144,
+ 125, 80, 150, 150, 170, 135, 787, 135, 80, 138,
+ 138, 143, 144, 180, 163, 788, 163, 509, 80, 163,
+ 163, 163, 163, 163, 163, 163, 180, 509, 170, 185,
+ 185, 790, 80, 165, 165, 165, 165, 165, 165, 165,
+ 216, 216, 216, 251, 251, 251, 166, 791, 166, 794,
165, 166, 166, 166, 166, 166, 166, 166, 168, 168,
- 168, 168, 168, 168, 168, 753, 752, 165, 169, 169,
+ 168, 168, 168, 168, 168, 795, 796, 165, 169, 169,
169, 169, 169, 169, 169, 245, 256, 256, 256, 256,
256, 256, 256, 245, 257, 257, 257, 257, 257, 257,
257, 258, 258, 258, 258, 258, 258, 258, 259, 259,
259, 259, 259, 259, 259, 266, 266, 266, 278, 278,
278, 287, 287, 287, 291, 291, 291, 300, 300, 300,
- 341, 341, 341, 382, 382, 382, 443, 443, 443, 477,
- 477, 477, 751, 639, 498, 639, 382, 382, 595, 443,
- 443, 750, 477, 477, 498, 514, 514, 514, 595, 548,
- 548, 571, 571, 596, 748, 596, 596, 746, 514, 514,
+ 341, 341, 341, 382, 382, 382, 393, 393, 393, 394,
+ 394, 394, 395, 395, 395, 510, 382, 382, 446, 446,
+ 446, 489, 489, 489, 797, 510, 526, 526, 526, 798,
+ 799, 446, 446, 801, 489, 489, 560, 560, 560, 526,
- 745, 514, 548, 743, 571, 775, 775, 775, 775, 776,
- 776, 777, 777, 778, 742, 778, 778, 740, 739, 736,
- 735, 734, 733, 732, 731, 730, 729, 726, 725, 724,
- 723, 722, 721, 720, 719, 716, 713, 712, 711, 710,
- 709, 707, 706, 705, 704, 702, 700, 697, 696, 695,
- 694, 692, 691, 690, 689, 688, 687, 686, 685, 684,
+ 526, 609, 526, 583, 583, 583, 637, 802, 803, 560,
+ 560, 609, 610, 637, 804, 637, 583, 583, 658, 610,
+ 805, 610, 610, 806, 808, 658, 809, 658, 810, 812,
+ 816, 817, 818, 820, 821, 826, 826, 826, 826, 827,
+ 827, 828, 828, 829, 830, 829, 829, 771, 770, 769,
+ 768, 767, 766, 763, 762, 761, 760, 759, 758, 757,
+ 756, 755, 754, 751, 750, 747, 746, 745, 744, 743,
+ 742, 740, 739, 738, 737, 736, 734, 732, 728, 727,
+ 726, 725, 724, 722, 721, 720, 719, 718, 717, 716,
+ 715, 714, 713, 712, 711, 710, 708, 707, 706, 705,
+
+ 704, 703, 702, 701, 700, 698, 697, 696, 695, 694,
+ 693, 692, 691, 690, 689, 688, 687, 686, 685, 684,
683, 682, 681, 680, 679, 678, 677, 676, 675, 674,
- 672, 671, 670, 669, 668, 667, 666, 665, 664, 663,
- 661, 660, 659, 658, 657, 656, 655, 654, 653, 652,
- 651, 650, 648, 647, 646, 645, 644, 643, 642, 640,
+ 673, 672, 671, 669, 668, 667, 666, 665, 664, 663,
+ 661, 660, 657, 655, 654, 653, 651, 650, 649, 648,
+ 647, 646, 645, 644, 643, 642, 641, 640, 639, 636,
+ 635, 634, 633, 632, 631, 629, 628, 627, 626, 624,
+ 623, 622, 621, 620, 619, 618, 617, 616, 615, 614,
+ 613, 612, 611, 606, 604, 603, 602, 601, 600, 596,
+ 595, 594, 593, 592, 591, 590, 589, 588, 586, 585,
- 638, 636, 635, 634, 632, 631, 630, 629, 628, 627,
- 626, 625, 624, 623, 622, 620, 619, 618, 617, 616,
- 615, 613, 612, 611, 610, 608, 607, 606, 605, 604,
- 603, 602, 601, 600, 599, 598, 597, 592, 590, 589,
- 588, 584, 583, 582, 581, 580, 579, 578, 577, 576,
- 574, 573, 569, 568, 566, 565, 563, 562, 561, 560,
- 559, 558, 557, 553, 552, 551, 549, 547, 546, 545,
- 544, 543, 542, 541, 540, 539, 538, 536, 535, 530,
- 529, 528, 527, 525, 524, 522, 521, 520, 519, 518,
- 516, 515, 513, 512, 511, 510, 509, 508, 507, 506,
+ 581, 580, 578, 577, 575, 574, 573, 572, 571, 570,
+ 569, 565, 564, 563, 561, 559, 558, 557, 556, 555,
+ 554, 553, 552, 551, 550, 548, 547, 542, 541, 540,
+ 539, 537, 536, 534, 533, 532, 531, 530, 528, 527,
+ 525, 524, 523, 522, 521, 520, 519, 518, 516, 515,
+ 514, 513, 512, 508, 507, 506, 505, 504, 503, 500,
+ 499, 498, 497, 496, 495, 494, 493, 492, 491, 490,
+ 488, 487, 484, 479, 477, 476, 475, 473, 472, 469,
+ 468, 467, 466, 455, 454, 453, 451, 450, 449, 448,
+ 447, 444, 442, 441, 440, 438, 437, 436, 435, 433,
- 504, 503, 502, 501, 500, 496, 495, 494, 493, 492,
- 491, 488, 487, 486, 485, 484, 483, 482, 481, 480,
- 479, 478, 476, 475, 472, 467, 465, 464, 463, 461,
- 460, 457, 456, 455, 454, 452, 451, 450, 448, 447,
- 446, 445, 444, 441, 439, 438, 437, 435, 434, 433,
- 432, 430, 428, 427, 422, 421, 419, 418, 417, 416,
- 415, 414, 413, 412, 411, 410, 409, 407, 406, 405,
- 404, 403, 402, 401, 399, 398, 397, 396, 395, 394,
- 393, 392, 388, 387, 386, 383, 381, 371, 369, 365,
- 364, 363, 362, 360, 359, 357, 352, 351, 350, 349,
+ 431, 430, 425, 424, 422, 421, 420, 419, 418, 417,
+ 416, 415, 414, 413, 412, 410, 409, 408, 407, 406,
+ 405, 404, 402, 401, 400, 399, 398, 397, 396, 392,
+ 388, 387, 386, 383, 381, 371, 369, 365, 364, 363,
+ 362, 360, 359, 357, 352, 351, 350, 349, 348, 347,
+ 342, 340, 339, 338, 337, 336, 334, 333, 330, 329,
+ 328, 327, 326, 325, 324, 323, 322, 321, 320, 319,
+ 318, 317, 316, 315, 314, 313, 312, 311, 310, 309,
+ 308, 307, 306, 305, 304, 301, 299, 298, 297, 296,
+ 295, 294, 293, 292, 290, 286, 284, 283, 282, 281,
- 348, 347, 342, 340, 339, 338, 337, 336, 334, 333,
- 330, 329, 328, 327, 326, 325, 324, 323, 322, 321,
- 320, 319, 318, 317, 316, 315, 314, 313, 312, 311,
- 310, 309, 308, 307, 301, 299, 298, 297, 296, 295,
- 294, 293, 292, 290, 286, 284, 283, 282, 281, 277,
- 276, 275, 274, 273, 272, 271, 270, 269, 265, 263,
- 262, 261, 255, 254, 253, 252, 250, 249, 248, 247,
- 246, 244, 243, 242, 241, 240, 239, 238, 237, 236,
- 235, 234, 233, 232, 231, 230, 229, 227, 226, 225,
- 224, 223, 222, 221, 220, 219, 218, 217, 215, 214,
+ 277, 276, 275, 274, 273, 272, 271, 270, 269, 265,
+ 263, 262, 261, 255, 254, 253, 252, 250, 249, 248,
+ 247, 246, 244, 243, 242, 241, 240, 239, 238, 237,
+ 236, 235, 234, 233, 232, 231, 230, 229, 227, 226,
+ 225, 224, 223, 222, 221, 220, 219, 218, 217, 215,
+ 214, 213, 212, 211, 210, 209, 208, 207, 206, 205,
+ 204, 203, 202, 201, 200, 199, 197, 196, 195, 194,
+ 193, 192, 191, 190, 189, 188, 187, 186, 184, 183,
+ 182, 181, 179, 178, 177, 176, 175, 173, 158, 157,
+ 155, 154, 153, 149, 148, 147, 146, 145, 142, 141,
- 213, 212, 211, 210, 209, 208, 207, 206, 205, 204,
- 203, 202, 201, 200, 199, 197, 196, 195, 194, 193,
- 192, 191, 190, 189, 188, 187, 186, 184, 183, 182,
- 181, 179, 178, 177, 176, 175, 173, 158, 157, 155,
- 154, 153, 149, 148, 147, 146, 145, 142, 141, 140,
- 139, 137, 136, 134, 132, 131, 130, 128, 127, 126,
- 124, 123, 121, 120, 119, 118, 117, 116, 113, 112,
- 111, 110, 109, 108, 107, 106, 104, 103, 102, 101,
- 100, 99, 97, 96, 92, 88, 60, 48, 46, 40,
- 27, 24, 16, 11, 7, 774, 774, 774, 774, 774,
+ 140, 139, 137, 136, 134, 132, 131, 130, 128, 127,
+ 126, 124, 123, 121, 120, 119, 118, 117, 116, 113,
+ 112, 111, 110, 109, 108, 107, 106, 104, 103, 102,
+ 101, 100, 99, 97, 96, 92, 88, 60, 48, 46,
+ 40, 27, 24, 16, 11, 7, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825
} ;
/* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[223] =
+static yyconst flex_int32_t yy_rule_can_match_eol[243] =
{ 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,
@@ -968,6 +998,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, };
/* The intent behind this definition is that it'll catch
@@ -979,7 +1010,7 @@
#define YY_RESTORE_YY_MORE_OFFSET
/*
//
-// Copyright (c) 2002-2012 The ANGLE Project Authors. All rights reserved.
+// Copyright (c) 2002-2015 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.
//
@@ -1304,13 +1335,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 >= 775 )
+ if ( yy_current_state >= 826 )
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 != 774 );
+ while ( yy_current_state != 825 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
@@ -1511,105 +1542,165 @@
YY_BREAK
case 43:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (VEC2); }
+{ return ES2_identifier_ES3_keyword(context, MATRIX2); }
YY_BREAK
case 44:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (VEC3); }
+{ return ES2_identifier_ES3_keyword(context, MATRIX3); }
YY_BREAK
case 45:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (VEC4); }
+{ return ES2_identifier_ES3_keyword(context, MATRIX4); }
YY_BREAK
case 46:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (IVEC2); }
+{ return ES2_identifier_ES3_keyword(context, MATRIX2x3); }
YY_BREAK
case 47:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (IVEC3); }
+{ return ES2_identifier_ES3_keyword(context, MATRIX3x2); }
YY_BREAK
case 48:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (IVEC4); }
+{ return ES2_identifier_ES3_keyword(context, MATRIX2x4); }
YY_BREAK
case 49:
YY_RULE_SETUP
-{ return ES2_identifier_ES3_keyword(context, UVEC2); }
+{ return ES2_identifier_ES3_keyword(context, MATRIX4x2); }
YY_BREAK
case 50:
YY_RULE_SETUP
-{ return ES2_identifier_ES3_keyword(context, UVEC3); }
+{ return ES2_identifier_ES3_keyword(context, MATRIX3x4); }
YY_BREAK
case 51:
YY_RULE_SETUP
-{ return ES2_identifier_ES3_keyword(context, UVEC4); }
+{ return ES2_identifier_ES3_keyword(context, MATRIX4x3); }
YY_BREAK
case 52:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (BVEC2); }
+{ context->lexAfterType = true; return (VEC2); }
YY_BREAK
case 53:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (BVEC3); }
+{ context->lexAfterType = true; return (VEC3); }
YY_BREAK
case 54:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (BVEC4); }
+{ context->lexAfterType = true; return (VEC4); }
YY_BREAK
case 55:
YY_RULE_SETUP
-{ context->lexAfterType = true; return SAMPLER2D; }
+{ context->lexAfterType = true; return (IVEC2); }
YY_BREAK
case 56:
YY_RULE_SETUP
-{ context->lexAfterType = true; return SAMPLERCUBE; }
+{ context->lexAfterType = true; return (IVEC3); }
YY_BREAK
case 57:
YY_RULE_SETUP
-{ context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; }
+{ context->lexAfterType = true; return (IVEC4); }
YY_BREAK
case 58:
YY_RULE_SETUP
-{ context->lexAfterType = true; return SAMPLER3D; }
+{ return ES2_identifier_ES3_keyword(context, UVEC2); }
YY_BREAK
case 59:
YY_RULE_SETUP
-{ return ES2_reserved_ES3_keyword(context, SAMPLER3DRECT); }
+{ return ES2_identifier_ES3_keyword(context, UVEC3); }
YY_BREAK
case 60:
YY_RULE_SETUP
-{ return ES2_reserved_ES3_keyword(context, SAMPLER2DSHADOW); }
+{ return ES2_identifier_ES3_keyword(context, UVEC4); }
YY_BREAK
case 61:
YY_RULE_SETUP
-{ context->lexAfterType = true; return(STRUCT); }
+{ context->lexAfterType = true; return (BVEC2); }
YY_BREAK
case 62:
YY_RULE_SETUP
+{ context->lexAfterType = true; return (BVEC3); }
+ YY_BREAK
+case 63:
+YY_RULE_SETUP
+{ context->lexAfterType = true; return (BVEC4); }
+ YY_BREAK
+case 64:
+YY_RULE_SETUP
+{ context->lexAfterType = true; return SAMPLER2D; }
+ YY_BREAK
+case 65:
+YY_RULE_SETUP
+{ context->lexAfterType = true; return SAMPLERCUBE; }
+ YY_BREAK
+case 66:
+YY_RULE_SETUP
+{ context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; }
+ YY_BREAK
+case 67:
+YY_RULE_SETUP
+{ context->lexAfterType = true; return SAMPLER3D; }
+ YY_BREAK
+case 68:
+YY_RULE_SETUP
+{ return ES2_reserved_ES3_keyword(context, SAMPLER3DRECT); }
+ YY_BREAK
+case 69:
+YY_RULE_SETUP
+{ return ES2_identifier_ES3_keyword(context, SAMPLER2DARRAY); }
+ YY_BREAK
+case 70:
+YY_RULE_SETUP
+{ return ES2_identifier_ES3_keyword(context, ISAMPLER2D); }
+ YY_BREAK
+case 71:
+YY_RULE_SETUP
+{ return ES2_identifier_ES3_keyword(context, ISAMPLER3D); }
+ YY_BREAK
+case 72:
+YY_RULE_SETUP
+{ return ES2_identifier_ES3_keyword(context, ISAMPLERCUBE); }
+ YY_BREAK
+case 73:
+YY_RULE_SETUP
+{ return ES2_identifier_ES3_keyword(context, ISAMPLER2DARRAY); }
+ YY_BREAK
+case 74:
+YY_RULE_SETUP
+{ return ES2_identifier_ES3_keyword(context, USAMPLER2D); }
+ YY_BREAK
+case 75:
+YY_RULE_SETUP
+{ return ES2_identifier_ES3_keyword(context, USAMPLER3D); }
+ YY_BREAK
+case 76:
+YY_RULE_SETUP
+{ return ES2_identifier_ES3_keyword(context, USAMPLERCUBE); }
+ YY_BREAK
+case 77:
+YY_RULE_SETUP
+{ return ES2_identifier_ES3_keyword(context, USAMPLER2DARRAY); }
+ YY_BREAK
+case 78:
+YY_RULE_SETUP
+{ return ES2_reserved_ES3_keyword(context, SAMPLER2DSHADOW); }
+ YY_BREAK
+case 79:
+YY_RULE_SETUP
+{ return ES2_identifier_ES3_keyword(context, SAMPLERCUBESHADOW); }
+ YY_BREAK
+case 80:
+YY_RULE_SETUP
+{ return ES2_identifier_ES3_keyword(context, SAMPLER2DARRAYSHADOW); }
+ YY_BREAK
+case 81:
+YY_RULE_SETUP
+{ context->lexAfterType = true; return(STRUCT); }
+ YY_BREAK
+case 82:
+YY_RULE_SETUP
{ return ES2_identifier_ES3_keyword(context, LAYOUT); }
YY_BREAK
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
-case 63:
-case 64:
-case 65:
-case 66:
-case 67:
-case 68:
-case 69:
-case 70:
-case 71:
-case 72:
-case 73:
-case 74:
-case 75:
-case 76:
-case 77:
-case 78:
-case 79:
-case 80:
-case 81:
-case 82:
case 83:
case 84:
case 85:
@@ -1646,29 +1737,7 @@
case 116:
case 117:
case 118:
-YY_RULE_SETUP
-{
- if (context->shaderVersion < 300) {
- yylval->lex.string = NewPoolTString(yytext);
- return check_type(yyscanner);
- }
- return reserved_word(yyscanner);
-}
- YY_BREAK
-/* Reserved keywords in GLSL ES 1.00 that are not reserved in GLSL ES 3.00 */
case 119:
-YY_RULE_SETUP
-{
- if (context->shaderVersion >= 300)
- {
- yylval->lex.string = NewPoolTString(yytext);
- return check_type(yyscanner);
- }
-
- return reserved_word(yyscanner);
-}
- YY_BREAK
-/* Reserved keywords */
case 120:
case 121:
case 122:
@@ -1688,7 +1757,29 @@
case 136:
case 137:
case 138:
+YY_RULE_SETUP
+{
+ if (context->shaderVersion < 300) {
+ yylval->lex.string = NewPoolTString(yytext);
+ return check_type(yyscanner);
+ }
+ return reserved_word(yyscanner);
+}
+ YY_BREAK
+/* Reserved keywords in GLSL ES 1.00 that are not reserved in GLSL ES 3.00 */
case 139:
+YY_RULE_SETUP
+{
+ if (context->shaderVersion >= 300)
+ {
+ yylval->lex.string = NewPoolTString(yytext);
+ return check_type(yyscanner);
+ }
+
+ return reserved_word(yyscanner);
+}
+ YY_BREAK
+/* Reserved keywords */
case 140:
case 141:
case 142:
@@ -1711,250 +1802,270 @@
case 159:
case 160:
case 161:
+case 162:
+case 163:
+case 164:
+case 165:
+case 166:
+case 167:
+case 168:
+case 169:
+case 170:
+case 171:
+case 172:
+case 173:
+case 174:
+case 175:
+case 176:
+case 177:
+case 178:
+case 179:
+case 180:
+case 181:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
-case 162:
+case 182:
YY_RULE_SETUP
{
yylval->lex.string = NewPoolTString(yytext);
return check_type(yyscanner);
}
YY_BREAK
-case 163:
-YY_RULE_SETUP
-{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
- YY_BREAK
-case 164:
-YY_RULE_SETUP
-{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
- YY_BREAK
-case 165:
-YY_RULE_SETUP
-{ context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;}
- YY_BREAK
-case 166:
-YY_RULE_SETUP
-{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
- YY_BREAK
-case 167:
-YY_RULE_SETUP
-{ return uint_constant(context); }
- YY_BREAK
-case 168:
-YY_RULE_SETUP
-{ return uint_constant(context); }
- YY_BREAK
-case 169:
-YY_RULE_SETUP
-{ return uint_constant(context); }
- YY_BREAK
-case 170:
-YY_RULE_SETUP
-{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
- YY_BREAK
-case 171:
-YY_RULE_SETUP
-{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
- YY_BREAK
-case 172:
-YY_RULE_SETUP
-{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
- YY_BREAK
-case 173:
-YY_RULE_SETUP
-{ return(ADD_ASSIGN); }
- YY_BREAK
-case 174:
-YY_RULE_SETUP
-{ return(SUB_ASSIGN); }
- YY_BREAK
-case 175:
-YY_RULE_SETUP
-{ return(MUL_ASSIGN); }
- YY_BREAK
-case 176:
-YY_RULE_SETUP
-{ return(DIV_ASSIGN); }
- YY_BREAK
-case 177:
-YY_RULE_SETUP
-{ return(MOD_ASSIGN); }
- YY_BREAK
-case 178:
-YY_RULE_SETUP
-{ return(LEFT_ASSIGN); }
- YY_BREAK
-case 179:
-YY_RULE_SETUP
-{ return(RIGHT_ASSIGN); }
- YY_BREAK
-case 180:
-YY_RULE_SETUP
-{ return(AND_ASSIGN); }
- YY_BREAK
-case 181:
-YY_RULE_SETUP
-{ return(XOR_ASSIGN); }
- YY_BREAK
-case 182:
-YY_RULE_SETUP
-{ return(OR_ASSIGN); }
- YY_BREAK
case 183:
YY_RULE_SETUP
-{ return(INC_OP); }
+{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK
case 184:
YY_RULE_SETUP
-{ return(DEC_OP); }
+{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK
case 185:
YY_RULE_SETUP
-{ return(AND_OP); }
+{ context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;}
YY_BREAK
case 186:
YY_RULE_SETUP
-{ return(OR_OP); }
+{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK
case 187:
YY_RULE_SETUP
-{ return(XOR_OP); }
+{ return uint_constant(context); }
YY_BREAK
case 188:
YY_RULE_SETUP
-{ return(LE_OP); }
+{ return uint_constant(context); }
YY_BREAK
case 189:
YY_RULE_SETUP
-{ return(GE_OP); }
+{ return uint_constant(context); }
YY_BREAK
case 190:
YY_RULE_SETUP
-{ return(EQ_OP); }
+{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK
case 191:
YY_RULE_SETUP
-{ return(NE_OP); }
+{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK
case 192:
YY_RULE_SETUP
-{ return(LEFT_OP); }
+{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK
case 193:
YY_RULE_SETUP
-{ return(RIGHT_OP); }
+{ return(ADD_ASSIGN); }
YY_BREAK
case 194:
YY_RULE_SETUP
-{ context->lexAfterType = false; return(SEMICOLON); }
+{ return(SUB_ASSIGN); }
YY_BREAK
case 195:
YY_RULE_SETUP
-{ context->lexAfterType = false; return(LEFT_BRACE); }
+{ return(MUL_ASSIGN); }
YY_BREAK
case 196:
YY_RULE_SETUP
-{ return(RIGHT_BRACE); }
+{ return(DIV_ASSIGN); }
YY_BREAK
case 197:
YY_RULE_SETUP
-{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
+{ return(MOD_ASSIGN); }
YY_BREAK
case 198:
YY_RULE_SETUP
-{ return(COLON); }
+{ return(LEFT_ASSIGN); }
YY_BREAK
case 199:
YY_RULE_SETUP
-{ context->lexAfterType = false; return(EQUAL); }
+{ return(RIGHT_ASSIGN); }
YY_BREAK
case 200:
YY_RULE_SETUP
-{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
+{ return(AND_ASSIGN); }
YY_BREAK
case 201:
YY_RULE_SETUP
-{ context->inTypeParen = false; return(RIGHT_PAREN); }
+{ return(XOR_ASSIGN); }
YY_BREAK
case 202:
YY_RULE_SETUP
-{ return(LEFT_BRACKET); }
+{ return(OR_ASSIGN); }
YY_BREAK
case 203:
YY_RULE_SETUP
-{ return(RIGHT_BRACKET); }
+{ return(INC_OP); }
YY_BREAK
case 204:
YY_RULE_SETUP
-{ BEGIN(FIELDS); return(DOT); }
+{ return(DEC_OP); }
YY_BREAK
case 205:
YY_RULE_SETUP
-{ return(BANG); }
+{ return(AND_OP); }
YY_BREAK
case 206:
YY_RULE_SETUP
-{ return(DASH); }
+{ return(OR_OP); }
YY_BREAK
case 207:
YY_RULE_SETUP
-{ return(TILDE); }
+{ return(XOR_OP); }
YY_BREAK
case 208:
YY_RULE_SETUP
-{ return(PLUS); }
+{ return(LE_OP); }
YY_BREAK
case 209:
YY_RULE_SETUP
-{ return(STAR); }
+{ return(GE_OP); }
YY_BREAK
case 210:
YY_RULE_SETUP
-{ return(SLASH); }
+{ return(EQ_OP); }
YY_BREAK
case 211:
YY_RULE_SETUP
-{ return(PERCENT); }
+{ return(NE_OP); }
YY_BREAK
case 212:
YY_RULE_SETUP
-{ return(LEFT_ANGLE); }
+{ return(LEFT_OP); }
YY_BREAK
case 213:
YY_RULE_SETUP
-{ return(RIGHT_ANGLE); }
+{ return(RIGHT_OP); }
YY_BREAK
case 214:
YY_RULE_SETUP
-{ return(VERTICAL_BAR); }
+{ context->lexAfterType = false; return(SEMICOLON); }
YY_BREAK
case 215:
YY_RULE_SETUP
-{ return(CARET); }
+{ context->lexAfterType = false; return(LEFT_BRACE); }
YY_BREAK
case 216:
YY_RULE_SETUP
-{ return(AMPERSAND); }
+{ return(RIGHT_BRACE); }
YY_BREAK
case 217:
YY_RULE_SETUP
-{ return(QUESTION); }
+{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
YY_BREAK
case 218:
YY_RULE_SETUP
+{ return(COLON); }
+ YY_BREAK
+case 219:
+YY_RULE_SETUP
+{ context->lexAfterType = false; return(EQUAL); }
+ YY_BREAK
+case 220:
+YY_RULE_SETUP
+{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
+ YY_BREAK
+case 221:
+YY_RULE_SETUP
+{ context->inTypeParen = false; return(RIGHT_PAREN); }
+ YY_BREAK
+case 222:
+YY_RULE_SETUP
+{ return(LEFT_BRACKET); }
+ YY_BREAK
+case 223:
+YY_RULE_SETUP
+{ return(RIGHT_BRACKET); }
+ YY_BREAK
+case 224:
+YY_RULE_SETUP
+{ BEGIN(FIELDS); return(DOT); }
+ YY_BREAK
+case 225:
+YY_RULE_SETUP
+{ return(BANG); }
+ YY_BREAK
+case 226:
+YY_RULE_SETUP
+{ return(DASH); }
+ YY_BREAK
+case 227:
+YY_RULE_SETUP
+{ return(TILDE); }
+ YY_BREAK
+case 228:
+YY_RULE_SETUP
+{ return(PLUS); }
+ YY_BREAK
+case 229:
+YY_RULE_SETUP
+{ return(STAR); }
+ YY_BREAK
+case 230:
+YY_RULE_SETUP
+{ return(SLASH); }
+ YY_BREAK
+case 231:
+YY_RULE_SETUP
+{ return(PERCENT); }
+ YY_BREAK
+case 232:
+YY_RULE_SETUP
+{ return(LEFT_ANGLE); }
+ YY_BREAK
+case 233:
+YY_RULE_SETUP
+{ return(RIGHT_ANGLE); }
+ YY_BREAK
+case 234:
+YY_RULE_SETUP
+{ return(VERTICAL_BAR); }
+ YY_BREAK
+case 235:
+YY_RULE_SETUP
+{ return(CARET); }
+ YY_BREAK
+case 236:
+YY_RULE_SETUP
+{ return(AMPERSAND); }
+ YY_BREAK
+case 237:
+YY_RULE_SETUP
+{ return(QUESTION); }
+ YY_BREAK
+case 238:
+YY_RULE_SETUP
{
BEGIN(INITIAL);
yylval->lex.string = NewPoolTString(yytext);
return FIELD_SELECTION;
}
YY_BREAK
-case 219:
+case 239:
YY_RULE_SETUP
{}
YY_BREAK
-case 220:
-/* rule 220 can match eol */
+case 240:
+/* rule 240 can match eol */
YY_RULE_SETUP
{ }
YY_BREAK
@@ -1963,11 +2074,11 @@
case YY_STATE_EOF(FIELDS):
{ context->AfterEOF = true; yyterminate(); }
YY_BREAK
-case 221:
+case 241:
YY_RULE_SETUP
{ context->warning(yylineno, "Unknown char", yytext, ""); return 0; }
YY_BREAK
-case 222:
+case 242:
YY_RULE_SETUP
ECHO;
YY_BREAK
@@ -2263,7 +2374,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 >= 775 )
+ if ( yy_current_state >= 826 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2292,11 +2403,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 >= 775 )
+ if ( yy_current_state >= 826 )
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 == 774);
+ yy_is_jam = (yy_current_state == 825);
return yy_is_jam ? 0 : yy_current_state;
}
diff --git a/src/OpenGL/compiler/glslang_tab.cpp b/src/OpenGL/compiler/glslang_tab.cpp
index c79bf87..54ac7fe 100644
--- a/src/OpenGL/compiler/glslang_tab.cpp
+++ b/src/OpenGL/compiler/glslang_tab.cpp
@@ -69,7 +69,7 @@
//
-// Copyright (c) 2002-2013 The ANGLE Project Authors. All rights reserved.
+// Copyright (c) 2002-2015 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.
//
@@ -165,72 +165,89 @@
INOUT_QUAL = 297,
UNIFORM = 298,
VARYING = 299,
- CENTROID = 300,
- FLAT = 301,
- SMOOTH = 302,
- STRUCT = 303,
- VOID_TYPE = 304,
- WHILE = 305,
- SAMPLER2D = 306,
- SAMPLERCUBE = 307,
- SAMPLER_EXTERNAL_OES = 308,
- SAMPLER2DRECT = 309,
- SAMPLER3D = 310,
- SAMPLER3DRECT = 311,
- SAMPLER2DSHADOW = 312,
- LAYOUT = 313,
- IDENTIFIER = 314,
- TYPE_NAME = 315,
- FLOATCONSTANT = 316,
- INTCONSTANT = 317,
- UINTCONSTANT = 318,
- BOOLCONSTANT = 319,
- FIELD_SELECTION = 320,
- LEFT_OP = 321,
- RIGHT_OP = 322,
- INC_OP = 323,
- DEC_OP = 324,
- LE_OP = 325,
- GE_OP = 326,
- EQ_OP = 327,
- NE_OP = 328,
- AND_OP = 329,
- OR_OP = 330,
- XOR_OP = 331,
- MUL_ASSIGN = 332,
- DIV_ASSIGN = 333,
- ADD_ASSIGN = 334,
- MOD_ASSIGN = 335,
- LEFT_ASSIGN = 336,
- RIGHT_ASSIGN = 337,
- AND_ASSIGN = 338,
- XOR_ASSIGN = 339,
- OR_ASSIGN = 340,
- SUB_ASSIGN = 341,
- LEFT_PAREN = 342,
- RIGHT_PAREN = 343,
- LEFT_BRACKET = 344,
- RIGHT_BRACKET = 345,
- LEFT_BRACE = 346,
- RIGHT_BRACE = 347,
- DOT = 348,
- COMMA = 349,
- COLON = 350,
- EQUAL = 351,
- SEMICOLON = 352,
- BANG = 353,
- DASH = 354,
- TILDE = 355,
- PLUS = 356,
- STAR = 357,
- SLASH = 358,
- PERCENT = 359,
- LEFT_ANGLE = 360,
- RIGHT_ANGLE = 361,
- VERTICAL_BAR = 362,
- CARET = 363,
- AMPERSAND = 364,
- QUESTION = 365
+ MATRIX2x3 = 300,
+ MATRIX3x2 = 301,
+ MATRIX2x4 = 302,
+ MATRIX4x2 = 303,
+ MATRIX3x4 = 304,
+ MATRIX4x3 = 305,
+ CENTROID = 306,
+ FLAT = 307,
+ SMOOTH = 308,
+ STRUCT = 309,
+ VOID_TYPE = 310,
+ WHILE = 311,
+ SAMPLER2D = 312,
+ SAMPLERCUBE = 313,
+ SAMPLER_EXTERNAL_OES = 314,
+ SAMPLER2DRECT = 315,
+ SAMPLER2DARRAY = 316,
+ ISAMPLER2D = 317,
+ ISAMPLER3D = 318,
+ ISAMPLERCUBE = 319,
+ ISAMPLER2DARRAY = 320,
+ USAMPLER2D = 321,
+ USAMPLER3D = 322,
+ USAMPLERCUBE = 323,
+ USAMPLER2DARRAY = 324,
+ SAMPLER3D = 325,
+ SAMPLER3DRECT = 326,
+ SAMPLER2DSHADOW = 327,
+ SAMPLERCUBESHADOW = 328,
+ SAMPLER2DARRAYSHADOW = 329,
+ LAYOUT = 330,
+ IDENTIFIER = 331,
+ TYPE_NAME = 332,
+ FLOATCONSTANT = 333,
+ INTCONSTANT = 334,
+ UINTCONSTANT = 335,
+ BOOLCONSTANT = 336,
+ FIELD_SELECTION = 337,
+ LEFT_OP = 338,
+ RIGHT_OP = 339,
+ INC_OP = 340,
+ DEC_OP = 341,
+ LE_OP = 342,
+ GE_OP = 343,
+ EQ_OP = 344,
+ NE_OP = 345,
+ AND_OP = 346,
+ OR_OP = 347,
+ XOR_OP = 348,
+ MUL_ASSIGN = 349,
+ DIV_ASSIGN = 350,
+ ADD_ASSIGN = 351,
+ MOD_ASSIGN = 352,
+ LEFT_ASSIGN = 353,
+ RIGHT_ASSIGN = 354,
+ AND_ASSIGN = 355,
+ XOR_ASSIGN = 356,
+ OR_ASSIGN = 357,
+ SUB_ASSIGN = 358,
+ LEFT_PAREN = 359,
+ RIGHT_PAREN = 360,
+ LEFT_BRACKET = 361,
+ RIGHT_BRACKET = 362,
+ LEFT_BRACE = 363,
+ RIGHT_BRACE = 364,
+ DOT = 365,
+ COMMA = 366,
+ COLON = 367,
+ EQUAL = 368,
+ SEMICOLON = 369,
+ BANG = 370,
+ DASH = 371,
+ TILDE = 372,
+ PLUS = 373,
+ STAR = 374,
+ SLASH = 375,
+ PERCENT = 376,
+ LEFT_ANGLE = 377,
+ RIGHT_ANGLE = 378,
+ VERTICAL_BAR = 379,
+ CARET = 380,
+ AMPERSAND = 381,
+ QUESTION = 382
};
#endif
@@ -537,22 +554,22 @@
#endif
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 85
+#define YYFINAL 103
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1675
+#define YYLAST 2020
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 111
+#define YYNTOKENS 128
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 88
/* YYNRULES -- Number of rules. */
-#define YYNRULES 220
+#define YYNRULES 238
/* YYNRULES -- Number of states. */
-#define YYNSTATES 329
+#define YYNSTATES 347
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 365
+#define YYMAXUTOK 382
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -596,7 +613,9 @@
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127
};
#if YYDEBUG
@@ -619,109 +638,115 @@
348, 350, 352, 354, 359, 361, 365, 367, 371, 375,
377, 382, 384, 386, 388, 390, 392, 394, 396, 398,
400, 402, 404, 406, 408, 410, 412, 414, 416, 418,
- 420, 422, 424, 426, 428, 430, 432, 434, 435, 442,
- 443, 449, 451, 454, 458, 460, 464, 466, 471, 473,
- 475, 477, 479, 481, 483, 485, 487, 489, 492, 493,
- 494, 500, 502, 504, 505, 508, 509, 512, 515, 519,
- 521, 524, 526, 529, 535, 539, 541, 543, 548, 549,
- 556, 557, 566, 567, 575, 577, 579, 581, 582, 585,
- 589, 592, 595, 598, 602, 605, 607, 610, 612, 614,
- 615
+ 420, 422, 424, 426, 428, 430, 432, 434, 436, 438,
+ 440, 442, 444, 446, 448, 450, 452, 454, 456, 458,
+ 460, 462, 464, 466, 468, 470, 471, 478, 479, 485,
+ 487, 490, 494, 496, 500, 502, 507, 509, 511, 513,
+ 515, 517, 519, 521, 523, 525, 528, 529, 530, 536,
+ 538, 540, 541, 544, 545, 548, 551, 555, 557, 560,
+ 562, 565, 571, 575, 577, 579, 584, 585, 592, 593,
+ 602, 603, 611, 613, 615, 617, 618, 621, 625, 628,
+ 631, 634, 638, 641, 643, 646, 648, 650, 651
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 195, 0, -1, 59, -1, 112, -1, 62, -1, 63,
- -1, 61, -1, 64, -1, 87, 139, 88, -1, 113,
- -1, 114, 89, 115, 90, -1, 116, -1, 114, 93,
- 65, -1, 114, 68, -1, 114, 69, -1, 139, -1,
- 117, -1, 118, -1, 114, 93, 118, -1, 120, 88,
- -1, 119, 88, -1, 121, 49, -1, 121, -1, 121,
- 137, -1, 120, 94, 137, -1, 122, 87, -1, 162,
- -1, 59, -1, 65, -1, 114, -1, 68, 123, -1,
- 69, 123, -1, 124, 123, -1, 101, -1, 99, -1,
- 98, -1, 123, -1, 125, 102, 123, -1, 125, 103,
- 123, -1, 125, -1, 126, 101, 125, -1, 126, 99,
- 125, -1, 126, -1, 127, -1, 128, 105, 127, -1,
- 128, 106, 127, -1, 128, 70, 127, -1, 128, 71,
- 127, -1, 128, -1, 129, 72, 128, -1, 129, 73,
- 128, -1, 129, -1, 130, -1, 131, -1, 132, -1,
- 133, 74, 132, -1, 133, -1, 134, 76, 133, -1,
- 134, -1, 135, 75, 134, -1, 135, -1, 135, 110,
- 139, 95, 137, -1, 136, -1, 123, 138, 137, -1,
- 96, -1, 77, -1, 78, -1, 79, -1, 86, -1,
- 137, -1, 139, 94, 137, -1, 136, -1, 142, 97,
- -1, 150, 97, -1, 7, 157, 161, 97, -1, 143,
- 88, -1, 145, -1, 144, -1, 145, 147, -1, 144,
- 94, 147, -1, 152, 59, 87, -1, 156, 59, -1,
- 156, 59, 89, 140, 90, -1, 153, 148, 146, -1,
- 148, 146, -1, 153, 148, 149, -1, 148, 149, -1,
- -1, 40, -1, 41, -1, 42, -1, 156, -1, 151,
- -1, 150, 94, 59, -1, 150, 94, 59, 89, 90,
- -1, 150, 94, 59, 89, 140, 90, -1, 150, 94,
- 59, 96, 170, -1, 152, -1, 152, 59, -1, 152,
- 59, 89, 90, -1, 152, 59, 89, 140, 90, -1,
- 152, 59, 96, 170, -1, 3, 59, -1, 156, -1,
- 154, 156, -1, 9, -1, 8, -1, 44, -1, 3,
- 44, -1, 155, -1, 158, -1, 158, 155, -1, 9,
- -1, 40, -1, 41, -1, 45, 40, -1, 45, 41,
- -1, 43, -1, 161, -1, 157, 161, -1, 4, -1,
- 5, -1, 6, -1, 58, 87, 159, 88, -1, 160,
- -1, 159, 94, 160, -1, 59, -1, 59, 96, 62,
- -1, 59, 96, 63, -1, 162, -1, 162, 89, 140,
- 90, -1, 49, -1, 11, -1, 12, -1, 13, -1,
+ 212, 0, -1, 76, -1, 129, -1, 79, -1, 80,
+ -1, 78, -1, 81, -1, 104, 156, 105, -1, 130,
+ -1, 131, 106, 132, 107, -1, 133, -1, 131, 110,
+ 82, -1, 131, 85, -1, 131, 86, -1, 156, -1,
+ 134, -1, 135, -1, 131, 110, 135, -1, 137, 105,
+ -1, 136, 105, -1, 138, 55, -1, 138, -1, 138,
+ 154, -1, 137, 111, 154, -1, 139, 104, -1, 179,
+ -1, 76, -1, 82, -1, 131, -1, 85, 140, -1,
+ 86, 140, -1, 141, 140, -1, 118, -1, 116, -1,
+ 115, -1, 140, -1, 142, 119, 140, -1, 142, 120,
+ 140, -1, 142, -1, 143, 118, 142, -1, 143, 116,
+ 142, -1, 143, -1, 144, -1, 145, 122, 144, -1,
+ 145, 123, 144, -1, 145, 87, 144, -1, 145, 88,
+ 144, -1, 145, -1, 146, 89, 145, -1, 146, 90,
+ 145, -1, 146, -1, 147, -1, 148, -1, 149, -1,
+ 150, 91, 149, -1, 150, -1, 151, 93, 150, -1,
+ 151, -1, 152, 92, 151, -1, 152, -1, 152, 127,
+ 156, 112, 154, -1, 153, -1, 140, 155, 154, -1,
+ 113, -1, 94, -1, 95, -1, 96, -1, 103, -1,
+ 154, -1, 156, 111, 154, -1, 153, -1, 159, 114,
+ -1, 167, 114, -1, 7, 174, 178, 114, -1, 160,
+ 105, -1, 162, -1, 161, -1, 162, 164, -1, 161,
+ 111, 164, -1, 169, 76, 104, -1, 173, 76, -1,
+ 173, 76, 106, 157, 107, -1, 170, 165, 163, -1,
+ 165, 163, -1, 170, 165, 166, -1, 165, 166, -1,
+ -1, 40, -1, 41, -1, 42, -1, 173, -1, 168,
+ -1, 167, 111, 76, -1, 167, 111, 76, 106, 107,
+ -1, 167, 111, 76, 106, 157, 107, -1, 167, 111,
+ 76, 113, 187, -1, 169, -1, 169, 76, -1, 169,
+ 76, 106, 107, -1, 169, 76, 106, 157, 107, -1,
+ 169, 76, 113, 187, -1, 3, 76, -1, 173, -1,
+ 171, 173, -1, 9, -1, 8, -1, 44, -1, 3,
+ 44, -1, 172, -1, 175, -1, 175, 172, -1, 9,
+ -1, 40, -1, 41, -1, 51, 40, -1, 51, 41,
+ -1, 43, -1, 178, -1, 174, 178, -1, 4, -1,
+ 5, -1, 6, -1, 75, 104, 176, 105, -1, 177,
+ -1, 176, 111, 177, -1, 76, -1, 76, 113, 79,
+ -1, 76, 113, 80, -1, 179, -1, 179, 106, 157,
+ 107, -1, 55, -1, 11, -1, 12, -1, 13, -1,
10, -1, 31, -1, 32, -1, 33, -1, 25, -1,
26, -1, 27, -1, 28, -1, 29, -1, 30, -1,
34, -1, 35, -1, 36, -1, 37, -1, 38, -1,
- 39, -1, 51, -1, 52, -1, 53, -1, 55, -1,
- 163, -1, 60, -1, -1, 48, 59, 91, 164, 166,
- 92, -1, -1, 48, 91, 165, 166, 92, -1, 167,
- -1, 166, 167, -1, 156, 168, 97, -1, 169, -1,
- 168, 94, 169, -1, 59, -1, 59, 89, 140, 90,
- -1, 137, -1, 141, -1, 174, -1, 173, -1, 171,
- -1, 183, -1, 184, -1, 187, -1, 194, -1, 91,
- 92, -1, -1, -1, 91, 175, 182, 176, 92, -1,
- 181, -1, 173, -1, -1, 179, 181, -1, -1, 180,
- 173, -1, 91, 92, -1, 91, 182, 92, -1, 172,
- -1, 182, 172, -1, 97, -1, 139, 97, -1, 19,
- 87, 139, 88, 185, -1, 178, 17, 178, -1, 178,
- -1, 139, -1, 152, 59, 96, 170, -1, -1, 50,
- 87, 188, 186, 88, 177, -1, -1, 16, 189, 178,
- 50, 87, 139, 88, 97, -1, -1, 18, 87, 190,
- 191, 193, 88, 177, -1, 183, -1, 171, -1, 186,
- -1, -1, 192, 97, -1, 192, 97, 139, -1, 15,
- 97, -1, 14, 97, -1, 21, 97, -1, 21, 139,
- 97, -1, 20, 97, -1, 196, -1, 195, 196, -1,
- 197, -1, 141, -1, -1, 142, 198, 181, -1
+ 39, -1, 45, -1, 46, -1, 47, -1, 48, -1,
+ 49, -1, 50, -1, 57, -1, 58, -1, 59, -1,
+ 70, -1, 61, -1, 62, -1, 63, -1, 64, -1,
+ 65, -1, 66, -1, 67, -1, 68, -1, 69, -1,
+ 72, -1, 73, -1, 74, -1, 180, -1, 77, -1,
+ -1, 54, 76, 108, 181, 183, 109, -1, -1, 54,
+ 108, 182, 183, 109, -1, 184, -1, 183, 184, -1,
+ 173, 185, 114, -1, 186, -1, 185, 111, 186, -1,
+ 76, -1, 76, 106, 157, 107, -1, 154, -1, 158,
+ -1, 191, -1, 190, -1, 188, -1, 200, -1, 201,
+ -1, 204, -1, 211, -1, 108, 109, -1, -1, -1,
+ 108, 192, 199, 193, 109, -1, 198, -1, 190, -1,
+ -1, 196, 198, -1, -1, 197, 190, -1, 108, 109,
+ -1, 108, 199, 109, -1, 189, -1, 199, 189, -1,
+ 114, -1, 156, 114, -1, 19, 104, 156, 105, 202,
+ -1, 195, 17, 195, -1, 195, -1, 156, -1, 169,
+ 76, 113, 187, -1, -1, 56, 104, 205, 203, 105,
+ 194, -1, -1, 16, 206, 195, 56, 104, 156, 105,
+ 114, -1, -1, 18, 104, 207, 208, 210, 105, 194,
+ -1, 200, -1, 188, -1, 203, -1, -1, 209, 114,
+ -1, 209, 114, 156, -1, 15, 114, -1, 14, 114,
+ -1, 21, 114, -1, 21, 156, 114, -1, 20, 114,
+ -1, 213, -1, 212, 213, -1, 214, -1, 158, -1,
+ -1, 159, 215, 198, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 187, 187, 222, 225, 230, 235, 240, 245, 251,
- 254, 333, 336, 437, 447, 460, 468, 568, 571, 579,
- 583, 590, 594, 601, 607, 616, 624, 679, 686, 696,
- 699, 709, 719, 740, 741, 742, 747, 748, 757, 769,
- 770, 778, 789, 793, 794, 804, 814, 824, 837, 838,
- 848, 861, 865, 869, 873, 874, 887, 888, 901, 902,
- 915, 916, 933, 934, 947, 948, 949, 950, 951, 955,
- 958, 969, 977, 1004, 1009, 1019, 1057, 1060, 1067, 1075,
- 1096, 1117, 1128, 1157, 1162, 1172, 1177, 1187, 1190, 1193,
- 1196, 1202, 1209, 1212, 1234, 1252, 1276, 1299, 1303, 1321,
- 1329, 1361, 1381, 1469, 1478, 1501, 1507, 1514, 1523, 1532,
- 1535, 1539, 1546, 1550, 1555, 1560, 1566, 1572, 1581, 1591,
- 1598, 1601, 1604, 1610, 1617, 1620, 1626, 1629, 1632, 1638,
- 1641, 1656, 1660, 1664, 1668, 1672, 1676, 1681, 1686, 1691,
- 1696, 1701, 1706, 1711, 1716, 1721, 1726, 1731, 1736, 1742,
- 1748, 1754, 1759, 1764, 1773, 1778, 1783, 1796, 1796, 1810,
- 1810, 1819, 1822, 1837, 1869, 1873, 1879, 1887, 1903, 1907,
- 1911, 1912, 1918, 1919, 1920, 1921, 1922, 1926, 1927, 1927,
- 1927, 1937, 1938, 1942, 1942, 1943, 1943, 1948, 1951, 1961,
- 1964, 1970, 1971, 1975, 1983, 1987, 1997, 2002, 2019, 2019,
- 2024, 2024, 2031, 2031, 2039, 2042, 2048, 2051, 2057, 2061,
- 2068, 2075, 2082, 2089, 2100, 2109, 2113, 2120, 2123, 2129,
- 2129
+ 0, 190, 190, 225, 228, 233, 238, 243, 248, 254,
+ 257, 336, 339, 440, 450, 463, 471, 571, 574, 582,
+ 586, 593, 597, 604, 610, 619, 627, 696, 703, 713,
+ 716, 726, 736, 757, 758, 759, 764, 765, 774, 786,
+ 787, 795, 806, 810, 811, 821, 831, 841, 854, 855,
+ 865, 878, 882, 886, 890, 891, 904, 905, 918, 919,
+ 932, 933, 950, 951, 964, 965, 966, 967, 968, 972,
+ 975, 986, 994, 1021, 1026, 1036, 1074, 1077, 1084, 1092,
+ 1113, 1134, 1145, 1174, 1179, 1189, 1194, 1204, 1207, 1210,
+ 1213, 1219, 1226, 1229, 1251, 1269, 1293, 1316, 1320, 1338,
+ 1346, 1378, 1398, 1486, 1495, 1518, 1524, 1531, 1540, 1549,
+ 1552, 1556, 1563, 1567, 1572, 1577, 1583, 1589, 1598, 1608,
+ 1615, 1618, 1621, 1627, 1634, 1637, 1643, 1646, 1649, 1655,
+ 1658, 1673, 1677, 1681, 1685, 1689, 1693, 1698, 1703, 1708,
+ 1713, 1718, 1723, 1728, 1733, 1738, 1743, 1748, 1753, 1759,
+ 1765, 1771, 1777, 1783, 1789, 1795, 1801, 1807, 1812, 1817,
+ 1826, 1831, 1836, 1841, 1846, 1851, 1856, 1861, 1866, 1871,
+ 1876, 1881, 1886, 1891, 1896, 1909, 1909, 1923, 1923, 1932,
+ 1935, 1950, 1982, 1986, 1992, 2000, 2016, 2020, 2024, 2025,
+ 2031, 2032, 2033, 2034, 2035, 2039, 2040, 2040, 2040, 2050,
+ 2051, 2055, 2055, 2056, 2056, 2061, 2064, 2074, 2077, 2083,
+ 2084, 2088, 2096, 2100, 2110, 2115, 2132, 2132, 2137, 2137,
+ 2144, 2144, 2152, 2155, 2161, 2164, 2170, 2174, 2181, 2188,
+ 2195, 2202, 2213, 2222, 2226, 2233, 2236, 2242, 2242
};
#endif
@@ -737,15 +762,19 @@
"SWITCH", "CASE", "DEFAULT", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3",
"IVEC4", "VEC2", "VEC3", "VEC4", "UVEC2", "UVEC3", "UVEC4", "MATRIX2",
"MATRIX3", "MATRIX4", "IN_QUAL", "OUT_QUAL", "INOUT_QUAL", "UNIFORM",
- "VARYING", "CENTROID", "FLAT", "SMOOTH", "STRUCT", "VOID_TYPE", "WHILE",
- "SAMPLER2D", "SAMPLERCUBE", "SAMPLER_EXTERNAL_OES", "SAMPLER2DRECT",
- "SAMPLER3D", "SAMPLER3DRECT", "SAMPLER2DSHADOW", "LAYOUT", "IDENTIFIER",
- "TYPE_NAME", "FLOATCONSTANT", "INTCONSTANT", "UINTCONSTANT",
- "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",
+ "VARYING", "MATRIX2x3", "MATRIX3x2", "MATRIX2x4", "MATRIX4x2",
+ "MATRIX3x4", "MATRIX4x3", "CENTROID", "FLAT", "SMOOTH", "STRUCT",
+ "VOID_TYPE", "WHILE", "SAMPLER2D", "SAMPLERCUBE", "SAMPLER_EXTERNAL_OES",
+ "SAMPLER2DRECT", "SAMPLER2DARRAY", "ISAMPLER2D", "ISAMPLER3D",
+ "ISAMPLERCUBE", "ISAMPLER2DARRAY", "USAMPLER2D", "USAMPLER3D",
+ "USAMPLERCUBE", "USAMPLER2DARRAY", "SAMPLER3D", "SAMPLER3DRECT",
+ "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW", "SAMPLER2DARRAYSHADOW", "LAYOUT",
+ "IDENTIFIER", "TYPE_NAME", "FLOATCONSTANT", "INTCONSTANT",
+ "UINTCONSTANT", "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",
@@ -799,36 +828,38 @@
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 382
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 111, 112, 113, 113, 113, 113, 113, 113, 114,
- 114, 114, 114, 114, 114, 115, 116, 117, 117, 118,
- 118, 119, 119, 120, 120, 121, 122, 122, 122, 123,
- 123, 123, 123, 124, 124, 124, 125, 125, 125, 126,
- 126, 126, 127, 128, 128, 128, 128, 128, 129, 129,
- 129, 130, 131, 132, 133, 133, 134, 134, 135, 135,
- 136, 136, 137, 137, 138, 138, 138, 138, 138, 139,
- 139, 140, 141, 141, 141, 142, 143, 143, 144, 144,
- 145, 146, 146, 147, 147, 147, 147, 148, 148, 148,
- 148, 149, 150, 150, 150, 150, 150, 151, 151, 151,
- 151, 151, 151, 152, 152, 153, 154, 154, 154, 154,
- 154, 154, 155, 155, 155, 155, 155, 155, 156, 156,
- 157, 157, 157, 158, 159, 159, 160, 160, 160, 161,
- 161, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 164, 163, 165,
- 163, 166, 166, 167, 168, 168, 169, 169, 170, 171,
- 172, 172, 173, 173, 173, 173, 173, 174, 175, 176,
- 174, 177, 177, 179, 178, 180, 178, 181, 181, 182,
- 182, 183, 183, 184, 185, 185, 186, 186, 188, 187,
- 189, 187, 190, 187, 191, 191, 192, 192, 193, 193,
- 194, 194, 194, 194, 194, 195, 195, 196, 196, 198,
- 197
+ 0, 128, 129, 130, 130, 130, 130, 130, 130, 131,
+ 131, 131, 131, 131, 131, 132, 133, 134, 134, 135,
+ 135, 136, 136, 137, 137, 138, 139, 139, 139, 140,
+ 140, 140, 140, 141, 141, 141, 142, 142, 142, 143,
+ 143, 143, 144, 145, 145, 145, 145, 145, 146, 146,
+ 146, 147, 148, 149, 150, 150, 151, 151, 152, 152,
+ 153, 153, 154, 154, 155, 155, 155, 155, 155, 156,
+ 156, 157, 158, 158, 158, 159, 160, 160, 161, 161,
+ 162, 163, 163, 164, 164, 164, 164, 165, 165, 165,
+ 165, 166, 167, 167, 167, 167, 167, 168, 168, 168,
+ 168, 168, 168, 169, 169, 170, 171, 171, 171, 171,
+ 171, 171, 172, 172, 172, 172, 172, 172, 173, 173,
+ 174, 174, 174, 175, 176, 176, 177, 177, 177, 178,
+ 178, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 181, 180, 182, 180, 183,
+ 183, 184, 185, 185, 186, 186, 187, 188, 189, 189,
+ 190, 190, 190, 190, 190, 191, 192, 193, 191, 194,
+ 194, 196, 195, 197, 195, 198, 198, 199, 199, 200,
+ 200, 201, 202, 202, 203, 203, 205, 204, 206, 204,
+ 207, 204, 208, 208, 209, 209, 210, 210, 211, 211,
+ 211, 211, 211, 212, 212, 213, 213, 215, 214
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -849,14 +880,15 @@
1, 1, 1, 4, 1, 3, 1, 3, 3, 1,
4, 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, 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, 0, 2, 0, 2, 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, 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, 0, 2, 0, 2, 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
@@ -867,453 +899,527 @@
0, 0, 120, 121, 122, 0, 106, 112, 135, 132,
133, 134, 139, 140, 141, 142, 143, 144, 136, 137,
138, 145, 146, 147, 148, 149, 150, 113, 114, 117,
- 107, 0, 0, 131, 151, 152, 153, 154, 0, 156,
- 218, 219, 0, 77, 87, 0, 92, 97, 0, 109,
- 103, 0, 110, 118, 129, 155, 0, 215, 217, 108,
- 102, 0, 115, 116, 0, 159, 0, 72, 0, 75,
- 87, 105, 88, 89, 90, 78, 0, 87, 0, 73,
- 98, 104, 119, 111, 0, 1, 216, 0, 157, 0,
- 126, 0, 124, 0, 220, 79, 84, 86, 91, 0,
- 93, 80, 0, 0, 2, 6, 4, 5, 7, 28,
- 0, 0, 0, 35, 34, 33, 3, 9, 29, 11,
- 16, 17, 0, 0, 22, 0, 36, 0, 39, 42,
- 43, 48, 51, 52, 53, 54, 56, 58, 60, 71,
- 0, 26, 74, 0, 0, 0, 161, 0, 123, 0,
- 0, 0, 200, 0, 0, 0, 0, 0, 178, 187,
- 191, 36, 62, 69, 0, 169, 0, 129, 172, 189,
- 171, 170, 0, 173, 174, 175, 176, 81, 83, 85,
- 0, 0, 99, 0, 168, 101, 30, 31, 0, 13,
- 14, 0, 0, 20, 19, 0, 21, 23, 25, 32,
+ 107, 151, 152, 153, 154, 155, 156, 0, 0, 131,
+ 157, 158, 159, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 160, 170, 171, 172, 0, 174, 236, 237,
+ 0, 77, 87, 0, 92, 97, 0, 109, 103, 0,
+ 110, 118, 129, 173, 0, 233, 235, 108, 102, 0,
+ 115, 116, 0, 177, 0, 72, 0, 75, 87, 105,
+ 88, 89, 90, 78, 0, 87, 0, 73, 98, 104,
+ 119, 111, 0, 1, 234, 0, 175, 0, 126, 0,
+ 124, 0, 238, 79, 84, 86, 91, 0, 93, 80,
+ 0, 0, 2, 6, 4, 5, 7, 28, 0, 0,
+ 0, 35, 34, 33, 3, 9, 29, 11, 16, 17,
+ 0, 0, 22, 0, 36, 0, 39, 42, 43, 48,
+ 51, 52, 53, 54, 56, 58, 60, 71, 0, 26,
+ 74, 0, 0, 0, 179, 0, 123, 0, 0, 0,
+ 218, 0, 0, 0, 0, 0, 196, 205, 209, 36,
+ 62, 69, 0, 187, 0, 129, 190, 207, 189, 188,
+ 0, 191, 192, 193, 194, 81, 83, 85, 0, 0,
+ 99, 0, 186, 101, 30, 31, 0, 13, 14, 0,
+ 0, 20, 19, 0, 21, 23, 25, 32, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 130, 0, 166, 0, 164, 160,
- 162, 127, 128, 125, 211, 210, 185, 202, 0, 214,
- 212, 0, 198, 177, 0, 65, 66, 67, 68, 64,
- 0, 0, 192, 188, 190, 0, 94, 0, 96, 100,
- 8, 0, 15, 27, 12, 18, 24, 37, 38, 41,
- 40, 46, 47, 44, 45, 49, 50, 55, 57, 59,
- 0, 158, 0, 0, 163, 0, 0, 0, 0, 0,
- 213, 0, 179, 63, 70, 0, 95, 10, 0, 0,
- 165, 0, 184, 186, 205, 204, 207, 185, 0, 196,
- 0, 0, 0, 82, 61, 167, 0, 206, 0, 0,
- 195, 193, 0, 0, 180, 0, 208, 0, 185, 0,
- 182, 199, 181, 0, 209, 203, 194, 197, 201
+ 0, 0, 130, 0, 184, 0, 182, 178, 180, 127,
+ 128, 125, 229, 228, 203, 220, 0, 232, 230, 0,
+ 216, 195, 0, 65, 66, 67, 68, 64, 0, 0,
+ 210, 206, 208, 0, 94, 0, 96, 100, 8, 0,
+ 15, 27, 12, 18, 24, 37, 38, 41, 40, 46,
+ 47, 44, 45, 49, 50, 55, 57, 59, 0, 176,
+ 0, 0, 181, 0, 0, 0, 0, 0, 231, 0,
+ 197, 63, 70, 0, 95, 10, 0, 0, 183, 0,
+ 202, 204, 223, 222, 225, 203, 0, 214, 0, 0,
+ 0, 82, 61, 185, 0, 224, 0, 0, 213, 211,
+ 0, 0, 198, 0, 226, 0, 203, 0, 200, 217,
+ 199, 0, 227, 221, 212, 215, 219
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 116, 117, 118, 251, 119, 120, 121, 122, 123,
- 124, 125, 161, 127, 128, 129, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, 162, 163, 240, 164, 140,
- 165, 166, 42, 43, 44, 96, 75, 76, 97, 45,
- 46, 47, 77, 48, 49, 50, 51, 52, 91, 92,
- 53, 141, 55, 143, 89, 145, 146, 217, 218, 185,
- 168, 169, 170, 171, 234, 302, 321, 275, 276, 277,
- 322, 172, 173, 174, 311, 301, 175, 281, 226, 278,
- 296, 308, 309, 176, 56, 57, 58, 68
+ -1, 134, 135, 136, 269, 137, 138, 139, 140, 141,
+ 142, 143, 179, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 180, 181, 258, 182, 158,
+ 183, 184, 60, 61, 62, 114, 93, 94, 115, 63,
+ 64, 65, 95, 66, 67, 68, 69, 70, 109, 110,
+ 71, 159, 73, 161, 107, 163, 164, 235, 236, 203,
+ 186, 187, 188, 189, 252, 320, 339, 293, 294, 295,
+ 340, 190, 191, 192, 329, 319, 193, 299, 244, 296,
+ 314, 326, 327, 194, 74, 75, 76, 86
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -282
+#define YYPACT_NINF -298
static const yytype_int16 yypact[] =
{
- 1461, -26, -282, -282, -282, 67, -282, -282, -282, -282,
- -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
- -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
- -282, 76, -44, -282, -282, -282, -282, -282, 1, -282,
- -282, -5, 7, -32, -2, -39, -282, 50, 1518, -282,
- -282, 1615, 34, -282, 14, -282, 1403, -282, -282, -282,
- -282, 1615, -282, -282, 51, -282, 85, -282, 73, -282,
- 56, -282, -282, -282, -282, -282, 1518, 113, 88, -282,
- 15, -282, -282, -282, 1127, -282, -282, 71, -282, 1518,
- 75, -62, -282, 315, -282, -282, -282, -282, 110, 1518,
- -68, -282, 211, 1127, 87, -282, -282, -282, -282, -282,
- 1127, 1127, 1127, -282, -282, -282, -282, -282, -23, -282,
- -282, -282, 89, -25, 1205, 91, -282, 1127, 21, -70,
- -282, -46, 84, -282, -282, -282, 102, 103, -61, -282,
- 92, -282, -282, 1518, 122, 1283, -282, 96, -282, 85,
- 86, 94, -282, 97, 98, 99, 968, 101, 106, -282,
- -282, 5, -282, -282, -7, -282, -5, -45, -282, -282,
- -282, -282, 414, -282, -282, -282, -282, 100, -282, -282,
- 1046, 1127, -282, 104, -282, -282, -282, -282, 18, -282,
- -282, 1127, 1564, -282, -282, 1127, 108, -282, -282, -282,
- 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
- 1127, 1127, 1127, 1127, -282, 1335, 112, 24, -282, -282,
- -282, -282, -282, -282, -282, -282, 95, -282, 1127, -282,
- -282, 44, -282, -282, 513, -282, -282, -282, -282, -282,
- 1127, 1127, -282, -282, -282, 1127, -282, 109, -282, -282,
- -282, 114, 111, -282, 115, -282, -282, -282, -282, 21,
- 21, -282, -282, -282, -282, -46, -46, -282, 102, 103,
- 66, -282, 1127, 122, -282, 143, 73, 711, 810, 25,
- -282, 890, 513, -282, -282, 116, -282, -282, 1127, 117,
- -282, 121, -282, -282, -282, -282, 890, 95, 159, 111,
- 152, 124, 125, -282, -282, -282, 1127, -282, 119, 126,
- 196, -282, 123, 612, -282, 26, 1127, 612, 95, 1127,
- -282, -282, -282, 128, 111, -282, -282, -282, -282
+ 1733, -11, -298, -298, -298, 115, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, 109, -38, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -84, -298, -298, -86,
+ -63, -55, 4, -74, -298, 17, 1807, -298, -298, 1943,
+ 7, -298, -30, -298, 1658, -298, -298, -298, -298, 1943,
+ -298, -298, 30, -298, 67, -298, 54, -298, 22, -298,
+ -298, -298, -298, -298, 1807, 105, 88, -298, -15, -298,
+ -298, -298, 1298, -298, -298, 57, -298, 1807, 55, -90,
+ -298, 333, -298, -298, -298, -298, 96, 1807, -72, -298,
+ 212, 1298, 69, -298, -298, -298, -298, -298, 1298, 1298,
+ 1298, -298, -298, -298, -298, -298, -18, -298, -298, -298,
+ 72, -82, 1393, 70, -298, 1298, 32, 6, -298, -62,
+ 64, -298, -298, -298, 87, 86, -78, -298, 73, -298,
+ -298, 1807, 106, 1488, -298, 76, -298, 67, 71, 75,
+ -298, 77, 79, 80, 1105, 82, 78, -298, -298, -23,
+ -298, -298, -57, -298, -86, -3, -298, -298, -298, -298,
+ 449, -298, -298, -298, -298, 89, -298, -298, 1200, 1298,
+ -298, 91, -298, -298, -298, -298, -9, -298, -298, 1298,
+ 1875, -298, -298, 1298, 92, -298, -298, -298, 1298, 1298,
+ 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298,
+ 1298, 1298, -298, 1573, 93, -36, -298, -298, -298, -298,
+ -298, -298, -298, -298, 85, -298, 1298, -298, -298, 28,
+ -298, -298, 565, -298, -298, -298, -298, -298, 1298, 1298,
+ -298, -298, -298, 1298, -298, 95, -298, -298, -298, 97,
+ 94, -298, 99, -298, -298, -298, -298, 32, 32, -298,
+ -298, -298, -298, -62, -62, -298, 87, 86, 46, -298,
+ 1298, 106, -298, 128, 54, 797, 913, -1, -298, 1010,
+ 565, -298, -298, 100, -298, -298, 1298, 101, -298, 102,
+ -298, -298, -298, -298, 1010, 85, 156, 94, 134, 107,
+ 104, -298, -298, -298, 1298, -298, 103, 110, 197, -298,
+ 108, 681, -298, 1, 1298, 681, 85, 1298, -298, -298,
+ -298, 112, 94, -298, -298, -298, -298
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -282, -282, -282, -282, -282, -282, -282, 28, -282, -282,
- -282, -282, -75, -282, -40, -282, -55, -42, -282, -282,
- -282, 16, 17, 19, -282, -80, -101, -282, -106, -99,
- 11, 12, -282, -282, -282, 130, 157, 153, 133, -282,
- -282, -262, -282, -282, 181, -35, 230, -282, -282, 105,
- -31, 0, -282, -282, -282, 118, -137, -282, -22, -171,
- -21, -167, -260, -282, -282, -282, -65, -281, -282, -282,
- -67, 22, -20, -282, -282, -43, -282, -282, -282, -282,
- -282, -282, -282, -282, -282, 199, -282, -282
+ -298, -298, -298, -298, -298, -298, -298, 18, -298, -298,
+ -298, -298, -93, -298, -61, -298, -109, -60, -298, -298,
+ -298, -12, -2, -10, -298, -98, -118, -298, -123, -115,
+ 10, 11, -298, -298, -298, 113, 130, 136, 117, -298,
+ -298, -282, -298, -298, 159, -64, 227, -298, -298, 68,
+ 8, 0, -298, -298, -298, 111, -151, -298, -37, -193,
+ -43, -182, -276, -298, -298, -298, -99, -297, -298, -298,
+ -85, 3, -40, -298, -298, -51, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, 190, -298, -298
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -184
+#define YYTABLE_NINF -202
static const yytype_int16 yytable[] =
{
- 54, 94, 184, 183, 139, 244, 188, 71, 220, 126,
- 248, 40, 41, 81, 212, 64, 310, 293, 59, 300,
- 82, 180, 139, 197, 204, 205, 148, 126, 181, 202,
- 87, 203, 149, 60, 300, 186, 187, 326, 72, 73,
- 74, 98, -26, 7, 84, 189, 190, 65, 54, 213,
- 231, 54, 199, 320, 144, 78, 54, 320, 79, 206,
- 207, 54, 70, 194, 98, 71, 191, 40, 41, 195,
- 192, 2, 3, 4, 27, 28, 54, 29, 220, 31,
- 184, 247, 235, 236, 237, 252, -76, 241, 66, 54,
- 242, 238, 67, 167, 256, 69, 72, 73, 74, 54,
- 139, 239, 101, 84, 102, 126, 250, 270, 144, 80,
- 144, 103, 241, 297, 323, 244, 62, 63, 273, 241,
- 241, 274, 279, 200, 201, 257, 258, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 241, 283,
- 284, 280, 88, 54, 90, 54, 285, 100, 327, 261,
- 262, 263, 264, 72, 73, 74, 208, 209, 221, 222,
- 241, 288, 259, 260, 93, 139, 265, 266, 142, 177,
- 126, 147, 167, 289, -27, 299, 210, 193, 198, 211,
- 144, 216, 214, 224, 227, 228, -183, 304, 232, 245,
- 299, 225, 139, 291, 249, -131, 229, 126, 233, 286,
- 315, 272, -28, 59, 287, 241, 303, 305, 306, 292,
- 324, 312, 313, 318, 317, 54, 316, 314, 184, 319,
- 255, 8, 9, 10, 11, 328, 267, 95, 268, 178,
- 99, 269, 179, 83, 167, 61, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 290, 325, 307, 223, 86, 282, 294, 295, 32,
- 33, 215, 34, 35, 36, 0, 37, 0, 0, 0,
- 104, 39, 105, 106, 107, 108, 109, 167, 167, 110,
- 111, 167, 167, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 167, 0, 112, 0,
- 0, 182, 0, 0, 0, 0, 0, 0, 0, 113,
- 114, 0, 115, 167, 0, 0, 0, 167, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 150,
- 151, 152, 0, 153, 154, 155, 156, 0, 0, 0,
+ 72, 112, 99, 202, 157, 201, 266, 206, 262, 144,
+ 58, 59, 238, 89, 230, 166, 7, 318, 328, 311,
+ 84, 167, 157, 212, 215, 222, 223, 144, 85, 213,
+ 116, 89, 318, 77, 198, 204, 205, 96, 82, 344,
+ 97, 199, 87, 162, 90, 91, 92, 27, 28, 231,
+ 29, 249, 217, 116, 259, 338, 88, 260, 37, 338,
+ 224, 225, 90, 91, 92, 78, 72, 207, 208, 72,
+ 83, 253, 254, 255, 72, 291, 102, 100, 292, 72,
+ 256, 202, 238, 265, 58, 59, 270, 105, 209, 119,
+ 257, 120, 210, 98, 72, 274, 268, 162, 121, 162,
+ 157, -26, 259, 102, 315, 144, 341, 72, 288, -76,
+ 259, 185, 259, 279, 280, 281, 282, 72, 262, 2,
+ 3, 4, 220, 297, 221, 275, 276, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144, 106, 259,
+ 301, 302, 298, 108, 345, 90, 91, 92, 303, 80,
+ 81, 218, 219, 226, 227, 239, 240, 259, 306, 277,
+ 278, 72, 111, 72, 118, 157, 283, 284, 165, 162,
+ 144, 160, 195, -27, 216, 307, 317, 211, 228, 229,
+ 232, 245, 234, 246, 309, 242, 250, 251, 322, 243,
+ 185, 317, 157, -201, 247, 263, -131, 144, 267, 290,
+ 77, 333, 304, -28, 305, 259, 324, 321, 323, 310,
+ 330, 342, 331, 332, 336, 335, 285, 334, 113, 202,
+ 287, 337, 8, 9, 10, 11, 346, 286, 273, 101,
+ 196, 117, 79, 72, 197, 241, 343, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 185, 312, 308, 300, 313, 31, 32, 33,
+ 34, 35, 36, 325, 104, 0, 38, 39, 0, 40,
+ 41, 42, 233, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 0, 53, 54, 55, 0, 122, 57,
+ 123, 124, 125, 126, 127, 185, 185, 128, 129, 185,
+ 185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 185, 0, 130, 0, 0, 200,
+ 0, 0, 0, 0, 0, 0, 0, 131, 132, 0,
+ 133, 185, 0, 0, 0, 185, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 168, 169, 170,
+ 0, 171, 172, 173, 174, 0, 0, 0, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 0, 0, 38, 39, 175,
+ 40, 41, 42, 0, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 0, 53, 54, 55, 56, 122,
+ 57, 123, 124, 125, 126, 127, 0, 0, 128, 129,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 130, 0, 0,
+ 0, 176, 177, 0, 0, 0, 0, 178, 131, 132,
+ 0, 133, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 168, 169, 170, 0, 171, 172, 173,
+ 174, 0, 0, 0, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 0, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 0, 0, 38, 39, 175, 40, 41, 42, 0,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 0, 53, 54, 55, 56, 122, 57, 123, 124, 125,
+ 126, 127, 0, 0, 128, 129, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 130, 0, 0, 0, 176, 261, 0,
+ 0, 0, 0, 178, 131, 132, 0, 133, 1, 2,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 168,
+ 169, 170, 0, 171, 172, 173, 174, 0, 0, 0,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 0, 29, 30,
- 31, 0, 0, 32, 33, 157, 34, 35, 36, 0,
- 37, 0, 0, 38, 104, 39, 105, 106, 107, 108,
- 109, 0, 0, 110, 111, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 112, 0, 0, 0, 158, 159, 0, 0,
- 0, 0, 160, 113, 114, 0, 115, 1, 2, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 150, 151,
- 152, 0, 153, 154, 155, 156, 0, 0, 0, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 0, 0, 32, 33, 157, 34, 35, 36, 0, 37,
- 0, 0, 38, 104, 39, 105, 106, 107, 108, 109,
- 0, 0, 110, 111, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 112, 0, 0, 0, 158, 243, 0, 0, 0,
- 0, 160, 113, 114, 0, 115, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 150, 151, 152,
- 0, 153, 154, 155, 156, 0, 0, 0, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
- 0, 32, 33, 157, 34, 35, 36, 0, 37, 0,
- 0, 38, 104, 39, 105, 106, 107, 108, 109, 0,
- 0, 110, 111, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 112, 0, 0, 0, 158, 0, 0, 0, 0, 0,
- 160, 113, 114, 0, 115, 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 150, 151, 152, 0,
- 153, 154, 155, 156, 0, 0, 0, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 0, 29, 30, 31, 0, 0,
- 32, 33, 157, 34, 35, 36, 0, 37, 0, 0,
- 38, 104, 39, 105, 106, 107, 108, 109, 0, 0,
- 110, 111, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 112,
- 0, 0, 0, 93, 0, 0, 0, 0, 0, 160,
- 113, 114, 0, 115, 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 150, 151, 152, 0, 153,
- 154, 155, 156, 0, 0, 0, 12, 13, 14, 15,
+ 31, 32, 33, 34, 35, 36, 37, 0, 0, 38,
+ 39, 175, 40, 41, 42, 0, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 0, 53, 54, 55,
+ 56, 122, 57, 123, 124, 125, 126, 127, 0, 0,
+ 128, 129, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 130,
+ 0, 0, 0, 176, 0, 0, 0, 0, 0, 178,
+ 131, 132, 0, 133, 1, 2, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 168, 169, 170, 0, 171,
+ 172, 173, 174, 0, 0, 0, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 0, 29, 30, 31, 0, 0, 32,
- 33, 157, 34, 35, 36, 0, 37, 0, 0, 38,
- 104, 39, 105, 106, 107, 108, 109, 0, 0, 110,
- 111, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 112, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 160, 113,
- 114, 0, 115, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 0, 29, 30, 31, 0, 0, 32, 33,
- 0, 34, 35, 36, 0, 37, 0, 0, 38, 104,
- 39, 105, 106, 107, 108, 109, 0, 0, 110, 111,
+ 26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 0, 0, 38, 39, 175, 40, 41,
+ 42, 0, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 0, 53, 54, 55, 56, 122, 57, 123,
+ 124, 125, 126, 127, 0, 0, 128, 129, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 298, 2, 3, 4, 112, 6, 7,
- 8, 9, 10, 11, 0, 0, 0, 160, 113, 114,
- 0, 115, 0, 0, 0, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 0, 29, 30, 31, 0, 0, 32, 33,
- 0, 34, 35, 36, 0, 37, 0, 0, 38, 104,
- 39, 105, 106, 107, 108, 109, 0, 0, 110, 111,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 112, 8, 9,
- 10, 11, 0, 0, 0, 0, 0, 0, 113, 114,
- 0, 115, 0, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 0, 0,
- 0, 0, 0, 0, 0, 0, 32, 33, 0, 34,
- 35, 36, 0, 37, 0, 0, 0, 104, 39, 105,
- 106, 107, 108, 109, 0, 0, 110, 111, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 112, 8, 9, 10, 11,
- 0, 0, 0, 0, 0, 230, 113, 114, 0, 115,
- 0, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 0, 0, 0, 0,
- 0, 0, 0, 0, 32, 33, 0, 34, 35, 36,
- 0, 37, 0, 0, 0, 104, 39, 105, 106, 107,
- 108, 109, 0, 0, 110, 111, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 112, 0, 0, 246, 8, 9, 10,
- 11, 0, 0, 0, 113, 114, 0, 115, 0, 0,
+ 0, 0, 0, 0, 0, 130, 0, 0, 0, 111,
+ 0, 0, 0, 0, 0, 178, 131, 132, 0, 133,
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 168, 169, 170, 0, 171, 172, 173, 174, 0,
0, 0, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 32, 33, 0, 34, 35,
- 36, 0, 37, 0, 0, 0, 104, 39, 105, 106,
- 107, 108, 109, 0, 0, 110, 111, 0, 0, 0,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 0,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 0,
+ 0, 38, 39, 175, 40, 41, 42, 0, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 0, 53,
+ 54, 55, 56, 122, 57, 123, 124, 125, 126, 127,
+ 0, 0, 128, 129, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 112, 8, 9, 10, 11, 0,
- 0, 0, 0, 0, 0, 113, 114, 0, 115, 0,
+ 0, 130, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 178, 131, 132, 0, 133, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 0, 0, 38, 39, 0,
+ 40, 41, 42, 0, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 0, 53, 54, 55, 56, 122,
+ 57, 123, 124, 125, 126, 127, 0, 0, 128, 129,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 316, 2, 3, 4, 130, 6, 7,
+ 8, 9, 10, 11, 0, 0, 0, 178, 131, 132,
+ 0, 133, 0, 0, 0, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 0, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 0, 0, 38, 39, 0, 40, 41, 42,
+ 0, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 0, 53, 54, 55, 56, 122, 57, 123, 124,
+ 125, 126, 127, 0, 0, 128, 129, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 130, 8, 9, 10, 11, 0,
+ 0, 0, 0, 0, 0, 131, 132, 0, 133, 0,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 0, 0, 0, 0, 0,
- 0, 0, 0, 32, 196, 0, 34, 35, 36, 0,
- 37, 0, 0, 0, 104, 39, 105, 106, 107, 108,
- 109, 0, 0, 110, 111, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 2, 3, 4,
- 0, 0, 112, 8, 9, 10, 11, 0, 0, 0,
- 0, 0, 0, 113, 114, 0, 115, 0, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 32, 33, 0, 34, 35, 36, 0, 37, 2,
- 3, 4, 0, 39, 0, 8, 9, 10, 11, 0,
+ 31, 32, 33, 34, 35, 36, 0, 0, 0, 38,
+ 39, 0, 40, 41, 42, 0, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 0, 53, 54, 55,
+ 0, 122, 57, 123, 124, 125, 126, 127, 0, 0,
+ 128, 129, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 130,
+ 8, 9, 10, 11, 0, 0, 0, 0, 0, 248,
+ 131, 132, 0, 133, 0, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 0, 0, 0, 0, 0, 31, 32, 33, 34, 35,
+ 36, 0, 0, 0, 38, 39, 0, 40, 41, 42,
+ 0, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 0, 53, 54, 55, 0, 122, 57, 123, 124,
+ 125, 126, 127, 0, 0, 128, 129, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 219, 0, 0, 0, 0,
- 0, 0, 0, 32, 33, 0, 34, 35, 36, 0,
- 37, 0, 0, 0, 0, 39, 0, 0, 0, 0,
- 0, 0, 0, 85, 0, 0, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 271, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
- 0, 32, 33, 0, 34, 35, 36, 0, 37, 0,
- 0, 38, 0, 39, 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 0, 29, 30, 31, 0, 0, 32,
- 33, 0, 34, 35, 36, 0, 37, 0, 0, 38,
- 0, 39, 2, 3, 4, 0, 0, 0, 8, 9,
- 10, 11, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 130, 0, 0, 264, 8, 9,
+ 10, 11, 0, 0, 0, 131, 132, 0, 133, 0,
0, 0, 0, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 0, 0,
- 0, 0, 0, 0, 0, 0, 32, 33, 0, 34,
- 35, 36, 0, 37, 8, 9, 10, 11, 39, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 0, 0, 0, 0, 0, 0,
- 0, 0, 32, 33, 0, 34, 35, 36, 0, 37,
- 0, 0, 0, 253, 39, 8, 9, 10, 11, 254,
+ 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
+ 0, 0, 38, 39, 0, 40, 41, 42, 0, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 0,
+ 53, 54, 55, 0, 122, 57, 123, 124, 125, 126,
+ 127, 0, 0, 128, 129, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 130, 8, 9, 10, 11, 0, 0, 0,
+ 0, 0, 0, 131, 132, 0, 133, 0, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 0, 0, 0, 0, 0, 31, 32,
+ 33, 34, 35, 36, 0, 0, 0, 38, 214, 0,
+ 40, 41, 42, 0, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 0, 53, 54, 55, 0, 122,
+ 57, 123, 124, 125, 126, 127, 0, 0, 128, 129,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2, 3, 4, 0, 0, 130, 8, 9,
+ 10, 11, 0, 0, 0, 0, 0, 0, 131, 132,
+ 0, 133, 0, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 0, 0,
+ 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
+ 0, 0, 38, 39, 0, 40, 41, 42, 0, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 0,
+ 53, 54, 55, 0, 0, 57, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2, 3, 4,
+ 0, 0, 0, 8, 9, 10, 11, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 237, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 0, 0, 0, 0, 0, 31, 32,
+ 33, 34, 35, 36, 0, 0, 0, 38, 39, 0,
+ 40, 41, 42, 0, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 0, 53, 54, 55, 0, 0,
+ 57, 0, 0, 0, 0, 0, 0, 0, 103, 0,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 289, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 0, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 0, 0, 38, 39, 0, 40, 41, 42, 0, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 0,
+ 53, 54, 55, 56, 0, 57, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 0, 0, 38, 39, 0,
+ 40, 41, 42, 0, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 0, 53, 54, 55, 56, 0,
+ 57, 2, 3, 4, 0, 0, 0, 8, 9, 10,
+ 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 0, 0, 0,
+ 0, 0, 31, 32, 33, 34, 35, 36, 0, 0,
+ 0, 38, 39, 0, 40, 41, 42, 0, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 0, 53,
+ 54, 55, 0, 0, 57, 8, 9, 10, 11, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 0, 0, 0, 0, 0,
- 0, 0, 0, 32, 33, 0, 34, 35, 36, 0,
- 37, 0, 0, 0, 0, 39
+ 31, 32, 33, 34, 35, 36, 0, 0, 0, 38,
+ 39, 0, 40, 41, 42, 0, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 0, 53, 54, 55,
+ 0, 271, 57, 8, 9, 10, 11, 272, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 0, 0, 0, 0, 0, 31, 32,
+ 33, 34, 35, 36, 0, 0, 0, 38, 39, 0,
+ 40, 41, 42, 0, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 0, 53, 54, 55, 0, 0,
+ 57
};
static const yytype_int16 yycheck[] =
{
- 0, 68, 103, 102, 84, 172, 112, 9, 145, 84,
- 181, 0, 0, 48, 75, 59, 297, 277, 44, 281,
- 51, 89, 102, 124, 70, 71, 88, 102, 96, 99,
- 61, 101, 94, 59, 296, 110, 111, 318, 40, 41,
- 42, 76, 87, 9, 89, 68, 69, 91, 48, 110,
- 156, 51, 127, 313, 89, 94, 56, 317, 97, 105,
- 106, 61, 94, 88, 99, 9, 89, 56, 56, 94,
- 93, 4, 5, 6, 40, 41, 76, 43, 215, 45,
- 181, 180, 77, 78, 79, 191, 88, 94, 87, 89,
- 97, 86, 97, 93, 195, 88, 40, 41, 42, 99,
- 180, 96, 87, 89, 89, 180, 88, 213, 143, 59,
- 145, 96, 94, 88, 88, 282, 40, 41, 94, 94,
- 94, 97, 228, 102, 103, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 94, 240,
- 241, 97, 91, 143, 59, 145, 245, 59, 319, 204,
- 205, 206, 207, 40, 41, 42, 72, 73, 62, 63,
- 94, 95, 202, 203, 91, 245, 208, 209, 97, 59,
- 245, 96, 172, 272, 87, 281, 74, 88, 87, 76,
- 215, 59, 90, 97, 87, 87, 91, 288, 87, 89,
- 296, 97, 272, 50, 90, 87, 97, 272, 92, 90,
- 306, 89, 87, 44, 90, 94, 90, 90, 87, 276,
- 316, 59, 88, 17, 88, 215, 97, 92, 319, 96,
- 192, 10, 11, 12, 13, 97, 210, 70, 211, 99,
- 77, 212, 99, 52, 234, 5, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 273, 317, 296, 149, 56, 234, 278, 278, 48,
- 49, 143, 51, 52, 53, -1, 55, -1, -1, -1,
- 59, 60, 61, 62, 63, 64, 65, 277, 278, 68,
- 69, 281, 282, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 296, -1, 87, -1,
- -1, 90, -1, -1, -1, -1, -1, -1, -1, 98,
- 99, -1, 101, 313, -1, -1, -1, 317, 3, 4,
+ 0, 86, 66, 121, 102, 120, 199, 130, 190, 102,
+ 0, 0, 163, 9, 92, 105, 9, 299, 315, 295,
+ 104, 111, 120, 105, 142, 87, 88, 120, 114, 111,
+ 94, 9, 314, 44, 106, 128, 129, 111, 76, 336,
+ 114, 113, 105, 107, 40, 41, 42, 40, 41, 127,
+ 43, 174, 145, 117, 111, 331, 111, 114, 51, 335,
+ 122, 123, 40, 41, 42, 76, 66, 85, 86, 69,
+ 108, 94, 95, 96, 74, 111, 106, 69, 114, 79,
+ 103, 199, 233, 198, 74, 74, 209, 79, 106, 104,
+ 113, 106, 110, 76, 94, 213, 105, 161, 113, 163,
+ 198, 104, 111, 106, 105, 198, 105, 107, 231, 105,
+ 111, 111, 111, 222, 223, 224, 225, 117, 300, 4,
+ 5, 6, 116, 246, 118, 218, 219, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 108, 111,
+ 258, 259, 114, 76, 337, 40, 41, 42, 263, 40,
+ 41, 119, 120, 89, 90, 79, 80, 111, 112, 220,
+ 221, 161, 108, 163, 76, 263, 226, 227, 113, 233,
+ 263, 114, 76, 104, 104, 290, 299, 105, 91, 93,
+ 107, 104, 76, 104, 56, 114, 104, 109, 306, 114,
+ 190, 314, 290, 108, 114, 106, 104, 290, 107, 106,
+ 44, 324, 107, 104, 107, 111, 104, 107, 107, 294,
+ 76, 334, 105, 109, 17, 105, 228, 114, 88, 337,
+ 230, 113, 10, 11, 12, 13, 114, 229, 210, 70,
+ 117, 95, 5, 233, 117, 167, 335, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 252, 296, 291, 252, 296, 45, 46, 47,
+ 48, 49, 50, 314, 74, -1, 54, 55, -1, 57,
+ 58, 59, 161, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, -1, 72, 73, 74, -1, 76, 77,
+ 78, 79, 80, 81, 82, 295, 296, 85, 86, 299,
+ 300, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 314, -1, 104, -1, -1, 107,
+ -1, -1, -1, -1, -1, -1, -1, 115, 116, -1,
+ 118, 331, -1, -1, -1, 335, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ -1, 18, 19, 20, 21, -1, -1, -1, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, -1, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, -1, -1, 54, 55, 56,
+ 57, 58, 59, -1, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 104, -1, -1,
+ -1, 108, 109, -1, -1, -1, -1, 114, 115, 116,
+ -1, 118, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, -1, 18, 19, 20,
+ 21, -1, -1, -1, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, -1, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, -1, -1, 54, 55, 56, 57, 58, 59, -1,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ -1, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, -1, -1, 85, 86, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 104, -1, -1, -1, 108, 109, -1,
+ -1, -1, -1, 114, 115, 116, -1, 118, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, -1, 18, 19, 20, 21, -1, -1, -1,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, -1, 43, 44,
- 45, -1, -1, 48, 49, 50, 51, 52, 53, -1,
- 55, -1, -1, 58, 59, 60, 61, 62, 63, 64,
- 65, -1, -1, 68, 69, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 87, -1, -1, -1, 91, 92, -1, -1,
- -1, -1, 97, 98, 99, -1, 101, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, -1, 18, 19, 20, 21, -1, -1, -1, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, -1, 43, 44, 45,
- -1, -1, 48, 49, 50, 51, 52, 53, -1, 55,
- -1, -1, 58, 59, 60, 61, 62, 63, 64, 65,
- -1, -1, 68, 69, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 87, -1, -1, -1, 91, 92, -1, -1, -1,
- -1, 97, 98, 99, -1, 101, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- -1, 18, 19, 20, 21, -1, -1, -1, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, -1, 43, 44, 45, -1,
- -1, 48, 49, 50, 51, 52, 53, -1, 55, -1,
- -1, 58, 59, 60, 61, 62, 63, 64, 65, -1,
- -1, 68, 69, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 87, -1, -1, -1, 91, -1, -1, -1, -1, -1,
- 97, 98, 99, -1, 101, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
- 18, 19, 20, 21, -1, -1, -1, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, -1, 43, 44, 45, -1, -1,
- 48, 49, 50, 51, 52, 53, -1, 55, -1, -1,
- 58, 59, 60, 61, 62, 63, 64, 65, -1, -1,
- 68, 69, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 87,
- -1, -1, -1, 91, -1, -1, -1, -1, -1, 97,
- 98, 99, -1, 101, 3, 4, 5, 6, 7, 8,
+ 45, 46, 47, 48, 49, 50, 51, -1, -1, 54,
+ 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, -1, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, -1, -1,
+ 85, 86, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 104,
+ -1, -1, -1, 108, -1, -1, -1, -1, -1, 114,
+ 115, 116, -1, 118, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, -1, 18,
19, 20, 21, -1, -1, -1, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, -1, 43, 44, 45, -1, -1, 48,
- 49, 50, 51, 52, 53, -1, 55, -1, -1, 58,
- 59, 60, 61, 62, 63, 64, 65, -1, -1, 68,
- 69, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 87, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 97, 98,
- 99, -1, 101, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, -1, 43, 44, 45, -1, -1, 48, 49,
- -1, 51, 52, 53, -1, 55, -1, -1, 58, 59,
- 60, 61, 62, 63, 64, 65, -1, -1, 68, 69,
+ 39, 40, 41, -1, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, -1, -1, 54, 55, 56, 57, 58,
+ 59, -1, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, -1, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 3, 4, 5, 6, 87, 8, 9,
- 10, 11, 12, 13, -1, -1, -1, 97, 98, 99,
- -1, 101, -1, -1, -1, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, -1, 43, 44, 45, -1, -1, 48, 49,
- -1, 51, 52, 53, -1, 55, -1, -1, 58, 59,
- 60, 61, 62, 63, 64, 65, -1, -1, 68, 69,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 87, 10, 11,
- 12, 13, -1, -1, -1, -1, -1, -1, 98, 99,
- -1, 101, -1, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, -1, -1,
- -1, -1, -1, -1, -1, -1, 48, 49, -1, 51,
- 52, 53, -1, 55, -1, -1, -1, 59, 60, 61,
- 62, 63, 64, 65, -1, -1, 68, 69, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 87, 10, 11, 12, 13,
- -1, -1, -1, -1, -1, 97, 98, 99, -1, 101,
- -1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, -1, -1, -1, -1,
- -1, -1, -1, -1, 48, 49, -1, 51, 52, 53,
- -1, 55, -1, -1, -1, 59, 60, 61, 62, 63,
- 64, 65, -1, -1, 68, 69, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 87, -1, -1, 90, 10, 11, 12,
- 13, -1, -1, -1, 98, 99, -1, 101, -1, -1,
+ -1, -1, -1, -1, -1, 104, -1, -1, -1, 108,
+ -1, -1, -1, -1, -1, 114, 115, 116, -1, 118,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, -1, 18, 19, 20, 21, -1,
-1, -1, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, -1, -1, -1,
- -1, -1, -1, -1, -1, 48, 49, -1, 51, 52,
- 53, -1, 55, -1, -1, -1, 59, 60, 61, 62,
- 63, 64, 65, -1, -1, 68, 69, -1, -1, -1,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, -1,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, -1,
+ -1, 54, 55, 56, 57, 58, 59, -1, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, -1, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 87, 10, 11, 12, 13, -1,
- -1, -1, -1, -1, -1, 98, 99, -1, 101, -1,
+ -1, 104, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 114, 115, 116, -1, 118, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, -1, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, -1, -1, 54, 55, -1,
+ 57, 58, 59, -1, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3, 4, 5, 6, 104, 8, 9,
+ 10, 11, 12, 13, -1, -1, -1, 114, 115, 116,
+ -1, 118, -1, -1, -1, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, -1, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, -1, -1, 54, 55, -1, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, -1, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 104, 10, 11, 12, 13, -1,
+ -1, -1, -1, -1, -1, 115, 116, -1, 118, -1,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, -1, -1, -1, -1, -1,
- -1, -1, -1, 48, 49, -1, 51, 52, 53, -1,
- 55, -1, -1, -1, 59, 60, 61, 62, 63, 64,
- 65, -1, -1, 68, 69, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 4, 5, 6,
- -1, -1, 87, 10, 11, 12, 13, -1, -1, -1,
- -1, -1, -1, 98, 99, -1, 101, -1, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, -1, -1, -1, -1, -1, -1, -1,
- -1, 48, 49, -1, 51, 52, 53, -1, 55, 4,
- 5, 6, -1, 60, -1, 10, 11, 12, 13, -1,
+ 45, 46, 47, 48, 49, 50, -1, -1, -1, 54,
+ 55, -1, 57, 58, 59, -1, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, -1, 72, 73, 74,
+ -1, 76, 77, 78, 79, 80, 81, 82, -1, -1,
+ 85, 86, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 104,
+ 10, 11, 12, 13, -1, -1, -1, -1, -1, 114,
+ 115, 116, -1, 118, -1, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ -1, -1, -1, -1, -1, 45, 46, 47, 48, 49,
+ 50, -1, -1, -1, 54, 55, -1, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, -1, 72, 73, 74, -1, 76, 77, 78, 79,
+ 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 92, -1, -1, -1, -1,
- -1, -1, -1, 48, 49, -1, 51, 52, 53, -1,
- 55, -1, -1, -1, -1, 60, -1, -1, -1, -1,
- -1, -1, -1, 0, -1, -1, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 92, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, -1, 43, 44, 45, -1,
- -1, 48, 49, -1, 51, 52, 53, -1, 55, -1,
- -1, 58, -1, 60, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, -1, 43, 44, 45, -1, -1, 48,
- 49, -1, 51, 52, 53, -1, 55, -1, -1, 58,
- -1, 60, 4, 5, 6, -1, -1, -1, 10, 11,
- 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 104, -1, -1, 107, 10, 11,
+ 12, 13, -1, -1, -1, 115, 116, -1, 118, -1,
-1, -1, -1, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, -1, -1,
- -1, -1, -1, -1, -1, -1, 48, 49, -1, 51,
- 52, 53, -1, 55, 10, 11, 12, 13, 60, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, -1, -1, -1, -1, -1, -1,
- -1, -1, 48, 49, -1, 51, 52, 53, -1, 55,
- -1, -1, -1, 59, 60, 10, 11, 12, 13, 65,
+ -1, -1, -1, 45, 46, 47, 48, 49, 50, -1,
+ -1, -1, 54, 55, -1, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, -1,
+ 72, 73, 74, -1, 76, 77, 78, 79, 80, 81,
+ 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 104, 10, 11, 12, 13, -1, -1, -1,
+ -1, -1, -1, 115, 116, -1, 118, -1, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, -1, -1, -1, -1, -1, 45, 46,
+ 47, 48, 49, 50, -1, -1, -1, 54, 55, -1,
+ 57, 58, 59, -1, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, -1, 72, 73, 74, -1, 76,
+ 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4, 5, 6, -1, -1, 104, 10, 11,
+ 12, 13, -1, -1, -1, -1, -1, -1, 115, 116,
+ -1, 118, -1, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, -1, -1,
+ -1, -1, -1, 45, 46, 47, 48, 49, 50, -1,
+ -1, -1, 54, 55, -1, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, -1,
+ 72, 73, 74, -1, -1, 77, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 4, 5, 6,
+ -1, -1, -1, 10, 11, 12, 13, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 109, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, -1, -1, -1, -1, -1, 45, 46,
+ 47, 48, 49, 50, -1, -1, -1, 54, 55, -1,
+ 57, 58, 59, -1, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, -1, 72, 73, 74, -1, -1,
+ 77, -1, -1, -1, -1, -1, -1, -1, 0, -1,
+ -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 109, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ -1, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ -1, -1, 54, 55, -1, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, -1,
+ 72, 73, 74, 75, -1, 77, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, -1, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, -1, -1, 54, 55, -1,
+ 57, 58, 59, -1, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, -1, 72, 73, 74, 75, -1,
+ 77, 4, 5, 6, -1, -1, -1, 10, 11, 12,
+ 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, -1, -1, -1,
+ -1, -1, 45, 46, 47, 48, 49, 50, -1, -1,
+ -1, 54, 55, -1, 57, 58, 59, -1, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, -1, 72,
+ 73, 74, -1, -1, 77, 10, 11, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, -1, -1, -1, -1, -1,
- -1, -1, -1, 48, 49, -1, 51, 52, 53, -1,
- 55, -1, -1, -1, -1, 60
+ 45, 46, 47, 48, 49, 50, -1, -1, -1, 54,
+ 55, -1, 57, 58, 59, -1, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, -1, 72, 73, 74,
+ -1, 76, 77, 10, 11, 12, 13, 82, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, -1, -1, -1, -1, -1, 45, 46,
+ 47, 48, 49, 50, -1, -1, -1, 54, 55, -1,
+ 57, 58, 59, -1, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, -1, 72, 73, 74, -1, -1,
+ 77
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1323,36 +1429,38 @@
0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 43,
- 44, 45, 48, 49, 51, 52, 53, 55, 58, 60,
- 141, 142, 143, 144, 145, 150, 151, 152, 154, 155,
- 156, 157, 158, 161, 162, 163, 195, 196, 197, 44,
- 59, 157, 40, 41, 59, 91, 87, 97, 198, 88,
- 94, 9, 40, 41, 42, 147, 148, 153, 94, 97,
- 59, 156, 161, 155, 89, 0, 196, 161, 91, 165,
- 59, 159, 160, 91, 181, 147, 146, 149, 156, 148,
- 59, 87, 89, 96, 59, 61, 62, 63, 64, 65,
- 68, 69, 87, 98, 99, 101, 112, 113, 114, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 140, 162, 97, 164, 156, 166, 167, 96, 88, 94,
- 14, 15, 16, 18, 19, 20, 21, 50, 91, 92,
- 97, 123, 136, 137, 139, 141, 142, 162, 171, 172,
- 173, 174, 182, 183, 184, 187, 194, 59, 146, 149,
- 89, 96, 90, 140, 137, 170, 123, 123, 139, 68,
- 69, 89, 93, 88, 88, 94, 49, 137, 87, 123,
- 102, 103, 99, 101, 70, 71, 105, 106, 72, 73,
- 74, 76, 75, 110, 90, 166, 59, 168, 169, 92,
- 167, 62, 63, 160, 97, 97, 189, 87, 87, 97,
- 97, 139, 87, 92, 175, 77, 78, 79, 86, 96,
- 138, 94, 97, 92, 172, 89, 90, 140, 170, 90,
- 88, 115, 139, 59, 65, 118, 137, 123, 123, 125,
- 125, 127, 127, 127, 127, 128, 128, 132, 133, 134,
- 139, 92, 89, 94, 97, 178, 179, 180, 190, 139,
- 97, 188, 182, 137, 137, 140, 90, 90, 95, 140,
- 169, 50, 181, 173, 171, 183, 191, 88, 3, 139,
- 152, 186, 176, 90, 137, 90, 87, 186, 192, 193,
- 178, 185, 59, 88, 92, 139, 97, 88, 17, 96,
- 173, 177, 181, 88, 139, 177, 178, 170, 97
+ 44, 45, 46, 47, 48, 49, 50, 51, 54, 55,
+ 57, 58, 59, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 72, 73, 74, 75, 77, 158, 159,
+ 160, 161, 162, 167, 168, 169, 171, 172, 173, 174,
+ 175, 178, 179, 180, 212, 213, 214, 44, 76, 174,
+ 40, 41, 76, 108, 104, 114, 215, 105, 111, 9,
+ 40, 41, 42, 164, 165, 170, 111, 114, 76, 173,
+ 178, 172, 106, 0, 213, 178, 108, 182, 76, 176,
+ 177, 108, 198, 164, 163, 166, 173, 165, 76, 104,
+ 106, 113, 76, 78, 79, 80, 81, 82, 85, 86,
+ 104, 115, 116, 118, 129, 130, 131, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 157, 179,
+ 114, 181, 173, 183, 184, 113, 105, 111, 14, 15,
+ 16, 18, 19, 20, 21, 56, 108, 109, 114, 140,
+ 153, 154, 156, 158, 159, 179, 188, 189, 190, 191,
+ 199, 200, 201, 204, 211, 76, 163, 166, 106, 113,
+ 107, 157, 154, 187, 140, 140, 156, 85, 86, 106,
+ 110, 105, 105, 111, 55, 154, 104, 140, 119, 120,
+ 116, 118, 87, 88, 122, 123, 89, 90, 91, 93,
+ 92, 127, 107, 183, 76, 185, 186, 109, 184, 79,
+ 80, 177, 114, 114, 206, 104, 104, 114, 114, 156,
+ 104, 109, 192, 94, 95, 96, 103, 113, 155, 111,
+ 114, 109, 189, 106, 107, 157, 187, 107, 105, 132,
+ 156, 76, 82, 135, 154, 140, 140, 142, 142, 144,
+ 144, 144, 144, 145, 145, 149, 150, 151, 156, 109,
+ 106, 111, 114, 195, 196, 197, 207, 156, 114, 205,
+ 199, 154, 154, 157, 107, 107, 112, 157, 186, 56,
+ 198, 190, 188, 200, 208, 105, 3, 156, 169, 203,
+ 193, 107, 154, 107, 104, 203, 209, 210, 195, 202,
+ 76, 105, 109, 156, 114, 105, 17, 113, 190, 194,
+ 198, 105, 156, 194, 195, 187, 114
};
#define yyerrok (yyerrstatus = 0)
@@ -2327,7 +2435,7 @@
if ((yyvsp[(1) - (4)].interm.intermTypedNode)->getType().getStruct())
(yyval.interm.intermTypedNode)->setType(TType((yyvsp[(1) - (4)].interm.intermTypedNode)->getType().getStruct(), (yyvsp[(1) - (4)].interm.intermTypedNode)->getType().getTypeName()));
else
- (yyval.interm.intermTypedNode)->setType(TType((yyvsp[(1) - (4)].interm.intermTypedNode)->getBasicType(), (yyvsp[(1) - (4)].interm.intermTypedNode)->getPrecision(), EvqTemporary, (yyvsp[(1) - (4)].interm.intermTypedNode)->getNominalSize(), (yyvsp[(1) - (4)].interm.intermTypedNode)->isMatrix()));
+ (yyval.interm.intermTypedNode)->setType(TType((yyvsp[(1) - (4)].interm.intermTypedNode)->getBasicType(), (yyvsp[(1) - (4)].interm.intermTypedNode)->getPrecision(), EvqTemporary, (yyvsp[(1) - (4)].interm.intermTypedNode)->getNominalSize(), (yyvsp[(1) - (4)].interm.intermTypedNode)->getSecondarySize()));
if ((yyvsp[(1) - (4)].interm.intermTypedNode)->getType().getQualifier() == EvqConstExpr)
(yyval.interm.intermTypedNode)->getTypePointer()->setQualifier(EvqConstExpr);
@@ -2681,23 +2789,37 @@
} else {
switch ((yyvsp[(1) - (1)].interm.type).type) {
case EbtFloat:
- if ((yyvsp[(1) - (1)].interm.type).matrix) {
- switch((yyvsp[(1) - (1)].interm.type).size) {
- case 2: op = EOpConstructMat2; break;
- case 3: op = EOpConstructMat3; break;
- case 4: op = EOpConstructMat4; break;
+ switch((yyvsp[(1) - (1)].interm.type).primarySize) {
+ case 1:
+ op = EOpConstructFloat; break;
+ case 2:
+ switch((yyvsp[(1) - (1)].interm.type).secondarySize) {
+ case 1: op = EOpConstructVec2; break;
+ case 2: op = EOpConstructMat2; break;
+ case 3: op = EOpConstructMat2x3; break;
+ case 4: op = EOpConstructMat2x4; break;
}
- } else {
- switch((yyvsp[(1) - (1)].interm.type).size) {
- case 1: op = EOpConstructFloat; break;
- case 2: op = EOpConstructVec2; break;
- case 3: op = EOpConstructVec3; break;
- case 4: op = EOpConstructVec4; break;
+ break;
+ case 3:
+ switch((yyvsp[(1) - (1)].interm.type).secondarySize) {
+ case 1: op = EOpConstructVec3; break;
+ case 2: op = EOpConstructMat3x2; break;
+ case 3: op = EOpConstructMat3; break;
+ case 4: op = EOpConstructMat3x4; break;
}
+ break;
+ case 4:
+ switch((yyvsp[(1) - (1)].interm.type).secondarySize) {
+ case 1: op = EOpConstructVec4; break;
+ case 2: op = EOpConstructMat4x2; break;
+ case 3: op = EOpConstructMat4x3; break;
+ case 4: op = EOpConstructMat4; break;
+ }
+ break;
}
break;
case EbtInt:
- switch((yyvsp[(1) - (1)].interm.type).size) {
+ switch((yyvsp[(1) - (1)].interm.type).primarySize) {
case 1: op = EOpConstructInt; break;
case 2: FRAG_VERT_ONLY("ivec2", (yyvsp[(1) - (1)].interm.type).line); op = EOpConstructIVec2; break;
case 3: FRAG_VERT_ONLY("ivec3", (yyvsp[(1) - (1)].interm.type).line); op = EOpConstructIVec3; break;
@@ -2705,7 +2827,7 @@
}
break;
case EbtBool:
- switch((yyvsp[(1) - (1)].interm.type).size) {
+ switch((yyvsp[(1) - (1)].interm.type).primarySize) {
case 1: op = EOpConstructBool; break;
case 2: FRAG_VERT_ONLY("bvec2", (yyvsp[(1) - (1)].interm.type).line); op = EOpConstructBVec2; break;
case 3: FRAG_VERT_ONLY("bvec3", (yyvsp[(1) - (1)].interm.type).line); op = EOpConstructBVec3; break;
@@ -4072,7 +4194,7 @@
FRAG_VERT_ONLY("mat2", (yyvsp[(1) - (1)].lex).line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(2, true);
+ (yyval.interm.type).setMatrix(2, 2);
}
break;
@@ -4082,7 +4204,7 @@
FRAG_VERT_ONLY("mat3", (yyvsp[(1) - (1)].lex).line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(3, true);
+ (yyval.interm.type).setMatrix(3, 3);
}
break;
@@ -4092,20 +4214,80 @@
FRAG_VERT_ONLY("mat4", (yyvsp[(1) - (1)].lex).line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(4, true);
+ (yyval.interm.type).setMatrix(4, 4);
}
break;
case 151:
{
+ FRAG_VERT_ONLY("mat2x3", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setMatrix(2, 3);
+ }
+ break;
+
+ case 152:
+
+ {
+ FRAG_VERT_ONLY("mat3x2", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setMatrix(3, 2);
+ }
+ break;
+
+ case 153:
+
+ {
+ FRAG_VERT_ONLY("mat2x4", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setMatrix(2, 4);
+ }
+ break;
+
+ case 154:
+
+ {
+ FRAG_VERT_ONLY("mat4x2", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setMatrix(4, 2);
+ }
+ break;
+
+ case 155:
+
+ {
+ FRAG_VERT_ONLY("mat3x4", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setMatrix(3, 4);
+ }
+ break;
+
+ case 156:
+
+ {
+ FRAG_VERT_ONLY("mat4x3", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setMatrix(4, 3);
+ }
+ break;
+
+ case 157:
+
+ {
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 152:
+ case 158:
{
FRAG_VERT_ONLY("samplerCube", (yyvsp[(1) - (1)].lex).line);
@@ -4114,7 +4296,7 @@
}
break;
- case 153:
+ case 159:
{
if (!context->supportsExtension("GL_OES_EGL_image_external")) {
@@ -4127,7 +4309,7 @@
}
break;
- case 154:
+ case 160:
{
FRAG_VERT_ONLY("sampler3D", (yyvsp[(1) - (1)].lex).line);
@@ -4136,7 +4318,115 @@
}
break;
- case 155:
+ case 161:
+
+ {
+ FRAG_VERT_ONLY("sampler2DArray", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtSampler2DArray, qual, (yyvsp[(1) - (1)].lex).line);
+ }
+ break;
+
+ case 162:
+
+ {
+ FRAG_VERT_ONLY("isampler2D", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtISampler2D, qual, (yyvsp[(1) - (1)].lex).line);
+ }
+ break;
+
+ case 163:
+
+ {
+ FRAG_VERT_ONLY("isampler3D", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtISampler3D, qual, (yyvsp[(1) - (1)].lex).line);
+ }
+ break;
+
+ case 164:
+
+ {
+ FRAG_VERT_ONLY("isamplerCube", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtISamplerCube, qual, (yyvsp[(1) - (1)].lex).line);
+ }
+ break;
+
+ case 165:
+
+ {
+ FRAG_VERT_ONLY("isampler2DArray", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtISampler2DArray, qual, (yyvsp[(1) - (1)].lex).line);
+ }
+ break;
+
+ case 166:
+
+ {
+ FRAG_VERT_ONLY("usampler2D", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtUSampler2D, qual, (yyvsp[(1) - (1)].lex).line);
+ }
+ break;
+
+ case 167:
+
+ {
+ FRAG_VERT_ONLY("usampler3D", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtUSampler3D, qual, (yyvsp[(1) - (1)].lex).line);
+ }
+ break;
+
+ case 168:
+
+ {
+ FRAG_VERT_ONLY("usamplerCube", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtUSamplerCube, qual, (yyvsp[(1) - (1)].lex).line);
+ }
+ break;
+
+ case 169:
+
+ {
+ FRAG_VERT_ONLY("usampler2DArray", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtUSampler2DArray, qual, (yyvsp[(1) - (1)].lex).line);
+ }
+ break;
+
+ case 170:
+
+ {
+ FRAG_VERT_ONLY("sampler2DShadow", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtSampler2DShadow, qual, (yyvsp[(1) - (1)].lex).line);
+ }
+ break;
+
+ case 171:
+
+ {
+ FRAG_VERT_ONLY("samplerCubeShadow", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtSamplerCubeShadow, qual, (yyvsp[(1) - (1)].lex).line);
+ }
+ break;
+
+ case 172:
+
+ {
+ FRAG_VERT_ONLY("sampler2DArrayShadow", (yyvsp[(1) - (1)].lex).line);
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtSampler2DArrayShadow, qual, (yyvsp[(1) - (1)].lex).line);
+ }
+ break;
+
+ case 173:
{
FRAG_VERT_ONLY("struct", (yyvsp[(1) - (1)].interm.type).line);
@@ -4145,7 +4435,7 @@
}
break;
- case 156:
+ case 174:
{
//
@@ -4159,12 +4449,12 @@
}
break;
- case 157:
+ case 175:
{ if (context->enterStructDeclaration((yyvsp[(2) - (3)].lex).line, *(yyvsp[(2) - (3)].lex).string)) context->recover(); }
break;
- case 158:
+ case 176:
{
if (context->reservedErrorCheck((yyvsp[(2) - (6)].lex).line, *(yyvsp[(2) - (6)].lex).string))
@@ -4182,12 +4472,12 @@
}
break;
- case 159:
+ case 177:
{ if (context->enterStructDeclaration((yyvsp[(2) - (2)].lex).line, *(yyvsp[(2) - (2)].lex).string)) context->recover(); }
break;
- case 160:
+ case 178:
{
TType* structure = new TType((yyvsp[(4) - (5)].interm.typeList), TString(""));
@@ -4197,14 +4487,14 @@
}
break;
- case 161:
+ case 179:
{
(yyval.interm.typeList) = (yyvsp[(1) - (1)].interm.typeList);
}
break;
- case 162:
+ case 180:
{
(yyval.interm.typeList) = (yyvsp[(1) - (2)].interm.typeList);
@@ -4220,7 +4510,7 @@
}
break;
- case 163:
+ case 181:
{
(yyval.interm.typeList) = (yyvsp[(2) - (3)].interm.typeList);
@@ -4234,8 +4524,8 @@
//
TType* type = (*(yyval.interm.typeList))[i].type;
type->setBasicType((yyvsp[(1) - (3)].interm.type).type);
- type->setNominalSize((yyvsp[(1) - (3)].interm.type).size);
- type->setMatrix((yyvsp[(1) - (3)].interm.type).matrix);
+ type->setNominalSize((yyvsp[(1) - (3)].interm.type).primarySize);
+ type->setSecondarySize((yyvsp[(1) - (3)].interm.type).secondarySize);
type->setPrecision((yyvsp[(1) - (3)].interm.type).precision);
// don't allow arrays of arrays
@@ -4253,7 +4543,7 @@
}
break;
- case 164:
+ case 182:
{
(yyval.interm.typeList) = NewPoolTTypeList();
@@ -4261,14 +4551,14 @@
}
break;
- case 165:
+ case 183:
{
(yyval.interm.typeList)->push_back((yyvsp[(3) - (3)].interm.typeLine));
}
break;
- case 166:
+ case 184:
{
if (context->reservedErrorCheck((yyvsp[(1) - (1)].lex).line, *(yyvsp[(1) - (1)].lex).string))
@@ -4280,7 +4570,7 @@
}
break;
- case 167:
+ case 185:
{
if (context->reservedErrorCheck((yyvsp[(1) - (4)].lex).line, *(yyvsp[(1) - (4)].lex).string))
@@ -4297,67 +4587,67 @@
}
break;
- case 168:
+ case 186:
{ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
- case 169:
+ case 187:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
- case 170:
+ case 188:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); }
break;
- case 171:
+ case 189:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
- case 172:
+ case 190:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
- case 173:
+ case 191:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
- case 174:
+ case 192:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
- case 175:
+ case 193:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
- case 176:
+ case 194:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
- case 177:
+ case 195:
{ (yyval.interm.intermAggregate) = 0; }
break;
- case 178:
+ case 196:
{ context->symbolTable.push(); }
break;
- case 179:
+ case 197:
{ context->symbolTable.pop(); }
break;
- case 180:
+ case 198:
{
if ((yyvsp[(3) - (5)].interm.intermAggregate) != 0) {
@@ -4368,44 +4658,44 @@
}
break;
- case 181:
+ case 199:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
- case 182:
+ case 200:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
- case 183:
+ case 201:
{ context->symbolTable.push(); }
break;
- case 184:
+ case 202:
{ context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
break;
- case 185:
+ case 203:
{ context->symbolTable.push(); }
break;
- case 186:
+ case 204:
{ context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
break;
- case 187:
+ case 205:
{
(yyval.interm.intermNode) = 0;
}
break;
- case 188:
+ case 206:
{
if ((yyvsp[(2) - (3)].interm.intermAggregate)) {
@@ -4416,31 +4706,31 @@
}
break;
- case 189:
+ case 207:
{
(yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), 0);
}
break;
- case 190:
+ case 208:
{
(yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), 0);
}
break;
- case 191:
+ case 209:
{ (yyval.interm.intermNode) = 0; }
break;
- case 192:
+ case 210:
{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); }
break;
- case 193:
+ case 211:
{
if (context->boolErrorCheck((yyvsp[(1) - (5)].lex).line, (yyvsp[(3) - (5)].interm.intermTypedNode)))
@@ -4449,7 +4739,7 @@
}
break;
- case 194:
+ case 212:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode);
@@ -4457,7 +4747,7 @@
}
break;
- case 195:
+ case 213:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode);
@@ -4465,7 +4755,7 @@
}
break;
- case 196:
+ case 214:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
@@ -4474,7 +4764,7 @@
}
break;
- case 197:
+ case 215:
{
TIntermNode* intermNode;
@@ -4492,12 +4782,12 @@
}
break;
- case 198:
+ case 216:
{ context->symbolTable.push(); ++context->loopNestingLevel; }
break;
- case 199:
+ case 217:
{
context->symbolTable.pop();
@@ -4506,12 +4796,12 @@
}
break;
- case 200:
+ case 218:
{ ++context->loopNestingLevel; }
break;
- case 201:
+ case 219:
{
if (context->boolErrorCheck((yyvsp[(8) - (8)].lex).line, (yyvsp[(6) - (8)].interm.intermTypedNode)))
@@ -4522,12 +4812,12 @@
}
break;
- case 202:
+ case 220:
{ context->symbolTable.push(); ++context->loopNestingLevel; }
break;
- case 203:
+ case 221:
{
context->symbolTable.pop();
@@ -4536,35 +4826,35 @@
}
break;
- case 204:
+ case 222:
{
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
}
break;
- case 205:
+ case 223:
{
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
}
break;
- case 206:
+ case 224:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
}
break;
- case 207:
+ case 225:
{
(yyval.interm.intermTypedNode) = 0;
}
break;
- case 208:
+ case 226:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode);
@@ -4572,7 +4862,7 @@
}
break;
- case 209:
+ case 227:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode);
@@ -4580,7 +4870,7 @@
}
break;
- case 210:
+ case 228:
{
if (context->loopNestingLevel <= 0) {
@@ -4591,7 +4881,7 @@
}
break;
- case 211:
+ case 229:
{
if (context->loopNestingLevel <= 0) {
@@ -4602,7 +4892,7 @@
}
break;
- case 212:
+ case 230:
{
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(1) - (2)].lex).line);
@@ -4613,7 +4903,7 @@
}
break;
- case 213:
+ case 231:
{
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(2) - (3)].interm.intermTypedNode), (yyvsp[(1) - (3)].lex).line);
@@ -4628,7 +4918,7 @@
}
break;
- case 214:
+ case 232:
{
FRAG_ONLY("discard", (yyvsp[(1) - (2)].lex).line);
@@ -4636,7 +4926,7 @@
}
break;
- case 215:
+ case 233:
{
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
@@ -4644,7 +4934,7 @@
}
break;
- case 216:
+ case 234:
{
(yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0);
@@ -4652,21 +4942,21 @@
}
break;
- case 217:
+ case 235:
{
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
}
break;
- case 218:
+ case 236:
{
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
}
break;
- case 219:
+ case 237:
{
TFunction* function = (yyvsp[(1) - (1)].interm).function;
@@ -4755,7 +5045,7 @@
}
break;
- case 220:
+ case 238:
{
//?? Check that all paths return a value if return type != void ?
diff --git a/src/OpenGL/compiler/glslang_tab.h b/src/OpenGL/compiler/glslang_tab.h
index 77bb70c..6ec3a32 100644
--- a/src/OpenGL/compiler/glslang_tab.h
+++ b/src/OpenGL/compiler/glslang_tab.h
@@ -81,72 +81,89 @@
INOUT_QUAL = 297,
UNIFORM = 298,
VARYING = 299,
- CENTROID = 300,
- FLAT = 301,
- SMOOTH = 302,
- STRUCT = 303,
- VOID_TYPE = 304,
- WHILE = 305,
- SAMPLER2D = 306,
- SAMPLERCUBE = 307,
- SAMPLER_EXTERNAL_OES = 308,
- SAMPLER2DRECT = 309,
- SAMPLER3D = 310,
- SAMPLER3DRECT = 311,
- SAMPLER2DSHADOW = 312,
- LAYOUT = 313,
- IDENTIFIER = 314,
- TYPE_NAME = 315,
- FLOATCONSTANT = 316,
- INTCONSTANT = 317,
- UINTCONSTANT = 318,
- BOOLCONSTANT = 319,
- FIELD_SELECTION = 320,
- LEFT_OP = 321,
- RIGHT_OP = 322,
- INC_OP = 323,
- DEC_OP = 324,
- LE_OP = 325,
- GE_OP = 326,
- EQ_OP = 327,
- NE_OP = 328,
- AND_OP = 329,
- OR_OP = 330,
- XOR_OP = 331,
- MUL_ASSIGN = 332,
- DIV_ASSIGN = 333,
- ADD_ASSIGN = 334,
- MOD_ASSIGN = 335,
- LEFT_ASSIGN = 336,
- RIGHT_ASSIGN = 337,
- AND_ASSIGN = 338,
- XOR_ASSIGN = 339,
- OR_ASSIGN = 340,
- SUB_ASSIGN = 341,
- LEFT_PAREN = 342,
- RIGHT_PAREN = 343,
- LEFT_BRACKET = 344,
- RIGHT_BRACKET = 345,
- LEFT_BRACE = 346,
- RIGHT_BRACE = 347,
- DOT = 348,
- COMMA = 349,
- COLON = 350,
- EQUAL = 351,
- SEMICOLON = 352,
- BANG = 353,
- DASH = 354,
- TILDE = 355,
- PLUS = 356,
- STAR = 357,
- SLASH = 358,
- PERCENT = 359,
- LEFT_ANGLE = 360,
- RIGHT_ANGLE = 361,
- VERTICAL_BAR = 362,
- CARET = 363,
- AMPERSAND = 364,
- QUESTION = 365
+ MATRIX2x3 = 300,
+ MATRIX3x2 = 301,
+ MATRIX2x4 = 302,
+ MATRIX4x2 = 303,
+ MATRIX3x4 = 304,
+ MATRIX4x3 = 305,
+ CENTROID = 306,
+ FLAT = 307,
+ SMOOTH = 308,
+ STRUCT = 309,
+ VOID_TYPE = 310,
+ WHILE = 311,
+ SAMPLER2D = 312,
+ SAMPLERCUBE = 313,
+ SAMPLER_EXTERNAL_OES = 314,
+ SAMPLER2DRECT = 315,
+ SAMPLER2DARRAY = 316,
+ ISAMPLER2D = 317,
+ ISAMPLER3D = 318,
+ ISAMPLERCUBE = 319,
+ ISAMPLER2DARRAY = 320,
+ USAMPLER2D = 321,
+ USAMPLER3D = 322,
+ USAMPLERCUBE = 323,
+ USAMPLER2DARRAY = 324,
+ SAMPLER3D = 325,
+ SAMPLER3DRECT = 326,
+ SAMPLER2DSHADOW = 327,
+ SAMPLERCUBESHADOW = 328,
+ SAMPLER2DARRAYSHADOW = 329,
+ LAYOUT = 330,
+ IDENTIFIER = 331,
+ TYPE_NAME = 332,
+ FLOATCONSTANT = 333,
+ INTCONSTANT = 334,
+ UINTCONSTANT = 335,
+ BOOLCONSTANT = 336,
+ FIELD_SELECTION = 337,
+ LEFT_OP = 338,
+ RIGHT_OP = 339,
+ INC_OP = 340,
+ DEC_OP = 341,
+ LE_OP = 342,
+ GE_OP = 343,
+ EQ_OP = 344,
+ NE_OP = 345,
+ AND_OP = 346,
+ OR_OP = 347,
+ XOR_OP = 348,
+ MUL_ASSIGN = 349,
+ DIV_ASSIGN = 350,
+ ADD_ASSIGN = 351,
+ MOD_ASSIGN = 352,
+ LEFT_ASSIGN = 353,
+ RIGHT_ASSIGN = 354,
+ AND_ASSIGN = 355,
+ XOR_ASSIGN = 356,
+ OR_ASSIGN = 357,
+ SUB_ASSIGN = 358,
+ LEFT_PAREN = 359,
+ RIGHT_PAREN = 360,
+ LEFT_BRACKET = 361,
+ RIGHT_BRACKET = 362,
+ LEFT_BRACE = 363,
+ RIGHT_BRACE = 364,
+ DOT = 365,
+ COMMA = 366,
+ COLON = 367,
+ EQUAL = 368,
+ SEMICOLON = 369,
+ BANG = 370,
+ DASH = 371,
+ TILDE = 372,
+ PLUS = 373,
+ STAR = 374,
+ SLASH = 375,
+ PERCENT = 376,
+ LEFT_ANGLE = 377,
+ RIGHT_ANGLE = 378,
+ VERTICAL_BAR = 379,
+ CARET = 380,
+ AMPERSAND = 381,
+ QUESTION = 382
};
#endif
diff --git a/src/OpenGL/compiler/intermOut.cpp b/src/OpenGL/compiler/intermOut.cpp
index c9da525..f71eea4 100644
--- a/src/OpenGL/compiler/intermOut.cpp
+++ b/src/OpenGL/compiler/intermOut.cpp
@@ -44,10 +44,10 @@
stream << getQualifierString() << " " << getPrecisionString() << " ";
if (array)
stream << "array of ";
- if (matrix)
- stream << size << "X" << size << " matrix of ";
- else if (size > 1)
- stream << size << "-component vector of ";
+ if (isMatrix())
+ stream << primarySize << "X" << secondarySize << " matrix of ";
+ else if(primarySize > 1)
+ stream << primarySize << "-component vector of ";
stream << getBasicString();
return stream.str();
diff --git a/src/OpenGL/compiler/intermediate.h b/src/OpenGL/compiler/intermediate.h
index 03fd15c..243a93d 100644
--- a/src/OpenGL/compiler/intermediate.h
+++ b/src/OpenGL/compiler/intermediate.h
@@ -161,7 +161,13 @@
EOpConstructUVec3,
EOpConstructUVec4,
EOpConstructMat2,
+ EOpConstructMat2x3,
+ EOpConstructMat2x4,
+ EOpConstructMat3x2,
EOpConstructMat3,
+ EOpConstructMat3x4,
+ EOpConstructMat4x2,
+ EOpConstructMat4x3,
EOpConstructMat4,
EOpConstructStruct,
@@ -247,6 +253,7 @@
TQualifier getQualifier() const { return type.getQualifier(); }
TPrecision getPrecision() const { return type.getPrecision(); }
int getNominalSize() const { return type.getNominalSize(); }
+ int getSecondarySize() const { return type.getSecondarySize(); }
bool isMatrix() const { return type.isMatrix(); }
bool isArray() const { return type.isArray(); }