Commit 7d626796 by Nicolas Capens

Implement support for layout qualifier locations.

Bug 19331817 Change-Id: I98c650311c6226bf769bc9f3c2eed8dac788a396 Reviewed-on: https://swiftshader-review.googlesource.com/2320Reviewed-by: 's avatarNicolas Capens <capn@google.com> Tested-by: 's avatarNicolas Capens <capn@google.com>
parent 2c1239f5
......@@ -119,6 +119,25 @@ enum TQualifier
EvqLast
};
struct TLayoutQualifier
{
static TLayoutQualifier create()
{
TLayoutQualifier layoutQualifier;
layoutQualifier.location = -1;
return layoutQualifier;
}
bool isEmpty() const
{
return location == -1;
}
int location;
};
//
// This is just for debug print out, carried along with the definitions above.
//
......
......@@ -1321,6 +1321,66 @@ TIntermTyped* TParseContext::addConstStruct(TString& identifier, TIntermTyped* n
return typedNode;
}
TLayoutQualifier TParseContext::parseLayoutQualifier(const TString &qualifierType, const TSourceLoc& qualifierTypeLine)
{
TLayoutQualifier qualifier;
qualifier.location = -1;
if (qualifierType == "location")
{
error(qualifierTypeLine, "invalid layout qualifier", qualifierType.c_str(), "location requires an argument");
recover();
}
else
{
error(qualifierTypeLine, "invalid layout qualifier", qualifierType.c_str());
recover();
}
return qualifier;
}
TLayoutQualifier TParseContext::parseLayoutQualifier(const TString &qualifierType, const TSourceLoc& qualifierTypeLine, const TString &intValueString, int intValue, const TSourceLoc& intValueLine)
{
TLayoutQualifier qualifier;
qualifier.location = -1;
if (qualifierType != "location")
{
error(qualifierTypeLine, "invalid layout qualifier", qualifierType.c_str(), "only location may have arguments");
recover();
}
else
{
// must check that location is non-negative
if (intValue < 0)
{
error(intValueLine, "out of range:", intValueString.c_str(), "location must be non-negative");
recover();
}
else
{
qualifier.location = intValue;
}
}
return qualifier;
}
TLayoutQualifier TParseContext::joinLayoutQualifiers(TLayoutQualifier leftQualifier, TLayoutQualifier rightQualifier)
{
TLayoutQualifier joinedQualifier = leftQualifier;
if (rightQualifier.location != -1)
{
joinedQualifier.location = rightQualifier.location;
}
return joinedQualifier;
}
bool TParseContext::enterStructDeclaration(int line, const TString& identifier)
{
++structNestingLevel;
......
......@@ -40,7 +40,7 @@ struct TParseContext {
functionReturnsValue(false),
checksPrecisionErrors(checksPrecErrors),
diagnostics(is),
shaderVersion(100),
shaderVersion(100),
directiveHandler(ext, diagnostics, shaderVersion),
preprocessor(&diagnostics, &directiveHandler),
scanner(NULL) { }
......@@ -124,6 +124,10 @@ struct TParseContext {
TIntermTyped* addConstArrayNode(int index, TIntermTyped* node, TSourceLoc line);
TIntermTyped* addConstStruct(TString& , TIntermTyped*, TSourceLoc);
TLayoutQualifier parseLayoutQualifier(const TString &qualifierType, const TSourceLoc& qualifierTypeLine);
TLayoutQualifier parseLayoutQualifier(const TString &qualifierType, const TSourceLoc& qualifierTypeLine, const TString &intValueString, int intValue, const TSourceLoc& intValueLine);
TLayoutQualifier joinLayoutQualifiers(TLayoutQualifier leftQualifier, TLayoutQualifier rightQualifier);
// Performs an error check for embedded struct declarations.
// Returns true if an error was raised due to the declaration of
// this struct.
......
......@@ -267,6 +267,7 @@ protected:
struct TPublicType
{
TBasicType type;
TLayoutQualifier layoutQualifier;
TQualifier qualifier;
TPrecision precision;
int size; // size of vector or matrix, not size of array
......@@ -279,6 +280,7 @@ struct TPublicType
void setBasic(TBasicType bt, TQualifier q, int ln = 0)
{
type = bt;
layoutQualifier = TLayoutQualifier::create();
qualifier = q;
precision = EbpUndefined;
size = 1;
......
......@@ -155,6 +155,8 @@ O [0-7]
"struct" { context->lexAfterType = true; return(STRUCT); }
"layout" { return ES2_identifier_ES3_keyword(context, LAYOUT); }
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
"coherent" |
"restrict" |
......@@ -221,6 +223,17 @@ O [0-7]
return reserved_word(yyscanner);
}
/* Reserved keywords in GLSL ES 1.00 that are not reserved in GLSL ES 3.00 */
"packed" {
if (context->shaderVersion >= 300)
{
yylval->lex.string = NewPoolTString(yytext);
return check_type(yyscanner);
}
return reserved_word(yyscanner);
}
/* Reserved keywords */
"asm" |
......@@ -230,7 +243,6 @@ O [0-7]
"typedef" |
"template" |
"this" |
"packed" |
"goto" |
......
......@@ -71,6 +71,7 @@ WHICH GENERATES THE GLSL ES PARSER (glslang_tab.cpp AND glslang_tab.h).
union {
TPublicType type;
TPrecision precision;
TLayoutQualifier layoutQualifier;
TQualifier qualifier;
TFunction* function;
TParameter param;
......@@ -130,6 +131,7 @@ extern void yyerror(TParseContext* context, const char* reason);
%token <lex> STRUCT VOID_TYPE WHILE
%token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES SAMPLER2DRECT
%token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW
%token <lex> LAYOUT
%token <lex> IDENTIFIER TYPE_NAME FLOATCONSTANT INTCONSTANT UINTCONSTANT BOOLCONSTANT
%token <lex> FIELD_SELECTION
......@@ -165,6 +167,7 @@ extern void yyerror(TParseContext* context, const char* reason);
%type <interm> parameter_declaration parameter_declarator parameter_type_specifier
%type <interm.qualifier> parameter_qualifier parameter_type_qualifier
%type <interm.layoutQualifier> layout_qualifier layout_qualifier_id_list layout_qualifier_id
%type <interm.precision> precision_qualifier
%type <interm.type> type_qualifier fully_specified_type type_specifier storage_qualifier
......@@ -1529,6 +1532,14 @@ type_qualifier
| storage_qualifier {
$$.setBasic(EbtVoid, $1.qualifier, $1.line);
}
| layout_qualifier {
$$.qualifier = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.layoutQualifier = $1;
}
| layout_qualifier storage_qualifier {
$$.setBasic(EbtVoid, $2.qualifier, $2.line);
$$.layoutQualifier = $1;
}
;
storage_qualifier
......@@ -1595,6 +1606,34 @@ precision_qualifier
}
;
layout_qualifier
: LAYOUT LEFT_PAREN layout_qualifier_id_list RIGHT_PAREN {
ES3_ONLY("layout", $1.line);
$$ = $3;
}
;
layout_qualifier_id_list
: layout_qualifier_id {
$$ = $1;
}
| layout_qualifier_id_list COMMA layout_qualifier_id {
$$ = context->joinLayoutQualifiers($1, $3);
}
;
layout_qualifier_id
: IDENTIFIER {
$$ = context->parseLayoutQualifier(*$1.string, $1.line);
}
| IDENTIFIER EQUAL INTCONSTANT {
$$ = context->parseLayoutQualifier(*$1.string, $1.line, *$3.string, $3.i, $3.line);
}
| IDENTIFIER EQUAL UINTCONSTANT {
$$ = context->parseLayoutQualifier(*$1.string, $1.line, *$3.string, $3.i, $3.line);
}
;
type_specifier_no_prec
: type_specifier_nonarray {
$$ = $1;
......
......@@ -392,8 +392,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
#define YY_NUM_RULES 221
#define YY_END_OF_BUFFER 222
#define YY_NUM_RULES 222
#define YY_END_OF_BUFFER 223
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
......@@ -401,92 +401,93 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
static yyconst flex_int16_t yy_accept[770] =
static yyconst flex_int16_t yy_accept[775] =
{ 0,
0, 0, 0, 0, 0, 0, 222, 220, 219, 219,
204, 210, 215, 199, 200, 208, 207, 196, 205, 203,
209, 165, 165, 197, 193, 211, 198, 212, 216, 161,
201, 202, 214, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 194, 213, 195, 206, 3, 4, 3,
218, 221, 217, 190, 176, 195, 184, 179, 174, 182,
172, 183, 173, 171, 2, 1, 175, 170, 163, 164,
0, 168, 0, 165, 202, 194, 201, 191, 187, 189,
188, 192, 161, 180, 186, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 17, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 20, 161, 161, 28, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 181, 185, 5,
217, 0, 1, 170, 0, 167, 0, 169, 162, 177,
178, 161, 118, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 18, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 32, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 29, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 0, 171, 0, 170, 166, 161, 161,
161, 35, 161, 161, 23, 158, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 21, 121, 161, 161,
161, 161, 26, 161, 161, 126, 138, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 135, 9,
40, 41, 42, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 124, 36, 161,
161, 33, 161, 161, 161, 161, 161, 161, 161, 43,
44, 45, 34, 161, 161, 161, 161, 161, 161, 15,
52, 53, 54, 161, 119, 161, 161, 12, 161, 161,
161, 161, 147, 148, 149, 161, 37, 161, 139, 31,
150, 151, 152, 7, 144, 145, 146, 161, 161, 161,
30, 142, 161, 161, 161, 46, 47, 48, 161, 161,
161, 161, 161, 161, 161, 69, 161, 161, 161, 161,
161, 161, 161, 136, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 120, 161, 161, 160, 49,
50, 51, 161, 161, 19, 161, 74, 161, 161, 161,
161, 72, 161, 161, 161, 137, 132, 75, 161, 161,
161, 161, 161, 161, 127, 161, 161, 161, 161, 161,
161, 161, 143, 125, 161, 161, 130, 161, 161, 161,
39, 70, 157, 27, 131, 61, 161, 141, 22, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 24, 38, 161, 161, 161, 161, 161,
161, 76, 77, 78, 161, 161, 161, 161, 161, 8,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 122, 161, 161, 161, 161, 161, 13, 161, 161,
14, 161, 161, 161, 161, 25, 62, 16, 133, 80,
81, 82, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 128, 161, 161, 161, 64, 66,
63, 161, 161, 161, 161, 161, 161, 161, 123, 84,
85, 86, 161, 161, 140, 161, 129, 161, 161, 11,
161, 161, 161, 161, 161, 161, 161, 161, 161, 79,
134, 6, 161, 161, 161, 159, 161, 73, 10, 153,
55, 58, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 65, 161, 161, 161, 161, 83, 161,
161, 161, 161, 161, 103, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 71, 161, 161,
161, 87, 105, 161, 161, 67, 161, 161, 161, 161,
161, 161, 161, 98, 161, 161, 161, 161, 161, 161,
161, 112, 161, 161, 161, 161, 56, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 99, 88, 161,
89, 161, 161, 113, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 100, 161, 114,
161, 161, 90, 91, 161, 94, 161, 95, 161, 161,
161, 161, 68, 161, 161, 161, 155, 161, 59, 109,
161, 92, 93, 161, 161, 161, 161, 161, 161, 161,
161, 107, 110, 101, 161, 161, 161, 161, 161, 161,
161, 108, 111, 161, 161, 104, 161, 161, 154, 161,
161, 60, 161, 106, 161, 161, 161, 161, 161, 115,
161, 161, 161, 161, 161, 116, 161, 161, 161, 117,
96, 97, 161, 161, 57, 161, 156, 102, 0
0, 0, 0, 0, 0, 0, 223, 221, 220, 220,
205, 211, 216, 200, 201, 209, 208, 197, 206, 204,
210, 166, 166, 198, 194, 212, 199, 213, 217, 162,
202, 203, 215, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 195, 214, 196, 207, 3, 4, 3,
219, 222, 218, 191, 177, 196, 185, 180, 175, 183,
173, 184, 174, 172, 2, 1, 176, 171, 164, 165,
0, 169, 0, 166, 203, 195, 202, 192, 188, 190,
189, 193, 162, 181, 187, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 17, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
162, 20, 162, 162, 28, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 182, 186,
5, 218, 0, 1, 171, 0, 168, 0, 170, 163,
178, 179, 162, 120, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 18, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 32, 162,
162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
29, 162, 162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 0, 172, 0, 171, 167,
162, 162, 162, 35, 162, 162, 23, 159, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 21, 123,
162, 162, 162, 162, 26, 162, 162, 127, 139, 162,
162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
162, 136, 9, 40, 41, 42, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
126, 36, 162, 162, 33, 162, 162, 162, 162, 162,
162, 162, 43, 44, 45, 34, 162, 162, 162, 162,
162, 162, 15, 52, 53, 54, 162, 121, 162, 162,
12, 162, 162, 162, 162, 148, 149, 150, 162, 37,
162, 140, 31, 151, 152, 153, 7, 145, 146, 147,
162, 162, 162, 30, 143, 162, 162, 162, 46, 47,
48, 162, 162, 162, 162, 162, 162, 162, 162, 70,
162, 162, 162, 162, 162, 162, 162, 137, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 162, 122,
162, 162, 161, 49, 50, 51, 162, 162, 19, 162,
75, 162, 162, 162, 162, 73, 162, 162, 162, 138,
133, 76, 162, 162, 162, 162, 162, 162, 128, 162,
162, 162, 62, 162, 162, 162, 162, 144, 119, 162,
162, 131, 162, 162, 162, 39, 71, 158, 27, 132,
61, 162, 142, 22, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 24, 38,
162, 162, 162, 162, 162, 162, 77, 78, 79, 162,
162, 162, 162, 162, 8, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 124, 162, 162, 162,
162, 162, 13, 162, 162, 14, 162, 162, 162, 162,
25, 63, 16, 134, 81, 82, 83, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 162, 129,
162, 162, 162, 65, 67, 64, 162, 162, 162, 162,
162, 162, 162, 125, 85, 86, 87, 162, 162, 141,
162, 130, 162, 162, 11, 162, 162, 162, 162, 162,
162, 162, 162, 162, 80, 135, 6, 162, 162, 162,
160, 162, 74, 10, 154, 55, 58, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162, 66, 162,
162, 162, 162, 84, 162, 162, 162, 162, 162, 104,
162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 72, 162, 162, 162, 88, 106, 162, 162,
68, 162, 162, 162, 162, 162, 162, 162, 99, 162,
162, 162, 162, 162, 162, 162, 113, 162, 162, 162,
162, 56, 162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 100, 89, 162, 90, 162, 162, 114, 162,
162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 101, 162, 115, 162, 162, 91, 92, 162,
95, 162, 96, 162, 162, 162, 162, 69, 162, 162,
162, 156, 162, 59, 110, 162, 93, 94, 162, 162,
162, 162, 162, 162, 162, 162, 108, 111, 102, 162,
162, 162, 162, 162, 162, 162, 109, 112, 162, 162,
105, 162, 162, 155, 162, 162, 60, 162, 107, 162,
162, 162, 162, 162, 116, 162, 162, 162, 162, 162,
117, 162, 162, 162, 118, 97, 98, 162, 162, 57,
162, 157, 103, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
......@@ -533,185 +534,185 @@ static yyconst flex_int32_t yy_meta[73] =
1, 1
} ;
static yyconst flex_int16_t yy_base[775] =
static yyconst flex_int16_t yy_base[780] =
{ 0,
0, 0, 70, 71, 80, 0, 990, 991, 991, 991,
964, 50, 147, 991, 991, 963, 144, 991, 143, 141,
156, 169, 223, 961, 991, 169, 961, 52, 991, 0,
991, 991, 152, 117, 138, 118, 157, 148, 167, 927,
147, 173, 926, 126, 159, 920, 188, 933, 201, 198,
214, 211, 147, 991, 158, 991, 991, 991, 991, 967,
991, 991, 0, 991, 991, 991, 991, 991, 991, 991,
991, 991, 991, 264, 991, 0, 991, 272, 234, 309,
291, 991, 0, 0, 991, 991, 991, 955, 991, 991,
991, 954, 0, 991, 991, 916, 921, 187, 918, 926,
925, 912, 915, 926, 242, 920, 908, 905, 918, 905,
902, 902, 908, 158, 257, 902, 912, 898, 904, 907,
908, 0, 900, 910, 276, 909, 904, 162, 890, 903,
894, 217, 887, 258, 899, 901, 271, 890, 887, 876,
885, 291, 291, 889, 885, 887, 876, 879, 286, 286,
299, 888, 876, 888, 206, 881, 880, 991, 991, 991,
0, 344, 0, 358, 376, 991, 383, 393, 256, 991,
991, 879, 0, 875, 870, 874, 883, 880, 304, 864,
864, 875, 867, 284, 877, 874, 874, 872, 869, 861,
867, 854, 852, 864, 850, 866, 0, 863, 851, 858,
855, 859, 860, 853, 850, 839, 838, 851, 854, 842,
850, 845, 836, 350, 841, 844, 835, 842, 831, 835,
826, 840, 839, 830, 836, 322, 820, 823, 821, 831,
821, 816, 814, 816, 826, 812, 814, 811, 822, 821,
824, 806, 299, 814, 810, 808, 817, 796, 364, 814,
816, 805, 797, 400, 407, 414, 421, 991, 794, 804,
803, 0, 801, 426, 0, 0, 794, 792, 792, 793,
788, 796, 785, 802, 791, 429, 0, 0, 785, 795,
794, 794, 0, 779, 432, 0, 0, 781, 435, 788,
789, 780, 774, 773, 774, 773, 773, 438, 0, 0,
0, 0, 0, 768, 769, 774, 768, 764, 777, 772,
772, 770, 769, 763, 757, 759, 758, 762, 754, 757,
752, 760, 765, 753, 750, 762, 753, 0, 0, 759,
755, 0, 747, 747, 752, 743, 750, 441, 747, 0,
0, 0, 0, 737, 749, 748, 747, 748, 748, 0,
0, 0, 0, 735, 0, 743, 734, 0, 733, 734,
728, 738, 0, 0, 0, 729, 0, 725, 0, 0,
0, 0, 0, 0, 0, 0, 0, 735, 445, 734,
0, 0, 732, 728, 725, 0, 0, 0, 723, 719,
724, 715, 713, 726, 711, 0, 711, 724, 713, 709,
715, 710, 717, 0, 715, 712, 716, 700, 698, 701,
707, 713, 708, 707, 695, 0, 697, 698, 0, 0,
0, 0, 695, 698, 0, 692, 0, 705, 685, 694,
689, 0, 682, 682, 695, 0, 697, 0, 448, 710,
709, 708, 675, 674, 0, 691, 690, 685, 674, 687,
674, 671, 0, 0, 676, 675, 0, 672, 679, 678,
0, 664, 0, 0, 0, 0, 661, 0, 0, 660,
671, 451, 664, 670, 669, 666, 661, 658, 651, 651,
664, 649, 661, 0, 0, 654, 677, 676, 675, 642,
641, 444, 445, 0, 653, 656, 654, 643, 639, 0,
651, 648, 647, 637, 636, 626, 643, 629, 468, 637,
640, 0, 657, 656, 655, 622, 621, 0, 635, 622,
0, 632, 625, 626, 629, 0, 0, 0, 0, 649,
648, 0, 625, 628, 613, 620, 611, 618, 619, 619,
618, 604, 472, 616, 0, 617, 606, 605, 0, 0,
0, 630, 629, 628, 595, 594, 590, 598, 0, 626,
625, 0, 602, 605, 0, 474, 0, 583, 592, 0,
588, 587, 596, 596, 584, 598, 582, 596, 591, 0,
0, 0, 608, 607, 574, 0, 574, 0, 0, 464,
458, 598, 584, 587, 570, 582, 570, 569, 578, 578,
595, 594, 561, 0, 561, 562, 561, 571, 0, 574,
570, 572, 568, 555, 586, 350, 563, 559, 551, 558,
571, 559, 555, 557, 555, 555, 554, 0, 542, 541,
551, 0, 571, 469, 548, 0, 552, 551, 535, 527,
535, 525, 533, 0, 530, 551, 539, 537, 522, 525,
539, 555, 535, 536, 533, 530, 0, 518, 532, 531,
515, 514, 535, 523, 521, 503, 502, 0, 530, 502,
528, 500, 504, 535, 515, 512, 511, 514, 510, 497,
494, 507, 492, 493, 495, 484, 483, 0, 489, 520,
500, 497, 0, 0, 493, 0, 492, 0, 498, 482,
479, 480, 0, 472, 480, 477, 498, 477, 0, 0,
489, 0, 0, 488, 472, 469, 470, 484, 483, 460,
466, 0, 0, 487, 459, 478, 470, 456, 465, 452,
456, 0, 0, 457, 451, 0, 449, 435, 0, 412,
431, 0, 435, 0, 425, 348, 347, 322, 326, 0,
322, 323, 256, 252, 249, 0, 229, 210, 214, 0,
0, 0, 158, 132, 0, 115, 0, 0, 991, 506,
508, 510, 514, 163
0, 0, 70, 71, 80, 0, 995, 996, 996, 996,
969, 50, 147, 996, 996, 968, 144, 996, 143, 141,
156, 169, 223, 966, 996, 169, 966, 52, 996, 0,
996, 996, 152, 117, 138, 118, 157, 148, 167, 932,
147, 173, 159, 126, 188, 926, 200, 939, 205, 199,
212, 226, 147, 996, 158, 996, 996, 996, 996, 973,
996, 996, 0, 996, 996, 996, 996, 996, 996, 996,
996, 996, 996, 262, 996, 0, 996, 272, 256, 310,
297, 996, 0, 0, 996, 996, 996, 961, 996, 996,
996, 960, 0, 996, 996, 922, 927, 191, 924, 932,
931, 918, 921, 932, 245, 926, 914, 911, 924, 911,
908, 908, 914, 158, 240, 908, 918, 904, 910, 913,
914, 0, 906, 916, 277, 915, 910, 891, 162, 895,
908, 899, 246, 892, 286, 904, 906, 289, 895, 892,
881, 890, 292, 294, 894, 890, 892, 881, 884, 287,
203, 255, 893, 881, 893, 199, 886, 885, 996, 996,
996, 0, 345, 0, 359, 377, 996, 384, 394, 306,
996, 996, 884, 0, 880, 875, 879, 888, 885, 305,
869, 869, 880, 872, 309, 882, 879, 879, 877, 874,
866, 872, 859, 857, 869, 855, 871, 0, 868, 856,
863, 860, 864, 865, 858, 855, 844, 843, 856, 859,
847, 855, 843, 849, 840, 364, 845, 848, 839, 846,
835, 839, 830, 844, 843, 834, 840, 248, 824, 827,
825, 835, 825, 820, 818, 820, 830, 816, 818, 815,
826, 825, 828, 810, 366, 818, 814, 812, 821, 800,
367, 818, 820, 809, 801, 402, 410, 417, 424, 996,
798, 808, 807, 0, 805, 429, 0, 0, 798, 796,
796, 797, 792, 800, 789, 806, 795, 432, 0, 0,
789, 799, 798, 798, 0, 783, 435, 0, 0, 785,
438, 792, 793, 784, 778, 777, 778, 777, 777, 441,
772, 0, 0, 0, 0, 0, 771, 772, 777, 771,
767, 780, 775, 775, 773, 772, 766, 760, 762, 761,
765, 757, 760, 755, 763, 768, 756, 753, 765, 756,
0, 0, 762, 758, 0, 750, 750, 755, 746, 753,
444, 750, 0, 0, 0, 0, 740, 752, 751, 750,
751, 751, 0, 0, 0, 0, 738, 0, 746, 737,
0, 736, 737, 731, 741, 0, 0, 0, 732, 0,
728, 0, 0, 0, 0, 0, 0, 0, 0, 0,
738, 448, 737, 0, 0, 735, 731, 728, 0, 0,
0, 720, 725, 721, 726, 717, 715, 728, 713, 0,
713, 726, 715, 711, 717, 712, 719, 0, 717, 714,
718, 702, 700, 703, 709, 715, 710, 709, 697, 0,
699, 700, 0, 0, 0, 0, 697, 700, 0, 694,
0, 707, 687, 696, 691, 0, 684, 684, 697, 0,
699, 0, 451, 712, 711, 710, 677, 676, 0, 693,
692, 687, 0, 676, 689, 676, 673, 0, 0, 678,
677, 0, 674, 681, 680, 0, 666, 0, 0, 0,
0, 663, 0, 0, 662, 673, 454, 666, 672, 671,
668, 663, 660, 653, 653, 666, 651, 663, 0, 0,
656, 679, 678, 677, 644, 643, 330, 447, 0, 655,
658, 656, 645, 641, 0, 653, 650, 649, 639, 638,
628, 645, 631, 470, 639, 642, 0, 659, 658, 657,
624, 623, 0, 637, 624, 0, 634, 627, 628, 631,
0, 0, 0, 0, 651, 650, 0, 627, 630, 615,
622, 613, 620, 621, 621, 620, 606, 474, 618, 0,
619, 608, 607, 0, 0, 0, 632, 631, 630, 597,
596, 592, 600, 0, 628, 627, 0, 604, 607, 0,
476, 0, 585, 594, 0, 590, 589, 598, 598, 586,
600, 584, 598, 593, 0, 0, 0, 610, 609, 576,
0, 576, 0, 0, 451, 459, 600, 586, 589, 572,
584, 572, 571, 580, 580, 597, 596, 563, 0, 563,
564, 563, 573, 0, 576, 572, 574, 570, 557, 588,
353, 565, 561, 553, 560, 573, 561, 557, 559, 557,
557, 556, 0, 544, 543, 553, 0, 573, 439, 550,
0, 554, 553, 537, 529, 537, 527, 535, 0, 532,
553, 541, 539, 524, 527, 541, 557, 537, 538, 535,
532, 0, 520, 534, 533, 517, 516, 537, 525, 523,
505, 504, 0, 532, 504, 530, 502, 506, 537, 517,
514, 513, 516, 512, 499, 496, 509, 494, 495, 497,
486, 485, 0, 491, 522, 502, 499, 0, 0, 495,
0, 494, 0, 500, 484, 481, 482, 0, 474, 482,
479, 500, 479, 0, 0, 491, 0, 0, 490, 474,
471, 472, 486, 485, 462, 468, 0, 0, 489, 461,
480, 472, 458, 467, 454, 460, 0, 0, 471, 470,
0, 470, 452, 0, 434, 453, 0, 459, 0, 437,
415, 349, 339, 327, 0, 308, 315, 271, 259, 255,
0, 255, 216, 209, 0, 0, 0, 158, 132, 0,
115, 0, 0, 996, 505, 507, 509, 513, 163
} ;
static yyconst flex_int16_t yy_def[775] =
static yyconst flex_int16_t yy_def[780] =
{ 0,
769, 1, 770, 770, 769, 5, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 771,
769, 769, 769, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 769, 769, 769, 769, 769, 769, 769,
769, 769, 772, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 773, 769, 769, 22, 769,
769, 769, 774, 23, 769, 769, 769, 769, 769, 769,
769, 769, 771, 769, 769, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 769, 769, 769,
772, 769, 773, 769, 769, 769, 769, 769, 774, 769,
769, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 769, 769, 769, 769, 769, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 0, 769,
769, 769, 769, 769
774, 1, 775, 775, 774, 5, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 774, 776,
774, 774, 774, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 774, 774, 774, 774, 774, 774, 774,
774, 774, 777, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 778, 774, 774, 22, 774,
774, 774, 779, 23, 774, 774, 774, 774, 774, 774,
774, 774, 776, 774, 774, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 774, 774,
774, 777, 774, 778, 774, 774, 774, 774, 774, 779,
774, 774, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 774, 774, 774, 774, 774,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 0, 774, 774, 774, 774, 774
} ;
static yyconst flex_int16_t yy_nxt[1064] =
static yyconst flex_int16_t yy_nxt[1069] =
{ 0,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 23, 23, 23, 23,
......@@ -730,109 +731,109 @@ static yyconst flex_int16_t yy_nxt[1064] =
63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
63, 63, 63, 63, 63, 63, 63, 63, 8, 8,
8, 8, 67, 70, 72, 74, 74, 74, 74, 74,
74, 74, 102, 96, 75, 169, 103, 73, 71, 76,
129, 68, 104, 86, 130, 105, 94, 97, 98, 768,
77, 78, 158, 79, 79, 79, 79, 79, 79, 80,
87, 119, 88, 89, 95, 99, 767, 100, 156, 120,
81, 101, 110, 131, 111, 106, 157, 82, 83, 107,
121, 113, 193, 112, 108, 766, 132, 81, 212, 114,
109, 115, 122, 194, 116, 123, 213, 159, 124, 125,
117, 82, 134, 126, 83, 78, 127, 84, 84, 84,
84, 84, 84, 84, 174, 138, 145, 135, 175, 146,
136, 765, 139, 140, 81, 153, 141, 147, 250, 154,
251, 82, 142, 143, 148, 144, 149, 764, 155, 217,
150, 81, 166, 769, 151, 218, 763, 152, 74, 74,
74, 74, 74, 74, 74, 82, 164, 164, 164, 164,
164, 164, 164, 182, 258, 162, 166, 183, 184, 769,
167, 195, 167, 165, 220, 168, 168, 168, 168, 168,
168, 168, 162, 762, 196, 225, 761, 221, 258, 222,
165, 78, 760, 80, 80, 80, 80, 80, 80, 80,
205, 226, 227, 206, 207, 232, 234, 208, 243, 209,
81, 241, 242, 245, 271, 272, 244, 82, 333, 235,
233, 246, 265, 254, 759, 254, 334, 81, 255, 255,
255, 255, 255, 255, 255, 266, 301, 302, 303, 758,
757, 82, 164, 164, 164, 164, 164, 164, 164, 315,
340, 341, 342, 316, 646, 256, 647, 256, 756, 165,
257, 257, 257, 257, 257, 257, 257, 168, 168, 168,
168, 168, 168, 168, 755, 754, 165, 168, 168, 168,
168, 168, 168, 168, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 257, 257,
257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
257, 257, 351, 352, 353, 363, 364, 365, 371, 372,
373, 375, 376, 377, 386, 387, 388, 420, 421, 422,
440, 441, 442, 487, 488, 489, 513, 514, 515, 753,
752, 535, 537, 443, 444, 751, 490, 491, 750, 516,
517, 536, 538, 552, 553, 554, 749, 583, 584, 601,
602, 619, 621, 748, 622, 623, 555, 556, 747, 557,
585, 620, 603, 663, 746, 664, 58, 58, 58, 58,
93, 93, 161, 161, 163, 745, 163, 163, 744, 743,
742, 741, 740, 739, 738, 737, 736, 735, 734, 733,
732, 731, 730, 729, 728, 727, 726, 725, 724, 723,
722, 721, 720, 719, 718, 717, 716, 715, 714, 713,
712, 711, 710, 709, 708, 707, 706, 705, 704, 703,
702, 701, 700, 699, 698, 697, 696, 695, 694, 693,
692, 691, 690, 689, 688, 687, 686, 685, 684, 683,
682, 681, 680, 679, 678, 677, 676, 675, 674, 673,
672, 671, 670, 669, 668, 667, 666, 665, 662, 661,
660, 659, 658, 657, 656, 655, 654, 653, 652, 651,
650, 649, 648, 645, 644, 643, 642, 641, 640, 639,
638, 637, 636, 635, 634, 633, 632, 631, 630, 629,
628, 627, 626, 625, 624, 618, 617, 616, 615, 614,
613, 612, 611, 610, 609, 608, 607, 606, 605, 604,
600, 599, 598, 597, 596, 595, 594, 593, 592, 591,
590, 589, 588, 587, 586, 582, 581, 580, 579, 578,
577, 576, 575, 574, 573, 572, 571, 570, 569, 568,
567, 566, 565, 564, 563, 562, 561, 560, 559, 558,
551, 550, 549, 548, 547, 546, 545, 544, 543, 542,
541, 540, 539, 534, 533, 532, 531, 530, 529, 528,
527, 526, 525, 524, 523, 522, 521, 520, 519, 518,
512, 511, 510, 509, 508, 507, 506, 505, 504, 503,
502, 501, 500, 499, 498, 497, 496, 495, 494, 493,
492, 486, 485, 484, 483, 482, 481, 480, 479, 478,
477, 476, 475, 474, 473, 472, 471, 470, 469, 468,
467, 466, 465, 464, 463, 462, 461, 460, 459, 458,
457, 456, 455, 454, 453, 452, 451, 450, 449, 448,
447, 446, 445, 439, 438, 437, 436, 435, 434, 433,
432, 431, 430, 429, 428, 427, 426, 425, 424, 423,
419, 418, 417, 416, 415, 414, 413, 412, 411, 410,
409, 408, 407, 406, 405, 404, 403, 402, 401, 400,
399, 398, 397, 396, 395, 394, 393, 392, 391, 390,
389, 385, 384, 383, 382, 381, 380, 379, 378, 374,
370, 369, 368, 367, 366, 362, 361, 360, 359, 358,
357, 356, 355, 354, 350, 349, 348, 347, 346, 345,
344, 343, 339, 338, 337, 336, 335, 332, 331, 330,
329, 328, 327, 326, 325, 324, 323, 322, 321, 320,
319, 318, 317, 314, 313, 312, 311, 310, 309, 308,
307, 306, 305, 304, 300, 299, 298, 297, 296, 295,
294, 293, 292, 291, 290, 289, 288, 287, 286, 285,
284, 283, 282, 281, 280, 279, 278, 277, 276, 275,
274, 273, 270, 269, 268, 267, 264, 263, 262, 261,
260, 259, 253, 252, 249, 248, 247, 240, 239, 238,
237, 236, 231, 230, 229, 228, 224, 223, 219, 216,
215, 214, 211, 210, 204, 203, 202, 201, 200, 199,
198, 197, 192, 191, 190, 189, 188, 187, 186, 185,
181, 180, 179, 178, 177, 176, 173, 172, 171, 170,
160, 137, 133, 128, 118, 90, 85, 69, 64, 769,
7, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769
74, 74, 102, 96, 75, 170, 103, 73, 71, 76,
130, 68, 104, 86, 131, 105, 94, 97, 98, 773,
77, 78, 159, 79, 79, 79, 79, 79, 79, 80,
87, 119, 88, 89, 95, 99, 772, 100, 157, 120,
81, 101, 110, 128, 111, 106, 158, 82, 83, 107,
121, 113, 194, 112, 108, 771, 129, 81, 214, 114,
109, 115, 122, 195, 116, 123, 215, 160, 124, 125,
117, 82, 132, 126, 83, 78, 127, 84, 84, 84,
84, 84, 84, 84, 135, 133, 770, 146, 175, 139,
147, 252, 176, 253, 81, 245, 140, 141, 148, 136,
142, 82, 137, 246, 150, 149, 143, 144, 151, 145,
154, 81, 152, 769, 155, 153, 74, 74, 74, 74,
74, 74, 74, 156, 196, 82, 165, 165, 165, 165,
165, 165, 165, 163, 167, 774, 183, 197, 219, 247,
184, 185, 768, 166, 220, 318, 168, 248, 168, 319,
163, 169, 169, 169, 169, 169, 169, 169, 167, 767,
166, 774, 78, 766, 80, 80, 80, 80, 80, 80,
80, 206, 222, 227, 207, 208, 234, 765, 209, 236,
210, 81, 243, 244, 260, 223, 764, 224, 82, 228,
229, 235, 237, 267, 256, 763, 256, 540, 81, 257,
257, 257, 257, 257, 257, 257, 268, 541, 260, 273,
274, 762, 82, 165, 165, 165, 165, 165, 165, 165,
304, 305, 306, 343, 344, 345, 258, 651, 258, 652,
166, 259, 259, 259, 259, 259, 259, 259, 169, 169,
169, 169, 169, 169, 169, 761, 760, 166, 169, 169,
169, 169, 169, 169, 169, 336, 257, 257, 257, 257,
257, 257, 257, 337, 257, 257, 257, 257, 257, 257,
257, 259, 259, 259, 259, 259, 259, 259, 259, 259,
259, 259, 259, 259, 259, 354, 355, 356, 366, 367,
368, 374, 375, 376, 378, 379, 380, 389, 390, 391,
424, 425, 426, 444, 445, 446, 492, 493, 494, 518,
519, 520, 759, 668, 542, 669, 447, 448, 624, 495,
496, 758, 521, 522, 543, 557, 558, 559, 625, 588,
589, 606, 607, 626, 757, 627, 628, 756, 560, 561,
755, 562, 590, 754, 608, 58, 58, 58, 58, 93,
93, 162, 162, 164, 753, 164, 164, 752, 751, 750,
749, 748, 747, 746, 745, 744, 743, 742, 741, 740,
739, 738, 737, 736, 735, 734, 733, 732, 731, 730,
729, 728, 727, 726, 725, 724, 723, 722, 721, 720,
719, 718, 717, 716, 715, 714, 713, 712, 711, 710,
709, 708, 707, 706, 705, 704, 703, 702, 701, 700,
699, 698, 697, 696, 695, 694, 693, 692, 691, 690,
689, 688, 687, 686, 685, 684, 683, 682, 681, 680,
679, 678, 677, 676, 675, 674, 673, 672, 671, 670,
667, 666, 665, 664, 663, 662, 661, 660, 659, 658,
657, 656, 655, 654, 653, 650, 649, 648, 647, 646,
645, 644, 643, 642, 641, 640, 639, 638, 637, 636,
635, 634, 633, 632, 631, 630, 629, 623, 622, 621,
620, 619, 618, 617, 616, 615, 614, 613, 612, 611,
610, 609, 605, 604, 603, 602, 601, 600, 599, 598,
597, 596, 595, 594, 593, 592, 591, 587, 586, 585,
584, 583, 582, 581, 580, 579, 578, 577, 576, 575,
574, 573, 572, 571, 570, 569, 568, 567, 566, 565,
564, 563, 556, 555, 554, 553, 552, 551, 550, 549,
548, 547, 546, 545, 544, 539, 538, 537, 536, 535,
534, 533, 532, 531, 530, 529, 528, 527, 526, 525,
524, 523, 517, 516, 515, 514, 513, 512, 511, 510,
509, 508, 507, 506, 505, 504, 503, 502, 501, 500,
499, 498, 497, 491, 490, 489, 488, 487, 486, 485,
484, 483, 482, 481, 480, 479, 478, 477, 476, 475,
474, 473, 472, 471, 470, 469, 468, 467, 466, 465,
464, 463, 462, 461, 460, 459, 458, 457, 456, 455,
454, 453, 452, 451, 450, 449, 443, 442, 441, 440,
439, 438, 437, 436, 435, 434, 433, 432, 431, 430,
429, 428, 427, 423, 422, 421, 420, 419, 418, 417,
416, 415, 414, 413, 412, 411, 410, 409, 408, 407,
406, 405, 404, 403, 402, 401, 400, 399, 398, 397,
396, 395, 394, 393, 392, 388, 387, 386, 385, 384,
383, 382, 381, 377, 373, 372, 371, 370, 369, 365,
364, 363, 362, 361, 360, 359, 358, 357, 353, 352,
351, 350, 349, 348, 347, 346, 342, 341, 340, 339,
338, 335, 334, 333, 332, 331, 330, 329, 328, 327,
326, 325, 324, 323, 322, 321, 320, 317, 316, 315,
314, 313, 312, 311, 310, 309, 308, 307, 303, 302,
301, 300, 299, 298, 297, 296, 295, 294, 293, 292,
291, 290, 289, 288, 287, 286, 285, 284, 283, 282,
281, 280, 279, 278, 277, 276, 275, 272, 271, 270,
269, 266, 265, 264, 263, 262, 261, 255, 254, 251,
250, 249, 242, 241, 240, 239, 238, 233, 232, 231,
230, 226, 225, 221, 218, 217, 216, 213, 212, 211,
205, 204, 203, 202, 201, 200, 199, 198, 193, 192,
191, 190, 189, 188, 187, 186, 182, 181, 180, 179,
178, 177, 174, 173, 172, 171, 161, 138, 134, 118,
90, 85, 69, 64, 774, 7, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774
} ;
static yyconst flex_int16_t yy_chk[1064] =
static yyconst flex_int16_t yy_chk[1069] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
......@@ -851,110 +852,110 @@ static yyconst flex_int16_t yy_chk[1064] =
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 13, 17, 19, 20, 20, 20, 20, 20,
20, 20, 36, 34, 21, 774, 36, 19, 17, 21,
44, 13, 36, 26, 44, 36, 33, 34, 34, 766,
20, 20, 36, 34, 21, 779, 36, 19, 17, 21,
44, 13, 36, 26, 44, 36, 33, 34, 34, 771,
21, 22, 55, 22, 22, 22, 22, 22, 22, 22,
26, 41, 26, 26, 33, 35, 764, 35, 53, 41,
22, 35, 38, 45, 38, 37, 53, 22, 22, 37,
41, 39, 114, 38, 37, 763, 45, 22, 128, 39,
37, 39, 42, 114, 39, 42, 128, 55, 42, 42,
39, 22, 47, 42, 22, 23, 42, 23, 23, 23,
23, 23, 23, 23, 98, 49, 50, 47, 98, 50,
47, 759, 49, 49, 23, 52, 49, 50, 155, 52,
155, 23, 49, 49, 50, 49, 51, 758, 52, 132,
51, 23, 79, 79, 51, 132, 757, 51, 74, 74,
74, 74, 74, 74, 74, 23, 78, 78, 78, 78,
78, 78, 78, 105, 169, 74, 79, 105, 105, 79,
81, 115, 81, 78, 134, 81, 81, 81, 81, 81,
81, 81, 74, 755, 115, 137, 754, 134, 169, 134,
78, 80, 753, 80, 80, 80, 80, 80, 80, 80,
125, 137, 137, 125, 125, 142, 143, 125, 150, 125,
80, 149, 149, 151, 184, 184, 150, 80, 243, 143,
142, 151, 179, 162, 752, 162, 243, 80, 162, 162,
162, 162, 162, 162, 162, 179, 214, 214, 214, 751,
749, 80, 164, 164, 164, 164, 164, 164, 164, 226,
249, 249, 249, 226, 616, 165, 616, 165, 748, 164,
165, 165, 165, 165, 165, 165, 165, 167, 167, 167,
167, 167, 167, 167, 747, 746, 164, 168, 168, 168,
168, 168, 168, 168, 254, 254, 254, 254, 254, 254,
254, 255, 255, 255, 255, 255, 255, 255, 256, 256,
256, 256, 256, 256, 256, 257, 257, 257, 257, 257,
257, 257, 264, 264, 264, 276, 276, 276, 285, 285,
285, 289, 289, 289, 298, 298, 298, 338, 338, 338,
379, 379, 379, 439, 439, 439, 472, 472, 472, 745,
743, 492, 493, 379, 379, 741, 439, 439, 740, 472,
472, 492, 493, 509, 509, 509, 738, 543, 543, 566,
566, 590, 591, 737, 591, 591, 509, 509, 735, 509,
543, 590, 566, 634, 734, 634, 770, 770, 770, 770,
771, 771, 772, 772, 773, 731, 773, 773, 730, 729,
728, 727, 726, 725, 724, 721, 720, 719, 718, 717,
716, 715, 714, 711, 708, 707, 706, 705, 704, 702,
701, 700, 699, 697, 695, 692, 691, 690, 689, 687,
686, 685, 684, 683, 682, 681, 680, 679, 678, 677,
676, 675, 674, 673, 672, 671, 670, 669, 667, 666,
665, 664, 663, 662, 661, 660, 659, 658, 656, 655,
654, 653, 652, 651, 650, 649, 648, 647, 646, 645,
643, 642, 641, 640, 639, 638, 637, 635, 633, 631,
630, 629, 627, 626, 625, 624, 623, 622, 621, 620,
619, 618, 617, 615, 614, 613, 612, 611, 610, 608,
607, 606, 605, 603, 602, 601, 600, 599, 598, 597,
596, 595, 594, 593, 592, 587, 585, 584, 583, 579,
578, 577, 576, 575, 574, 573, 572, 571, 569, 568,
564, 563, 561, 560, 558, 557, 556, 555, 554, 553,
552, 548, 547, 546, 544, 542, 541, 540, 539, 538,
537, 536, 535, 534, 533, 531, 530, 525, 524, 523,
522, 520, 519, 517, 516, 515, 514, 513, 511, 510,
508, 507, 506, 505, 504, 503, 502, 501, 499, 498,
497, 496, 495, 491, 490, 489, 488, 487, 486, 483,
482, 481, 480, 479, 478, 477, 476, 475, 474, 473,
471, 470, 467, 462, 460, 459, 458, 456, 455, 452,
451, 450, 449, 448, 447, 446, 444, 443, 442, 441,
440, 437, 435, 434, 433, 431, 430, 429, 428, 426,
424, 423, 418, 417, 415, 414, 413, 412, 411, 410,
409, 408, 407, 406, 405, 403, 402, 401, 400, 399,
398, 397, 395, 394, 393, 392, 391, 390, 389, 385,
384, 383, 380, 378, 368, 366, 362, 361, 360, 359,
357, 356, 354, 349, 348, 347, 346, 345, 344, 339,
337, 336, 335, 334, 333, 331, 330, 327, 326, 325,
324, 323, 322, 321, 320, 319, 318, 317, 316, 315,
314, 313, 312, 311, 310, 309, 308, 307, 306, 305,
304, 297, 296, 295, 294, 293, 292, 291, 290, 288,
284, 282, 281, 280, 279, 275, 274, 273, 272, 271,
270, 269, 268, 267, 263, 261, 260, 259, 253, 252,
251, 250, 248, 247, 246, 245, 244, 242, 241, 240,
239, 238, 237, 236, 235, 234, 233, 232, 231, 230,
229, 228, 227, 225, 224, 223, 222, 221, 220, 219,
218, 217, 216, 215, 213, 212, 211, 210, 209, 208,
207, 206, 205, 204, 203, 202, 201, 200, 199, 198,
196, 195, 194, 193, 192, 191, 190, 189, 188, 187,
186, 185, 183, 182, 181, 180, 178, 177, 176, 175,
174, 172, 157, 156, 154, 153, 152, 148, 147, 146,
145, 144, 141, 140, 139, 138, 136, 135, 133, 131,
130, 129, 127, 126, 124, 123, 121, 120, 119, 118,
117, 116, 113, 112, 111, 110, 109, 108, 107, 106,
104, 103, 102, 101, 100, 99, 97, 96, 92, 88,
60, 48, 46, 43, 40, 27, 24, 16, 11, 7,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769
26, 41, 26, 26, 33, 35, 769, 35, 53, 41,
22, 35, 38, 43, 38, 37, 53, 22, 22, 37,
41, 39, 114, 38, 37, 768, 43, 22, 129, 39,
37, 39, 42, 114, 39, 42, 129, 55, 42, 42,
39, 22, 45, 42, 22, 23, 42, 23, 23, 23,
23, 23, 23, 23, 47, 45, 764, 50, 98, 49,
50, 156, 98, 156, 23, 151, 49, 49, 50, 47,
49, 23, 47, 151, 51, 50, 49, 49, 51, 49,
52, 23, 51, 763, 52, 51, 74, 74, 74, 74,
74, 74, 74, 52, 115, 23, 78, 78, 78, 78,
78, 78, 78, 74, 79, 79, 105, 115, 133, 152,
105, 105, 762, 78, 133, 228, 81, 152, 81, 228,
74, 81, 81, 81, 81, 81, 81, 81, 79, 760,
78, 79, 80, 759, 80, 80, 80, 80, 80, 80,
80, 125, 135, 138, 125, 125, 143, 758, 125, 144,
125, 80, 150, 150, 170, 135, 757, 135, 80, 138,
138, 143, 144, 180, 163, 756, 163, 497, 80, 163,
163, 163, 163, 163, 163, 163, 180, 497, 170, 185,
185, 754, 80, 165, 165, 165, 165, 165, 165, 165,
216, 216, 216, 251, 251, 251, 166, 621, 166, 621,
165, 166, 166, 166, 166, 166, 166, 166, 168, 168,
168, 168, 168, 168, 168, 753, 752, 165, 169, 169,
169, 169, 169, 169, 169, 245, 256, 256, 256, 256,
256, 256, 256, 245, 257, 257, 257, 257, 257, 257,
257, 258, 258, 258, 258, 258, 258, 258, 259, 259,
259, 259, 259, 259, 259, 266, 266, 266, 278, 278,
278, 287, 287, 287, 291, 291, 291, 300, 300, 300,
341, 341, 341, 382, 382, 382, 443, 443, 443, 477,
477, 477, 751, 639, 498, 639, 382, 382, 595, 443,
443, 750, 477, 477, 498, 514, 514, 514, 595, 548,
548, 571, 571, 596, 748, 596, 596, 746, 514, 514,
745, 514, 548, 743, 571, 775, 775, 775, 775, 776,
776, 777, 777, 778, 742, 778, 778, 740, 739, 736,
735, 734, 733, 732, 731, 730, 729, 726, 725, 724,
723, 722, 721, 720, 719, 716, 713, 712, 711, 710,
709, 707, 706, 705, 704, 702, 700, 697, 696, 695,
694, 692, 691, 690, 689, 688, 687, 686, 685, 684,
683, 682, 681, 680, 679, 678, 677, 676, 675, 674,
672, 671, 670, 669, 668, 667, 666, 665, 664, 663,
661, 660, 659, 658, 657, 656, 655, 654, 653, 652,
651, 650, 648, 647, 646, 645, 644, 643, 642, 640,
638, 636, 635, 634, 632, 631, 630, 629, 628, 627,
626, 625, 624, 623, 622, 620, 619, 618, 617, 616,
615, 613, 612, 611, 610, 608, 607, 606, 605, 604,
603, 602, 601, 600, 599, 598, 597, 592, 590, 589,
588, 584, 583, 582, 581, 580, 579, 578, 577, 576,
574, 573, 569, 568, 566, 565, 563, 562, 561, 560,
559, 558, 557, 553, 552, 551, 549, 547, 546, 545,
544, 543, 542, 541, 540, 539, 538, 536, 535, 530,
529, 528, 527, 525, 524, 522, 521, 520, 519, 518,
516, 515, 513, 512, 511, 510, 509, 508, 507, 506,
504, 503, 502, 501, 500, 496, 495, 494, 493, 492,
491, 488, 487, 486, 485, 484, 483, 482, 481, 480,
479, 478, 476, 475, 472, 467, 465, 464, 463, 461,
460, 457, 456, 455, 454, 452, 451, 450, 448, 447,
446, 445, 444, 441, 439, 438, 437, 435, 434, 433,
432, 430, 428, 427, 422, 421, 419, 418, 417, 416,
415, 414, 413, 412, 411, 410, 409, 407, 406, 405,
404, 403, 402, 401, 399, 398, 397, 396, 395, 394,
393, 392, 388, 387, 386, 383, 381, 371, 369, 365,
364, 363, 362, 360, 359, 357, 352, 351, 350, 349,
348, 347, 342, 340, 339, 338, 337, 336, 334, 333,
330, 329, 328, 327, 326, 325, 324, 323, 322, 321,
320, 319, 318, 317, 316, 315, 314, 313, 312, 311,
310, 309, 308, 307, 301, 299, 298, 297, 296, 295,
294, 293, 292, 290, 286, 284, 283, 282, 281, 277,
276, 275, 274, 273, 272, 271, 270, 269, 265, 263,
262, 261, 255, 254, 253, 252, 250, 249, 248, 247,
246, 244, 243, 242, 241, 240, 239, 238, 237, 236,
235, 234, 233, 232, 231, 230, 229, 227, 226, 225,
224, 223, 222, 221, 220, 219, 218, 217, 215, 214,
213, 212, 211, 210, 209, 208, 207, 206, 205, 204,
203, 202, 201, 200, 199, 197, 196, 195, 194, 193,
192, 191, 190, 189, 188, 187, 186, 184, 183, 182,
181, 179, 178, 177, 176, 175, 173, 158, 157, 155,
154, 153, 149, 148, 147, 146, 145, 142, 141, 140,
139, 137, 136, 134, 132, 131, 130, 128, 127, 126,
124, 123, 121, 120, 119, 118, 117, 116, 113, 112,
111, 110, 109, 108, 107, 106, 104, 103, 102, 101,
100, 99, 97, 96, 92, 88, 60, 48, 46, 40,
27, 24, 16, 11, 7, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774
} ;
/* Table of booleans, true if rule could match eol. */
static yyconst flex_int32_t yy_rule_can_match_eol[222] =
static yyconst flex_int32_t yy_rule_can_match_eol[223] =
{ 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
......@@ -966,8 +967,8 @@ static yyconst flex_int32_t yy_rule_can_match_eol[222] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, };
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, };
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
......@@ -1303,13 +1304,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 770 )
if ( yy_current_state >= 775 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
while ( yy_current_state != 769 );
while ( yy_current_state != 774 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
......@@ -1584,8 +1585,11 @@ case 61:
YY_RULE_SETUP
{ context->lexAfterType = true; return(STRUCT); }
YY_BREAK
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
case 62:
YY_RULE_SETUP
{ return ES2_identifier_ES3_keyword(context, LAYOUT); }
YY_BREAK
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
case 63:
case 64:
case 65:
......@@ -1641,6 +1645,7 @@ case 114:
case 115:
case 116:
case 117:
case 118:
YY_RULE_SETUP
{
if (context->shaderVersion < 300) {
......@@ -1650,9 +1655,20 @@ YY_RULE_SETUP
return reserved_word(yyscanner);
}
YY_BREAK
/* Reserved keywords */
case 118:
/* Reserved keywords in GLSL ES 1.00 that are not reserved in GLSL ES 3.00 */
case 119:
YY_RULE_SETUP
{
if (context->shaderVersion >= 300)
{
yylval->lex.string = NewPoolTString(yytext);
return check_type(yyscanner);
}
return reserved_word(yyscanner);
}
YY_BREAK
/* Reserved keywords */
case 120:
case 121:
case 122:
......@@ -1694,35 +1710,32 @@ case 157:
case 158:
case 159:
case 160:
case 161:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 161:
case 162:
YY_RULE_SETUP
{
yylval->lex.string = NewPoolTString(yytext);
return check_type(yyscanner);
}
YY_BREAK
case 162:
YY_RULE_SETUP
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK
case 163:
YY_RULE_SETUP
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK
case 164:
YY_RULE_SETUP
{ context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;}
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK
case 165:
YY_RULE_SETUP
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
{ context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;}
YY_BREAK
case 166:
YY_RULE_SETUP
{ return uint_constant(context); }
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK
case 167:
YY_RULE_SETUP
......@@ -1734,7 +1747,7 @@ YY_RULE_SETUP
YY_BREAK
case 169:
YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
{ return uint_constant(context); }
YY_BREAK
case 170:
YY_RULE_SETUP
......@@ -1746,198 +1759,202 @@ YY_RULE_SETUP
YY_BREAK
case 172:
YY_RULE_SETUP
{ return(ADD_ASSIGN); }
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK
case 173:
YY_RULE_SETUP
{ return(SUB_ASSIGN); }
{ return(ADD_ASSIGN); }
YY_BREAK
case 174:
YY_RULE_SETUP
{ return(MUL_ASSIGN); }
{ return(SUB_ASSIGN); }
YY_BREAK
case 175:
YY_RULE_SETUP
{ return(DIV_ASSIGN); }
{ return(MUL_ASSIGN); }
YY_BREAK
case 176:
YY_RULE_SETUP
{ return(MOD_ASSIGN); }
{ return(DIV_ASSIGN); }
YY_BREAK
case 177:
YY_RULE_SETUP
{ return(LEFT_ASSIGN); }
{ return(MOD_ASSIGN); }
YY_BREAK
case 178:
YY_RULE_SETUP
{ return(RIGHT_ASSIGN); }
{ return(LEFT_ASSIGN); }
YY_BREAK
case 179:
YY_RULE_SETUP
{ return(AND_ASSIGN); }
{ return(RIGHT_ASSIGN); }
YY_BREAK
case 180:
YY_RULE_SETUP
{ return(XOR_ASSIGN); }
{ return(AND_ASSIGN); }
YY_BREAK
case 181:
YY_RULE_SETUP
{ return(OR_ASSIGN); }
{ return(XOR_ASSIGN); }
YY_BREAK
case 182:
YY_RULE_SETUP
{ return(INC_OP); }
{ return(OR_ASSIGN); }
YY_BREAK
case 183:
YY_RULE_SETUP
{ return(DEC_OP); }
{ return(INC_OP); }
YY_BREAK
case 184:
YY_RULE_SETUP
{ return(AND_OP); }
{ return(DEC_OP); }
YY_BREAK
case 185:
YY_RULE_SETUP
{ return(OR_OP); }
{ return(AND_OP); }
YY_BREAK
case 186:
YY_RULE_SETUP
{ return(XOR_OP); }
{ return(OR_OP); }
YY_BREAK
case 187:
YY_RULE_SETUP
{ return(LE_OP); }
{ return(XOR_OP); }
YY_BREAK
case 188:
YY_RULE_SETUP
{ return(GE_OP); }
{ return(LE_OP); }
YY_BREAK
case 189:
YY_RULE_SETUP
{ return(EQ_OP); }
{ return(GE_OP); }
YY_BREAK
case 190:
YY_RULE_SETUP
{ return(NE_OP); }
{ return(EQ_OP); }
YY_BREAK
case 191:
YY_RULE_SETUP
{ return(LEFT_OP); }
{ return(NE_OP); }
YY_BREAK
case 192:
YY_RULE_SETUP
{ return(RIGHT_OP); }
{ return(LEFT_OP); }
YY_BREAK
case 193:
YY_RULE_SETUP
{ context->lexAfterType = false; return(SEMICOLON); }
{ return(RIGHT_OP); }
YY_BREAK
case 194:
YY_RULE_SETUP
{ context->lexAfterType = false; return(LEFT_BRACE); }
{ context->lexAfterType = false; return(SEMICOLON); }
YY_BREAK
case 195:
YY_RULE_SETUP
{ return(RIGHT_BRACE); }
{ context->lexAfterType = false; return(LEFT_BRACE); }
YY_BREAK
case 196:
YY_RULE_SETUP
{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
{ return(RIGHT_BRACE); }
YY_BREAK
case 197:
YY_RULE_SETUP
{ return(COLON); }
{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
YY_BREAK
case 198:
YY_RULE_SETUP
{ context->lexAfterType = false; return(EQUAL); }
{ return(COLON); }
YY_BREAK
case 199:
YY_RULE_SETUP
{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
{ context->lexAfterType = false; return(EQUAL); }
YY_BREAK
case 200:
YY_RULE_SETUP
{ context->inTypeParen = false; return(RIGHT_PAREN); }
{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
YY_BREAK
case 201:
YY_RULE_SETUP
{ return(LEFT_BRACKET); }
{ context->inTypeParen = false; return(RIGHT_PAREN); }
YY_BREAK
case 202:
YY_RULE_SETUP
{ return(RIGHT_BRACKET); }
{ return(LEFT_BRACKET); }
YY_BREAK
case 203:
YY_RULE_SETUP
{ BEGIN(FIELDS); return(DOT); }
{ return(RIGHT_BRACKET); }
YY_BREAK
case 204:
YY_RULE_SETUP
{ return(BANG); }
{ BEGIN(FIELDS); return(DOT); }
YY_BREAK
case 205:
YY_RULE_SETUP
{ return(DASH); }
{ return(BANG); }
YY_BREAK
case 206:
YY_RULE_SETUP
{ return(TILDE); }
{ return(DASH); }
YY_BREAK
case 207:
YY_RULE_SETUP
{ return(PLUS); }
{ return(TILDE); }
YY_BREAK
case 208:
YY_RULE_SETUP
{ return(STAR); }
{ return(PLUS); }
YY_BREAK
case 209:
YY_RULE_SETUP
{ return(SLASH); }
{ return(STAR); }
YY_BREAK
case 210:
YY_RULE_SETUP
{ return(PERCENT); }
{ return(SLASH); }
YY_BREAK
case 211:
YY_RULE_SETUP
{ return(LEFT_ANGLE); }
{ return(PERCENT); }
YY_BREAK
case 212:
YY_RULE_SETUP
{ return(RIGHT_ANGLE); }
{ return(LEFT_ANGLE); }
YY_BREAK
case 213:
YY_RULE_SETUP
{ return(VERTICAL_BAR); }
{ return(RIGHT_ANGLE); }
YY_BREAK
case 214:
YY_RULE_SETUP
{ return(CARET); }
{ return(VERTICAL_BAR); }
YY_BREAK
case 215:
YY_RULE_SETUP
{ return(AMPERSAND); }
{ return(CARET); }
YY_BREAK
case 216:
YY_RULE_SETUP
{ return(QUESTION); }
{ return(AMPERSAND); }
YY_BREAK
case 217:
YY_RULE_SETUP
{ return(QUESTION); }
YY_BREAK
case 218:
YY_RULE_SETUP
{
BEGIN(INITIAL);
yylval->lex.string = NewPoolTString(yytext);
return FIELD_SELECTION;
}
YY_BREAK
case 218:
case 219:
YY_RULE_SETUP
{}
YY_BREAK
case 219:
/* rule 219 can match eol */
case 220:
/* rule 220 can match eol */
YY_RULE_SETUP
{ }
YY_BREAK
......@@ -1946,11 +1963,11 @@ case YY_STATE_EOF(COMMENT):
case YY_STATE_EOF(FIELDS):
{ context->AfterEOF = true; yyterminate(); }
YY_BREAK
case 220:
case 221:
YY_RULE_SETUP
{ context->warning(yylineno, "Unknown char", yytext, ""); return 0; }
YY_BREAK
case 221:
case 222:
YY_RULE_SETUP
ECHO;
YY_BREAK
......@@ -2246,7 +2263,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 770 )
if ( yy_current_state >= 775 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
......@@ -2275,11 +2292,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 770 )
if ( yy_current_state >= 775 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
yy_is_jam = (yy_current_state == 769);
yy_is_jam = (yy_current_state == 774);
return yy_is_jam ? 0 : yy_current_state;
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -94,58 +94,59 @@
SAMPLER3D = 310,
SAMPLER3DRECT = 311,
SAMPLER2DSHADOW = 312,
IDENTIFIER = 313,
TYPE_NAME = 314,
FLOATCONSTANT = 315,
INTCONSTANT = 316,
UINTCONSTANT = 317,
BOOLCONSTANT = 318,
FIELD_SELECTION = 319,
LEFT_OP = 320,
RIGHT_OP = 321,
INC_OP = 322,
DEC_OP = 323,
LE_OP = 324,
GE_OP = 325,
EQ_OP = 326,
NE_OP = 327,
AND_OP = 328,
OR_OP = 329,
XOR_OP = 330,
MUL_ASSIGN = 331,
DIV_ASSIGN = 332,
ADD_ASSIGN = 333,
MOD_ASSIGN = 334,
LEFT_ASSIGN = 335,
RIGHT_ASSIGN = 336,
AND_ASSIGN = 337,
XOR_ASSIGN = 338,
OR_ASSIGN = 339,
SUB_ASSIGN = 340,
LEFT_PAREN = 341,
RIGHT_PAREN = 342,
LEFT_BRACKET = 343,
RIGHT_BRACKET = 344,
LEFT_BRACE = 345,
RIGHT_BRACE = 346,
DOT = 347,
COMMA = 348,
COLON = 349,
EQUAL = 350,
SEMICOLON = 351,
BANG = 352,
DASH = 353,
TILDE = 354,
PLUS = 355,
STAR = 356,
SLASH = 357,
PERCENT = 358,
LEFT_ANGLE = 359,
RIGHT_ANGLE = 360,
VERTICAL_BAR = 361,
CARET = 362,
AMPERSAND = 363,
QUESTION = 364
LAYOUT = 313,
IDENTIFIER = 314,
TYPE_NAME = 315,
FLOATCONSTANT = 316,
INTCONSTANT = 317,
UINTCONSTANT = 318,
BOOLCONSTANT = 319,
FIELD_SELECTION = 320,
LEFT_OP = 321,
RIGHT_OP = 322,
INC_OP = 323,
DEC_OP = 324,
LE_OP = 325,
GE_OP = 326,
EQ_OP = 327,
NE_OP = 328,
AND_OP = 329,
OR_OP = 330,
XOR_OP = 331,
MUL_ASSIGN = 332,
DIV_ASSIGN = 333,
ADD_ASSIGN = 334,
MOD_ASSIGN = 335,
LEFT_ASSIGN = 336,
RIGHT_ASSIGN = 337,
AND_ASSIGN = 338,
XOR_ASSIGN = 339,
OR_ASSIGN = 340,
SUB_ASSIGN = 341,
LEFT_PAREN = 342,
RIGHT_PAREN = 343,
LEFT_BRACKET = 344,
RIGHT_BRACKET = 345,
LEFT_BRACE = 346,
RIGHT_BRACE = 347,
DOT = 348,
COMMA = 349,
COLON = 350,
EQUAL = 351,
SEMICOLON = 352,
BANG = 353,
DASH = 354,
TILDE = 355,
PLUS = 356,
STAR = 357,
SLASH = 358,
PERCENT = 359,
LEFT_ANGLE = 360,
RIGHT_ANGLE = 361,
VERTICAL_BAR = 362,
CARET = 363,
AMPERSAND = 364,
QUESTION = 365
};
#endif
......@@ -179,6 +180,7 @@ typedef union YYSTYPE
union {
TPublicType type;
TPrecision precision;
TLayoutQualifier layoutQualifier;
TQualifier qualifier;
TFunction* function;
TParameter param;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment