Add parsing of arrays of arrays
This changes the grammar so that multiple array sizes can be chained
together, and adds arrays of arrays support to TPublicType. In
TPublicType the array sizes are stored using a pointer to a vector, a
plain vector won't work due to bison restrictions.
A larger subset of program interface query tests now pass. Some are
still failing due to unrelated bugs.
BUG=angleproject:2125
TEST=angle_unittests, angle_end2end_tests,
dEQP-GLES31.functional.shaders.arrays_of_arrays.*
dEQP-GLES31.functional.uniform_location.nested_array.*
dEQP-GLES31.functional.program_interface_query.*
dEQP-GLES31.functional.ubo.*level*array.*
Change-Id: Iee16477a3752b953f5068c0473a2ed62fead8155
Reviewed-on: https://chromium-review.googlesource.com/633944
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/compiler/translator/ParseContext.cpp b/src/compiler/translator/ParseContext.cpp
index be47819..7417ab7 100644
--- a/src/compiler/translator/ParseContext.cpp
+++ b/src/compiler/translator/ParseContext.cpp
@@ -737,7 +737,7 @@
for (TIntermNode *const &argNode : *arguments)
{
const TType &argType = argNode->getAsTyped()->getType();
- if (argType.isArray())
+ if (mShaderVersion < 310 && argType.isArray())
{
error(line, "constructing from a non-dereferenced array", "constructor");
return false;
@@ -1028,7 +1028,7 @@
bool TParseContext::checkArrayElementIsNotArray(const TSourceLoc &line,
const TPublicType &elementType)
{
- if (elementType.array)
+ if (mShaderVersion < 310 && elementType.isArray())
{
error(line, "cannot declare arrays of arrays",
TType(elementType).getCompleteString().c_str());
@@ -2138,7 +2138,7 @@
checkPrecisionSpecified(typeSpecifier->getLine(), typeSpecifier->precision,
typeSpecifier->getBasicType());
- if (mShaderVersion < 300 && typeSpecifier->array)
+ if (mShaderVersion < 300 && typeSpecifier->isArray())
{
error(typeSpecifier->getLine(), "not supported", "first-class array");
typeSpecifier->clearArrayness();
@@ -2172,7 +2172,7 @@
if (mShaderVersion < 300)
{
- if (typeSpecifier.array)
+ if (typeSpecifier.isArray())
{
error(typeSpecifier.getLine(), "not supported", "first-class array");
returnType.clearArrayness();
@@ -2229,7 +2229,7 @@
{
case EvqVertexIn:
// ESSL 3.00 section 4.3.4
- if (type.array)
+ if (type.isArray())
{
error(qualifierLocation, "cannot be array", getQualifierString(qualifier));
}
@@ -2263,7 +2263,7 @@
// ESSL 3.00 sections 4.3.4 and 4.3.6.
// These restrictions are only implied by the ESSL 3.00 spec, but
// the ESSL 3.10 spec lists these restrictions explicitly.
- if (type.array)
+ if (type.isArray())
{
error(qualifierLocation, "cannot be an array of structures",
getQualifierString(qualifier));
@@ -2483,11 +2483,12 @@
return declaration;
}
-TIntermDeclaration *TParseContext::parseSingleArrayDeclaration(TPublicType &elementType,
- const TSourceLoc &identifierLocation,
- const TString &identifier,
- const TSourceLoc &indexLocation,
- unsigned int arraySize)
+TIntermDeclaration *TParseContext::parseSingleArrayDeclaration(
+ TPublicType &elementType,
+ const TSourceLoc &identifierLocation,
+ const TString &identifier,
+ const TSourceLoc &indexLocation,
+ const TVector<unsigned int> &arraySizes)
{
mDeferredNonEmptyDeclarationErrorCheck = false;
@@ -2499,7 +2500,7 @@
checkIsValidTypeAndQualifierForArray(indexLocation, elementType);
TType arrayType(elementType);
- arrayType.makeArray(arraySize);
+ arrayType.makeArrays(arraySizes);
checkGeometryShaderInputAndSetArraySize(indexLocation, identifier.c_str(), &arrayType);
@@ -2556,7 +2557,7 @@
const TSourceLoc &identifierLocation,
const TString &identifier,
const TSourceLoc &indexLocation,
- unsigned int arraySize,
+ const TVector<unsigned int> &arraySizes,
const TSourceLoc &initLocation,
TIntermTyped *initializer)
{
@@ -2570,7 +2571,7 @@
checkIsValidTypeAndQualifierForArray(indexLocation, elementType);
TType arrayType(elementType);
- arrayType.makeArray(arraySize);
+ arrayType.makeArrays(arraySizes);
TIntermDeclaration *declaration = new TIntermDeclaration();
declaration->setLine(identifierLocation);
@@ -2682,7 +2683,7 @@
const TSourceLoc &identifierLocation,
const TString &identifier,
const TSourceLoc &arrayLocation,
- unsigned int arraySize,
+ const TVector<unsigned int> &arraySizes,
TIntermDeclaration *declarationOut)
{
// If the declaration starting this declarator list was empty (example: int,), some checks were
@@ -2698,7 +2699,7 @@
if (checkIsValidTypeAndQualifierForArray(arrayLocation, elementType))
{
TType arrayType(elementType);
- arrayType.makeArray(arraySize);
+ arrayType.makeArrays(arraySizes);
checkGeometryShaderInputAndSetArraySize(identifierLocation, identifier.c_str(), &arrayType);
@@ -2754,7 +2755,7 @@
const TSourceLoc &identifierLocation,
const TString &identifier,
const TSourceLoc &indexLocation,
- unsigned int arraySize,
+ const TVector<unsigned int> &arraySizes,
const TSourceLoc &initLocation,
TIntermTyped *initializer,
TIntermDeclaration *declarationOut)
@@ -2772,7 +2773,7 @@
checkIsValidTypeAndQualifierForArray(indexLocation, elementType);
TType arrayType(elementType);
- arrayType.makeArray(arraySize);
+ arrayType.makeArrays(arraySizes);
// initNode will correspond to the whole of "b[n] = initializer".
TIntermBinary *initNode = nullptr;
@@ -3440,7 +3441,7 @@
{
// Array return values are forbidden, but there's also no valid syntax for declaring array
// return values in ESSL 1.00.
- ASSERT(type.arraySize == 0 || mDiagnostics->numErrors() > 0);
+ ASSERT(!type.isArray() || mDiagnostics->numErrors() > 0);
if (type.isStructureContainingArrays())
{
@@ -3462,7 +3463,7 @@
TFunction *TParseContext::addConstructorFunc(const TPublicType &publicType)
{
- if (mShaderVersion < 300 && publicType.array)
+ if (mShaderVersion < 300 && publicType.isArray())
{
error(publicType.getLine(), "array constructor supported in GLSL ES 3.00 and above only",
"[]");
@@ -3522,13 +3523,13 @@
TParameter TParseContext::parseParameterArrayDeclarator(const TString *name,
const TSourceLoc &nameLoc,
- unsigned int arraySize,
+ const TVector<unsigned int> &arraySizes,
const TSourceLoc &arrayLoc,
TPublicType *elementType)
{
checkArrayElementIsNotArray(arrayLoc, *elementType);
TType *arrayType = new TType(*elementType);
- arrayType->makeArray(arraySize);
+ arrayType->makeArrays(arraySizes);
return parseParameterDeclarator(arrayType, name, nameLoc);
}
@@ -4665,13 +4666,13 @@
TField *TParseContext::parseStructArrayDeclarator(TString *identifier,
const TSourceLoc &loc,
- unsigned int arraySize,
+ const TVector<unsigned int> &arraySizes,
const TSourceLoc &arraySizeLoc)
{
checkIsNotReserved(loc, *identifier);
TType *type = new TType(EbtVoid, EbpUndefined);
- type->makeArray(arraySize);
+ type->makeArrays(arraySizes);
return new TField(type, identifier, loc);
}
@@ -4746,7 +4747,7 @@
for (TField *declarator : *declaratorList)
{
auto declaratorArraySizes = declarator->type()->getArraySizes();
- // don't allow arrays of arrays
+ // Don't allow arrays of arrays in ESSL < 3.10.
if (!declaratorArraySizes.empty())
{
checkArrayElementIsNotArray(typeSpecifier.getLine(), typeSpecifier);
diff --git a/src/compiler/translator/ParseContext.h b/src/compiler/translator/ParseContext.h
index e917db7..6cf5fad 100644
--- a/src/compiler/translator/ParseContext.h
+++ b/src/compiler/translator/ParseContext.h
@@ -221,7 +221,7 @@
const TSourceLoc &identifierLocation,
const TString &identifier,
const TSourceLoc &indexLocation,
- unsigned int arraySize);
+ const TVector<unsigned int> &arraySizes);
TIntermDeclaration *parseSingleInitDeclaration(const TPublicType &publicType,
const TSourceLoc &identifierLocation,
const TString &identifier,
@@ -234,7 +234,7 @@
const TSourceLoc &identifierLocation,
const TString &identifier,
const TSourceLoc &indexLocation,
- unsigned int arraySize,
+ const TVector<unsigned int> &arraySizes,
const TSourceLoc &initLocation,
TIntermTyped *initializer);
@@ -252,7 +252,7 @@
const TSourceLoc &identifierLocation,
const TString &identifier,
const TSourceLoc &arrayLocation,
- unsigned int arraySize,
+ const TVector<unsigned int> &arraySizes,
TIntermDeclaration *declarationOut);
void parseInitDeclarator(const TPublicType &publicType,
const TSourceLoc &identifierLocation,
@@ -266,7 +266,7 @@
const TSourceLoc &identifierLocation,
const TString &identifier,
const TSourceLoc &indexLocation,
- unsigned int arraySize,
+ const TVector<unsigned int> &arraySizes,
const TSourceLoc &initLocation,
TIntermTyped *initializer,
TIntermDeclaration *declarationOut);
@@ -298,7 +298,7 @@
TParameter parseParameterArrayDeclarator(const TString *name,
const TSourceLoc &nameLoc,
- unsigned int arraySize,
+ const TVector<unsigned int> &arraySizes,
const TSourceLoc &arrayLoc,
TPublicType *elementType);
@@ -314,7 +314,7 @@
TField *parseStructDeclarator(TString *identifier, const TSourceLoc &loc);
TField *parseStructArrayDeclarator(TString *identifier,
const TSourceLoc &loc,
- unsigned int arraySize,
+ const TVector<unsigned int> &arraySizes,
const TSourceLoc &arraySizeLoc);
void checkDoesNotHaveDuplicateFieldName(const TFieldList::const_iterator begin,
diff --git a/src/compiler/translator/Types.cpp b/src/compiler/translator/Types.cpp
index 04e885a..d59a3d8 100644
--- a/src/compiler/translator/Types.cpp
+++ b/src/compiler/translator/Types.cpp
@@ -178,9 +178,9 @@
{
ASSERT(primarySize <= 4);
ASSERT(secondarySize <= 4);
- if (p.array)
+ if (p.isArray())
{
- makeArray(p.arraySize);
+ mArraySizes = *p.arraySizes;
}
if (p.getUserDef())
{
@@ -715,6 +715,12 @@
invalidateMangledName();
}
+void TType::makeArrays(const TVector<unsigned int> &sizes)
+{
+ mArraySizes.insert(mArraySizes.end(), sizes.begin(), sizes.end());
+ invalidateMangledName();
+}
+
void TType::setArraySize(size_t arrayDimension, unsigned int s)
{
ASSERT(arrayDimension < mArraySizes.size());
@@ -940,8 +946,7 @@
qualifier = q;
invariant = false;
precision = EbpUndefined;
- array = false;
- arraySize = 0;
+ arraySizes = nullptr;
}
void TPublicType::initializeBasicType(TBasicType basicType)
@@ -954,8 +959,7 @@
qualifier = EvqTemporary;
invariant = false;
precision = EbpUndefined;
- array = false;
- arraySize = 0;
+ arraySizes = nullptr;
}
bool TPublicType::isStructureContainingArrays() const
@@ -978,21 +982,24 @@
return typeSpecifierNonArray.userDef->containsType(t);
}
-void TPublicType::setArraySize(int s)
+void TPublicType::setArraySizes(TVector<unsigned int> *sizes)
{
- array = true;
- arraySize = s;
+ arraySizes = sizes;
+}
+
+bool TPublicType::isArray() const
+{
+ return arraySizes && !arraySizes->empty();
}
void TPublicType::clearArrayness()
{
- array = false;
- arraySize = 0;
+ arraySizes = nullptr;
}
bool TPublicType::isAggregate() const
{
- return array || typeSpecifierNonArray.isMatrix() || typeSpecifierNonArray.isVector();
+ return isArray() || typeSpecifierNonArray.isMatrix() || typeSpecifierNonArray.isVector();
}
} // namespace sh
diff --git a/src/compiler/translator/Types.h b/src/compiler/translator/Types.h
index 0ca83c7..63d6242 100644
--- a/src/compiler/translator/Types.h
+++ b/src/compiler/translator/Types.h
@@ -247,8 +247,10 @@
unsigned int getArraySizeProduct() const;
bool isUnsizedArray() const;
unsigned int getOutermostArraySize() const { return mArraySizes.back(); }
- void makeArray(unsigned int s);
+ void makeArray(unsigned int s);
+ // sizes contain new outermost array sizes.
+ void makeArrays(const TVector<unsigned int> &sizes);
// Here, the array dimension value 0 corresponds to the innermost array.
void setArraySize(size_t arrayDimension, unsigned int s);
@@ -475,7 +477,8 @@
bool isStructureContainingArrays() const;
bool isStructureContainingType(TBasicType t) const;
- void setArraySize(int s);
+ void setArraySizes(TVector<unsigned int> *sizes);
+ bool isArray() const;
void clearArrayness();
bool isAggregate() const;
@@ -485,8 +488,11 @@
TQualifier qualifier;
bool invariant;
TPrecision precision;
- bool array;
- int arraySize;
+
+ // Either nullptr or empty in case the type is not an array. The last element is the outermost
+ // array size. Note that due to bison restrictions, copies of the public type created by the
+ // copy constructor share the same arraySizes pointer.
+ const TVector<unsigned int> *arraySizes;
};
} // namespace sh
diff --git a/src/compiler/translator/glslang.y b/src/compiler/translator/glslang.y
index 706c552..3e506ca 100644
--- a/src/compiler/translator/glslang.y
+++ b/src/compiler/translator/glslang.y
@@ -86,7 +86,7 @@
TIntermCase *intermCase;
};
union {
- unsigned int arraySize;
+ TVector<unsigned int> *arraySizes;
TTypeSpecifierNonArray typeSpecifierNonArray;
TPublicType type;
TPrecision precision;
@@ -219,7 +219,8 @@
%type <interm.param> parameter_declaration parameter_declarator parameter_type_specifier
%type <interm.layoutQualifier> layout_qualifier_id_list layout_qualifier_id
-%type <interm.arraySize> array_specifier
+// Note: array_specifier guaranteed to be non-null.
+%type <interm.arraySizes> array_specifier
%type <interm.type> fully_specified_type type_specifier
@@ -686,7 +687,7 @@
$$ = context->parseParameterDeclarator($1, $2.string, @2);
}
| type_specifier identifier array_specifier {
- $$ = context->parseParameterArrayDeclarator($2.string, @2, $3, @3, &$1);
+ $$ = context->parseParameterArrayDeclarator($2.string, @2, *($3), @3, &$1);
}
;
@@ -726,12 +727,12 @@
}
| init_declarator_list COMMA identifier array_specifier {
$$ = $1;
- context->parseArrayDeclarator($$.type, @3, *$3.string, @4, $4, $$.intermDeclaration);
+ context->parseArrayDeclarator($$.type, @3, *$3.string, @4, *($4), $$.intermDeclaration);
}
| init_declarator_list COMMA identifier array_specifier EQUAL initializer {
ES3_OR_NEWER("=", @5, "first-class arrays (array initializer)");
$$ = $1;
- context->parseArrayInitDeclarator($$.type, @3, *$3.string, @4, $4, @5, $6, $$.intermDeclaration);
+ context->parseArrayInitDeclarator($$.type, @3, *$3.string, @4, *($4), @5, $6, $$.intermDeclaration);
}
| init_declarator_list COMMA identifier EQUAL initializer {
$$ = $1;
@@ -750,12 +751,12 @@
}
| fully_specified_type identifier array_specifier {
$$.type = $1;
- $$.intermDeclaration = context->parseSingleArrayDeclaration($$.type, @2, *$2.string, @3, $3);
+ $$.intermDeclaration = context->parseSingleArrayDeclaration($$.type, @2, *$2.string, @3, *($3));
}
| fully_specified_type identifier array_specifier EQUAL initializer {
ES3_OR_NEWER("[]", @3, "first-class arrays (array initializer)");
$$.type = $1;
- $$.intermDeclaration = context->parseSingleArrayInitDeclaration($$.type, @2, *$2.string, @3, $3, @4, $5);
+ $$.intermDeclaration = context->parseSingleArrayInitDeclaration($$.type, @2, *$2.string, @3, *($3), @4, $5);
}
| fully_specified_type identifier EQUAL initializer {
$$.type = $1;
@@ -932,20 +933,35 @@
}
| type_specifier_nonarray array_specifier {
$$.initialize($1, (context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary));
- $$.setArraySize($2);
+ $$.setArraySizes($2);
}
;
array_specifier
: LEFT_BRACKET RIGHT_BRACKET {
ES3_OR_NEWER("[]", @1, "implicitly sized array");
- $$ = 0u;
+ $$ = new TVector<unsigned int>();
+ $$->push_back(0u);
}
| LEFT_BRACKET constant_expression RIGHT_BRACKET {
+ $$ = new TVector<unsigned int>();
unsigned int size = context->checkIsValidArraySize(@1, $2);
// Make the type an array even if size check failed.
// This ensures useless error messages regarding a variable's non-arrayness won't follow.
- $$ = size;
+ $$->push_back(size);
+ }
+ | array_specifier LEFT_BRACKET RIGHT_BRACKET {
+ ES3_1_ONLY("[]", @2, "arrays of arrays");
+ $$ = $1;
+ $$->insert($$->begin(), 0u);
+ }
+ | array_specifier LEFT_BRACKET constant_expression RIGHT_BRACKET {
+ ES3_1_ONLY("[]", @2, "arrays of arrays");
+ $$ = $1;
+ unsigned int size = context->checkIsValidArraySize(@2, $3);
+ // Make the type an array even if size check failed.
+ // This ensures useless error messages regarding a variable's non-arrayness won't follow.
+ $$->insert($$->begin(), size);
}
;
@@ -1226,7 +1242,7 @@
$$ = context->parseStructDeclarator($1.string, @1);
}
| identifier array_specifier {
- $$ = context->parseStructArrayDeclarator($1.string, @1, $2, @2);
+ $$ = context->parseStructArrayDeclarator($1.string, @1, *($2), @2);
}
;
diff --git a/src/compiler/translator/glslang_tab.cpp b/src/compiler/translator/glslang_tab.cpp
index ac8e202..ce4aacf 100644
--- a/src/compiler/translator/glslang_tab.cpp
+++ b/src/compiler/translator/glslang_tab.cpp
@@ -327,7 +327,7 @@
TIntermCase *intermCase;
};
union {
- unsigned int arraySize;
+ TVector<unsigned int> *arraySizes;
TTypeSpecifierNonArray typeSpecifierNonArray;
TPublicType type;
TPrecision precision;
@@ -672,16 +672,16 @@
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 135
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2769
+#define YYLAST 2897
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 154
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 95
/* YYNRULES -- Number of rules. */
-#define YYNRULES 295
+#define YYNRULES 297
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 419
+#define YYNSTATES 423
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
@@ -742,36 +742,36 @@
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 247, 247, 248, 251, 261, 264, 269, 274, 279,
- 284, 293, 299, 302, 305, 308, 311, 314, 320, 327,
- 333, 337, 345, 348, 354, 358, 365, 370, 377, 385,
- 388, 391, 397, 400, 403, 406, 413, 414, 415, 416,
- 424, 425, 428, 431, 438, 439, 442, 448, 449, 453,
- 460, 461, 464, 467, 470, 476, 477, 480, 486, 487,
- 494, 495, 502, 503, 510, 511, 517, 518, 524, 525,
- 531, 532, 538, 539, 545, 546, 547, 548, 552, 553,
- 554, 558, 562, 566, 570, 577, 580, 586, 593, 600,
- 603, 606, 610, 614, 618, 622, 626, 633, 640, 643,
- 650, 658, 675, 685, 688, 694, 698, 702, 706, 713,
- 720, 723, 727, 731, 736, 743, 747, 751, 755, 760,
- 767, 771, 777, 780, 786, 790, 797, 803, 807, 811,
- 814, 817, 826, 831, 835, 838, 841, 844, 847, 851,
- 854, 858, 861, 864, 867, 870, 873, 880, 887, 890,
- 893, 899, 906, 909, 915, 918, 921, 924, 930, 933,
- 940, 944, 953, 956, 959, 962, 965, 968, 972, 976,
- 980, 984, 988, 992, 996, 1000, 1004, 1008, 1012, 1016,
- 1020, 1024, 1028, 1032, 1036, 1040, 1044, 1048, 1052, 1059,
- 1062, 1065, 1068, 1071, 1074, 1077, 1080, 1083, 1086, 1089,
- 1092, 1095, 1098, 1101, 1104, 1107, 1110, 1113, 1123, 1130,
- 1137, 1140, 1143, 1146, 1149, 1152, 1155, 1158, 1161, 1164,
- 1167, 1170, 1173, 1176, 1179, 1187, 1187, 1190, 1190, 1196,
- 1199, 1205, 1208, 1215, 1219, 1225, 1228, 1234, 1238, 1242,
- 1243, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1259, 1263,
- 1263, 1263, 1270, 1271, 1275, 1275, 1276, 1276, 1281, 1285,
- 1292, 1296, 1303, 1304, 1308, 1314, 1318, 1327, 1327, 1334,
- 1337, 1343, 1347, 1353, 1353, 1358, 1358, 1362, 1362, 1370,
- 1373, 1379, 1382, 1388, 1392, 1399, 1402, 1405, 1408, 1411,
- 1419, 1425, 1431, 1434, 1440, 1440
+ 0, 248, 248, 249, 252, 262, 265, 270, 275, 280,
+ 285, 294, 300, 303, 306, 309, 312, 315, 321, 328,
+ 334, 338, 346, 349, 355, 359, 366, 371, 378, 386,
+ 389, 392, 398, 401, 404, 407, 414, 415, 416, 417,
+ 425, 426, 429, 432, 439, 440, 443, 449, 450, 454,
+ 461, 462, 465, 468, 471, 477, 478, 481, 487, 488,
+ 495, 496, 503, 504, 511, 512, 518, 519, 525, 526,
+ 532, 533, 539, 540, 546, 547, 548, 549, 553, 554,
+ 555, 559, 563, 567, 571, 578, 581, 587, 594, 601,
+ 604, 607, 611, 615, 619, 623, 627, 634, 641, 644,
+ 651, 659, 676, 686, 689, 695, 699, 703, 707, 714,
+ 721, 724, 728, 732, 737, 744, 748, 752, 756, 761,
+ 768, 772, 778, 781, 787, 791, 798, 804, 808, 812,
+ 815, 818, 827, 832, 836, 839, 842, 845, 848, 852,
+ 855, 859, 862, 865, 868, 871, 874, 881, 888, 891,
+ 894, 900, 907, 910, 916, 919, 922, 925, 931, 934,
+ 941, 946, 953, 958, 969, 972, 975, 978, 981, 984,
+ 988, 992, 996, 1000, 1004, 1008, 1012, 1016, 1020, 1024,
+ 1028, 1032, 1036, 1040, 1044, 1048, 1052, 1056, 1060, 1064,
+ 1068, 1075, 1078, 1081, 1084, 1087, 1090, 1093, 1096, 1099,
+ 1102, 1105, 1108, 1111, 1114, 1117, 1120, 1123, 1126, 1129,
+ 1139, 1146, 1153, 1156, 1159, 1162, 1165, 1168, 1171, 1174,
+ 1177, 1180, 1183, 1186, 1189, 1192, 1195, 1203, 1203, 1206,
+ 1206, 1212, 1215, 1221, 1224, 1231, 1235, 1241, 1244, 1250,
+ 1254, 1258, 1259, 1265, 1266, 1267, 1268, 1269, 1270, 1271,
+ 1275, 1279, 1279, 1279, 1286, 1287, 1291, 1291, 1292, 1292,
+ 1297, 1301, 1308, 1312, 1319, 1320, 1324, 1330, 1334, 1343,
+ 1343, 1350, 1353, 1359, 1363, 1369, 1369, 1374, 1374, 1378,
+ 1378, 1386, 1389, 1395, 1398, 1404, 1408, 1415, 1418, 1421,
+ 1424, 1427, 1435, 1441, 1447, 1450, 1456, 1456
};
#endif
@@ -868,12 +868,12 @@
};
# endif
-#define YYPACT_NINF -354
+#define YYPACT_NINF -366
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-354)))
+ (!!((Yystate) == (-366)))
-#define YYTABLE_NINF -255
+#define YYTABLE_NINF -257
#define yytable_value_is_error(Yytable_value) \
0
@@ -882,48 +882,49 @@
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 2377, -354, -354, -354, -354, 106, -354, -354, -354, -354,
- -354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
- -354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
- -354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
- -354, -354, -354, -354, -354, -354, -354, -354, -80, -354,
- -354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
- -354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
- -354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
- -354, -354, -354, -354, -106, -354, -354, -354, -101, -103,
- -77, 2478, -42, -354, -18, -354, 1359, -354, -354, -354,
- -354, -354, -354, -354, -68, -354, 2276, -354, -354, 2666,
- -354, -354, -354, -15, -41, -354, -3, -354, 2478, -354,
- -354, -354, 2478, 45, 45, -354, -56, -67, -92, -354,
- 2478, -354, -354, 1454, -354, -354, -354, -70, 2478, -354,
- -354, 4, -75, -354, 403, -354, -354, -354, -354, -68,
- -64, -354, 1699, 6, -354, -354, 2478, 45, 1943, -354,
- -354, 24, -354, -354, -354, -354, -354, 1699, 1699, 1699,
- -354, -354, -354, -354, -354, -354, -354, -86, -354, -354,
- -354, 26, -49, 1820, 29, -354, 1699, -6, -7, 41,
- -69, 37, 11, 16, 21, 55, 71, -98, -354, 42,
- -354, -354, 2054, 2478, 56, -354, -41, 53, 54, -354,
- 65, 66, 57, 1578, 74, 1699, 63, 94, 90, -354,
- -354, 60, -354, -354, -13, -354, -101, 96, -354, -354,
- -354, -354, 545, -354, -354, -354, -354, -354, -354, -354,
- 1699, 88, -354, -354, 1699, 45, -68, -12, -354, -81,
- -354, -354, -354, -48, -354, -354, 1699, 2572, -354, -354,
- 1699, 97, -354, -354, -354, 1699, 1699, 1699, 1699, 1699,
- 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699,
- 1699, 1699, 1699, 1699, 1699, -354, -354, 2165, -354, -354,
- -354, -354, -354, 95, -354, 1699, -354, -354, -8, 1699,
- 92, -354, -354, -354, 687, -354, -354, -354, -354, -354,
- -354, -354, -354, -354, -354, -354, 1699, 1699, -354, -354,
- -354, -354, 1699, -354, -4, -354, 45, -354, -105, -354,
- -354, 101, 98, -354, 107, -354, -354, -354, -354, -354,
- -6, -6, -7, -7, 41, 41, 41, 41, -69, -69,
- 37, 11, 16, 21, 55, 71, 28, -354, 173, -3,
- 971, 1113, -45, -354, -38, -354, 1236, 687, -354, -354,
- -354, -354, -354, 1699, -354, -354, 1699, 108, -354, -354,
- -354, -354, 1236, 95, -354, 98, 45, 2478, 109, 104,
- 110, -354, 1699, -354, 102, 113, 224, -354, 114, 111,
- 829, -354, 112, -37, 1699, 829, 95, -354, 1699, -354,
- -354, -354, -354, 115, 98, -354, -354, -354, -354
+ 2505, -366, -366, -366, -366, 144, -366, -366, -366, -366,
+ -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
+ -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
+ -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
+ -366, -366, -366, -366, -366, -366, -366, -366, -68, -366,
+ -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
+ -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
+ -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
+ -366, -366, -366, -366, -99, -366, -366, -366, -97, -85,
+ -87, 2606, -45, -366, -32, -366, 1363, -366, -366, -366,
+ -366, -366, -366, -366, -42, -366, 2404, -366, -366, 2794,
+ -366, -366, -366, -40, -41, -366, -31, -366, 2606, -366,
+ -366, -366, 2606, -18, -18, -366, -10, -107, -51, -366,
+ 2606, -366, -366, 1458, -20, -366, -366, -13, 2606, -366,
+ -366, -91, -50, -366, 407, -366, -366, -366, -366, -42,
+ -67, -366, 1827, -64, -366, -366, 2606, -18, 2071, -366,
+ -366, 16, -366, -366, -366, -366, -366, 1827, 1827, 1827,
+ -366, -366, -366, -366, -366, -366, -366, -58, -366, -366,
+ -366, 57, -38, 1948, 24, -366, 1827, 6, 13, 60,
+ -86, 58, 25, 38, 45, 79, 78, -94, -366, 65,
+ -366, 1582, -366, 2182, 2606, 74, -366, -41, 59, 62,
+ -366, 70, 76, 67, 1706, 80, 1827, 71, 81, 73,
+ -366, -366, 39, -366, -366, -21, -366, -97, 84, -366,
+ -366, -366, -366, 549, -366, -366, -366, -366, -366, -366,
+ -20, 1827, -53, -366, -366, 1827, -18, -42, -16, -366,
+ -82, -366, -366, -366, -29, -366, -366, 1827, 2700, -366,
+ -366, 1827, 85, -366, -366, -366, 1827, 1827, 1827, 1827,
+ 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827,
+ 1827, 1827, 1827, 1827, 1827, 1827, -366, -366, 82, -366,
+ 2293, -366, -366, -366, -366, -366, 83, -366, 1827, -366,
+ -366, -1, 1827, 86, -366, -366, -366, 691, -366, -366,
+ -366, -366, -366, -366, -366, -366, -366, -366, -366, 1827,
+ 1827, -366, -366, -366, -366, 1827, -366, 3, -20, -18,
+ -366, -96, -366, -366, 88, 89, -366, 92, -366, -366,
+ -366, -366, -366, 6, 6, 13, 13, 60, 60, 60,
+ 60, -86, -86, 58, 25, 38, 45, 79, 78, 46,
+ -366, -366, 155, -31, 975, 1117, -27, -366, -26, -366,
+ 1240, 691, -366, -366, -366, -366, -366, 1827, -366, -366,
+ 1827, 93, -366, -366, -366, -366, 1240, 83, -366, 89,
+ -18, 2606, 94, 95, 98, -366, 1827, -366, 87, 97,
+ 202, -366, 100, 96, 833, -366, 101, -24, 1827, 833,
+ 83, -366, 1827, -366, -366, -366, -366, 102, 89, -366,
+ -366, -366, -366
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -931,78 +932,79 @@
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 0, 126, 148, 149, 150, 0, 132, 134, 166, 163,
- 164, 165, 170, 171, 172, 173, 174, 175, 167, 168,
- 169, 176, 177, 178, 179, 180, 181, 135, 136, 137,
- 139, 140, 133, 182, 183, 184, 185, 186, 187, 138,
- 123, 122, 141, 142, 143, 144, 145, 146, 0, 162,
- 189, 191, 207, 209, 192, 194, 195, 196, 197, 199,
- 200, 201, 202, 193, 198, 203, 190, 204, 205, 206,
- 208, 211, 212, 213, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 0, 188, 224, 293, 294, 0,
+ 0, 126, 148, 149, 150, 0, 132, 134, 168, 165,
+ 166, 167, 172, 173, 174, 175, 176, 177, 169, 170,
+ 171, 178, 179, 180, 181, 182, 183, 135, 136, 137,
+ 139, 140, 133, 184, 185, 186, 187, 188, 189, 138,
+ 123, 122, 141, 142, 143, 144, 145, 146, 0, 164,
+ 191, 193, 209, 211, 194, 196, 197, 198, 199, 201,
+ 202, 203, 204, 195, 200, 205, 192, 206, 207, 208,
+ 210, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 0, 190, 226, 295, 296, 0,
99, 98, 0, 110, 115, 130, 0, 131, 124, 127,
- 120, 129, 128, 147, 158, 210, 0, 290, 292, 0,
- 2, 3, 227, 0, 0, 89, 0, 97, 0, 106,
+ 120, 129, 128, 147, 158, 212, 0, 292, 294, 0,
+ 2, 3, 229, 0, 0, 89, 0, 97, 0, 106,
100, 108, 0, 109, 0, 90, 2, 116, 0, 95,
- 0, 125, 121, 0, 159, 1, 291, 0, 0, 225,
- 157, 154, 0, 152, 0, 295, 101, 105, 107, 103,
- 111, 102, 0, 117, 88, 96, 0, 0, 0, 229,
+ 0, 125, 121, 0, 159, 1, 293, 0, 0, 227,
+ 157, 154, 0, 152, 0, 297, 101, 105, 107, 103,
+ 111, 102, 0, 117, 88, 96, 0, 0, 0, 231,
10, 4, 8, 6, 7, 9, 31, 0, 0, 0,
160, 38, 37, 39, 36, 5, 12, 32, 14, 19,
20, 0, 0, 25, 0, 40, 0, 44, 47, 50,
55, 58, 60, 62, 64, 66, 68, 70, 87, 0,
- 29, 91, 0, 0, 0, 151, 0, 0, 0, 275,
- 0, 0, 0, 0, 0, 0, 0, 0, 249, 258,
- 262, 40, 72, 85, 0, 238, 0, 147, 241, 260,
- 240, 239, 0, 242, 243, 244, 245, 246, 247, 104,
- 0, 112, 237, 119, 0, 0, 235, 0, 233, 0,
- 230, 33, 34, 0, 16, 17, 0, 0, 23, 22,
- 0, 162, 26, 28, 35, 0, 0, 0, 0, 0,
+ 29, 0, 91, 0, 0, 0, 151, 0, 0, 0,
+ 277, 0, 0, 0, 0, 0, 0, 0, 0, 251,
+ 260, 264, 40, 72, 85, 0, 240, 0, 147, 243,
+ 262, 242, 241, 0, 244, 245, 246, 247, 248, 249,
+ 104, 0, 112, 239, 119, 0, 0, 237, 0, 235,
+ 0, 232, 33, 34, 0, 16, 17, 0, 0, 23,
+ 22, 0, 164, 26, 28, 35, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 161, 228, 0, 155, 156,
- 153, 286, 285, 256, 277, 0, 289, 287, 0, 0,
- 0, 270, 273, 248, 0, 75, 76, 78, 77, 80,
- 81, 82, 83, 84, 79, 74, 0, 0, 263, 259,
- 261, 114, 0, 118, 0, 236, 0, 231, 0, 92,
- 11, 0, 18, 30, 15, 21, 27, 41, 42, 43,
- 46, 45, 48, 49, 53, 54, 51, 52, 56, 57,
- 59, 61, 63, 65, 67, 69, 0, 226, 0, 0,
- 0, 0, 0, 288, 0, 269, 0, 250, 73, 86,
- 113, 232, 234, 0, 93, 13, 0, 0, 255, 257,
- 280, 279, 282, 256, 267, 271, 0, 0, 0, 0,
- 0, 71, 0, 281, 0, 0, 266, 264, 0, 0,
- 0, 251, 0, 0, 283, 0, 256, 268, 0, 253,
- 274, 252, 94, 0, 284, 278, 265, 272, 276
+ 0, 0, 0, 0, 0, 0, 161, 162, 0, 230,
+ 0, 155, 156, 153, 288, 287, 258, 279, 0, 291,
+ 289, 0, 0, 0, 272, 275, 250, 0, 75, 76,
+ 78, 77, 80, 81, 82, 83, 84, 79, 74, 0,
+ 0, 265, 261, 263, 114, 0, 118, 0, 238, 0,
+ 233, 0, 92, 11, 0, 18, 30, 15, 21, 27,
+ 41, 42, 43, 46, 45, 48, 49, 53, 54, 51,
+ 52, 56, 57, 59, 61, 63, 65, 67, 69, 0,
+ 163, 228, 0, 0, 0, 0, 0, 290, 0, 271,
+ 0, 252, 73, 86, 113, 234, 236, 0, 93, 13,
+ 0, 0, 257, 259, 282, 281, 284, 258, 269, 273,
+ 0, 0, 0, 0, 0, 71, 0, 283, 0, 0,
+ 268, 266, 0, 0, 0, 253, 0, 0, 285, 0,
+ 258, 270, 0, 255, 276, 254, 94, 0, 286, 280,
+ 267, 274, 278
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -354, -47, -354, -354, -354, -354, -354, -354, -1, -354,
- -354, -354, -354, -60, -354, -99, -93, -170, -85, -29,
- -28, -27, -23, -22, -24, -354, -128, -143, -354, -135,
- -205, -354, 14, 17, -354, -354, -354, 132, 143, 140,
- -354, -354, -330, -354, -87, -354, -90, -354, -89, 258,
- -354, -354, 58, 0, -112, -354, -354, -354, -354, -122,
- -145, 22, -58, -232, -95, -221, -342, -127, -354, -354,
- -133, -353, -354, -354, -113, -34, -88, -354, -354, -354,
- -354, -354, -108, -354, -354, -354, -354, -354, -354, -354,
- -354, -354, 169, -354, -354
+ -366, -47, -366, -366, -366, -366, -366, -366, -15, -366,
+ -366, -366, -366, 4, -366, -83, -80, -142, -84, -39,
+ -48, -44, -37, -36, -46, -366, -128, -144, -366, -157,
+ -195, -366, 17, 23, -366, -366, -366, 122, 128, 126,
+ -366, -366, -344, -366, -78, -366, -92, -366, -89, 247,
+ -366, -366, 47, 0, -112, -366, -366, -366, -366, -122,
+ -148, 7, -74, -227, -109, -224, -353, -145, -366, -366,
+ -151, -365, -366, -366, -113, -43, -106, -366, -366, -366,
+ -366, -366, -126, -366, -366, -366, -366, -366, -366, -366,
+ -366, -366, 156, -366, -366
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 246, 175, 176, 177, 331, 178, 179, 180, 181,
- 182, 183, 184, 221, 186, 187, 188, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 222, 223, 316, 224,
- 199, 130, 225, 226, 89, 90, 91, 119, 120, 121,
+ -1, 247, 175, 176, 177, 334, 178, 179, 180, 181,
+ 182, 183, 184, 222, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 223, 224, 319, 225,
+ 199, 130, 226, 227, 89, 90, 91, 119, 120, 121,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 142, 143, 200, 134, 104, 105, 203, 138, 158,
- 159, 247, 248, 243, 228, 229, 230, 231, 304, 389,
- 410, 358, 359, 360, 411, 232, 233, 234, 397, 235,
- 398, 236, 388, 237, 366, 293, 361, 382, 394, 395,
- 238, 106, 107, 108, 116
+ 102, 142, 143, 200, 134, 104, 105, 204, 138, 158,
+ 159, 248, 249, 244, 229, 230, 231, 232, 307, 393,
+ 414, 362, 363, 364, 415, 233, 234, 235, 401, 236,
+ 402, 237, 392, 238, 370, 296, 365, 386, 398, 399,
+ 239, 106, 107, 108, 116
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -1010,198 +1012,140 @@
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 103, 113, 123, 145, 122, 198, 131, 132, 321, 242,
- 300, 320, 323, 250, 87, 153, 202, 88, 379, 140,
- 283, 328, 110, 111, 114, 254, 255, 373, 117, 123,
- 396, 122, 131, 123, 253, 374, 386, 239, 241, 115,
- 262, 157, 154, 156, 272, 273, 256, 127, 155, 157,
- 257, 156, 386, 416, 112, 284, 205, 250, 409, 329,
- 118, 141, 206, 409, 133, 133, 131, 245, 133, 157,
- 201, 156, 152, 185, 151, 240, 149, 150, 298, 274,
- 275, 287, 259, 330, 126, 111, 383, 198, 260, 317,
- 370, 103, 317, 384, 413, 124, 103, 242, 125, 317,
- 317, 242, 344, 345, 346, 347, 103, 251, 252, 137,
- 2, 3, 4, 157, 157, 156, 156, 336, 103, 139,
- 87, 332, 103, 88, 317, 326, 264, 318, 327, 317,
- 103, 144, 363, 326, 325, 268, 371, 269, 103, 265,
- 266, 267, 250, 204, 227, 244, 320, 110, 111, 356,
- 270, 271, 276, 277, -30, 185, 103, 258, 103, 263,
- 362, 288, 289, 278, 364, 317, 376, 279, 390, 340,
- 341, 280, 281, 368, 369, 285, 417, 342, 343, 242,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 282, 348, 349, 291, 292, 294, 295, 296, 157, 315,
- 156, 301, 103, 103, 299, 337, 338, 339, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 302, 303, -29, 322, -24, -254,
- 365, 385, 227, 391, 375, 317, 377, -31, 392, 401,
- 400, 406, 404, 402, 405, 198, 378, 385, 218, 350,
- 408, 351, 412, 352, 147, 418, 335, 403, 353, 355,
- 354, 146, 148, 109, 290, 242, 380, 324, 372, 414,
- 367, 407, 415, 381, 393, 136, 0, 0, 0, 387,
- 0, 0, 0, 0, 0, 0, 0, 103, 0, 0,
- 0, 0, 0, 0, 0, 387, 0, 131, 132, 0,
- 0, 0, 0, 0, 227, 0, 0, 0, 0, 0,
- 0, 0, 0, 185, 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, 399,
+ 103, 113, 123, 145, 131, 198, 288, 132, 243, 323,
+ 251, 383, 254, 122, 324, 153, 203, 87, 326, 140,
+ 331, 303, 400, 88, 284, 133, 390, 273, 274, 123,
+ 131, 114, 152, 123, 110, 111, 377, 240, 242, 263,
+ 122, 157, 390, 115, 378, 420, 117, 127, 205, 157,
+ 118, 413, 156, 255, 256, 251, 413, 301, 332, 285,
+ 156, 141, 275, 276, 131, 133, 112, 246, 201, 157,
+ 126, 111, 241, 198, 257, 245, 149, 150, 258, 201,
+ 156, 206, 290, 154, 110, 111, 325, 207, 198, 155,
+ 133, 103, 124, 260, 139, 125, 103, 243, 374, 261,
+ 335, 243, 333, 144, 387, 388, 103, 417, 320, 137,
+ 320, 320, 201, 320, 157, 157, 320, 339, 103, 321,
+ 151, 329, 103, 87, 330, 156, 156, 202, 359, 88,
+ 103, 347, 348, 349, 350, 328, 320, 185, 103, 367,
+ 329, 366, 251, 375, 228, 368, -30, 323, 2, 3,
+ 4, 266, 267, 268, 264, 269, 103, 270, 103, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 271,
+ 272, 252, 253, 277, 278, 372, 373, 279, 318, 291,
+ 292, 243, 394, 320, 380, 421, 343, 344, 259, 280,
+ 265, 345, 346, 351, 352, 281, 282, 283, 286, 294,
+ 297, 157, 295, 103, 103, 185, 298, 299, 306, 304,
+ 302, 305, 156, 389, -29, 360, -24, -256, 381, 410,
+ 185, 379, -31, 396, 369, 404, 320, 408, 409, 389,
+ 405, 406, 354, 228, 219, 412, 395, 355, 358, 407,
+ 353, 416, 422, 338, 147, 356, 146, 357, 148, 198,
+ 382, 418, 109, 327, 293, 376, 384, 411, 419, 385,
+ 397, 0, 136, 0, 371, 0, 0, 0, 243, 0,
+ 340, 341, 342, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185, 185, 0,
+ 103, 0, 391, 0, 0, 0, 0, 0, 0, 131,
+ 0, 0, 132, 0, 0, 0, 0, 228, 391, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 227, 227, 0, 0, 0, 0, 227, 227, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 227, 0, 0, 0, 0, 103, 0, 0,
+ 0, 0, 0, 403, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 227, 0, 0, 0, 0, 227, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 207, 208, 209,
- 0, 210, 211, 212, 213, 214, 215, 216, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 217, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 0, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 160, 161, 86, 162, 163, 164,
- 165, 166, 0, 0, 167, 168, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 169, 0, 0, 0, 218, 219, 0,
- 0, 0, 0, 220, 171, 172, 173, 174, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 207,
- 208, 209, 0, 210, 211, 212, 213, 214, 215, 216,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 217, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 0, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 160, 161, 86, 162,
- 163, 164, 165, 166, 0, 0, 167, 168, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 169, 0, 0, 0, 218,
- 319, 0, 0, 0, 0, 220, 171, 172, 173, 174,
+ 0, 0, 0, 0, 228, 228, 0, 0, 0, 0,
+ 228, 228, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 185, 0, 0, 0, 0, 228, 0, 0, 0,
+ 0, 103, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 228, 0, 0, 0, 0, 228,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 207, 208, 209, 0, 210, 211, 212, 213, 214,
- 215, 216, 12, 13, 14, 15, 16, 17, 18, 19,
+ 11, 208, 209, 210, 0, 211, 212, 213, 214, 215,
+ 216, 217, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 217, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 218, 50, 51, 52, 53, 54, 55, 56, 57, 58,
59, 60, 61, 62, 63, 64, 65, 66, 0, 67,
68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 85, 160, 161,
86, 162, 163, 164, 165, 166, 0, 0, 167, 168,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 169, 0, 0,
- 0, 218, 0, 0, 0, 0, 0, 220, 171, 172,
+ 0, 219, 220, 0, 0, 0, 0, 221, 171, 172,
173, 174, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 207, 208, 209, 0, 210, 211, 212,
- 213, 214, 215, 216, 12, 13, 14, 15, 16, 17,
+ 9, 10, 11, 208, 209, 210, 0, 211, 212, 213,
+ 214, 215, 216, 217, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 217, 50, 51, 52, 53, 54, 55, 56,
+ 48, 49, 218, 50, 51, 52, 53, 54, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
0, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
160, 161, 86, 162, 163, 164, 165, 166, 0, 0,
167, 168, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 169,
- 0, 0, 0, 144, 0, 0, 0, 0, 0, 220,
+ 0, 0, 0, 219, 322, 0, 0, 0, 0, 221,
171, 172, 173, 174, 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 207, 208, 209, 0, 210,
- 211, 212, 213, 214, 215, 216, 12, 13, 14, 15,
+ 7, 8, 9, 10, 11, 208, 209, 210, 0, 211,
+ 212, 213, 214, 215, 216, 217, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 217, 50, 51, 52, 53, 54,
+ 46, 47, 48, 49, 218, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 0, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, 160, 161, 86, 162, 163, 164, 165, 166,
0, 0, 167, 168, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 169, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 220, 171, 172, 173, 174, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
+ 0, 169, 0, 0, 0, 219, 0, 0, 0, 0,
+ 0, 221, 171, 172, 173, 174, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 208, 209, 210,
+ 0, 211, 212, 213, 214, 215, 216, 217, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 0, 50, 51, 52,
+ 44, 45, 46, 47, 48, 49, 218, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 0, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
82, 83, 84, 85, 160, 161, 86, 162, 163, 164,
165, 166, 0, 0, 167, 168, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
- 2, 3, 4, 169, 6, 7, 8, 9, 10, 11,
- 0, 0, 0, 220, 171, 172, 173, 174, 0, 0,
- 0, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 0,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 0, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 160, 161, 86,
- 162, 163, 164, 165, 166, 0, 0, 167, 168, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 2, 3, 4, 169, 6, 7, 8,
- 9, 10, 11, 0, 0, 0, 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, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 0, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 0, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- 0, 128, 86, 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, 129,
- 33, 34, 35, 36, 37, 38, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 48, 49, 0, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 0, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 0, 85, 160, 161, 86, 162, 163,
- 164, 165, 166, 0, 0, 167, 168, 0, 0, 0,
+ 0, 0, 0, 169, 0, 0, 0, 144, 0, 0,
+ 0, 0, 0, 221, 171, 172, 173, 174, 1, 2,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 208,
+ 209, 210, 0, 211, 212, 213, 214, 215, 216, 217,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 218, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 0, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 160, 161, 86, 162,
+ 163, 164, 165, 166, 0, 0, 167, 168, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 169, 0, 0, 170, 8, 9,
- 10, 11, 0, 0, 0, 171, 172, 173, 174, 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, 33, 34, 35, 36, 37, 38,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
- 49, 0, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 0,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 0, 85, 160,
- 161, 86, 162, 163, 164, 165, 166, 0, 0, 167,
- 168, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 169, 8,
- 9, 10, 11, 0, 0, 0, 0, 0, 297, 171,
- 172, 173, 174, 0, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
- 0, 0, 0, 0, 0, 33, 34, 35, 36, 37,
- 38, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 48, 49, 0, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 0, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 0, 85,
- 160, 161, 86, 162, 163, 164, 165, 166, 0, 0,
- 167, 168, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 169,
- 8, 9, 10, 11, 0, 0, 0, 0, 0, 0,
- 171, 172, 173, 174, 0, 12, 13, 14, 15, 16,
+ 0, 0, 0, 0, 0, 169, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 221, 171, 172, 173, 174,
+ 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, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 0, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 0, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 160, 161,
+ 86, 162, 163, 164, 165, 166, 0, 0, 167, 168,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 2, 3, 4, 169, 6, 7,
+ 8, 9, 10, 11, 0, 0, 0, 221, 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, 33, 34, 35, 36,
- 37, 38, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 48, 261, 0, 50, 51, 52, 53, 54, 55,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 0, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 0, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 0,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 160, 161, 86, 162, 163, 164, 165, 166, 0,
0, 167, 168, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 2, 3, 4,
@@ -1214,62 +1158,21 @@
53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 0, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 0, 0, 86, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1, 2, 3,
- 4, 0, 6, 7, 8, 9, 10, 11, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 249, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 0, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 0, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 0, 0, 86, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,
- 3, 4, 0, 6, 7, 8, 9, 10, 11, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 286,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 0, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 0, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 0, 0, 86, 0,
- 0, 0, 0, 0, 0, 0, 135, 0, 0, 1,
- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 357, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 0,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 0, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 0, 0, 86,
- 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, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 0, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 0, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 0, 0,
- 86, 1, 2, 3, 4, 0, 6, 7, 8, 9,
+ 82, 83, 84, 85, 0, 128, 86, 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, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 19, 20, 21, 22, 23, 24, 25, 26, 0, 0,
+ 0, 0, 0, 129, 33, 34, 35, 36, 37, 38,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
49, 0, 50, 51, 52, 53, 54, 55, 56, 57,
58, 59, 60, 61, 62, 63, 64, 65, 66, 0,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 0,
- 0, 86, 8, 9, 10, 11, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 12, 13, 14,
+ 77, 78, 79, 80, 81, 82, 83, 0, 85, 160,
+ 161, 86, 162, 163, 164, 165, 166, 0, 0, 167,
+ 168, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 169, 0,
+ 0, 170, 8, 9, 10, 11, 0, 0, 0, 171,
+ 172, 173, 174, 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, 33, 34,
35, 36, 37, 38, 0, 0, 0, 0, 0, 0,
@@ -1277,8 +1180,11 @@
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 0, 67, 68, 69, 70, 71, 72,
73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 0, 85, 0, 333, 86, 8, 9, 10, 11,
- 334, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 83, 0, 85, 160, 161, 86, 162, 163, 164, 165,
+ 166, 0, 0, 167, 168, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 169, 0, 0, 287, 8, 9, 10, 11,
+ 0, 0, 0, 171, 172, 173, 174, 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, 33, 34, 35, 36, 37, 38, 0, 0,
@@ -1286,80 +1192,161 @@
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 0, 67, 68,
69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 0, 85, 0, 0, 86
+ 79, 80, 81, 82, 83, 0, 85, 160, 161, 86,
+ 162, 163, 164, 165, 166, 0, 0, 167, 168, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 169, 8, 9, 10,
+ 11, 0, 0, 0, 0, 0, 300, 171, 172, 173,
+ 174, 0, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 0, 0, 0,
+ 0, 0, 0, 33, 34, 35, 36, 37, 38, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 48, 49,
+ 0, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 0, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 0, 85, 160, 161,
+ 86, 162, 163, 164, 165, 166, 0, 0, 167, 168,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 169, 8, 9,
+ 10, 11, 0, 0, 0, 0, 0, 0, 171, 172,
+ 173, 174, 0, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 0, 0,
+ 0, 0, 0, 0, 33, 34, 35, 36, 37, 38,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
+ 262, 0, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 0,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 0, 85, 160,
+ 161, 86, 162, 163, 164, 165, 166, 0, 0, 167,
+ 168, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 2, 3, 4, 169, 6,
+ 7, 8, 9, 10, 11, 0, 0, 0, 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, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 0, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 0, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 0, 0, 86, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 2, 3, 4, 0,
+ 6, 7, 8, 9, 10, 11, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 250, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 0, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 0, 67, 68, 69, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 0, 0, 86, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1, 2, 3, 4,
+ 0, 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, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 0, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 0, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 0, 0, 86, 0, 0, 0,
+ 0, 0, 0, 0, 135, 0, 0, 1, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 361, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 0, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 0, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 0, 0, 86, 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, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 0, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 0, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 0, 0, 86, 1,
+ 2, 3, 4, 0, 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, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 0,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 0, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, 0, 0, 86,
+ 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, 33, 34, 35, 36,
+ 37, 38, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 48, 49, 0, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 0, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 0,
+ 85, 0, 336, 86, 8, 9, 10, 11, 337, 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,
+ 33, 34, 35, 36, 37, 38, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 48, 49, 0, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 0, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 0, 85, 0, 0, 86
};
static const yytype_int16 yycheck[] =
{
- 0, 48, 91, 116, 91, 133, 96, 96, 240, 152,
- 215, 232, 244, 158, 0, 127, 138, 0, 360, 60,
- 118, 102, 102, 103, 130, 111, 112, 132, 131, 118,
- 383, 118, 122, 122, 169, 140, 366, 149, 150, 140,
- 183, 130, 134, 130, 113, 114, 132, 94, 140, 138,
- 136, 138, 382, 406, 134, 153, 131, 202, 400, 140,
- 137, 102, 137, 405, 132, 132, 156, 156, 132, 158,
- 140, 158, 139, 133, 130, 139, 123, 124, 213, 148,
- 149, 203, 131, 131, 102, 103, 131, 215, 137, 137,
- 322, 91, 137, 131, 131, 137, 96, 240, 140, 137,
- 137, 244, 272, 273, 274, 275, 106, 167, 168, 109,
- 4, 5, 6, 202, 203, 202, 203, 260, 118, 134,
- 106, 256, 122, 106, 137, 137, 186, 140, 140, 137,
- 130, 134, 140, 137, 246, 142, 140, 144, 138, 145,
- 146, 147, 287, 139, 144, 139, 367, 102, 103, 284,
- 109, 110, 115, 116, 130, 215, 156, 131, 158, 130,
- 295, 105, 106, 152, 299, 137, 138, 151, 373, 268,
- 269, 150, 117, 316, 317, 133, 408, 270, 271, 322,
- 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
- 119, 276, 277, 140, 140, 130, 130, 140, 287, 139,
- 287, 138, 202, 203, 130, 265, 266, 267, 268, 269,
- 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 130, 135, 130, 139, 131, 134,
- 138, 366, 232, 376, 133, 137, 63, 130, 130, 135,
- 131, 17, 140, 133, 131, 373, 359, 382, 134, 278,
- 139, 279, 140, 280, 122, 140, 257, 392, 281, 283,
- 282, 118, 122, 5, 206, 408, 361, 245, 326, 404,
- 304, 398, 405, 361, 382, 106, -1, -1, -1, 366,
- -1, -1, -1, -1, -1, -1, -1, 287, -1, -1,
- -1, -1, -1, -1, -1, 382, -1, 387, 387, -1,
- -1, -1, -1, -1, 304, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, -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, 386,
+ 0, 48, 91, 116, 96, 133, 201, 96, 152, 233,
+ 158, 364, 169, 91, 241, 127, 138, 0, 245, 60,
+ 102, 216, 387, 0, 118, 132, 370, 113, 114, 118,
+ 122, 130, 139, 122, 102, 103, 132, 149, 150, 183,
+ 118, 130, 386, 140, 140, 410, 131, 94, 139, 138,
+ 137, 404, 130, 111, 112, 203, 409, 214, 140, 153,
+ 138, 102, 148, 149, 156, 132, 134, 156, 132, 158,
+ 102, 103, 139, 201, 132, 139, 123, 124, 136, 132,
+ 158, 131, 204, 134, 102, 103, 139, 137, 216, 140,
+ 132, 91, 137, 131, 134, 140, 96, 241, 325, 137,
+ 257, 245, 131, 134, 131, 131, 106, 131, 137, 109,
+ 137, 137, 132, 137, 203, 204, 137, 261, 118, 140,
+ 130, 137, 122, 106, 140, 203, 204, 140, 285, 106,
+ 130, 273, 274, 275, 276, 247, 137, 133, 138, 140,
+ 137, 298, 290, 140, 144, 302, 130, 371, 4, 5,
+ 6, 145, 146, 147, 130, 142, 156, 144, 158, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 109,
+ 110, 167, 168, 115, 116, 319, 320, 152, 139, 105,
+ 106, 325, 377, 137, 138, 412, 269, 270, 131, 151,
+ 186, 271, 272, 277, 278, 150, 117, 119, 133, 140,
+ 130, 290, 140, 203, 204, 201, 130, 140, 135, 138,
+ 130, 130, 290, 370, 130, 133, 131, 134, 63, 17,
+ 216, 133, 130, 130, 138, 131, 137, 140, 131, 386,
+ 135, 133, 280, 233, 134, 139, 380, 281, 284, 396,
+ 279, 140, 140, 258, 122, 282, 118, 283, 122, 377,
+ 363, 408, 5, 246, 207, 329, 365, 402, 409, 365,
+ 386, -1, 106, -1, 307, -1, -1, -1, 412, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
+ 290, -1, 370, -1, -1, -1, -1, -1, -1, 391,
+ -1, -1, 391, -1, -1, -1, -1, 307, 386, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 360, 361, -1, -1, -1, -1, 366, 367, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 382, -1, -1, -1, -1, 387, -1, -1,
+ -1, -1, -1, 390, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 400, -1, -1, -1, -1, 405, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- -1, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, -1, 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, -1, -1, 111, 112, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 130, -1, -1, -1, 134, 135, -1,
- -1, -1, -1, 140, 141, 142, 143, 144, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, -1, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, -1, 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, -1, -1, 111, 112, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 130, -1, -1, -1, 134,
- 135, -1, -1, -1, -1, 140, 141, 142, 143, 144,
+ -1, -1, -1, -1, 364, 365, -1, -1, -1, -1,
+ 370, 371, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 377, -1, -1, -1, -1, 386, -1, -1, -1,
+ -1, 391, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 404, -1, -1, -1, -1, 409,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, -1, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
@@ -1373,7 +1360,7 @@
103, 104, 105, 106, 107, 108, -1, -1, 111, 112,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 130, -1, -1,
- -1, 134, -1, -1, -1, -1, -1, 140, 141, 142,
+ -1, 134, 135, -1, -1, -1, -1, 140, 141, 142,
143, 144, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, -1, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
@@ -1387,7 +1374,7 @@
101, 102, 103, 104, 105, 106, 107, 108, -1, -1,
111, 112, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 130,
- -1, -1, -1, 134, -1, -1, -1, -1, -1, 140,
+ -1, -1, -1, 134, 135, -1, -1, -1, -1, 140,
141, 142, 143, 144, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, -1, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
@@ -1401,88 +1388,58 @@
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, -1, 111, 112, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 130, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 130, -1, -1, -1, 134, -1, -1, -1, -1,
-1, 140, 141, 142, 143, 144, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 25, 26,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ -1, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, -1, 64, 65, 66,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, -1, 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, -1, -1, 111, 112, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
- 4, 5, 6, 130, 8, 9, 10, 11, 12, 13,
- -1, -1, -1, 140, 141, 142, 143, 144, -1, -1,
- -1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, 61, 62, -1,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, -1, 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, -1, -1, 111, 112, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 3, 4, 5, 6, 130, 8, 9, 10,
- 11, 12, 13, -1, -1, -1, -1, 141, 142, 143,
- 144, -1, -1, -1, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, -1, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- -1, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- -1, 102, 103, -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, 140,
- 46, 47, 48, 49, 50, 51, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 61, 62, -1, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, -1, 82, 83, 84, 85,
- 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 97, 98, -1, 100, 101, 102, 103, 104, 105,
- 106, 107, 108, -1, -1, 111, 112, -1, -1, -1,
+ -1, -1, -1, 130, -1, -1, -1, 134, -1, -1,
+ -1, -1, -1, 140, 141, 142, 143, 144, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, -1, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, -1, 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, -1, -1, 111, 112, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 130, -1, -1, 133, 10, 11,
- 12, 13, -1, -1, -1, 141, 142, 143, 144, -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, 46, 47, 48, 49, 50, 51,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 61,
- 62, -1, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, -1,
- 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
- 92, 93, 94, 95, 96, 97, 98, -1, 100, 101,
- 102, 103, 104, 105, 106, 107, 108, -1, -1, 111,
- 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 130, 10,
- 11, 12, 13, -1, -1, -1, -1, -1, 140, 141,
- 142, 143, 144, -1, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, -1,
- -1, -1, -1, -1, -1, 46, 47, 48, 49, 50,
- 51, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 61, 62, -1, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- -1, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, -1, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, -1, -1,
- 111, 112, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 130,
- 10, 11, 12, 13, -1, -1, -1, -1, -1, -1,
- 141, 142, 143, 144, -1, 25, 26, 27, 28, 29,
+ -1, -1, -1, -1, -1, 130, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 140, 141, 142, 143, 144,
+ 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, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ -1, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, -1, 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, -1, -1, 111, 112,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3, 4, 5, 6, 130, 8, 9,
+ 10, 11, 12, 13, -1, -1, -1, 140, 141, 142,
+ 143, 144, -1, -1, -1, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- -1, -1, -1, -1, -1, -1, 46, 47, 48, 49,
- 50, 51, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 61, 62, -1, 64, 65, 66, 67, 68, 69,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, -1, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, 88, 89,
- 90, 91, 92, 93, 94, 95, 96, 97, 98, -1,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
-1, 111, 112, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
@@ -1495,9 +1452,102 @@
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, -1, 102, 103, -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, 140, 46, 47, 48, 49, 50, 51,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 61,
+ 62, -1, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, -1,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, -1, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, -1, -1, 111,
+ 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 130, -1,
+ -1, 133, 10, 11, 12, 13, -1, -1, -1, 141,
+ 142, 143, 144, -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, 46, 47,
+ 48, 49, 50, 51, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 61, 62, -1, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, -1, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, -1, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, -1, -1, 111, 112, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 130, -1, -1, 133, 10, 11, 12, 13,
+ -1, -1, -1, 141, 142, 143, 144, -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, 46, 47, 48, 49, 50, 51, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 61, 62, -1,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, -1, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, -1, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, -1, -1, 111, 112, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 130, 10, 11, 12,
+ 13, -1, -1, -1, -1, -1, 140, 141, 142, 143,
+ 144, -1, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, -1, -1, -1,
+ -1, -1, -1, 46, 47, 48, 49, 50, 51, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 61, 62,
+ -1, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, -1, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 95, 96, 97, 98, -1, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, -1, -1, 111, 112,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 130, 10, 11,
+ 12, 13, -1, -1, -1, -1, -1, -1, 141, 142,
+ 143, 144, -1, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, -1, -1,
+ -1, -1, -1, -1, 46, 47, 48, 49, 50, 51,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 61,
+ 62, -1, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, -1,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, -1, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, -1, -1, 111,
+ 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3, 4, 5, 6, 130, 8,
+ 9, 10, 11, 12, 13, -1, -1, -1, -1, 141,
+ 142, 143, 144, -1, -1, -1, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, -1, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, -1, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, -1, -1, 103, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, 12, 13, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 135, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, -1, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, -1, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, -1, -1, 103, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
+ -1, 8, 9, 10, 11, 12, 13, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 135, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, 61, 62, -1, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, -1, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
97, 98, 99, 100, -1, -1, 103, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
- 6, -1, 8, 9, 10, 11, 12, 13, -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, 135, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
@@ -1506,10 +1556,9 @@
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 97, 98, 99, 100, -1, -1, 103, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
- 5, 6, -1, 8, 9, 10, 11, 12, 13, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 135,
+ 96, 97, 98, 99, 100, -1, -1, 103, 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, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
@@ -1517,11 +1566,10 @@
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, -1, -1, 103, -1,
- -1, -1, -1, -1, -1, -1, 0, -1, -1, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 95, 96, 97, 98, 99, 100, -1, -1, 103, 3,
+ 4, 5, 6, -1, 8, 9, 10, 11, 12, 13,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 135, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ -1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, -1,
@@ -1529,45 +1577,25 @@
74, 75, 76, 77, 78, 79, 80, -1, 82, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, -1, -1, 103,
- 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, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- -1, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, -1, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, -1, -1,
- 103, 3, 4, 5, 6, -1, 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,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, -1, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, -1,
- 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
- 92, 93, 94, 95, 96, 97, 98, 99, 100, -1,
- -1, 103, 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, 46, 47,
- 48, 49, 50, 51, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 61, 62, -1, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, -1, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, -1, 100, -1, 102, 103, 10, 11, 12, 13,
- 108, -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, 46, 47, 48, 49, 50, 51, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 61, 62, -1,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, -1, 82, 83,
- 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
- 94, 95, 96, 97, 98, -1, 100, -1, -1, 103
+ 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, 46, 47, 48, 49,
+ 50, 51, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 61, 62, -1, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, -1, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, -1,
+ 100, -1, 102, 103, 10, 11, 12, 13, 108, -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,
+ 46, 47, 48, 49, 50, 51, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 61, 62, -1, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, -1, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, -1, 100, -1, -1, 103
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1594,28 +1622,29 @@
133, 141, 142, 143, 144, 156, 157, 158, 160, 161,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 179, 180, 184,
- 207, 140, 213, 211, 139, 131, 137, 14, 15, 16,
- 18, 19, 20, 21, 22, 23, 24, 63, 134, 135,
- 140, 167, 180, 181, 183, 186, 187, 207, 218, 219,
- 220, 221, 229, 230, 231, 233, 235, 237, 244, 208,
- 139, 208, 181, 217, 139, 202, 155, 215, 216, 135,
- 214, 167, 167, 183, 111, 112, 132, 136, 131, 131,
- 137, 62, 181, 130, 167, 145, 146, 147, 142, 144,
- 109, 110, 113, 114, 148, 149, 115, 116, 152, 151,
- 150, 117, 119, 118, 153, 133, 135, 213, 105, 106,
- 206, 140, 140, 239, 130, 130, 140, 140, 183, 130,
- 184, 138, 130, 135, 222, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 139, 182, 137, 140, 135,
- 219, 217, 139, 217, 215, 208, 137, 140, 102, 140,
- 131, 159, 183, 102, 108, 162, 181, 167, 167, 167,
- 169, 169, 170, 170, 171, 171, 171, 171, 172, 172,
- 173, 174, 175, 176, 177, 178, 183, 135, 225, 226,
- 227, 240, 183, 140, 183, 138, 238, 229, 181, 181,
- 217, 140, 216, 132, 140, 133, 138, 63, 228, 220,
- 218, 230, 241, 131, 131, 183, 196, 198, 236, 223,
- 184, 181, 130, 236, 242, 243, 225, 232, 234, 155,
- 131, 135, 133, 183, 140, 131, 17, 221, 139, 220,
- 224, 228, 140, 131, 183, 224, 225, 217, 140
+ 207, 132, 140, 213, 211, 139, 131, 137, 14, 15,
+ 16, 18, 19, 20, 21, 22, 23, 24, 63, 134,
+ 135, 140, 167, 180, 181, 183, 186, 187, 207, 218,
+ 219, 220, 221, 229, 230, 231, 233, 235, 237, 244,
+ 208, 139, 208, 181, 217, 139, 202, 155, 215, 216,
+ 135, 214, 167, 167, 183, 111, 112, 132, 136, 131,
+ 131, 137, 62, 181, 130, 167, 145, 146, 147, 142,
+ 144, 109, 110, 113, 114, 148, 149, 115, 116, 152,
+ 151, 150, 117, 119, 118, 153, 133, 133, 184, 135,
+ 213, 105, 106, 206, 140, 140, 239, 130, 130, 140,
+ 140, 183, 130, 184, 138, 130, 135, 222, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 139, 182,
+ 137, 140, 135, 219, 217, 139, 217, 215, 208, 137,
+ 140, 102, 140, 131, 159, 183, 102, 108, 162, 181,
+ 167, 167, 167, 169, 169, 170, 170, 171, 171, 171,
+ 171, 172, 172, 173, 174, 175, 176, 177, 178, 183,
+ 133, 135, 225, 226, 227, 240, 183, 140, 183, 138,
+ 238, 229, 181, 181, 217, 140, 216, 132, 140, 133,
+ 138, 63, 228, 220, 218, 230, 241, 131, 131, 183,
+ 196, 198, 236, 223, 184, 181, 130, 236, 242, 243,
+ 225, 232, 234, 155, 131, 135, 133, 183, 140, 131,
+ 17, 221, 139, 220, 224, 228, 140, 131, 183, 224,
+ 225, 217, 140
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
@@ -1637,20 +1666,20 @@
200, 200, 201, 201, 201, 201, 201, 201, 201, 201,
201, 201, 201, 201, 201, 201, 201, 202, 203, 203,
203, 204, 205, 205, 206, 206, 206, 206, 207, 207,
- 208, 208, 209, 209, 209, 209, 209, 209, 209, 209,
+ 208, 208, 208, 208, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
- 209, 209, 209, 209, 209, 211, 210, 212, 210, 213,
- 213, 214, 214, 215, 215, 216, 216, 217, 218, 219,
- 219, 220, 220, 220, 220, 220, 220, 220, 221, 222,
- 223, 221, 224, 224, 226, 225, 227, 225, 228, 228,
- 229, 229, 230, 230, 231, 232, 232, 234, 233, 235,
- 235, 236, 236, 238, 237, 239, 237, 240, 237, 241,
- 241, 242, 242, 243, 243, 244, 244, 244, 244, 244,
- 245, 245, 246, 246, 248, 247
+ 209, 209, 209, 209, 209, 209, 209, 211, 210, 212,
+ 210, 213, 213, 214, 214, 215, 215, 216, 216, 217,
+ 218, 219, 219, 220, 220, 220, 220, 220, 220, 220,
+ 221, 222, 223, 221, 224, 224, 226, 225, 227, 225,
+ 228, 228, 229, 229, 230, 230, 231, 232, 232, 234,
+ 233, 235, 235, 236, 236, 238, 237, 239, 237, 240,
+ 237, 241, 241, 242, 242, 243, 243, 244, 244, 244,
+ 244, 244, 245, 245, 246, 246, 248, 247
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1672,20 +1701,20 @@
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 4, 1, 3, 1, 3, 3, 1, 1, 2,
- 2, 3, 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 3, 3, 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,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 0, 6, 0, 5, 1,
- 2, 3, 4, 1, 3, 1, 2, 1, 1, 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, 0, 6, 3,
- 2, 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, 0, 6, 0,
+ 5, 1, 2, 3, 4, 1, 3, 1, 2, 1,
+ 1, 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, 0,
+ 6, 3, 2, 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
};
@@ -3292,7 +3321,7 @@
case 104:
{
- (yyval.interm.param) = context->parseParameterArrayDeclarator((yyvsp[-1].lex).string, (yylsp[-1]), (yyvsp[0].interm.arraySize), (yylsp[0]), &(yyvsp[-2].interm.type));
+ (yyval.interm.param) = context->parseParameterArrayDeclarator((yyvsp[-1].lex).string, (yylsp[-1]), *((yyvsp[0].interm.arraySizes)), (yylsp[0]), &(yyvsp[-2].interm.type));
}
break;
@@ -3363,7 +3392,7 @@
{
(yyval.interm) = (yyvsp[-3].interm);
- context->parseArrayDeclarator((yyval.interm).type, (yylsp[-1]), *(yyvsp[-1].lex).string, (yylsp[0]), (yyvsp[0].interm.arraySize), (yyval.interm).intermDeclaration);
+ context->parseArrayDeclarator((yyval.interm).type, (yylsp[-1]), *(yyvsp[-1].lex).string, (yylsp[0]), *((yyvsp[0].interm.arraySizes)), (yyval.interm).intermDeclaration);
}
break;
@@ -3373,7 +3402,7 @@
{
ES3_OR_NEWER("=", (yylsp[-1]), "first-class arrays (array initializer)");
(yyval.interm) = (yyvsp[-5].interm);
- context->parseArrayInitDeclarator((yyval.interm).type, (yylsp[-3]), *(yyvsp[-3].lex).string, (yylsp[-2]), (yyvsp[-2].interm.arraySize), (yylsp[-1]), (yyvsp[0].interm.intermTypedNode), (yyval.interm).intermDeclaration);
+ context->parseArrayInitDeclarator((yyval.interm).type, (yylsp[-3]), *(yyvsp[-3].lex).string, (yylsp[-2]), *((yyvsp[-2].interm.arraySizes)), (yylsp[-1]), (yyvsp[0].interm.intermTypedNode), (yyval.interm).intermDeclaration);
}
break;
@@ -3409,7 +3438,7 @@
{
(yyval.interm).type = (yyvsp[-2].interm.type);
- (yyval.interm).intermDeclaration = context->parseSingleArrayDeclaration((yyval.interm).type, (yylsp[-1]), *(yyvsp[-1].lex).string, (yylsp[0]), (yyvsp[0].interm.arraySize));
+ (yyval.interm).intermDeclaration = context->parseSingleArrayDeclaration((yyval.interm).type, (yylsp[-1]), *(yyvsp[-1].lex).string, (yylsp[0]), *((yyvsp[0].interm.arraySizes)));
}
break;
@@ -3419,7 +3448,7 @@
{
ES3_OR_NEWER("[]", (yylsp[-2]), "first-class arrays (array initializer)");
(yyval.interm).type = (yyvsp[-4].interm.type);
- (yyval.interm).intermDeclaration = context->parseSingleArrayInitDeclaration((yyval.interm).type, (yylsp[-3]), *(yyvsp[-3].lex).string, (yylsp[-2]), (yyvsp[-2].interm.arraySize), (yylsp[-1]), (yyvsp[0].interm.intermTypedNode));
+ (yyval.interm).intermDeclaration = context->parseSingleArrayInitDeclaration((yyval.interm).type, (yylsp[-3]), *(yyvsp[-3].lex).string, (yylsp[-2]), *((yyvsp[-2].interm.arraySizes)), (yylsp[-1]), (yyvsp[0].interm.intermTypedNode));
}
break;
@@ -3763,7 +3792,7 @@
{
(yyval.interm.type).initialize((yyvsp[-1].interm.typeSpecifierNonArray), (context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary));
- (yyval.interm.type).setArraySize((yyvsp[0].interm.arraySize));
+ (yyval.interm.type).setArraySizes((yyvsp[0].interm.arraySizes));
}
break;
@@ -3772,7 +3801,8 @@
{
ES3_OR_NEWER("[]", (yylsp[-1]), "implicitly sized array");
- (yyval.interm.arraySize) = 0u;
+ (yyval.interm.arraySizes) = new TVector<unsigned int>();
+ (yyval.interm.arraySizes)->push_back(0u);
}
break;
@@ -3780,10 +3810,11 @@
case 161:
{
+ (yyval.interm.arraySizes) = new TVector<unsigned int>();
unsigned int size = context->checkIsValidArraySize((yylsp[-2]), (yyvsp[-1].interm.intermTypedNode));
// Make the type an array even if size check failed.
// This ensures useless error messages regarding a variable's non-arrayness won't follow.
- (yyval.interm.arraySize) = size;
+ (yyval.interm.arraySizes)->push_back(size);
}
break;
@@ -3791,7 +3822,9 @@
case 162:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtVoid, (yylsp[0]));
+ ES3_1_ONLY("[]", (yylsp[-1]), "arrays of arrays");
+ (yyval.interm.arraySizes) = (yyvsp[-2].interm.arraySizes);
+ (yyval.interm.arraySizes)->insert((yyval.interm.arraySizes)->begin(), 0u);
}
break;
@@ -3799,7 +3832,12 @@
case 163:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
+ ES3_1_ONLY("[]", (yylsp[-2]), "arrays of arrays");
+ (yyval.interm.arraySizes) = (yyvsp[-3].interm.arraySizes);
+ unsigned int size = context->checkIsValidArraySize((yylsp[-2]), (yyvsp[-1].interm.intermTypedNode));
+ // Make the type an array even if size check failed.
+ // This ensures useless error messages regarding a variable's non-arrayness won't follow.
+ (yyval.interm.arraySizes)->insert((yyval.interm.arraySizes)->begin(), size);
}
break;
@@ -3807,7 +3845,7 @@
case 164:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtInt, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtVoid, (yylsp[0]));
}
break;
@@ -3815,7 +3853,7 @@
case 165:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtUInt, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
}
break;
@@ -3823,7 +3861,7 @@
case 166:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtBool, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtInt, (yylsp[0]));
}
break;
@@ -3831,8 +3869,7 @@
case 167:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setAggregate(2);
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtUInt, (yylsp[0]));
}
break;
@@ -3840,8 +3877,7 @@
case 168:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setAggregate(3);
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtBool, (yylsp[0]));
}
break;
@@ -3850,7 +3886,7 @@
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setAggregate(4);
+ (yyval.interm.typeSpecifierNonArray).setAggregate(2);
}
break;
@@ -3858,8 +3894,8 @@
case 170:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtBool, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setAggregate(2);
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).setAggregate(3);
}
break;
@@ -3867,8 +3903,8 @@
case 171:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtBool, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setAggregate(3);
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).setAggregate(4);
}
break;
@@ -3877,7 +3913,7 @@
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtBool, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setAggregate(4);
+ (yyval.interm.typeSpecifierNonArray).setAggregate(2);
}
break;
@@ -3885,8 +3921,8 @@
case 173:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtInt, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setAggregate(2);
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtBool, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).setAggregate(3);
}
break;
@@ -3894,8 +3930,8 @@
case 174:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtInt, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setAggregate(3);
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtBool, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).setAggregate(4);
}
break;
@@ -3904,7 +3940,7 @@
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtInt, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setAggregate(4);
+ (yyval.interm.typeSpecifierNonArray).setAggregate(2);
}
break;
@@ -3912,8 +3948,8 @@
case 176:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtUInt, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setAggregate(2);
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtInt, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).setAggregate(3);
}
break;
@@ -3921,8 +3957,8 @@
case 177:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtUInt, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setAggregate(3);
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtInt, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).setAggregate(4);
}
break;
@@ -3931,7 +3967,7 @@
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtUInt, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setAggregate(4);
+ (yyval.interm.typeSpecifierNonArray).setAggregate(2);
}
break;
@@ -3939,8 +3975,8 @@
case 179:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setMatrix(2, 2);
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtUInt, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).setAggregate(3);
}
break;
@@ -3948,8 +3984,8 @@
case 180:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setMatrix(3, 3);
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtUInt, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).setAggregate(4);
}
break;
@@ -3958,7 +3994,7 @@
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setMatrix(4, 4);
+ (yyval.interm.typeSpecifierNonArray).setMatrix(2, 2);
}
break;
@@ -3967,7 +4003,7 @@
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setMatrix(2, 3);
+ (yyval.interm.typeSpecifierNonArray).setMatrix(3, 3);
}
break;
@@ -3976,7 +4012,7 @@
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setMatrix(3, 2);
+ (yyval.interm.typeSpecifierNonArray).setMatrix(4, 4);
}
break;
@@ -3985,7 +4021,7 @@
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setMatrix(2, 4);
+ (yyval.interm.typeSpecifierNonArray).setMatrix(2, 3);
}
break;
@@ -3994,7 +4030,7 @@
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setMatrix(4, 2);
+ (yyval.interm.typeSpecifierNonArray).setMatrix(3, 2);
}
break;
@@ -4003,7 +4039,7 @@
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setMatrix(3, 4);
+ (yyval.interm.typeSpecifierNonArray).setMatrix(2, 4);
}
break;
@@ -4012,7 +4048,7 @@
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
- (yyval.interm.typeSpecifierNonArray).setMatrix(4, 3);
+ (yyval.interm.typeSpecifierNonArray).setMatrix(4, 2);
}
break;
@@ -4020,6 +4056,24 @@
case 188:
{
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).setMatrix(3, 4);
+ }
+
+ break;
+
+ case 189:
+
+ {
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).setMatrix(4, 3);
+ }
+
+ break;
+
+ case 190:
+
+ {
if (!context->checkCanUseExtension((yylsp[0]), TExtension::EXT_YUV_target))
{
context->error((yylsp[0]), "unsupported type", "yuvCscStandardEXT");
@@ -4029,7 +4083,7 @@
break;
- case 189:
+ case 191:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2D, (yylsp[0]));
@@ -4037,7 +4091,7 @@
break;
- case 190:
+ case 192:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtSampler3D, (yylsp[0]));
@@ -4045,7 +4099,7 @@
break;
- case 191:
+ case 193:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtSamplerCube, (yylsp[0]));
@@ -4053,7 +4107,7 @@
break;
- case 192:
+ case 194:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DArray, (yylsp[0]));
@@ -4061,7 +4115,7 @@
break;
- case 193:
+ case 195:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DMS, (yylsp[0]));
@@ -4069,7 +4123,7 @@
break;
- case 194:
+ case 196:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2D, (yylsp[0]));
@@ -4077,7 +4131,7 @@
break;
- case 195:
+ case 197:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtISampler3D, (yylsp[0]));
@@ -4085,7 +4139,7 @@
break;
- case 196:
+ case 198:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtISamplerCube, (yylsp[0]));
@@ -4093,7 +4147,7 @@
break;
- case 197:
+ case 199:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2DArray, (yylsp[0]));
@@ -4101,7 +4155,7 @@
break;
- case 198:
+ case 200:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2DMS, (yylsp[0]));
@@ -4109,7 +4163,7 @@
break;
- case 199:
+ case 201:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2D, (yylsp[0]));
@@ -4117,7 +4171,7 @@
break;
- case 200:
+ case 202:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler3D, (yylsp[0]));
@@ -4125,7 +4179,7 @@
break;
- case 201:
+ case 203:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtUSamplerCube, (yylsp[0]));
@@ -4133,7 +4187,7 @@
break;
- case 202:
+ case 204:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2DArray, (yylsp[0]));
@@ -4141,7 +4195,7 @@
break;
- case 203:
+ case 205:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2DMS, (yylsp[0]));
@@ -4149,7 +4203,7 @@
break;
- case 204:
+ case 206:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DShadow, (yylsp[0]));
@@ -4157,7 +4211,7 @@
break;
- case 205:
+ case 207:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtSamplerCubeShadow, (yylsp[0]));
@@ -4165,7 +4219,7 @@
break;
- case 206:
+ case 208:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DArrayShadow, (yylsp[0]));
@@ -4173,7 +4227,7 @@
break;
- case 207:
+ case 209:
{
constexpr std::array<TExtension, 3u> extensions{ { TExtension::NV_EGL_stream_consumer_external,
@@ -4188,7 +4242,7 @@
break;
- case 208:
+ case 210:
{
if (!context->checkCanUseExtension((yylsp[0]), TExtension::EXT_YUV_target))
@@ -4200,7 +4254,7 @@
break;
- case 209:
+ case 211:
{
if (!context->checkCanUseExtension((yylsp[0]), TExtension::ARB_texture_rectangle))
@@ -4212,7 +4266,7 @@
break;
- case 210:
+ case 212:
{
(yyval.interm.typeSpecifierNonArray) = (yyvsp[0].interm.typeSpecifierNonArray);
@@ -4220,7 +4274,7 @@
break;
- case 211:
+ case 213:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtImage2D, (yylsp[0]));
@@ -4228,7 +4282,7 @@
break;
- case 212:
+ case 214:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtIImage2D, (yylsp[0]));
@@ -4236,7 +4290,7 @@
break;
- case 213:
+ case 215:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtUImage2D, (yylsp[0]));
@@ -4244,7 +4298,7 @@
break;
- case 214:
+ case 216:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtImage3D, (yylsp[0]));
@@ -4252,7 +4306,7 @@
break;
- case 215:
+ case 217:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtIImage3D, (yylsp[0]));
@@ -4260,7 +4314,7 @@
break;
- case 216:
+ case 218:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtUImage3D, (yylsp[0]));
@@ -4268,7 +4322,7 @@
break;
- case 217:
+ case 219:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtImage2DArray, (yylsp[0]));
@@ -4276,7 +4330,7 @@
break;
- case 218:
+ case 220:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtIImage2DArray, (yylsp[0]));
@@ -4284,7 +4338,7 @@
break;
- case 219:
+ case 221:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtUImage2DArray, (yylsp[0]));
@@ -4292,7 +4346,7 @@
break;
- case 220:
+ case 222:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtImageCube, (yylsp[0]));
@@ -4300,7 +4354,7 @@
break;
- case 221:
+ case 223:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtIImageCube, (yylsp[0]));
@@ -4308,7 +4362,7 @@
break;
- case 222:
+ case 224:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtUImageCube, (yylsp[0]));
@@ -4316,7 +4370,7 @@
break;
- case 223:
+ case 225:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtAtomicCounter, (yylsp[0]));
@@ -4324,7 +4378,7 @@
break;
- case 224:
+ case 226:
{
// This is for user defined type names. The lexical phase looked up the type.
@@ -4334,13 +4388,13 @@
break;
- case 225:
+ case 227:
{ context->enterStructDeclaration((yylsp[-1]), *(yyvsp[-1].lex).string); }
break;
- case 226:
+ case 228:
{
(yyval.interm.typeSpecifierNonArray) = context->addStructure((yylsp[-5]), (yylsp[-4]), (yyvsp[-4].lex).string, (yyvsp[-1].interm.fieldList));
@@ -4348,13 +4402,13 @@
break;
- case 227:
+ case 229:
{ context->enterStructDeclaration((yylsp[0]), *(yyvsp[0].lex).string); }
break;
- case 228:
+ case 230:
{
(yyval.interm.typeSpecifierNonArray) = context->addStructure((yylsp[-4]), (yyloc), NewPoolTString(""), (yyvsp[-1].interm.fieldList));
@@ -4362,7 +4416,7 @@
break;
- case 229:
+ case 231:
{
(yyval.interm.fieldList) = context->addStructFieldList((yyvsp[0].interm.fieldList), (yylsp[0]));
@@ -4370,7 +4424,7 @@
break;
- case 230:
+ case 232:
{
(yyval.interm.fieldList) = context->combineStructFieldLists((yyvsp[-1].interm.fieldList), (yyvsp[0].interm.fieldList), (yylsp[0]));
@@ -4378,7 +4432,7 @@
break;
- case 231:
+ case 233:
{
(yyval.interm.fieldList) = context->addStructDeclaratorList((yyvsp[-2].interm.type), (yyvsp[-1].interm.fieldList));
@@ -4386,7 +4440,7 @@
break;
- case 232:
+ case 234:
{
// ES3 Only, but errors should be handled elsewhere
@@ -4395,7 +4449,7 @@
break;
- case 233:
+ case 235:
{
(yyval.interm.fieldList) = NewPoolTFieldList();
@@ -4404,7 +4458,7 @@
break;
- case 234:
+ case 236:
{
(yyval.interm.fieldList)->push_back((yyvsp[0].interm.field));
@@ -4412,7 +4466,7 @@
break;
- case 235:
+ case 237:
{
(yyval.interm.field) = context->parseStructDeclarator((yyvsp[0].lex).string, (yylsp[0]));
@@ -4420,29 +4474,17 @@
break;
- case 236:
-
- {
- (yyval.interm.field) = context->parseStructArrayDeclarator((yyvsp[-1].lex).string, (yylsp[-1]), (yyvsp[0].interm.arraySize), (yylsp[0]));
- }
-
- break;
-
- case 237:
-
- { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-
- break;
-
case 238:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+ {
+ (yyval.interm.field) = context->parseStructArrayDeclarator((yyvsp[-1].lex).string, (yylsp[-1]), *((yyvsp[0].interm.arraySizes)), (yylsp[0]));
+ }
break;
case 239:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermBlock); }
+ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
break;
@@ -4454,7 +4496,7 @@
case 241:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermBlock); }
break;
@@ -4472,30 +4514,42 @@
case 244:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermSwitch); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
case 245:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermCase); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
case 246:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermSwitch); }
break;
case 247:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermCase); }
break;
case 248:
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+
+ break;
+
+ case 249:
+
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+
+ break;
+
+ case 250:
+
{
(yyval.interm.intermBlock) = new TIntermBlock();
(yyval.interm.intermBlock)->setLine((yyloc));
@@ -4503,19 +4557,19 @@
break;
- case 249:
+ case 251:
{ context->symbolTable.push(); }
break;
- case 250:
+ case 252:
{ context->symbolTable.pop(); }
break;
- case 251:
+ case 253:
{
(yyvsp[-2].interm.intermBlock)->setLine((yyloc));
@@ -4524,27 +4578,15 @@
break;
- case 252:
+ case 254:
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermBlock); }
break;
- case 253:
-
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-
- break;
-
- case 254:
-
- { context->symbolTable.push(); }
-
- break;
-
case 255:
- { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermBlock); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
@@ -4556,12 +4598,24 @@
case 257:
- { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+ { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermBlock); }
break;
case 258:
+ { context->symbolTable.push(); }
+
+ break;
+
+ case 259:
+
+ { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+
+ break;
+
+ case 260:
+
{
(yyval.interm.intermBlock) = new TIntermBlock();
(yyval.interm.intermBlock)->setLine((yyloc));
@@ -4569,7 +4623,7 @@
break;
- case 259:
+ case 261:
{
(yyvsp[-1].interm.intermBlock)->setLine((yyloc));
@@ -4578,7 +4632,7 @@
break;
- case 260:
+ case 262:
{
(yyval.interm.intermBlock) = new TIntermBlock();
@@ -4587,7 +4641,7 @@
break;
- case 261:
+ case 263:
{
(yyval.interm.intermBlock) = (yyvsp[-1].interm.intermBlock);
@@ -4596,19 +4650,19 @@
break;
- case 262:
+ case 264:
{ (yyval.interm.intermNode) = context->addEmptyStatement((yyloc)); }
break;
- case 263:
+ case 265:
{ (yyval.interm.intermNode) = (yyvsp[-1].interm.intermTypedNode); }
break;
- case 264:
+ case 266:
{
(yyval.interm.intermNode) = context->addIfElse((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yylsp[-4]));
@@ -4616,7 +4670,7 @@
break;
- case 265:
+ case 267:
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
@@ -4625,7 +4679,7 @@
break;
- case 266:
+ case 268:
{
(yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
@@ -4634,13 +4688,13 @@
break;
- case 267:
+ case 269:
{ context->incrSwitchNestingLevel(); }
break;
- case 268:
+ case 270:
{
(yyval.interm.intermSwitch) = context->addSwitch((yyvsp[-3].interm.intermTypedNode), (yyvsp[0].interm.intermBlock), (yylsp[-5]));
@@ -4649,7 +4703,7 @@
break;
- case 269:
+ case 271:
{
(yyval.interm.intermCase) = context->addCase((yyvsp[-1].interm.intermTypedNode), (yylsp[-2]));
@@ -4657,7 +4711,7 @@
break;
- case 270:
+ case 272:
{
(yyval.interm.intermCase) = context->addDefault((yylsp[-1]));
@@ -4665,7 +4719,7 @@
break;
- case 271:
+ case 273:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermTypedNode);
@@ -4674,7 +4728,7 @@
break;
- case 272:
+ case 274:
{
(yyval.interm.intermNode) = context->addConditionInitializer((yyvsp[-3].interm.type), *(yyvsp[-2].lex).string, (yyvsp[0].interm.intermTypedNode), (yylsp[-2]));
@@ -4682,13 +4736,13 @@
break;
- case 273:
+ case 275:
{ context->symbolTable.push(); context->incrLoopNestingLevel(); }
break;
- case 274:
+ case 276:
{
context->symbolTable.pop();
@@ -4698,13 +4752,13 @@
break;
- case 275:
+ case 277:
{ context->incrLoopNestingLevel(); }
break;
- case 276:
+ case 278:
{
(yyval.interm.intermNode) = context->addLoop(ELoopDoWhile, 0, (yyvsp[-2].interm.intermTypedNode), 0, (yyvsp[-5].interm.intermNode), (yylsp[-4]));
@@ -4713,34 +4767,18 @@
break;
- case 277:
-
- { context->symbolTable.push(); context->incrLoopNestingLevel(); }
-
- break;
-
- case 278:
-
- {
- context->symbolTable.pop();
- (yyval.interm.intermNode) = context->addLoop(ELoopFor, (yyvsp[-3].interm.intermNode), (yyvsp[-2].interm.nodePair).node1, reinterpret_cast<TIntermTyped*>((yyvsp[-2].interm.nodePair).node2), (yyvsp[0].interm.intermNode), (yylsp[-6]));
- context->decrLoopNestingLevel();
- }
-
- break;
-
case 279:
- {
- (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
- }
+ { context->symbolTable.push(); context->incrLoopNestingLevel(); }
break;
case 280:
{
- (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
+ context->symbolTable.pop();
+ (yyval.interm.intermNode) = context->addLoop(ELoopFor, (yyvsp[-3].interm.intermNode), (yyvsp[-2].interm.nodePair).node1, reinterpret_cast<TIntermTyped*>((yyvsp[-2].interm.nodePair).node2), (yyvsp[0].interm.intermNode), (yylsp[-6]));
+ context->decrLoopNestingLevel();
}
break;
@@ -4756,7 +4794,7 @@
case 282:
{
- (yyval.interm.intermNode) = nullptr;
+ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
break;
@@ -4764,13 +4802,29 @@
case 283:
{
+ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
+ }
+
+ break;
+
+ case 284:
+
+ {
+ (yyval.interm.intermNode) = nullptr;
+ }
+
+ break;
+
+ case 285:
+
+ {
(yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermNode);
(yyval.interm.nodePair).node2 = 0;
}
break;
- case 284:
+ case 286:
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
@@ -4779,7 +4833,7 @@
break;
- case 285:
+ case 287:
{
(yyval.interm.intermNode) = context->addBranch(EOpContinue, (yylsp[-1]));
@@ -4787,7 +4841,7 @@
break;
- case 286:
+ case 288:
{
(yyval.interm.intermNode) = context->addBranch(EOpBreak, (yylsp[-1]));
@@ -4795,7 +4849,7 @@
break;
- case 287:
+ case 289:
{
(yyval.interm.intermNode) = context->addBranch(EOpReturn, (yylsp[-1]));
@@ -4803,7 +4857,7 @@
break;
- case 288:
+ case 290:
{
(yyval.interm.intermNode) = context->addBranch(EOpReturn, (yyvsp[-1].interm.intermTypedNode), (yylsp[-2]));
@@ -4811,7 +4865,7 @@
break;
- case 289:
+ case 291:
{
(yyval.interm.intermNode) = context->addBranch(EOpKill, (yylsp[-1]));
@@ -4819,7 +4873,7 @@
break;
- case 290:
+ case 292:
{
(yyval.interm.intermBlock) = new TIntermBlock();
@@ -4830,7 +4884,7 @@
break;
- case 291:
+ case 293:
{
(yyval.interm.intermBlock)->appendStatement((yyvsp[0].interm.intermNode));
@@ -4838,31 +4892,31 @@
break;
- case 292:
-
- {
- (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
- }
-
- break;
-
- case 293:
-
- {
- (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
- }
-
- break;
-
case 294:
{
+ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
+ }
+
+ break;
+
+ case 295:
+
+ {
+ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
+ }
+
+ break;
+
+ case 296:
+
+ {
context->parseFunctionDefinitionHeader((yylsp[0]), &((yyvsp[0].interm).function), &((yyvsp[0].interm).intermFunctionPrototype));
}
break;
- case 295:
+ case 297:
{
(yyval.interm.intermNode) = context->addFunctionDefinition((yyvsp[-2].interm).intermFunctionPrototype, (yyvsp[0].interm.intermBlock), (yylsp[-2]));
diff --git a/src/compiler/translator/glslang_tab.h b/src/compiler/translator/glslang_tab.h
index 5624803..1f53085 100644
--- a/src/compiler/translator/glslang_tab.h
+++ b/src/compiler/translator/glslang_tab.h
@@ -238,7 +238,7 @@
TIntermCase *intermCase;
};
union {
- unsigned int arraySize;
+ TVector<unsigned int> *arraySizes;
TTypeSpecifierNonArray typeSpecifierNonArray;
TPublicType type;
TPrecision precision;