Add partial support for parsing layout qualifiers, added in the GLES SL 3.00 spec.

This allows us to run a lot of ES3 unit tests and sample apps. TRAC #23089 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2409 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent abf14cc3
......@@ -131,6 +131,26 @@ enum TQualifier
EvqLast
};
// Layout qualifiers
enum TLayoutQualifierType
{
ElqLocation,
ElqShared,
ElqPacked,
ElqStd140,
ElqRowMajor,
ElqColumnMajor,
ElqError
};
struct TLayoutQualifierId
{
TLayoutQualifierType type;
int location;
};
typedef std::vector<TLayoutQualifierId> TLayoutQualifier;
//
// This is just for debug print out, carried along with the definitions above.
//
......
......@@ -2081,6 +2081,87 @@ TIntermTyped* TParseContext::addFieldSelectionExpression(TIntermTyped *baseExpre
return indexedExpression;
}
TLayoutQualifierId TParseContext::addLayoutQualifierId(const TString &qualifierType, TSourceLoc qualifierTypeLine)
{
TLayoutQualifierId qualifierId;
qualifierId.type = ElqError;
qualifierId.location = -1;
if (qualifierType == "shared")
{
qualifierId.type = ElqShared;
}
else if (qualifierType == "packed")
{
qualifierId.type = ElqPacked;
}
else if (qualifierType == "std140")
{
qualifierId.type = ElqStd140;
}
else if (qualifierType == "row_major")
{
qualifierId.type = ElqRowMajor;
}
else if (qualifierType == "column_major")
{
qualifierId.type = ElqColumnMajor;
}
else 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 qualifierId;
}
TLayoutQualifierId TParseContext::addLayoutQualifierId(const TString &qualifierType, TSourceLoc qualifierTypeLine, const TString &intValueString, int intValue, TSourceLoc intValueLine)
{
TLayoutQualifierId qualifierId;
qualifierId.type = ElqError;
qualifierId.location = -1;
if (qualifierType != "location")
{
error(qualifierTypeLine, "invalid layout qualifier", qualifierType.c_str(), "only location may have arguments");
recover();
}
else
{
if (intValue < 0)
{
error(intValueLine, "out of range", intValueString.c_str(), "value must be non-negative and < MAX_DRAW_BUFFERS");
recover();
}
else
{
qualifierId.location = intValue;
}
// TODO: must check that location is < MAX_DRAW_BUFFERS
}
return qualifierId;
}
TLayoutQualifier* TParseContext::makeLayoutQualifierFromId(TLayoutQualifierId layoutQualifierId)
{
return NULL;
}
TLayoutQualifier* TParseContext::extendLayoutQualifier(TLayoutQualifier *layoutQualifier, TLayoutQualifierId layoutQualifierId)
{
return NULL;
}
TTypeList *TParseContext::addStructDeclaratorList(const TPublicType& typeSpecifier, TTypeList *typeList)
{
if (voidErrorCheck(typeSpecifier.line, (*typeList)[0].type->getFieldName(), typeSpecifier)) {
......
......@@ -139,6 +139,11 @@ struct TParseContext {
TIntermAggregate* addInterfaceBlock(const TPublicType& typeQualifier, TSourceLoc nameLine, const TString& blockName, TTypeList* typeList,
const TString& instanceName, TSourceLoc instanceLine, TIntermTyped* arrayIndex, TSourceLoc arrayIndexLine);
TLayoutQualifierId addLayoutQualifierId(const TString &qualifierType, TSourceLoc qualifierTypeLine);
TLayoutQualifierId addLayoutQualifierId(const TString &qualifierType, TSourceLoc qualifierTypeLine, const TString &intValueString, int intValue, TSourceLoc intValueLine);
TLayoutQualifier* makeLayoutQualifierFromId(TLayoutQualifierId layoutQualifierId);
TLayoutQualifier* extendLayoutQualifier(TLayoutQualifier *layoutQualifier, TLayoutQualifierId layoutQualifierId);
// Performs an error check for embedded struct declarations.
// Returns true if an error was raised due to the declaration of
// this struct.
......
......@@ -337,6 +337,7 @@ protected:
struct TPublicType
{
TBasicType type;
TLayoutQualifier* layoutQualifier;
TQualifier qualifier;
TPrecision precision;
int primarySize; // size of vector or cols of matrix
......@@ -349,6 +350,7 @@ struct TPublicType
void setBasic(TBasicType bt, TQualifier q, int ln = 0)
{
type = bt;
layoutQualifier = NULL;
qualifier = q;
precision = EbpUndefined;
primarySize = 1;
......
......@@ -167,6 +167,8 @@ O [0-7]
"struct" { context->lexAfterType = true; return(STRUCT); }
"layout" { return ES2_ident_ES3_keyword(context, LAYOUT); }
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
"coherent" |
"restrict" |
......@@ -233,6 +235,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" |
......@@ -242,7 +255,6 @@ O [0-7]
"typedef" |
"template" |
"this" |
"packed" |
"goto" |
......
......@@ -72,6 +72,8 @@ WHICH GENERATES THE GLSL ES PARSER (glslang_tab.cpp AND glslang_tab.h).
union {
TPublicType type;
TPrecision precision;
TLayoutQualifierId layoutQualifierId;
TLayoutQualifier* layoutQualifier;
TQualifier qualifier;
TFunction* function;
TParameter param;
......@@ -132,6 +134,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
......@@ -167,6 +170,8 @@ 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
%type <interm.layoutQualifierId> layout_qualifier_id
%type <interm.precision> precision_qualifier
%type <interm.type> type_qualifier fully_specified_type type_specifier storage_qualifier interpolation_qualifier
......@@ -1369,6 +1374,14 @@ type_qualifier
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtVoid, qual, $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
......@@ -1433,6 +1446,34 @@ precision_qualifier
}
;
layout_qualifier
: LAYOUT LEFT_PAREN layout_qualifier_id_list RIGHT_PAREN {
ES3_ONLY("layout", $1.line, "qualifier");
$$ = $3;
}
;
layout_qualifier_id_list
: layout_qualifier_id {
$$ = context->makeLayoutQualifierFromId($1);
}
| layout_qualifier_id_list COMMA layout_qualifier_id {
$$ = context->extendLayoutQualifier($1, $3);
}
;
layout_qualifier_id
: IDENTIFIER {
$$ = context->addLayoutQualifierId(*$1.string, $1.line);
}
| IDENTIFIER EQUAL INTCONSTANT {
$$ = context->addLayoutQualifierId(*$1.string, $1.line, *$3.string, $3.i, $3.line);
}
| IDENTIFIER EQUAL UINTCONSTANT {
$$ = context->addLayoutQualifierId(*$1.string, $1.line, *$3.string, $3.i, $3.line);
}
;
type_specifier_no_prec
: type_specifier_nonarray {
$$ = $1;
......
......@@ -383,8 +383,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 230
#define YY_END_OF_BUFFER 231
#define YY_NUM_RULES 231
#define YY_END_OF_BUFFER 232
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
......@@ -392,94 +392,94 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
static yyconst flex_int16_t yy_accept[782] =
static yyconst flex_int16_t yy_accept[787] =
{ 0,
0, 0, 0, 0, 0, 0, 231, 229, 228, 228,
213, 219, 224, 208, 209, 217, 216, 205, 214, 212,
218, 174, 174, 206, 202, 220, 207, 221, 225, 170,
210, 211, 223, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 203, 222, 204, 215, 3, 4, 3,
227, 230, 226, 199, 185, 204, 193, 188, 183, 191,
181, 192, 182, 180, 2, 1, 184, 179, 172, 173,
0, 177, 0, 174, 211, 203, 210, 200, 196, 198,
197, 201, 170, 189, 195, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 17, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 20, 170, 170, 28, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 190, 194, 5,
226, 0, 1, 179, 0, 176, 0, 178, 171, 186,
187, 170, 128, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 18, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 32, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 29, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 0, 180, 0, 179, 175, 170, 170,
170, 35, 170, 170, 23, 167, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 21, 131, 170, 170,
170, 170, 26, 170, 170, 136, 148, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 145, 9,
40, 41, 42, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 134, 36, 170,
170, 33, 170, 170, 170, 170, 170, 170, 170, 52,
53, 54, 34, 170, 170, 170, 170, 170, 170, 15,
61, 62, 63, 170, 129, 170, 170, 12, 170, 170,
170, 170, 157, 158, 159, 170, 37, 170, 149, 31,
160, 161, 162, 7, 154, 155, 156, 170, 170, 170,
30, 152, 170, 170, 170, 55, 56, 57, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 79, 170,
170, 170, 170, 170, 170, 170, 146, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 130, 170,
170, 169, 58, 59, 60, 170, 170, 19, 170, 84,
170, 170, 170, 170, 82, 170, 170, 170, 147, 142,
85, 170, 170, 170, 170, 170, 170, 137, 170, 170,
170, 43, 46, 48, 47, 44, 50, 49, 51, 45,
170, 170, 170, 170, 153, 135, 170, 170, 140, 170,
170, 170, 39, 80, 166, 27, 141, 71, 170, 151,
22, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 24, 38, 170, 170, 170,
170, 170, 170, 86, 87, 88, 170, 170, 170, 170,
170, 8, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 132, 170, 170, 170, 170, 170, 13,
170, 170, 14, 170, 170, 170, 170, 25, 72, 16,
143, 90, 91, 92, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 138, 170, 170, 170,
74, 76, 73, 170, 170, 170, 170, 170, 170, 170,
133, 94, 95, 96, 170, 170, 150, 170, 139, 170,
170, 11, 170, 170, 170, 170, 170, 170, 170, 170,
170, 89, 144, 6, 170, 170, 170, 168, 170, 83,
10, 163, 64, 67, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 75, 170, 170, 170, 170,
93, 170, 170, 170, 170, 170, 113, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 81,
170, 170, 170, 97, 115, 170, 170, 77, 170, 170,
170, 170, 170, 170, 170, 108, 170, 170, 170, 170,
170, 170, 170, 122, 170, 170, 170, 170, 65, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 109,
98, 170, 99, 170, 170, 123, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 110,
170, 124, 170, 170, 100, 101, 170, 104, 170, 105,
170, 170, 170, 170, 78, 170, 170, 170, 70, 170,
68, 119, 170, 102, 103, 170, 170, 170, 170, 170,
170, 170, 170, 117, 120, 111, 170, 170, 170, 170,
170, 170, 170, 118, 121, 170, 170, 114, 170, 170,
164, 170, 170, 69, 170, 116, 170, 170, 170, 170,
170, 125, 170, 170, 170, 170, 170, 126, 170, 170,
170, 127, 106, 107, 170, 170, 66, 170, 165, 112,
0
0, 0, 0, 0, 0, 0, 232, 230, 229, 229,
214, 220, 225, 209, 210, 218, 217, 206, 215, 213,
219, 175, 175, 207, 203, 221, 208, 222, 226, 171,
211, 212, 224, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 204, 223, 205, 216, 3, 4, 3,
228, 231, 227, 200, 186, 205, 194, 189, 184, 192,
182, 193, 183, 181, 2, 1, 185, 180, 173, 174,
0, 178, 0, 175, 212, 204, 211, 201, 197, 199,
198, 202, 171, 190, 196, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 17, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 20, 171, 171, 28, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 191, 195,
5, 227, 0, 1, 180, 0, 177, 0, 179, 172,
187, 188, 171, 130, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 18, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 32, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
29, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 0, 181, 0, 180, 176,
171, 171, 171, 35, 171, 171, 23, 168, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 21, 133,
171, 171, 171, 171, 26, 171, 171, 137, 149, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 146, 9, 40, 41, 42, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
136, 36, 171, 171, 33, 171, 171, 171, 171, 171,
171, 171, 52, 53, 54, 34, 171, 171, 171, 171,
171, 171, 15, 61, 62, 63, 171, 131, 171, 171,
12, 171, 171, 171, 171, 158, 159, 160, 171, 37,
171, 150, 31, 161, 162, 163, 7, 155, 156, 157,
171, 171, 171, 30, 153, 171, 171, 171, 55, 56,
57, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 80, 171, 171, 171, 171, 171, 171, 171,
147, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 132, 171, 171, 170, 58, 59, 60, 171,
171, 19, 171, 85, 171, 171, 171, 171, 83, 171,
171, 171, 148, 143, 86, 171, 171, 171, 171, 171,
171, 138, 171, 171, 171, 72, 43, 46, 48, 47,
44, 50, 49, 51, 45, 171, 171, 171, 171, 154,
129, 171, 171, 141, 171, 171, 171, 39, 81, 167,
27, 142, 71, 171, 152, 22, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
24, 38, 171, 171, 171, 171, 171, 171, 87, 88,
89, 171, 171, 171, 171, 171, 8, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 134, 171,
171, 171, 171, 171, 13, 171, 171, 14, 171, 171,
171, 171, 25, 73, 16, 144, 91, 92, 93, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 139, 171, 171, 171, 75, 77, 74, 171, 171,
171, 171, 171, 171, 171, 135, 95, 96, 97, 171,
171, 151, 171, 140, 171, 171, 11, 171, 171, 171,
171, 171, 171, 171, 171, 171, 90, 145, 6, 171,
171, 171, 169, 171, 84, 10, 164, 64, 67, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
76, 171, 171, 171, 171, 94, 171, 171, 171, 171,
171, 114, 171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 82, 171, 171, 171, 98, 116,
171, 171, 78, 171, 171, 171, 171, 171, 171, 171,
109, 171, 171, 171, 171, 171, 171, 171, 123, 171,
171, 171, 171, 65, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 110, 99, 171, 100, 171, 171,
124, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 111, 171, 125, 171, 171, 101,
102, 171, 105, 171, 106, 171, 171, 171, 171, 79,
171, 171, 171, 70, 171, 68, 120, 171, 103, 104,
171, 171, 171, 171, 171, 171, 171, 171, 118, 121,
112, 171, 171, 171, 171, 171, 171, 171, 119, 122,
171, 171, 115, 171, 171, 165, 171, 171, 69, 171,
117, 171, 171, 171, 171, 171, 126, 171, 171, 171,
171, 171, 127, 171, 171, 171, 128, 107, 108, 171,
171, 66, 171, 166, 113, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
......@@ -526,187 +526,191 @@ static yyconst flex_int32_t yy_meta[73] =
1, 1
} ;
static yyconst flex_int16_t yy_base[787] =
static yyconst flex_int16_t yy_base[792] =
{ 0,
0, 0, 70, 71, 80, 0, 1002, 1003, 1003, 1003,
976, 50, 147, 1003, 1003, 975, 144, 1003, 143, 141,
156, 169, 223, 973, 1003, 169, 973, 52, 1003, 0,
1003, 1003, 152, 117, 138, 118, 157, 148, 167, 939,
147, 173, 938, 126, 159, 932, 188, 945, 201, 198,
214, 211, 147, 1003, 158, 1003, 1003, 1003, 1003, 979,
1003, 1003, 0, 1003, 1003, 1003, 1003, 1003, 1003, 1003,
1003, 1003, 1003, 264, 1003, 0, 1003, 272, 234, 309,
291, 1003, 0, 0, 1003, 1003, 1003, 967, 1003, 1003,
1003, 966, 0, 1003, 1003, 928, 933, 187, 930, 938,
937, 924, 927, 938, 242, 932, 920, 917, 930, 917,
914, 914, 920, 158, 257, 914, 924, 910, 916, 919,
920, 0, 912, 922, 276, 921, 916, 162, 902, 915,
906, 217, 899, 258, 911, 913, 271, 902, 899, 888,
897, 291, 291, 901, 897, 899, 888, 891, 286, 286,
299, 900, 888, 900, 206, 893, 892, 1003, 1003, 1003,
0, 344, 0, 358, 376, 1003, 383, 393, 256, 1003,
1003, 891, 0, 887, 882, 886, 895, 892, 304, 876,
876, 887, 879, 284, 889, 886, 886, 884, 881, 873,
879, 866, 864, 876, 862, 878, 0, 875, 863, 870,
867, 871, 872, 865, 862, 851, 850, 863, 866, 854,
862, 857, 848, 350, 853, 856, 847, 854, 843, 847,
838, 852, 851, 842, 848, 322, 832, 835, 833, 843,
833, 828, 826, 828, 838, 824, 826, 823, 834, 833,
836, 818, 299, 826, 822, 820, 829, 808, 364, 826,
828, 817, 809, 400, 407, 414, 421, 1003, 806, 816,
815, 0, 813, 426, 0, 0, 806, 804, 804, 805,
800, 808, 797, 814, 803, 429, 0, 0, 797, 807,
806, 806, 0, 791, 432, 0, 0, 793, 435, 800,
801, 792, 786, 785, 786, 785, 785, 438, 0, 0,
777, 776, 775, 777, 778, 783, 777, 773, 786, 781,
781, 779, 778, 772, 766, 768, 767, 771, 763, 766,
761, 769, 774, 762, 759, 771, 762, 0, 0, 768,
764, 0, 756, 756, 761, 752, 759, 441, 756, 0,
0, 0, 0, 746, 758, 757, 756, 757, 757, 0,
0, 0, 0, 744, 0, 752, 743, 0, 742, 743,
737, 747, 0, 0, 0, 738, 0, 734, 0, 0,
0, 0, 0, 0, 0, 0, 0, 744, 445, 743,
0, 0, 741, 737, 734, 0, 0, 0, 447, 450,
453, 732, 728, 733, 724, 722, 735, 720, 0, 720,
733, 722, 718, 724, 719, 726, 0, 724, 721, 725,
709, 707, 710, 716, 722, 717, 716, 704, 0, 706,
707, 0, 0, 0, 0, 704, 707, 0, 701, 0,
714, 694, 703, 698, 0, 691, 691, 704, 0, 706,
0, 460, 719, 718, 717, 684, 683, 0, 700, 699,
694, 0, 0, 0, 0, 0, 0, 0, 0, 0,
683, 696, 683, 680, 0, 0, 685, 684, 0, 681,
688, 687, 0, 673, 0, 0, 0, 0, 670, 0,
0, 669, 680, 463, 673, 679, 678, 675, 670, 667,
660, 660, 673, 658, 670, 0, 0, 663, 686, 685,
684, 651, 650, 445, 456, 0, 662, 665, 663, 652,
648, 0, 660, 657, 656, 646, 645, 635, 652, 638,
469, 646, 649, 0, 666, 665, 664, 631, 630, 0,
644, 631, 0, 641, 634, 635, 638, 0, 0, 0,
0, 658, 657, 0, 634, 637, 622, 629, 620, 627,
628, 628, 627, 613, 479, 625, 0, 626, 615, 614,
0, 0, 0, 639, 638, 637, 604, 603, 599, 607,
0, 635, 634, 0, 611, 614, 0, 486, 0, 592,
601, 0, 597, 596, 605, 605, 593, 607, 591, 605,
600, 0, 0, 0, 617, 616, 583, 0, 583, 0,
0, 469, 474, 607, 593, 596, 579, 591, 579, 578,
587, 587, 604, 603, 570, 0, 570, 571, 570, 580,
0, 583, 579, 581, 577, 564, 595, 350, 572, 568,
560, 567, 580, 568, 564, 566, 564, 564, 563, 0,
551, 550, 560, 0, 580, 469, 557, 0, 561, 560,
544, 536, 544, 534, 542, 0, 539, 560, 548, 546,
531, 534, 548, 564, 544, 545, 542, 539, 0, 527,
541, 540, 524, 523, 544, 532, 530, 512, 511, 0,
539, 511, 537, 509, 513, 544, 524, 521, 520, 523,
519, 506, 503, 516, 501, 502, 504, 493, 492, 0,
498, 529, 509, 506, 0, 0, 502, 0, 501, 0,
507, 491, 488, 489, 0, 481, 489, 486, 507, 486,
0, 0, 498, 0, 0, 497, 481, 478, 479, 493,
492, 469, 475, 0, 0, 496, 468, 487, 479, 465,
474, 461, 465, 0, 0, 466, 465, 0, 465, 453,
0, 433, 446, 0, 452, 0, 437, 348, 347, 322,
326, 0, 322, 323, 256, 252, 249, 0, 229, 210,
214, 0, 0, 0, 158, 132, 0, 115, 0, 0,
1003, 515, 517, 519, 523, 163
0, 0, 70, 71, 80, 0, 1007, 1008, 1008, 1008,
981, 50, 147, 1008, 1008, 980, 144, 1008, 143, 141,
156, 169, 223, 978, 1008, 169, 978, 52, 1008, 0,
1008, 1008, 152, 117, 138, 118, 157, 148, 167, 944,
147, 173, 159, 126, 188, 938, 200, 951, 205, 199,
212, 226, 147, 1008, 158, 1008, 1008, 1008, 1008, 985,
1008, 1008, 0, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
1008, 1008, 1008, 262, 1008, 0, 1008, 272, 256, 310,
297, 1008, 0, 0, 1008, 1008, 1008, 973, 1008, 1008,
1008, 972, 0, 1008, 1008, 934, 939, 191, 936, 944,
943, 930, 933, 944, 245, 938, 926, 923, 936, 923,
920, 920, 926, 158, 240, 920, 930, 916, 922, 925,
926, 0, 918, 928, 277, 927, 922, 903, 162, 907,
920, 911, 246, 904, 286, 916, 918, 289, 907, 904,
893, 902, 292, 294, 906, 902, 904, 893, 896, 287,
203, 255, 905, 893, 905, 199, 898, 897, 1008, 1008,
1008, 0, 345, 0, 359, 377, 1008, 384, 394, 306,
1008, 1008, 896, 0, 892, 887, 891, 900, 897, 305,
881, 881, 892, 884, 309, 894, 891, 891, 889, 886,
878, 884, 871, 869, 881, 867, 883, 0, 880, 868,
875, 872, 876, 877, 870, 867, 856, 855, 868, 871,
859, 867, 855, 861, 852, 364, 857, 860, 851, 858,
847, 851, 842, 856, 855, 846, 852, 248, 836, 839,
837, 847, 837, 832, 830, 832, 842, 828, 830, 827,
838, 837, 840, 822, 366, 830, 826, 824, 833, 812,
367, 830, 832, 821, 813, 402, 410, 417, 424, 1008,
810, 820, 819, 0, 817, 429, 0, 0, 810, 808,
808, 809, 804, 812, 801, 818, 807, 432, 0, 0,
801, 811, 810, 810, 0, 795, 435, 0, 0, 797,
438, 804, 805, 796, 790, 789, 790, 789, 789, 441,
784, 0, 0, 780, 779, 778, 780, 781, 786, 780,
776, 789, 784, 784, 782, 781, 775, 769, 771, 770,
774, 766, 769, 764, 772, 777, 765, 762, 774, 765,
0, 0, 771, 767, 0, 759, 759, 764, 755, 762,
444, 759, 0, 0, 0, 0, 749, 761, 760, 759,
760, 760, 0, 0, 0, 0, 747, 0, 755, 746,
0, 745, 746, 740, 750, 0, 0, 0, 741, 0,
737, 0, 0, 0, 0, 0, 0, 0, 0, 0,
747, 448, 746, 0, 0, 744, 740, 737, 0, 0,
0, 729, 450, 453, 456, 734, 730, 735, 726, 724,
737, 722, 0, 722, 735, 724, 720, 726, 721, 728,
0, 726, 723, 727, 711, 709, 712, 718, 724, 719,
718, 706, 0, 708, 709, 0, 0, 0, 0, 706,
709, 0, 703, 0, 716, 696, 705, 700, 0, 693,
693, 706, 0, 708, 0, 463, 721, 720, 719, 686,
685, 0, 702, 701, 696, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 685, 698, 685, 682, 0,
0, 687, 686, 0, 683, 690, 689, 0, 675, 0,
0, 0, 0, 672, 0, 0, 671, 682, 466, 675,
681, 680, 677, 672, 669, 662, 662, 675, 660, 672,
0, 0, 665, 688, 687, 686, 653, 652, 330, 448,
0, 664, 667, 665, 654, 650, 0, 662, 659, 658,
648, 647, 637, 654, 640, 471, 648, 651, 0, 668,
667, 666, 633, 632, 0, 646, 633, 0, 643, 636,
637, 640, 0, 0, 0, 0, 660, 659, 0, 636,
639, 624, 631, 622, 629, 630, 630, 629, 615, 481,
627, 0, 628, 617, 616, 0, 0, 0, 641, 640,
639, 606, 605, 601, 609, 0, 637, 636, 0, 613,
616, 0, 488, 0, 594, 603, 0, 599, 598, 607,
607, 595, 609, 593, 607, 602, 0, 0, 0, 619,
618, 585, 0, 585, 0, 0, 471, 476, 609, 595,
598, 581, 593, 581, 580, 589, 589, 606, 605, 572,
0, 572, 573, 572, 582, 0, 585, 581, 583, 579,
566, 597, 353, 574, 570, 562, 569, 582, 570, 566,
568, 566, 566, 565, 0, 553, 552, 562, 0, 582,
471, 559, 0, 563, 562, 546, 538, 546, 536, 544,
0, 541, 562, 550, 548, 533, 536, 550, 566, 546,
547, 544, 541, 0, 529, 543, 542, 526, 525, 546,
534, 532, 514, 513, 0, 541, 513, 539, 511, 515,
546, 526, 523, 522, 525, 521, 508, 505, 518, 503,
504, 506, 495, 494, 0, 500, 531, 511, 508, 0,
0, 504, 0, 503, 0, 509, 493, 490, 491, 0,
483, 491, 488, 509, 488, 0, 0, 500, 0, 0,
499, 483, 480, 481, 495, 494, 471, 477, 0, 0,
498, 470, 489, 481, 467, 476, 463, 467, 0, 0,
468, 467, 0, 467, 455, 0, 435, 449, 0, 455,
0, 445, 427, 349, 339, 327, 0, 308, 315, 271,
259, 255, 0, 255, 216, 209, 0, 0, 0, 108,
115, 0, 132, 0, 0, 1008, 517, 519, 521, 525,
213
} ;
static yyconst flex_int16_t yy_def[787] =
static yyconst flex_int16_t yy_def[792] =
{ 0,
781, 1, 782, 782, 781, 5, 781, 781, 781, 781,
781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781, 781, 781, 781, 781, 783,
781, 781, 781, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 781, 781, 781, 781, 781, 781, 781,
781, 781, 784, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781, 785, 781, 781, 22, 781,
781, 781, 786, 23, 781, 781, 781, 781, 781, 781,
781, 781, 783, 781, 781, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 781, 781, 781,
784, 781, 785, 781, 781, 781, 781, 781, 786, 781,
781, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 781, 781, 781, 781, 781, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
0, 781, 781, 781, 781, 781
786, 1, 787, 787, 786, 5, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 788,
786, 786, 786, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 786, 786, 786, 786, 786, 786, 786,
786, 786, 789, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 790, 786, 786, 22, 786,
786, 786, 791, 23, 786, 786, 786, 786, 786, 786,
786, 786, 788, 786, 786, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 786, 786,
786, 789, 786, 790, 786, 786, 786, 786, 786, 791,
786, 786, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 786, 786, 786, 786, 786,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 0, 786, 786, 786, 786,
786
} ;
static yyconst flex_int16_t yy_nxt[1076] =
static yyconst flex_int16_t yy_nxt[1081] =
{ 0,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 23, 23, 23, 23,
......@@ -725,110 +729,110 @@ static yyconst flex_int16_t yy_nxt[1076] =
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, 780,
77, 78, 158, 79, 79, 79, 79, 79, 79, 80,
87, 119, 88, 89, 95, 99, 779, 100, 156, 120,
81, 101, 110, 131, 111, 106, 157, 82, 83, 107,
121, 113, 193, 112, 108, 778, 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, 777, 139, 140, 81, 153, 141, 147, 250, 154,
251, 82, 142, 143, 148, 144, 149, 776, 155, 217,
150, 81, 166, 781, 151, 218, 775, 152, 74, 74,
74, 74, 74, 74, 74, 82, 164, 164, 164, 164,
164, 164, 164, 182, 258, 162, 166, 183, 184, 781,
167, 195, 167, 165, 220, 168, 168, 168, 168, 168,
168, 168, 162, 774, 196, 225, 773, 221, 258, 222,
165, 78, 772, 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, 771, 254, 334, 81, 255, 255,
255, 255, 255, 255, 255, 266, 301, 302, 303, 770,
769, 82, 164, 164, 164, 164, 164, 164, 164, 315,
340, 341, 342, 316, 658, 256, 659, 256, 768, 165,
257, 257, 257, 257, 257, 257, 257, 168, 168, 168,
168, 168, 168, 168, 767, 766, 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, 423, 424, 425,
443, 444, 445, 452, 453, 454, 455, 456, 457, 458,
459, 460, 547, 446, 447, 499, 500, 501, 525, 526,
527, 765, 548, 549, 564, 565, 566, 764, 502, 503,
763, 528, 529, 550, 595, 596, 631, 567, 568, 762,
569, 613, 614, 675, 761, 676, 632, 597, 633, 760,
634, 635, 759, 758, 615, 58, 58, 58, 58, 93,
93, 161, 161, 163, 757, 163, 163, 756, 755, 754,
753, 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, 674, 673, 672,
671, 670, 669, 668, 667, 666, 665, 664, 663, 662,
661, 660, 657, 656, 655, 654, 653, 652, 651, 650,
649, 648, 647, 646, 645, 644, 643, 642, 641, 640,
639, 638, 637, 636, 630, 629, 628, 627, 626, 625,
624, 623, 622, 621, 620, 619, 618, 617, 616, 612,
611, 610, 609, 608, 607, 606, 605, 604, 603, 602,
601, 600, 599, 598, 594, 593, 592, 591, 590, 589,
588, 587, 586, 585, 584, 583, 582, 581, 580, 579,
578, 577, 576, 575, 574, 573, 572, 571, 570, 563,
562, 561, 560, 559, 558, 557, 556, 555, 554, 553,
552, 551, 546, 545, 544, 543, 542, 541, 540, 539,
538, 537, 536, 535, 534, 533, 532, 531, 530, 524,
523, 522, 521, 520, 519, 518, 517, 516, 515, 514,
513, 512, 511, 510, 509, 508, 507, 506, 505, 504,
498, 497, 496, 495, 494, 493, 492, 491, 490, 489,
488, 487, 486, 485, 484, 483, 482, 481, 480, 479,
478, 477, 476, 475, 474, 473, 472, 471, 470, 469,
468, 467, 466, 465, 464, 463, 462, 461, 451, 450,
449, 448, 442, 441, 440, 439, 438, 437, 436, 435,
434, 433, 432, 431, 430, 429, 428, 427, 426, 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,
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, 781, 7, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781
74, 74, 102, 96, 75, 783, 103, 73, 71, 76,
130, 68, 104, 86, 131, 105, 94, 97, 98, 784,
77, 78, 159, 79, 79, 79, 79, 79, 79, 80,
87, 119, 88, 89, 95, 99, 785, 100, 157, 120,
81, 101, 110, 128, 111, 106, 158, 82, 83, 107,
121, 113, 194, 112, 108, 170, 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, 782, 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, 781, 155, 153, 74, 74, 74, 74,
74, 74, 74, 156, 196, 82, 165, 165, 165, 165,
165, 165, 165, 163, 167, 786, 183, 197, 219, 247,
184, 185, 780, 166, 220, 318, 168, 248, 168, 319,
163, 169, 169, 169, 169, 169, 169, 169, 167, 779,
166, 786, 78, 778, 80, 80, 80, 80, 80, 80,
80, 206, 222, 227, 207, 208, 234, 777, 209, 236,
210, 81, 243, 244, 260, 223, 776, 224, 82, 228,
229, 235, 237, 267, 256, 775, 256, 552, 81, 257,
257, 257, 257, 257, 257, 257, 268, 553, 260, 273,
274, 774, 82, 165, 165, 165, 165, 165, 165, 165,
304, 305, 306, 343, 344, 345, 258, 663, 258, 664,
166, 259, 259, 259, 259, 259, 259, 259, 169, 169,
169, 169, 169, 169, 169, 773, 772, 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,
427, 428, 429, 447, 448, 449, 457, 458, 459, 460,
461, 462, 463, 464, 465, 554, 450, 451, 504, 505,
506, 530, 531, 532, 771, 555, 569, 570, 571, 770,
769, 507, 508, 768, 533, 534, 600, 601, 636, 572,
573, 767, 574, 618, 619, 680, 766, 681, 637, 602,
638, 765, 639, 640, 764, 763, 620, 58, 58, 58,
58, 93, 93, 162, 162, 164, 762, 164, 164, 761,
760, 759, 758, 757, 756, 755, 754, 753, 752, 751,
750, 749, 748, 747, 746, 745, 744, 743, 742, 741,
740, 739, 738, 737, 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, 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, 647,
646, 645, 644, 643, 642, 641, 635, 634, 633, 632,
631, 630, 629, 628, 627, 626, 625, 624, 623, 622,
621, 617, 616, 615, 614, 613, 612, 611, 610, 609,
608, 607, 606, 605, 604, 603, 599, 598, 597, 596,
595, 594, 593, 592, 591, 590, 589, 588, 587, 586,
585, 584, 583, 582, 581, 580, 579, 578, 577, 576,
575, 568, 567, 566, 565, 564, 563, 562, 561, 560,
559, 558, 557, 556, 551, 550, 549, 548, 547, 546,
545, 544, 543, 542, 541, 540, 539, 538, 537, 536,
535, 529, 528, 527, 526, 525, 524, 523, 522, 521,
520, 519, 518, 517, 516, 515, 514, 513, 512, 511,
510, 509, 503, 502, 501, 500, 499, 498, 497, 496,
495, 494, 493, 492, 491, 490, 489, 488, 487, 486,
485, 484, 483, 482, 481, 480, 479, 478, 477, 476,
475, 474, 473, 472, 471, 470, 469, 468, 467, 466,
456, 455, 454, 453, 452, 446, 445, 444, 443, 442,
441, 440, 439, 438, 437, 436, 435, 434, 433, 432,
431, 430, 426, 425, 424, 423, 422, 421, 420, 419,
418, 417, 416, 415, 414, 413, 412, 411, 410, 409,
408, 407, 406, 405, 404, 403, 402, 401, 400, 399,
398, 397, 396, 395, 394, 393, 392, 388, 387, 386,
385, 384, 383, 382, 381, 377, 373, 372, 371, 370,
369, 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, 786, 7, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786
} ;
static yyconst flex_int16_t yy_chk[1076] =
static yyconst flex_int16_t yy_chk[1081] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
......@@ -847,111 +851,111 @@ static yyconst flex_int16_t yy_chk[1076] =
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, 786, 36, 19, 17, 21,
44, 13, 36, 26, 44, 36, 33, 34, 34, 778,
20, 20, 36, 34, 21, 780, 36, 19, 17, 21,
44, 13, 36, 26, 44, 36, 33, 34, 34, 781,
21, 22, 55, 22, 22, 22, 22, 22, 22, 22,
26, 41, 26, 26, 33, 35, 776, 35, 53, 41,
22, 35, 38, 45, 38, 37, 53, 22, 22, 37,
41, 39, 114, 38, 37, 775, 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, 771, 49, 49, 23, 52, 49, 50, 155, 52,
155, 23, 49, 49, 50, 49, 51, 770, 52, 132,
51, 23, 79, 79, 51, 132, 769, 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, 767, 115, 137, 766, 134, 169, 134,
78, 80, 765, 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, 764, 162, 243, 80, 162, 162,
162, 162, 162, 162, 162, 179, 214, 214, 214, 763,
761, 80, 164, 164, 164, 164, 164, 164, 164, 226,
249, 249, 249, 226, 628, 165, 628, 165, 760, 164,
165, 165, 165, 165, 165, 165, 165, 167, 167, 167,
167, 167, 167, 167, 759, 758, 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, 389, 389, 389, 390, 390, 390, 391,
391, 391, 504, 379, 379, 442, 442, 442, 484, 484,
484, 757, 504, 505, 521, 521, 521, 755, 442, 442,
753, 484, 484, 505, 555, 555, 602, 521, 521, 752,
521, 578, 578, 646, 750, 646, 602, 555, 603, 749,
603, 603, 747, 746, 578, 782, 782, 782, 782, 783,
783, 784, 784, 785, 743, 785, 785, 742, 741, 740,
739, 738, 737, 736, 733, 732, 731, 730, 729, 728,
727, 726, 723, 720, 719, 718, 717, 716, 714, 713,
712, 711, 709, 707, 704, 703, 702, 701, 699, 698,
697, 696, 695, 694, 693, 692, 691, 690, 689, 688,
687, 686, 685, 684, 683, 682, 681, 679, 678, 677,
676, 675, 674, 673, 672, 671, 670, 668, 667, 666,
665, 664, 663, 662, 661, 660, 659, 658, 657, 655,
654, 653, 652, 651, 650, 649, 647, 645, 643, 642,
641, 639, 638, 637, 636, 635, 634, 633, 632, 631,
630, 629, 627, 626, 625, 624, 623, 622, 620, 619,
618, 617, 615, 614, 613, 612, 611, 610, 609, 608,
607, 606, 605, 604, 599, 597, 596, 595, 591, 590,
589, 588, 587, 586, 585, 584, 583, 581, 580, 576,
575, 573, 572, 570, 569, 568, 567, 566, 565, 564,
560, 559, 558, 556, 554, 553, 552, 551, 550, 549,
548, 547, 546, 545, 543, 542, 537, 536, 535, 534,
532, 531, 529, 528, 527, 526, 525, 523, 522, 520,
519, 518, 517, 516, 515, 514, 513, 511, 510, 509,
508, 507, 503, 502, 501, 500, 499, 498, 495, 494,
493, 492, 491, 490, 489, 488, 487, 486, 485, 483,
482, 479, 474, 472, 471, 470, 468, 467, 464, 463,
462, 461, 451, 450, 449, 447, 446, 445, 444, 443,
440, 438, 437, 436, 434, 433, 432, 431, 429, 427,
426, 421, 420, 418, 417, 416, 415, 414, 413, 412,
411, 410, 409, 408, 406, 405, 404, 403, 402, 401,
400, 398, 397, 396, 395, 394, 393, 392, 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,
303, 302, 301, 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, 781, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
781, 781, 781, 781, 781
26, 41, 26, 26, 33, 35, 783, 35, 53, 41,
22, 35, 38, 43, 38, 37, 53, 22, 22, 37,
41, 39, 114, 38, 37, 791, 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, 776, 50, 98, 49,
50, 156, 98, 156, 23, 151, 49, 49, 50, 47,
49, 23, 47, 151, 51, 50, 49, 49, 51, 49,
52, 23, 51, 775, 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, 774, 78, 133, 228, 81, 152, 81, 228,
74, 81, 81, 81, 81, 81, 81, 81, 79, 772,
78, 79, 80, 771, 80, 80, 80, 80, 80, 80,
80, 125, 135, 138, 125, 125, 143, 770, 125, 144,
125, 80, 150, 150, 170, 135, 769, 135, 80, 138,
138, 143, 144, 180, 163, 768, 163, 509, 80, 163,
163, 163, 163, 163, 163, 163, 180, 509, 170, 185,
185, 766, 80, 165, 165, 165, 165, 165, 165, 165,
216, 216, 216, 251, 251, 251, 166, 633, 166, 633,
165, 166, 166, 166, 166, 166, 166, 166, 168, 168,
168, 168, 168, 168, 168, 765, 764, 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, 393, 393, 393, 394,
394, 394, 395, 395, 395, 510, 382, 382, 446, 446,
446, 489, 489, 489, 763, 510, 526, 526, 526, 762,
760, 446, 446, 758, 489, 489, 560, 560, 607, 526,
526, 757, 526, 583, 583, 651, 755, 651, 607, 560,
608, 754, 608, 608, 752, 751, 583, 787, 787, 787,
787, 788, 788, 789, 789, 790, 748, 790, 790, 747,
746, 745, 744, 743, 742, 741, 738, 737, 736, 735,
734, 733, 732, 731, 728, 725, 724, 723, 722, 721,
719, 718, 717, 716, 714, 712, 709, 708, 707, 706,
704, 703, 702, 701, 700, 699, 698, 697, 696, 695,
694, 693, 692, 691, 690, 689, 688, 687, 686, 684,
683, 682, 681, 680, 679, 678, 677, 676, 675, 673,
672, 671, 670, 669, 668, 667, 666, 665, 664, 663,
662, 660, 659, 658, 657, 656, 655, 654, 652, 650,
648, 647, 646, 644, 643, 642, 641, 640, 639, 638,
637, 636, 635, 634, 632, 631, 630, 629, 628, 627,
625, 624, 623, 622, 620, 619, 618, 617, 616, 615,
614, 613, 612, 611, 610, 609, 604, 602, 601, 600,
596, 595, 594, 593, 592, 591, 590, 589, 588, 586,
585, 581, 580, 578, 577, 575, 574, 573, 572, 571,
570, 569, 565, 564, 563, 561, 559, 558, 557, 556,
555, 554, 553, 552, 551, 550, 548, 547, 542, 541,
540, 539, 537, 536, 534, 533, 532, 531, 530, 528,
527, 525, 524, 523, 522, 521, 520, 519, 518, 516,
515, 514, 513, 512, 508, 507, 506, 505, 504, 503,
500, 499, 498, 497, 496, 495, 494, 493, 492, 491,
490, 488, 487, 484, 479, 477, 476, 475, 473, 472,
469, 468, 467, 466, 455, 454, 453, 451, 450, 449,
448, 447, 444, 442, 441, 440, 438, 437, 436, 435,
433, 431, 430, 425, 424, 422, 421, 420, 419, 418,
417, 416, 415, 414, 413, 412, 410, 409, 408, 407,
406, 405, 404, 402, 401, 400, 399, 398, 397, 396,
392, 388, 387, 386, 383, 381, 371, 369, 365, 364,
363, 362, 360, 359, 357, 352, 351, 350, 349, 348,
347, 342, 340, 339, 338, 337, 336, 334, 333, 330,
329, 328, 327, 326, 325, 324, 323, 322, 321, 320,
319, 318, 317, 316, 315, 314, 313, 312, 311, 310,
309, 308, 307, 306, 305, 304, 301, 299, 298, 297,
296, 295, 294, 293, 292, 290, 286, 284, 283, 282,
281, 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, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786,
786, 786, 786, 786, 786, 786, 786, 786, 786, 786
} ;
/* Table of booleans, true if rule could match eol. */
static yyconst flex_int32_t yy_rule_can_match_eol[231] =
static yyconst flex_int32_t yy_rule_can_match_eol[232] =
{ 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,
......@@ -964,7 +968,7 @@ static yyconst flex_int32_t yy_rule_can_match_eol[231] =
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, 1, 0, 0, };
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
......@@ -1295,13 +1299,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 >= 782 )
if ( yy_current_state >= 787 )
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 != 781 );
while ( yy_current_state != 786 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
......@@ -1616,8 +1620,11 @@ case 71:
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 72:
YY_RULE_SETUP
{ return ES2_ident_ES3_keyword(context, LAYOUT); }
YY_BREAK
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
case 73:
case 74:
case 75:
......@@ -1673,6 +1680,7 @@ case 124:
case 125:
case 126:
case 127:
case 128:
YY_RULE_SETUP
{
if (context->shaderVersion < 300) {
......@@ -1682,9 +1690,20 @@ YY_RULE_SETUP
return reserved_word(yyscanner);
}
YY_BREAK
/* Reserved keywords */
case 128:
/* Reserved keywords in GLSL ES 1.00 that are not reserved in GLSL ES 3.00 */
case 129:
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 130:
case 131:
case 132:
......@@ -1725,35 +1744,32 @@ case 166:
case 167:
case 168:
case 169:
case 170:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 170:
case 171:
YY_RULE_SETUP
{
yylval->lex.string = NewPoolTString(yytext);
return check_type(yyscanner);
}
YY_BREAK
case 171:
YY_RULE_SETUP
{ yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); }
YY_BREAK
case 172:
YY_RULE_SETUP
{ yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); }
YY_BREAK
case 173:
YY_RULE_SETUP
{ context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;}
{ yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); }
YY_BREAK
case 174:
YY_RULE_SETUP
{ yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); }
{ context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;}
YY_BREAK
case 175:
YY_RULE_SETUP
{ return uint_constant(context); }
{ yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); }
YY_BREAK
case 176:
YY_RULE_SETUP
......@@ -1765,7 +1781,7 @@ YY_RULE_SETUP
YY_BREAK
case 178:
YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
{ return uint_constant(context); }
YY_BREAK
case 179:
YY_RULE_SETUP
......@@ -1777,198 +1793,202 @@ YY_RULE_SETUP
YY_BREAK
case 181:
YY_RULE_SETUP
{ return(ADD_ASSIGN); }
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK
case 182:
YY_RULE_SETUP
{ return(SUB_ASSIGN); }
{ return(ADD_ASSIGN); }
YY_BREAK
case 183:
YY_RULE_SETUP
{ return(MUL_ASSIGN); }
{ return(SUB_ASSIGN); }
YY_BREAK
case 184:
YY_RULE_SETUP
{ return(DIV_ASSIGN); }
{ return(MUL_ASSIGN); }
YY_BREAK
case 185:
YY_RULE_SETUP
{ return(MOD_ASSIGN); }
{ return(DIV_ASSIGN); }
YY_BREAK
case 186:
YY_RULE_SETUP
{ return(LEFT_ASSIGN); }
{ return(MOD_ASSIGN); }
YY_BREAK
case 187:
YY_RULE_SETUP
{ return(RIGHT_ASSIGN); }
{ return(LEFT_ASSIGN); }
YY_BREAK
case 188:
YY_RULE_SETUP
{ return(AND_ASSIGN); }
{ return(RIGHT_ASSIGN); }
YY_BREAK
case 189:
YY_RULE_SETUP
{ return(XOR_ASSIGN); }
{ return(AND_ASSIGN); }
YY_BREAK
case 190:
YY_RULE_SETUP
{ return(OR_ASSIGN); }
{ return(XOR_ASSIGN); }
YY_BREAK
case 191:
YY_RULE_SETUP
{ return(INC_OP); }
{ return(OR_ASSIGN); }
YY_BREAK
case 192:
YY_RULE_SETUP
{ return(DEC_OP); }
{ return(INC_OP); }
YY_BREAK
case 193:
YY_RULE_SETUP
{ return(AND_OP); }
{ return(DEC_OP); }
YY_BREAK
case 194:
YY_RULE_SETUP
{ return(OR_OP); }
{ return(AND_OP); }
YY_BREAK
case 195:
YY_RULE_SETUP
{ return(XOR_OP); }
{ return(OR_OP); }
YY_BREAK
case 196:
YY_RULE_SETUP
{ return(LE_OP); }
{ return(XOR_OP); }
YY_BREAK
case 197:
YY_RULE_SETUP
{ return(GE_OP); }
{ return(LE_OP); }
YY_BREAK
case 198:
YY_RULE_SETUP
{ return(EQ_OP); }
{ return(GE_OP); }
YY_BREAK
case 199:
YY_RULE_SETUP
{ return(NE_OP); }
{ return(EQ_OP); }
YY_BREAK
case 200:
YY_RULE_SETUP
{ return(LEFT_OP); }
{ return(NE_OP); }
YY_BREAK
case 201:
YY_RULE_SETUP
{ return(RIGHT_OP); }
{ return(LEFT_OP); }
YY_BREAK
case 202:
YY_RULE_SETUP
{ context->lexAfterType = false; return(SEMICOLON); }
{ return(RIGHT_OP); }
YY_BREAK
case 203:
YY_RULE_SETUP
{ context->lexAfterType = false; return(LEFT_BRACE); }
{ context->lexAfterType = false; return(SEMICOLON); }
YY_BREAK
case 204:
YY_RULE_SETUP
{ return(RIGHT_BRACE); }
{ context->lexAfterType = false; return(LEFT_BRACE); }
YY_BREAK
case 205:
YY_RULE_SETUP
{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
{ return(RIGHT_BRACE); }
YY_BREAK
case 206:
YY_RULE_SETUP
{ return(COLON); }
{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
YY_BREAK
case 207:
YY_RULE_SETUP
{ context->lexAfterType = false; return(EQUAL); }
{ return(COLON); }
YY_BREAK
case 208:
YY_RULE_SETUP
{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
{ context->lexAfterType = false; return(EQUAL); }
YY_BREAK
case 209:
YY_RULE_SETUP
{ context->inTypeParen = false; return(RIGHT_PAREN); }
{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
YY_BREAK
case 210:
YY_RULE_SETUP
{ return(LEFT_BRACKET); }
{ context->inTypeParen = false; return(RIGHT_PAREN); }
YY_BREAK
case 211:
YY_RULE_SETUP
{ return(RIGHT_BRACKET); }
{ return(LEFT_BRACKET); }
YY_BREAK
case 212:
YY_RULE_SETUP
{ BEGIN(FIELDS); return(DOT); }
{ return(RIGHT_BRACKET); }
YY_BREAK
case 213:
YY_RULE_SETUP
{ return(BANG); }
{ BEGIN(FIELDS); return(DOT); }
YY_BREAK
case 214:
YY_RULE_SETUP
{ return(DASH); }
{ return(BANG); }
YY_BREAK
case 215:
YY_RULE_SETUP
{ return(TILDE); }
{ return(DASH); }
YY_BREAK
case 216:
YY_RULE_SETUP
{ return(PLUS); }
{ return(TILDE); }
YY_BREAK
case 217:
YY_RULE_SETUP
{ return(STAR); }
{ return(PLUS); }
YY_BREAK
case 218:
YY_RULE_SETUP
{ return(SLASH); }
{ return(STAR); }
YY_BREAK
case 219:
YY_RULE_SETUP
{ return(PERCENT); }
{ return(SLASH); }
YY_BREAK
case 220:
YY_RULE_SETUP
{ return(LEFT_ANGLE); }
{ return(PERCENT); }
YY_BREAK
case 221:
YY_RULE_SETUP
{ return(RIGHT_ANGLE); }
{ return(LEFT_ANGLE); }
YY_BREAK
case 222:
YY_RULE_SETUP
{ return(VERTICAL_BAR); }
{ return(RIGHT_ANGLE); }
YY_BREAK
case 223:
YY_RULE_SETUP
{ return(CARET); }
{ return(VERTICAL_BAR); }
YY_BREAK
case 224:
YY_RULE_SETUP
{ return(AMPERSAND); }
{ return(CARET); }
YY_BREAK
case 225:
YY_RULE_SETUP
{ return(QUESTION); }
{ return(AMPERSAND); }
YY_BREAK
case 226:
YY_RULE_SETUP
{ return(QUESTION); }
YY_BREAK
case 227:
YY_RULE_SETUP
{
BEGIN(INITIAL);
yylval->lex.string = NewPoolTString(yytext);
return FIELD_SELECTION;
}
YY_BREAK
case 227:
case 228:
YY_RULE_SETUP
{}
YY_BREAK
case 228:
/* rule 228 can match eol */
case 229:
/* rule 229 can match eol */
YY_RULE_SETUP
{ }
YY_BREAK
......@@ -1977,11 +1997,11 @@ case YY_STATE_EOF(COMMENT):
case YY_STATE_EOF(FIELDS):
{ context->AfterEOF = true; yyterminate(); }
YY_BREAK
case 229:
case 230:
YY_RULE_SETUP
{ context->warning(yylineno, "Unknown char", yytext, ""); return 0; }
YY_BREAK
case 230:
case 231:
YY_RULE_SETUP
ECHO;
YY_BREAK
......@@ -2277,7 +2297,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 >= 782 )
if ( yy_current_state >= 787 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
......@@ -2306,11 +2326,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 >= 782 )
if ( yy_current_state >= 787 )
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 == 781);
yy_is_jam = (yy_current_state == 786);
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.
......@@ -107,58 +107,59 @@ extern int yydebug;
SAMPLER3D = 316,
SAMPLER3DRECT = 317,
SAMPLER2DSHADOW = 318,
IDENTIFIER = 319,
TYPE_NAME = 320,
FLOATCONSTANT = 321,
INTCONSTANT = 322,
UINTCONSTANT = 323,
BOOLCONSTANT = 324,
FIELD_SELECTION = 325,
LEFT_OP = 326,
RIGHT_OP = 327,
INC_OP = 328,
DEC_OP = 329,
LE_OP = 330,
GE_OP = 331,
EQ_OP = 332,
NE_OP = 333,
AND_OP = 334,
OR_OP = 335,
XOR_OP = 336,
MUL_ASSIGN = 337,
DIV_ASSIGN = 338,
ADD_ASSIGN = 339,
MOD_ASSIGN = 340,
LEFT_ASSIGN = 341,
RIGHT_ASSIGN = 342,
AND_ASSIGN = 343,
XOR_ASSIGN = 344,
OR_ASSIGN = 345,
SUB_ASSIGN = 346,
LEFT_PAREN = 347,
RIGHT_PAREN = 348,
LEFT_BRACKET = 349,
RIGHT_BRACKET = 350,
LEFT_BRACE = 351,
RIGHT_BRACE = 352,
DOT = 353,
COMMA = 354,
COLON = 355,
EQUAL = 356,
SEMICOLON = 357,
BANG = 358,
DASH = 359,
TILDE = 360,
PLUS = 361,
STAR = 362,
SLASH = 363,
PERCENT = 364,
LEFT_ANGLE = 365,
RIGHT_ANGLE = 366,
VERTICAL_BAR = 367,
CARET = 368,
AMPERSAND = 369,
QUESTION = 370
LAYOUT = 319,
IDENTIFIER = 320,
TYPE_NAME = 321,
FLOATCONSTANT = 322,
INTCONSTANT = 323,
UINTCONSTANT = 324,
BOOLCONSTANT = 325,
FIELD_SELECTION = 326,
LEFT_OP = 327,
RIGHT_OP = 328,
INC_OP = 329,
DEC_OP = 330,
LE_OP = 331,
GE_OP = 332,
EQ_OP = 333,
NE_OP = 334,
AND_OP = 335,
OR_OP = 336,
XOR_OP = 337,
MUL_ASSIGN = 338,
DIV_ASSIGN = 339,
ADD_ASSIGN = 340,
MOD_ASSIGN = 341,
LEFT_ASSIGN = 342,
RIGHT_ASSIGN = 343,
AND_ASSIGN = 344,
XOR_ASSIGN = 345,
OR_ASSIGN = 346,
SUB_ASSIGN = 347,
LEFT_PAREN = 348,
RIGHT_PAREN = 349,
LEFT_BRACKET = 350,
RIGHT_BRACKET = 351,
LEFT_BRACE = 352,
RIGHT_BRACE = 353,
DOT = 354,
COMMA = 355,
COLON = 356,
EQUAL = 357,
SEMICOLON = 358,
BANG = 359,
DASH = 360,
TILDE = 361,
PLUS = 362,
STAR = 363,
SLASH = 364,
PERCENT = 365,
LEFT_ANGLE = 366,
RIGHT_ANGLE = 367,
VERTICAL_BAR = 368,
CARET = 369,
AMPERSAND = 370,
QUESTION = 371
};
#endif
......@@ -191,6 +192,8 @@ typedef union YYSTYPE
union {
TPublicType type;
TPrecision precision;
TLayoutQualifierId layoutQualifierId;
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