From 4f2ecd53a9daaf88bb7d075745eefb6e2e4741e0 Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Wed, 11 Jul 2018 18:11:13 +0200 Subject: Roll back to ANGLE/2845 --- gfx/angle/src/compiler/translator/glslang_tab.cpp | 2477 ++++++++++----------- 1 file changed, 1175 insertions(+), 1302 deletions(-) (limited to 'gfx/angle/src/compiler/translator/glslang_tab.cpp') diff --git a/gfx/angle/src/compiler/translator/glslang_tab.cpp b/gfx/angle/src/compiler/translator/glslang_tab.cpp index 63a3371dc..ada392497 100755 --- a/gfx/angle/src/compiler/translator/glslang_tab.cpp +++ b/gfx/angle/src/compiler/translator/glslang_tab.cpp @@ -96,8 +96,6 @@ #define YYENABLE_NLS 0 -using namespace sh; - @@ -192,97 +190,80 @@ extern int yydebug; CENTROID = 306, FLAT = 307, SMOOTH = 308, - READONLY = 309, - WRITEONLY = 310, - COHERENT = 311, - RESTRICT = 312, - VOLATILE = 313, - STRUCT = 314, - VOID_TYPE = 315, - WHILE = 316, - SAMPLER2D = 317, - SAMPLERCUBE = 318, - SAMPLER_EXTERNAL_OES = 319, - SAMPLER2DRECT = 320, - SAMPLER2DARRAY = 321, - ISAMPLER2D = 322, - ISAMPLER3D = 323, - ISAMPLERCUBE = 324, - ISAMPLER2DARRAY = 325, - USAMPLER2D = 326, - USAMPLER3D = 327, - USAMPLERCUBE = 328, - USAMPLER2DARRAY = 329, - SAMPLER3D = 330, - SAMPLER3DRECT = 331, - SAMPLER2DSHADOW = 332, - SAMPLERCUBESHADOW = 333, - SAMPLER2DARRAYSHADOW = 334, - IMAGE2D = 335, - IIMAGE2D = 336, - UIMAGE2D = 337, - IMAGE3D = 338, - IIMAGE3D = 339, - UIMAGE3D = 340, - IMAGE2DARRAY = 341, - IIMAGE2DARRAY = 342, - UIMAGE2DARRAY = 343, - IMAGECUBE = 344, - IIMAGECUBE = 345, - UIMAGECUBE = 346, - LAYOUT = 347, - IDENTIFIER = 348, - TYPE_NAME = 349, - FLOATCONSTANT = 350, - INTCONSTANT = 351, - UINTCONSTANT = 352, - BOOLCONSTANT = 353, - FIELD_SELECTION = 354, - LEFT_OP = 355, - RIGHT_OP = 356, - INC_OP = 357, - DEC_OP = 358, - LE_OP = 359, - GE_OP = 360, - EQ_OP = 361, - NE_OP = 362, - AND_OP = 363, - OR_OP = 364, - XOR_OP = 365, - MUL_ASSIGN = 366, - DIV_ASSIGN = 367, - ADD_ASSIGN = 368, - MOD_ASSIGN = 369, - LEFT_ASSIGN = 370, - RIGHT_ASSIGN = 371, - AND_ASSIGN = 372, - XOR_ASSIGN = 373, - OR_ASSIGN = 374, - SUB_ASSIGN = 375, - LEFT_PAREN = 376, - RIGHT_PAREN = 377, - LEFT_BRACKET = 378, - RIGHT_BRACKET = 379, - LEFT_BRACE = 380, - RIGHT_BRACE = 381, - DOT = 382, - COMMA = 383, - COLON = 384, - EQUAL = 385, - SEMICOLON = 386, - BANG = 387, - DASH = 388, - TILDE = 389, - PLUS = 390, - STAR = 391, - SLASH = 392, - PERCENT = 393, - LEFT_ANGLE = 394, - RIGHT_ANGLE = 395, - VERTICAL_BAR = 396, - CARET = 397, - AMPERSAND = 398, - QUESTION = 399 + STRUCT = 309, + VOID_TYPE = 310, + WHILE = 311, + SAMPLER2D = 312, + SAMPLERCUBE = 313, + SAMPLER_EXTERNAL_OES = 314, + SAMPLER2DRECT = 315, + SAMPLER2DARRAY = 316, + ISAMPLER2D = 317, + ISAMPLER3D = 318, + ISAMPLERCUBE = 319, + ISAMPLER2DARRAY = 320, + USAMPLER2D = 321, + USAMPLER3D = 322, + USAMPLERCUBE = 323, + USAMPLER2DARRAY = 324, + SAMPLER3D = 325, + SAMPLER3DRECT = 326, + SAMPLER2DSHADOW = 327, + SAMPLERCUBESHADOW = 328, + SAMPLER2DARRAYSHADOW = 329, + LAYOUT = 330, + IDENTIFIER = 331, + TYPE_NAME = 332, + FLOATCONSTANT = 333, + INTCONSTANT = 334, + UINTCONSTANT = 335, + BOOLCONSTANT = 336, + FIELD_SELECTION = 337, + LEFT_OP = 338, + RIGHT_OP = 339, + INC_OP = 340, + DEC_OP = 341, + LE_OP = 342, + GE_OP = 343, + EQ_OP = 344, + NE_OP = 345, + AND_OP = 346, + OR_OP = 347, + XOR_OP = 348, + MUL_ASSIGN = 349, + DIV_ASSIGN = 350, + ADD_ASSIGN = 351, + MOD_ASSIGN = 352, + LEFT_ASSIGN = 353, + RIGHT_ASSIGN = 354, + AND_ASSIGN = 355, + XOR_ASSIGN = 356, + OR_ASSIGN = 357, + SUB_ASSIGN = 358, + LEFT_PAREN = 359, + RIGHT_PAREN = 360, + LEFT_BRACKET = 361, + RIGHT_BRACKET = 362, + LEFT_BRACE = 363, + RIGHT_BRACE = 364, + DOT = 365, + COMMA = 366, + COLON = 367, + EQUAL = 368, + SEMICOLON = 369, + BANG = 370, + DASH = 371, + TILDE = 372, + PLUS = 373, + STAR = 374, + SLASH = 375, + PERCENT = 376, + LEFT_ANGLE = 377, + RIGHT_ANGLE = 378, + VERTICAL_BAR = 379, + CARET = 380, + AMPERSAND = 381, + QUESTION = 382 }; #endif @@ -306,27 +287,22 @@ union YYSTYPE struct { TOperator op; union { - TIntermNode *intermNode; + TIntermNode* intermNode; TIntermNodePair nodePair; - TIntermTyped *intermTypedNode; - TIntermAggregate *intermAggregate; - TIntermBlock *intermBlock; - TIntermDeclaration *intermDeclaration; - TIntermSwitch *intermSwitch; - TIntermCase *intermCase; + TIntermTyped* intermTypedNode; + TIntermAggregate* intermAggregate; + TIntermSwitch* intermSwitch; + TIntermCase* intermCase; }; union { - TTypeSpecifierNonArray typeSpecifierNonArray; TPublicType type; TPrecision precision; TLayoutQualifier layoutQualifier; TQualifier qualifier; - TFunction *function; + TFunction* function; TParameter param; - TField *field; - TFieldList *fieldList; - TQualifierWrapperBase *qualifierWrapper; - TTypeQualifierBuilder *typeQualifierBuilder; + TField* field; + TFieldList* fieldList; }; } interm; @@ -664,23 +640,23 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 126 +#define YYFINAL 116 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2825 +#define YYLAST 2516 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 145 +#define YYNTOKENS 128 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 94 /* YYNRULES -- Number of rules. */ -#define YYNRULES 286 +#define YYNRULES 275 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 422 +#define YYNSTATES 417 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 399 +#define YYMAXUTOK 382 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -727,43 +703,41 @@ static const yytype_uint8 yytranslate[] = 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144 + 125, 126, 127 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 243, 243, 244, 247, 257, 260, 265, 270, 275, - 280, 286, 289, 292, 295, 298, 301, 307, 314, 325, - 329, 337, 340, 346, 350, 357, 363, 372, 380, 386, - 392, 401, 404, 407, 410, 420, 421, 422, 423, 431, - 432, 435, 438, 445, 446, 449, 455, 456, 460, 467, - 468, 471, 474, 477, 483, 484, 487, 493, 494, 501, - 502, 509, 510, 517, 518, 524, 525, 531, 532, 538, - 539, 545, 546, 553, 554, 555, 556, 560, 561, 562, - 566, 570, 574, 578, 585, 588, 594, 601, 608, 611, - 614, 623, 627, 631, 635, 639, 646, 653, 656, 663, - 671, 691, 701, 709, 734, 738, 742, 746, 753, 760, - 763, 767, 771, 776, 781, 788, 792, 796, 800, 805, - 810, 817, 821, 827, 830, 836, 840, 847, 853, 857, - 861, 864, 867, 876, 882, 890, 893, 913, 932, 939, - 943, 947, 950, 953, 956, 959, 965, 972, 975, 978, - 984, 991, 994, 1000, 1003, 1006, 1012, 1015, 1020, 1031, - 1034, 1037, 1040, 1043, 1046, 1050, 1054, 1058, 1062, 1066, - 1070, 1074, 1078, 1082, 1086, 1090, 1094, 1098, 1102, 1106, - 1110, 1114, 1118, 1122, 1126, 1130, 1133, 1136, 1139, 1142, - 1145, 1148, 1151, 1154, 1157, 1160, 1163, 1166, 1169, 1172, - 1175, 1182, 1188, 1191, 1194, 1197, 1200, 1203, 1206, 1209, - 1212, 1215, 1218, 1221, 1224, 1227, 1239, 1239, 1242, 1242, - 1248, 1251, 1266, 1269, 1276, 1280, 1286, 1292, 1304, 1308, - 1312, 1313, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1329, - 1330, 1330, 1330, 1339, 1340, 1344, 1344, 1345, 1345, 1350, - 1353, 1362, 1367, 1374, 1375, 1379, 1386, 1390, 1397, 1397, - 1404, 1407, 1414, 1418, 1431, 1431, 1436, 1436, 1442, 1442, - 1450, 1453, 1459, 1462, 1468, 1472, 1479, 1482, 1485, 1488, - 1491, 1500, 1506, 1512, 1515, 1521, 1521 + 0, 228, 228, 229, 232, 242, 245, 250, 255, 260, + 265, 271, 274, 277, 280, 283, 286, 292, 299, 310, + 314, 322, 325, 331, 335, 342, 348, 357, 365, 371, + 377, 386, 389, 392, 395, 405, 406, 407, 408, 416, + 417, 420, 423, 430, 431, 434, 440, 441, 445, 452, + 453, 456, 459, 462, 468, 469, 472, 478, 479, 486, + 487, 494, 495, 502, 503, 509, 510, 516, 517, 523, + 524, 530, 531, 538, 539, 540, 541, 545, 546, 547, + 551, 555, 559, 563, 570, 573, 579, 586, 593, 596, + 602, 611, 615, 619, 623, 630, 636, 639, 646, 654, + 674, 683, 691, 716, 720, 728, 732, 740, 743, 746, + 749, 755, 762, 765, 769, 773, 778, 783, 790, 794, + 798, 802, 807, 812, 816, 823, 833, 839, 842, 848, + 854, 860, 868, 877, 884, 887, 893, 897, 901, 906, + 914, 917, 933, 938, 943, 948, 955, 963, 974, 977, + 980, 986, 993, 996, 1002, 1005, 1008, 1014, 1017, 1022, + 1034, 1038, 1042, 1046, 1050, 1054, 1059, 1064, 1069, 1074, + 1079, 1084, 1089, 1094, 1099, 1104, 1109, 1114, 1119, 1124, + 1129, 1134, 1139, 1144, 1149, 1154, 1159, 1163, 1167, 1171, + 1175, 1179, 1183, 1187, 1191, 1195, 1199, 1203, 1207, 1211, + 1215, 1219, 1227, 1234, 1238, 1251, 1251, 1254, 1254, 1260, + 1263, 1278, 1281, 1290, 1294, 1300, 1306, 1318, 1322, 1326, + 1327, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1343, 1344, + 1344, 1344, 1354, 1355, 1359, 1359, 1360, 1360, 1365, 1368, + 1378, 1381, 1387, 1388, 1392, 1399, 1403, 1410, 1410, 1417, + 1420, 1427, 1431, 1444, 1444, 1449, 1449, 1455, 1455, 1463, + 1466, 1472, 1475, 1481, 1485, 1492, 1495, 1498, 1501, 1504, + 1513, 1517, 1524, 1527, 1533, 1533 }; #endif @@ -780,28 +754,24 @@ static const char *const yytname[] = "IVEC4", "VEC2", "VEC3", "VEC4", "UVEC2", "UVEC3", "UVEC4", "MATRIX2", "MATRIX3", "MATRIX4", "IN_QUAL", "OUT_QUAL", "INOUT_QUAL", "UNIFORM", "VARYING", "MATRIX2x3", "MATRIX3x2", "MATRIX2x4", "MATRIX4x2", - "MATRIX3x4", "MATRIX4x3", "CENTROID", "FLAT", "SMOOTH", "READONLY", - "WRITEONLY", "COHERENT", "RESTRICT", "VOLATILE", "STRUCT", "VOID_TYPE", - "WHILE", "SAMPLER2D", "SAMPLERCUBE", "SAMPLER_EXTERNAL_OES", + "MATRIX3x4", "MATRIX4x3", "CENTROID", "FLAT", "SMOOTH", "STRUCT", + "VOID_TYPE", "WHILE", "SAMPLER2D", "SAMPLERCUBE", "SAMPLER_EXTERNAL_OES", "SAMPLER2DRECT", "SAMPLER2DARRAY", "ISAMPLER2D", "ISAMPLER3D", "ISAMPLERCUBE", "ISAMPLER2DARRAY", "USAMPLER2D", "USAMPLER3D", "USAMPLERCUBE", "USAMPLER2DARRAY", "SAMPLER3D", "SAMPLER3DRECT", - "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW", "SAMPLER2DARRAYSHADOW", - "IMAGE2D", "IIMAGE2D", "UIMAGE2D", "IMAGE3D", "IIMAGE3D", "UIMAGE3D", - "IMAGE2DARRAY", "IIMAGE2DARRAY", "UIMAGE2DARRAY", "IMAGECUBE", - "IIMAGECUBE", "UIMAGECUBE", "LAYOUT", "IDENTIFIER", "TYPE_NAME", - "FLOATCONSTANT", "INTCONSTANT", "UINTCONSTANT", "BOOLCONSTANT", - "FIELD_SELECTION", "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP", - "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN", - "DIV_ASSIGN", "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", - "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", - "RIGHT_PAREN", "LEFT_BRACKET", "RIGHT_BRACKET", "LEFT_BRACE", - "RIGHT_BRACE", "DOT", "COMMA", "COLON", "EQUAL", "SEMICOLON", "BANG", - "DASH", "TILDE", "PLUS", "STAR", "SLASH", "PERCENT", "LEFT_ANGLE", - "RIGHT_ANGLE", "VERTICAL_BAR", "CARET", "AMPERSAND", "QUESTION", - "$accept", "identifier", "variable_identifier", "primary_expression", - "postfix_expression", "integer_expression", "function_call", - "function_call_or_method", "function_call_generic", + "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW", "SAMPLER2DARRAYSHADOW", "LAYOUT", + "IDENTIFIER", "TYPE_NAME", "FLOATCONSTANT", "INTCONSTANT", + "UINTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION", "LEFT_OP", "RIGHT_OP", + "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", + "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "ADD_ASSIGN", + "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", + "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN", "LEFT_BRACKET", + "RIGHT_BRACKET", "LEFT_BRACE", "RIGHT_BRACE", "DOT", "COMMA", "COLON", + "EQUAL", "SEMICOLON", "BANG", "DASH", "TILDE", "PLUS", "STAR", "SLASH", + "PERCENT", "LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR", "CARET", + "AMPERSAND", "QUESTION", "$accept", "identifier", "variable_identifier", + "primary_expression", "postfix_expression", "integer_expression", + "function_call", "function_call_or_method", "function_call_generic", "function_call_header_no_parameters", "function_call_header_with_parameters", "function_call_header", "function_identifier", "unary_expression", "unary_operator", @@ -814,10 +784,10 @@ static const char *const yytname[] = "constant_expression", "enter_struct", "declaration", "function_prototype", "function_declarator", "function_header_with_parameters", "function_header", - "parameter_declarator", "parameter_declaration", + "parameter_declarator", "parameter_declaration", "parameter_qualifier", "parameter_type_specifier", "init_declarator_list", "single_declaration", - "fully_specified_type", "interpolation_qualifier", "type_qualifier", - "invariant_qualifier", "single_type_qualifier", "storage_qualifier", + "fully_specified_type", "interpolation_qualifier", + "parameter_type_qualifier", "type_qualifier", "storage_qualifier", "type_specifier", "precision_qualifier", "layout_qualifier", "layout_qualifier_id_list", "layout_qualifier_id", "type_specifier_no_prec", "type_specifier_nonarray", "struct_specifier", @@ -852,18 +822,16 @@ static const yytype_uint16 yytoknum[] = 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399 + 375, 376, 377, 378, 379, 380, 381, 382 }; # endif -#define YYPACT_NINF -363 +#define YYPACT_NINF -361 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-363))) + (!!((Yystate) == (-361))) -#define YYTABLE_NINF -246 +#define YYTABLE_NINF -235 #define yytable_value_is_error(Yytable_value) \ 0 @@ -872,49 +840,48 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - 2469, -363, -363, -363, -363, 101, -363, -363, -363, -363, - -363, -363, -363, -363, -363, -363, -363, -363, -363, -363, - -363, -363, -363, -363, -363, -363, -363, -363, -363, -363, - -363, -363, -363, -363, -363, -363, -363, -363, -363, -363, - -363, -363, -363, -363, -363, -363, -68, -363, -363, -363, - -363, -363, -363, -363, -363, -363, -363, -363, -363, -363, - -363, -363, -363, -363, -363, -363, -363, -363, -363, -363, - -363, -363, -363, -363, -363, -363, -363, -88, -363, -363, - -77, -35, -13, 2561, -51, -363, 27, -363, 1301, -363, - -363, -363, -363, -363, -363, -363, 12, -363, 2377, -363, - -363, 2731, -363, -363, -363, 15, 49, -363, 22, -363, - 2561, -363, -363, -363, 2561, 51, 51, -363, 16, -103, - -87, -363, 2561, -363, -363, 1388, -363, -363, 20, 2561, - -363, 19, -82, -363, 408, -363, -363, -363, -363, 39, - -91, -363, 1503, 1845, -363, -363, 2561, 51, 2071, -363, - 47, -363, -363, -363, -363, -363, 1845, 1845, 1845, -363, - -363, -363, -363, -363, -363, -363, -41, -363, -363, -363, - 55, -55, 1957, 59, -363, 1845, -5, -90, 64, -81, - -42, 33, 45, 48, 78, 80, -93, -363, 71, -363, - -363, 2173, 2561, 70, -363, 49, 57, 63, -363, 79, - 81, 68, 1618, 83, 1845, 72, 84, 82, -363, -363, - 41, -363, -363, -36, -363, -77, 85, -363, -363, -363, - -363, 541, -363, -363, -363, -363, -363, -363, 1845, 1730, - 1845, 77, 88, -363, -363, 51, 86, -34, -363, -78, - -363, -363, -363, -50, -363, -363, 1845, 2646, -363, -363, - 1845, 92, -363, -363, -363, 1845, 1845, 1845, 1845, 1845, - 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, - 1845, 1845, 1845, 1845, 1845, -363, -363, 2275, -363, -363, - -363, -363, -363, 90, -363, 1845, -363, -363, -29, 1845, - 87, -363, -363, -363, 674, -363, -363, -363, -363, -363, - -363, -363, -363, -363, -363, -363, 1845, 1845, -363, -363, - -363, 93, 89, 94, -363, 1845, 95, -1, 1845, 51, - -363, -94, -363, -363, 96, 98, -363, 102, -363, -363, - -363, -363, -363, -5, -5, -90, -90, 64, 64, 64, - 64, -81, -81, -42, 33, 45, 48, 78, 80, 44, - -363, 161, 22, 940, 1073, -47, -363, -37, -363, 1187, - 674, -363, -363, -363, 1845, 103, -363, 1845, -363, 100, - -363, 1845, -363, -363, 1845, 107, -363, -363, -363, -363, - 1187, 90, -363, 98, 51, 2561, 109, 106, -363, 1845, - -363, -363, 111, -363, 1845, -363, 105, 116, 222, -363, - 115, 112, 807, -363, -363, 110, -32, 1845, 807, 90, - -363, 1845, -363, -363, -363, -363, 113, 98, -363, -363, - -363, -363 + 2154, 224, -361, -361, -361, 130, -361, -361, -361, -361, + -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, + -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, + -361, -361, -361, -361, -361, -361, -361, 145, -361, -361, + -46, -361, -361, -361, -361, -361, -361, -361, -361, -361, + -361, -361, -361, -361, -361, -361, -361, -361, -361, -82, + -361, -361, -68, -41, -45, 9, 7, -361, 117, 16, + 1173, -361, -361, 2439, 16, -361, -9, -361, 2079, -361, + -361, -361, -361, 16, -361, 2439, -361, -361, -361, -361, + -361, -31, 23, -361, 11, -361, 63, -361, -361, -361, + -361, -361, 2303, 168, 120, -361, 13, -66, -361, 31, + -361, 2229, -361, -361, -361, 1243, -361, -361, -361, 56, + 2229, -361, 17, -50, -361, 401, -361, -361, -361, -361, + 120, 2303, -18, -361, 1341, 1632, -361, 179, 2303, 120, + 1824, -361, 70, -361, -361, -361, -361, -361, 1632, 1632, + 1632, -361, -361, -361, -361, -361, -361, -361, 22, -361, + -361, -361, 101, -29, 1727, 114, -361, 1632, 96, -97, + 128, -54, 111, 118, 102, 115, 154, 153, -69, -361, + 140, -361, -361, 1909, 2229, 124, -361, 23, 134, 136, + -361, 147, 149, 143, 1439, 155, 1632, 148, 157, 160, + -361, -361, 184, -361, -361, 52, -361, -68, 158, -361, + -361, -361, -361, 517, -361, -361, -361, -361, -361, -361, + 166, -361, -361, 1534, 1632, 150, 159, -361, -361, 120, + 167, 61, -361, -62, -361, -361, -361, -5, -361, -361, + 1632, 2371, -361, -361, 1632, 185, -361, -361, -361, 1632, + 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, + 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, -361, + -361, 1994, -361, -361, -361, -361, -361, 181, -361, 1632, + -361, -361, 67, 1632, 180, -361, -361, -361, 633, -361, + -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, + 1632, 1632, -361, -361, -361, 1632, 178, 186, -361, 1632, + 182, 68, 1632, 120, -361, -71, -361, -361, 187, 188, + -361, 192, -361, -361, -361, -361, -361, 96, 96, -97, + -97, 128, 128, 128, 128, -54, -54, 111, 118, 102, + 115, 154, 153, 113, -361, 242, 11, 865, 981, 4, + -361, 18, -361, 1078, 633, -361, -361, 194, 1632, 189, + -361, 1632, -361, 196, -361, 1632, -361, -361, 1632, 200, + -361, -361, -361, -361, 1078, 181, -361, 188, 120, 2303, + 201, 198, -361, -361, 1632, -361, -361, 202, -361, 1632, + -361, 191, 203, 293, -361, 204, 205, 749, -361, -361, + 197, 60, 1632, 749, 181, -361, 1632, -361, -361, -361, + -361, 199, 188, -361, -361, -361, -361 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -922,79 +889,78 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 127, 147, 148, 149, 0, 133, 135, 163, 160, - 161, 162, 167, 168, 169, 170, 171, 172, 164, 165, - 166, 173, 174, 175, 176, 177, 178, 136, 137, 138, - 140, 134, 179, 180, 181, 182, 183, 184, 139, 124, - 123, 141, 142, 143, 144, 145, 0, 159, 185, 187, - 200, 201, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 186, 197, 198, 199, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 0, 215, 284, - 285, 0, 98, 97, 0, 109, 115, 131, 0, 132, - 125, 128, 121, 130, 129, 146, 156, 202, 0, 281, - 283, 0, 2, 3, 218, 0, 0, 88, 0, 96, - 0, 105, 99, 107, 0, 108, 0, 89, 2, 116, - 0, 94, 0, 126, 122, 0, 1, 282, 0, 0, - 216, 153, 0, 151, 0, 286, 100, 104, 106, 102, - 110, 101, 0, 0, 87, 95, 0, 0, 0, 220, - 4, 8, 6, 7, 9, 30, 0, 0, 0, 157, - 37, 36, 38, 35, 5, 11, 31, 13, 18, 19, - 0, 0, 24, 0, 39, 0, 43, 46, 49, 54, - 57, 59, 61, 63, 65, 67, 69, 86, 0, 28, - 90, 0, 0, 0, 150, 0, 0, 0, 266, 0, - 0, 0, 0, 0, 0, 0, 0, 240, 249, 253, - 39, 71, 84, 0, 229, 0, 146, 232, 251, 231, - 230, 0, 233, 234, 235, 236, 237, 238, 0, 0, - 0, 0, 0, 228, 120, 0, 226, 0, 224, 0, - 221, 32, 33, 0, 15, 16, 0, 0, 22, 21, - 0, 159, 25, 27, 34, 0, 0, 0, 0, 0, + 0, 0, 148, 149, 150, 0, 130, 140, 164, 161, + 162, 163, 168, 169, 170, 171, 172, 173, 165, 166, + 167, 174, 175, 176, 177, 178, 179, 141, 142, 145, + 131, 180, 181, 182, 183, 184, 185, 0, 128, 127, + 0, 160, 186, 188, 201, 202, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 187, 198, 199, 200, 0, + 204, 273, 274, 0, 97, 107, 0, 112, 118, 135, + 0, 133, 125, 0, 136, 146, 157, 203, 0, 270, + 272, 132, 124, 0, 138, 0, 143, 144, 2, 3, + 207, 0, 0, 88, 0, 95, 107, 129, 108, 109, + 110, 98, 0, 107, 0, 89, 2, 119, 134, 0, + 94, 0, 126, 147, 137, 0, 1, 271, 139, 0, + 0, 205, 154, 0, 152, 0, 275, 99, 104, 106, + 111, 0, 113, 100, 0, 0, 87, 0, 0, 0, + 0, 209, 4, 8, 6, 7, 9, 30, 0, 0, + 0, 158, 37, 36, 38, 35, 5, 11, 31, 13, + 18, 19, 0, 0, 24, 0, 39, 0, 43, 46, + 49, 54, 57, 59, 61, 63, 65, 67, 69, 86, + 0, 28, 90, 0, 0, 0, 151, 0, 0, 0, + 255, 0, 0, 0, 0, 0, 0, 0, 0, 229, + 238, 242, 39, 71, 84, 0, 218, 0, 146, 221, + 240, 220, 219, 0, 222, 223, 224, 225, 226, 227, + 101, 103, 105, 0, 0, 0, 0, 217, 123, 0, + 215, 0, 213, 0, 210, 32, 33, 0, 15, 16, + 0, 0, 22, 21, 0, 160, 25, 27, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 158, 219, 0, 154, 155, - 152, 277, 276, 247, 268, 0, 280, 278, 0, 0, - 0, 261, 264, 239, 0, 74, 75, 77, 76, 79, - 80, 81, 82, 83, 78, 73, 0, 0, 254, 250, - 252, 0, 0, 0, 114, 0, 117, 0, 0, 0, - 222, 0, 91, 10, 0, 17, 29, 14, 20, 26, - 40, 41, 42, 45, 44, 47, 48, 52, 53, 50, - 51, 55, 56, 58, 60, 62, 64, 66, 68, 0, - 217, 0, 0, 0, 0, 0, 279, 0, 260, 0, - 241, 72, 85, 103, 0, 111, 118, 0, 223, 0, - 225, 0, 92, 12, 0, 0, 246, 248, 271, 270, - 273, 247, 258, 262, 0, 0, 0, 0, 112, 0, - 119, 227, 0, 70, 0, 272, 0, 0, 257, 255, - 0, 0, 0, 242, 113, 0, 0, 274, 0, 247, - 259, 0, 244, 265, 243, 93, 0, 275, 269, 256, - 263, 267 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, + 208, 0, 155, 156, 153, 266, 265, 236, 257, 0, + 269, 267, 0, 0, 0, 250, 253, 228, 0, 74, + 75, 77, 76, 79, 80, 81, 82, 83, 78, 73, + 0, 0, 243, 239, 241, 0, 0, 0, 117, 0, + 120, 0, 0, 0, 211, 0, 91, 10, 0, 17, + 29, 14, 20, 26, 40, 41, 42, 45, 44, 47, + 48, 52, 53, 50, 51, 55, 56, 58, 60, 62, + 64, 66, 68, 0, 206, 0, 0, 0, 0, 0, + 268, 0, 249, 0, 230, 72, 85, 0, 0, 114, + 121, 0, 212, 0, 214, 0, 92, 12, 0, 0, + 235, 237, 260, 259, 262, 236, 247, 251, 0, 0, + 0, 0, 102, 115, 0, 122, 216, 0, 70, 0, + 261, 0, 0, 246, 244, 0, 0, 0, 231, 116, + 0, 0, 263, 0, 236, 248, 0, 233, 254, 232, + 93, 0, 264, 258, 245, 252, 256 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -363, -45, -363, -363, -363, -363, -363, -363, -4, -363, - -363, -363, -363, 54, -363, -84, -79, -139, -83, -23, - -22, -21, -18, -17, -16, -363, -120, -137, -363, -146, - -125, -363, 18, 21, -363, -363, -363, 136, 146, 145, - -363, -363, -328, -363, -74, -363, -86, -363, -80, 255, - -363, -363, 67, 0, -363, -363, -363, -363, -116, -141, - 28, -54, -226, -85, -210, -339, -136, -363, -363, -142, - -362, -363, -363, -98, -27, -76, -363, -363, -363, -363, - -363, -112, -363, -363, -363, -363, -363, -363, -363, -363, - -363, 172, -363, -363 + -361, -39, -361, -361, -361, -361, -361, -361, 73, -361, + -361, -361, -361, -107, -361, -15, -20, -67, -19, 53, + 54, 55, 51, 57, 58, -361, -110, -132, -361, -146, + -125, -361, 6, 12, -361, -361, -361, 190, 228, 217, + 195, -361, -361, -336, 25, -361, -104, 27, -57, 322, + -361, -361, 141, 0, -361, -361, -361, -361, -109, -130, + 100, 19, -185, -17, -193, -310, -65, -361, -361, -70, + -360, -361, -361, -92, 46, -13, -361, -361, -361, -361, + -361, -38, -361, -361, -361, -361, -361, -361, -361, -361, + -361, 259, -361, -361 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 236, 164, 165, 166, 324, 167, 168, 169, 170, - 171, 172, 173, 210, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 211, 212, 306, 213, - 188, 122, 214, 215, 81, 82, 83, 111, 112, 113, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 132, 133, 189, 96, 97, 192, 129, 148, 149, - 237, 238, 234, 217, 218, 219, 220, 294, 387, 413, - 351, 352, 353, 414, 221, 222, 223, 399, 224, 400, - 225, 386, 226, 359, 283, 354, 380, 396, 397, 227, - 98, 99, 100, 108 + -1, 230, 156, 157, 158, 318, 159, 160, 161, 162, + 163, 164, 165, 202, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 203, 204, 300, 205, + 180, 111, 206, 207, 63, 64, 65, 128, 101, 102, + 129, 66, 67, 68, 69, 103, 70, 71, 72, 73, + 74, 123, 124, 181, 76, 77, 184, 120, 140, 141, + 231, 232, 228, 209, 210, 211, 212, 288, 381, 408, + 345, 346, 347, 409, 213, 214, 215, 394, 216, 395, + 217, 380, 218, 353, 277, 348, 374, 391, 392, 219, + 78, 79, 80, 94 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1002,576 +968,514 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 95, 105, 123, 115, 314, 187, 233, 240, 124, 114, - 135, 310, 243, 191, 377, 321, 273, 232, 79, 398, - 142, 80, 187, 262, 263, 102, 103, 143, 123, 371, - 115, 384, 229, 106, 115, 252, 114, 372, 144, 230, - 194, 119, 147, 258, 145, 259, 195, 419, 146, 147, - 240, 274, 384, 322, 107, 146, 288, 104, 264, 265, - 123, 244, 245, 412, 266, 267, 235, 249, 147, 412, - 139, 140, 323, 250, 146, 381, 277, 116, 307, 290, - 117, 307, 246, 95, 187, 382, 247, 109, 95, 366, - 416, 307, 307, 233, 319, 308, 307, 320, 95, 307, - 325, 128, 356, 311, 313, 2, 3, 4, 187, 187, - 95, 147, 147, 329, 95, 110, 79, 146, 146, 80, - 118, 103, 95, 337, 338, 339, 340, 319, 349, 95, - 368, 255, 256, 257, 216, 125, 240, 141, 388, 355, - 130, 390, 131, 357, 102, 103, 95, 134, 95, 193, - 310, 190, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 228, 404, 260, 261, 278, 279, -29, 361, - 362, 305, 307, 374, 333, 334, 268, 248, 233, 174, - 253, 335, 336, 341, 342, 420, 271, 269, 281, 270, - 272, 95, 95, 369, 282, 275, 174, 147, 187, 286, - 284, 291, 285, 146, 289, 292, -28, 315, 293, 318, - 241, 242, 316, 383, -23, -245, 358, 363, 365, 364, - 373, 216, 375, -30, 391, 367, 307, 233, 394, 254, - 233, 402, 403, 389, 383, 405, 407, 393, 408, 409, - 207, 415, 411, 328, 421, 343, 392, 344, 406, 345, - 137, 187, 233, 346, 376, 347, 136, 348, 174, 138, - 101, 417, 280, 317, 410, 370, 418, 360, 395, 378, - 127, 0, 0, 0, 233, 0, 0, 95, 379, 0, - 0, 0, 174, 174, 0, 385, 0, 0, 0, 0, - 0, 0, 0, 0, 216, 0, 0, 0, 0, 123, - 0, 0, 0, 0, 0, 124, 385, 0, 0, 330, - 331, 332, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, + 75, 91, 126, 227, 237, 179, 61, 138, 166, 226, + 234, 183, 62, 112, 315, 393, 138, 378, 97, 252, + 304, 253, 92, 267, 179, 7, 83, 166, 84, 107, + 88, 89, 246, 256, 257, 365, 138, 371, 378, 308, + 134, 235, 236, 366, 414, 130, 93, 135, 282, 98, + 99, 100, 316, 234, 139, 186, 27, 28, 268, 29, + 248, 187, 90, 139, 95, 132, 96, 37, 258, 259, + 75, 284, 97, 113, 130, 271, 243, 121, 75, 138, + 138, 229, 244, 139, 61, 119, 179, 407, 223, 166, + 62, 220, 227, 407, 319, 224, 108, 115, 307, 122, + 317, 114, 75, 98, 99, 100, 301, 238, 239, 375, + 118, 75, 323, 179, -96, 301, 166, 133, 104, 125, + 75, 105, 343, 376, 360, 208, 139, 139, 240, 301, + 185, 75, 241, 349, 2, 3, 4, 351, 75, 136, + 75, 234, 324, 325, 326, 166, 166, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, + 166, 304, 83, 301, 84, 411, 302, 138, 355, 356, + 182, 301, 313, 383, -29, 314, 385, 227, 301, 313, + 357, 350, 362, 75, 75, 86, 87, 363, 7, 331, + 332, 333, 334, 106, 89, 179, 88, 89, 166, 399, + 260, 261, 179, 272, 273, 166, 242, 377, 98, 99, + 100, 254, 255, 208, 139, 249, 250, 251, 247, 27, + 28, 415, 29, 81, 301, 368, 227, 263, 377, 227, + 37, 38, 39, 7, 329, 330, 388, 327, 328, 264, + 387, 335, 336, 401, 262, 265, 266, 269, 275, 379, + 276, 278, 227, 279, 370, 179, 412, 280, 166, 283, + 285, 286, -28, 309, 27, 28, 310, 29, 81, 287, + 379, 75, 305, 312, 227, 37, 38, 39, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 208, -234, + -23, 358, 352, 359, 367, 361, -30, 299, 369, 301, + 82, 382, 384, 386, 389, 402, 397, 398, 403, 400, + 404, 410, 199, 416, 322, 337, 340, 338, 406, 339, + 131, 221, 112, 341, 127, 342, 222, 85, 274, 311, + 405, 372, 364, 413, 354, 373, 390, 117, 0, 396, + 0, 0, 0, 0, 0, 0, 0, 208, 208, 0, + 0, 0, 0, 208, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 216, 216, 0, 0, 0, 0, 216, - 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 174, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 0, 0, 0, 95, 0, 0, 0, 0, + 0, 0, 0, 0, 208, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 216, 0, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 196, 197, 198, 174, 199, 200, 201, 202, - 203, 204, 205, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 206, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 0, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 150, 78, 151, 152, 153, 154, 155, 0, 0, - 156, 157, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, - 0, 0, 0, 207, 208, 0, 0, 0, 0, 209, - 160, 161, 162, 163, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 196, 197, 198, 0, 199, - 200, 201, 202, 203, 204, 205, 12, 13, 14, 15, + 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, + 0, 0, 0, 208, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 188, 189, 190, 0, 191, + 192, 193, 194, 195, 196, 197, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 206, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 0, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 150, 78, 151, 152, 153, 154, - 155, 0, 0, 156, 157, 0, 0, 0, 0, 0, + 26, 27, 28, 0, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 198, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 0, 56, 57, 58, 59, 142, 60, 143, + 144, 145, 146, 147, 0, 0, 148, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 158, 0, 0, 0, 207, 309, 0, 0, - 0, 0, 209, 160, 161, 162, 163, 1, 2, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 196, 197, - 198, 0, 199, 200, 201, 202, 203, 204, 205, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 206, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 0, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 150, 78, 151, - 152, 153, 154, 155, 0, 0, 156, 157, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 158, 0, 0, 0, 207, - 0, 0, 0, 0, 0, 209, 160, 161, 162, 163, + 0, 0, 0, 0, 0, 150, 0, 0, 0, 199, + 200, 0, 0, 0, 0, 201, 152, 153, 154, 155, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 196, 197, 198, 0, 199, 200, 201, 202, 203, - 204, 205, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 206, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 0, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 150, 78, 151, 152, 153, 154, 155, 0, 0, 156, - 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, - 0, 0, 134, 0, 0, 0, 0, 0, 209, 160, - 161, 162, 163, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 196, 197, 198, 0, 199, 200, - 201, 202, 203, 204, 205, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 206, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 0, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 150, 78, 151, 152, 153, 154, 155, - 0, 0, 156, 157, 0, 0, 0, 0, 0, 0, + 11, 188, 189, 190, 0, 191, 192, 193, 194, 195, + 196, 197, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 198, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 0, 56, + 57, 58, 59, 142, 60, 143, 144, 145, 146, 147, + 0, 0, 148, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 209, 160, 161, 162, 163, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, + 0, 150, 0, 0, 0, 199, 303, 0, 0, 0, + 0, 201, 152, 153, 154, 155, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 188, 189, 190, + 0, 191, 192, 193, 194, 195, 196, 197, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 0, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 150, 78, 151, 152, - 153, 154, 155, 0, 0, 156, 157, 0, 0, 0, + 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 198, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 0, 56, 57, 58, 59, 142, + 60, 143, 144, 145, 146, 147, 0, 0, 148, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 4, 158, 6, 7, 8, 9, 10, - 11, 0, 0, 0, 209, 160, 161, 162, 163, 0, - 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 0, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 0, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 150, 78, 151, 152, 153, 154, 155, 0, 0, 156, - 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 4, 158, 6, - 7, 8, 9, 10, 11, 0, 0, 0, 0, 160, - 161, 162, 163, 0, 0, 0, 12, 13, 14, 15, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, + 0, 199, 0, 0, 0, 0, 0, 201, 152, 153, + 154, 155, 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 188, 189, 190, 0, 191, 192, 193, + 194, 195, 196, 197, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 0, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 198, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 0, 56, 57, 58, 59, 142, 60, 143, 144, 145, + 146, 147, 0, 0, 148, 149, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 150, 0, 0, 0, 125, 0, 0, + 0, 0, 0, 201, 152, 153, 154, 155, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 188, + 189, 190, 0, 191, 192, 193, 194, 195, 196, 197, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 0, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 198, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 0, 56, 57, 58, + 59, 142, 60, 143, 144, 145, 146, 147, 0, 0, + 148, 149, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, + 152, 153, 154, 155, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 0, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 0, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 120, 78, 0, 0, 8, 9, - 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, + 26, 27, 28, 0, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 0, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 0, 56, 57, 58, 59, 142, 60, 143, + 144, 145, 146, 147, 0, 0, 148, 149, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 137, 2, 3, 4, 150, 6, 7, 8, 9, + 10, 11, 0, 0, 0, 201, 152, 153, 154, 155, 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, - 0, 0, 121, 32, 33, 34, 35, 36, 37, 0, - 0, 0, 0, 0, 0, 0, 0, 46, 47, 0, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 0, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 0, 150, 78, 151, 152, 153, 154, 155, 0, 0, - 156, 157, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, - 0, 0, 159, 8, 9, 10, 11, 0, 0, 0, - 160, 161, 162, 163, 0, 0, 0, 0, 12, 13, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 0, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, + 56, 57, 58, 59, 142, 60, 143, 144, 145, 146, + 147, 0, 0, 148, 149, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, + 0, 0, 150, 8, 9, 10, 11, 0, 0, 0, + 0, 0, 0, 152, 153, 154, 155, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 0, 0, 0, 0, 0, 32, 33, - 34, 35, 36, 37, 0, 0, 0, 0, 0, 0, - 0, 0, 46, 47, 0, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 0, 150, 78, 151, 152, - 153, 154, 155, 0, 0, 156, 157, 0, 0, 0, + 24, 25, 26, 0, 0, 0, 0, 0, 31, 32, + 33, 34, 35, 36, 0, 0, 0, 40, 41, 0, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 0, 56, 57, 58, 0, 109, + 60, 0, 0, 8, 9, 10, 11, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 0, 0, 0, 0, 110, 31, 32, + 33, 34, 35, 36, 0, 0, 0, 40, 41, 0, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 0, 56, 57, 58, 0, 142, + 60, 143, 144, 145, 146, 147, 0, 0, 148, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 158, 0, 0, 231, 8, 9, - 10, 11, 0, 0, 0, 160, 161, 162, 163, 0, - 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, - 0, 0, 0, 32, 33, 34, 35, 36, 37, 0, - 0, 0, 0, 0, 0, 0, 0, 46, 47, 0, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 0, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 0, 150, 78, 151, 152, 153, 154, 155, 0, 0, - 156, 157, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, - 8, 9, 10, 11, 0, 0, 0, 0, 0, 287, - 160, 161, 162, 163, 0, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 0, 0, 0, 0, 0, 32, 33, 34, 35, 36, - 37, 0, 0, 0, 0, 0, 0, 0, 0, 46, - 47, 0, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 0, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 0, 150, 78, 151, 152, 153, 154, 155, - 0, 0, 156, 157, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, + 151, 8, 9, 10, 11, 0, 0, 0, 152, 153, + 154, 155, 0, 0, 0, 0, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 0, 0, 0, 0, 0, 31, 32, 33, 34, + 35, 36, 0, 0, 0, 40, 41, 0, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 0, 56, 57, 58, 0, 142, 60, 143, + 144, 145, 146, 147, 0, 0, 148, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 158, 0, 0, 312, 8, 9, 10, 11, 0, - 0, 0, 160, 161, 162, 163, 0, 0, 0, 0, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 0, 0, 0, 0, 0, - 32, 33, 34, 35, 36, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 46, 47, 0, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 0, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 0, 150, 78, - 151, 152, 153, 154, 155, 0, 0, 156, 157, 0, + 0, 0, 0, 0, 0, 150, 0, 0, 225, 8, + 9, 10, 11, 0, 0, 0, 152, 153, 154, 155, + 0, 0, 0, 0, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, + 0, 0, 0, 0, 31, 32, 33, 34, 35, 36, + 0, 0, 0, 40, 41, 0, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 0, 56, 57, 58, 0, 142, 60, 143, 144, 145, + 146, 147, 0, 0, 148, 149, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 150, 8, 9, 10, 11, 0, 0, + 0, 0, 0, 281, 152, 153, 154, 155, 0, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 0, 0, 0, 0, 0, 31, + 32, 33, 34, 35, 36, 0, 0, 0, 40, 41, + 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 0, 56, 57, 58, 0, + 142, 60, 143, 144, 145, 146, 147, 0, 0, 148, + 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, + 0, 306, 8, 9, 10, 11, 0, 0, 0, 152, + 153, 154, 155, 0, 0, 0, 0, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 0, 0, 0, 0, 0, 31, 32, 33, + 34, 35, 36, 0, 0, 0, 40, 41, 0, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 0, 56, 57, 58, 0, 142, 60, + 143, 144, 145, 146, 147, 0, 0, 148, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 158, 8, 9, 10, - 11, 0, 0, 0, 0, 0, 0, 160, 161, 162, - 163, 0, 12, 13, 14, 15, 16, 17, 18, 19, + 0, 0, 0, 0, 0, 0, 150, 8, 9, 10, + 11, 0, 0, 0, 0, 0, 0, 152, 153, 154, + 155, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 0, - 0, 0, 32, 33, 34, 35, 36, 37, 0, 0, - 0, 0, 0, 0, 0, 0, 46, 251, 0, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 0, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 0, - 150, 78, 151, 152, 153, 154, 155, 0, 0, 156, - 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 4, 158, 6, - 7, 8, 9, 10, 11, 0, 0, 0, 0, 160, - 161, 162, 163, 0, 0, 0, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 0, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 0, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 0, 78, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, - 0, 6, 7, 8, 9, 10, 11, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 239, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 0, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 0, 78, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, - 3, 4, 0, 6, 7, 8, 9, 10, 11, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 0, 0, 31, 32, 33, 34, 35, 36, 0, 0, + 0, 40, 245, 0, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 0, 56, + 57, 58, 0, 142, 60, 143, 144, 145, 146, 147, + 0, 0, 148, 149, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 137, 2, 3, + 4, 150, 6, 7, 8, 9, 10, 11, 0, 0, + 0, 0, 152, 153, 154, 155, 0, 0, 0, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 0, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 0, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 0, 78, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 350, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 0, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 0, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 0, 78, 1, 2, 3, 4, 5, 6, 7, 8, + 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 0, 56, 57, 58, 59, + 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 137, 2, 3, 4, 0, 6, 7, 8, + 9, 10, 11, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 233, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 0, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 0, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 0, 56, 57, 58, 59, 0, 60, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 137, 2, 3, + 4, 0, 6, 7, 8, 9, 10, 11, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 270, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 0, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 0, 56, 57, 58, 59, + 0, 60, 0, 0, 0, 0, 0, 0, 0, 116, + 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 344, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 0, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 0, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 0, 56, 57, 58, 59, 0, 60, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 0, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 0, 56, 57, 58, 59, + 0, 60, 137, 2, 3, 4, 0, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 0, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 0, 78, 1, 2, 3, 4, 0, 6, - 7, 8, 9, 10, 11, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 0, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 0, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 0, 78, 8, 9, 10, 11, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 0, 0, 0, 0, - 0, 32, 33, 34, 35, 36, 37, 0, 0, 0, - 0, 0, 0, 0, 0, 46, 47, 0, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 0, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 0, 326, - 78, 8, 9, 10, 11, 327, 0, 0, 0, 0, + 28, 0, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 0, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 0, 56, 57, 58, 59, 0, 60, 2, 3, 4, + 0, 0, 0, 8, 9, 10, 11, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 0, 0, 0, 0, 0, 31, 32, + 33, 34, 35, 36, 0, 0, 0, 40, 41, 0, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 0, 56, 57, 58, 0, 0, + 60, 8, 9, 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 0, 0, 0, 0, 0, 32, 33, 34, 35, - 36, 37, 0, 0, 0, 0, 0, 0, 0, 0, - 46, 47, 0, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 0, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 0, 0, 78 + 26, 0, 0, 0, 0, 0, 31, 32, 33, 34, + 35, 36, 0, 0, 0, 40, 41, 0, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 0, 56, 57, 58, 0, 320, 60, 8, + 9, 10, 11, 321, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, + 0, 0, 0, 0, 31, 32, 33, 34, 35, 36, + 0, 0, 0, 40, 41, 0, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 0, 56, 57, 58, 0, 0, 60 }; static const yytype_int16 yycheck[] = { - 0, 46, 88, 83, 230, 125, 143, 148, 88, 83, - 108, 221, 158, 129, 353, 93, 109, 142, 0, 381, - 123, 0, 142, 104, 105, 93, 94, 130, 114, 123, - 110, 359, 123, 121, 114, 172, 110, 131, 125, 130, - 122, 86, 122, 133, 131, 135, 128, 409, 122, 129, - 191, 144, 380, 131, 131, 129, 202, 125, 139, 140, - 146, 102, 103, 402, 106, 107, 146, 122, 148, 408, - 115, 116, 122, 128, 148, 122, 192, 128, 128, 204, - 131, 128, 123, 83, 204, 122, 127, 122, 88, 315, - 122, 128, 128, 230, 128, 131, 128, 131, 98, 128, - 246, 101, 131, 228, 229, 4, 5, 6, 228, 229, - 110, 191, 192, 250, 114, 128, 98, 191, 192, 98, - 93, 94, 122, 262, 263, 264, 265, 128, 274, 129, - 131, 136, 137, 138, 134, 123, 277, 121, 364, 285, - 125, 367, 93, 289, 93, 94, 146, 125, 148, 130, - 360, 131, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 123, 389, 100, 101, 96, 97, 121, 306, - 307, 130, 128, 129, 258, 259, 143, 122, 315, 125, - 121, 260, 261, 266, 267, 411, 108, 142, 131, 141, - 110, 191, 192, 318, 131, 124, 142, 277, 318, 131, - 121, 129, 121, 277, 121, 121, 121, 130, 126, 123, - 156, 157, 124, 359, 122, 125, 129, 124, 124, 130, - 124, 221, 61, 121, 124, 130, 128, 364, 121, 175, - 367, 122, 126, 130, 380, 124, 131, 374, 122, 17, - 125, 131, 130, 247, 131, 268, 371, 269, 394, 270, - 114, 371, 389, 271, 352, 272, 110, 273, 204, 114, - 5, 407, 195, 235, 400, 319, 408, 294, 380, 354, - 98, -1, -1, -1, 411, -1, -1, 277, 354, -1, - -1, -1, 228, 229, -1, 359, -1, -1, -1, -1, - -1, -1, -1, -1, 294, -1, -1, -1, -1, 385, - -1, -1, -1, -1, -1, 385, 380, -1, -1, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 384, + 0, 40, 94, 135, 150, 115, 0, 111, 115, 134, + 140, 120, 0, 70, 76, 375, 120, 353, 9, 116, + 213, 118, 104, 92, 134, 9, 1, 134, 1, 68, + 76, 77, 164, 87, 88, 106, 140, 347, 374, 224, + 106, 148, 149, 114, 404, 102, 114, 113, 194, 40, + 41, 42, 114, 183, 111, 105, 40, 41, 127, 43, + 167, 111, 108, 120, 105, 104, 111, 51, 122, 123, + 70, 196, 9, 73, 131, 184, 105, 108, 78, 183, + 184, 138, 111, 140, 78, 85, 196, 397, 106, 196, + 78, 130, 224, 403, 240, 113, 69, 106, 223, 76, + 105, 74, 102, 40, 41, 42, 111, 85, 86, 105, + 83, 111, 244, 223, 105, 111, 223, 104, 111, 108, + 120, 114, 268, 105, 309, 125, 183, 184, 106, 111, + 113, 131, 110, 279, 4, 5, 6, 283, 138, 108, + 140, 271, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 354, 137, 111, 137, 105, 114, 271, 300, 301, + 114, 111, 111, 358, 104, 114, 361, 309, 111, 111, + 305, 114, 114, 183, 184, 40, 41, 312, 9, 256, + 257, 258, 259, 76, 77, 305, 76, 77, 305, 384, + 89, 90, 312, 79, 80, 312, 105, 353, 40, 41, + 42, 83, 84, 213, 271, 119, 120, 121, 104, 40, + 41, 406, 43, 44, 111, 112, 358, 125, 374, 361, + 51, 52, 53, 9, 254, 255, 368, 252, 253, 124, + 365, 260, 261, 389, 126, 91, 93, 107, 114, 353, + 114, 104, 384, 104, 346, 365, 402, 114, 365, 104, + 112, 104, 104, 113, 40, 41, 107, 43, 44, 109, + 374, 271, 106, 106, 406, 51, 52, 53, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 288, 108, + 105, 113, 112, 107, 107, 113, 104, 113, 56, 111, + 76, 107, 113, 107, 104, 114, 105, 109, 105, 107, + 17, 114, 108, 114, 241, 262, 265, 263, 113, 264, + 103, 131, 379, 266, 96, 267, 131, 5, 187, 229, + 395, 348, 313, 403, 288, 348, 374, 78, -1, 378, + -1, -1, -1, -1, -1, -1, -1, 347, 348, -1, + -1, -1, -1, 353, 354, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 353, 354, -1, -1, -1, -1, 359, - 360, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 318, -1, -1, -1, -1, -1, -1, -1, - 380, -1, -1, -1, -1, 385, -1, -1, -1, -1, + -1, -1, -1, -1, 374, -1, -1, -1, -1, 379, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 402, -1, -1, -1, -1, -1, 408, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 371, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, - -1, -1, -1, 125, 126, -1, -1, -1, -1, 131, - 132, 133, 134, 135, 3, 4, 5, 6, 7, 8, + -1, -1, -1, -1, -1, -1, -1, 397, -1, -1, + -1, -1, -1, 403, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 39, 40, 41, -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, -1, -1, 102, 103, -1, -1, -1, -1, -1, + 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 121, -1, -1, -1, 125, 126, -1, -1, - -1, -1, 131, 132, 133, 134, 135, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, -1, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, -1, -1, 102, 103, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 121, -1, -1, -1, 125, - -1, -1, -1, -1, -1, 131, 132, 133, 134, 135, + -1, -1, -1, -1, -1, 104, -1, -1, -1, 108, + 109, -1, -1, -1, -1, 114, 115, 116, 117, 118, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, -1, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, -1, -1, 102, - 103, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, - -1, -1, 125, -1, -1, -1, -1, -1, 131, 132, - 133, 134, 135, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, -1, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, -1, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - -1, -1, 102, 103, -1, -1, -1, -1, -1, -1, + 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 131, 132, 133, 134, 135, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 25, 26, + -1, 104, -1, -1, -1, 108, 109, -1, -1, -1, + -1, 114, 115, 116, 117, 118, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 37, 38, 39, 40, 41, -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, -1, -1, 102, 103, -1, -1, -1, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, -1, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3, 4, 5, 6, 121, 8, 9, 10, 11, 12, - 13, -1, -1, -1, 131, 132, 133, 134, 135, -1, - -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, -1, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, -1, -1, 102, - 103, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, 121, 8, - 9, 10, 11, 12, 13, -1, -1, -1, -1, 132, - 133, 134, 135, -1, -1, -1, 25, 26, 27, 28, + -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, + -1, 108, -1, -1, -1, -1, -1, 114, 115, 116, + 117, 118, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, -1, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, -1, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, -1, -1, 85, 86, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 104, -1, -1, -1, 108, -1, -1, + -1, -1, -1, 114, 115, 116, 117, 118, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, -1, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, -1, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, -1, -1, + 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, + 115, 116, 117, 118, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, -1, -1, 10, 11, - 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, + 39, 40, 41, -1, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, -1, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, -1, -1, 85, 86, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3, 4, 5, 6, 104, 8, 9, 10, 11, + 12, 13, -1, -1, -1, 114, 115, 116, 117, 118, -1, -1, -1, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, - -1, -1, 131, 45, 46, 47, 48, 49, 50, -1, - -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, - -1, -1, 124, 10, 11, 12, 13, -1, -1, -1, - 132, 133, 134, 135, -1, -1, -1, -1, 25, 26, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, -1, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, -1, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, -1, -1, 85, 86, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 4, 5, 6, + -1, -1, 104, 10, 11, 12, 13, -1, -1, -1, + -1, -1, -1, 115, 116, 117, 118, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, 45, 46, - 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, - -1, -1, 59, 60, -1, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, 99, -1, -1, 102, 103, -1, -1, -1, + 47, 48, 49, 50, -1, -1, -1, 54, 55, -1, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, -1, 72, 73, 74, -1, 76, + 77, -1, -1, 10, 11, 12, 13, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, -1, -1, -1, -1, 114, 45, 46, + 47, 48, 49, 50, -1, -1, -1, 54, 55, -1, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, -1, 72, 73, 74, -1, 76, + 77, 78, 79, 80, 81, 82, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 121, -1, -1, 124, 10, 11, - 12, 13, -1, -1, -1, 132, 133, 134, 135, -1, - -1, -1, -1, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, - -1, -1, -1, 45, 46, 47, 48, 49, 50, -1, - -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, - 10, 11, 12, 13, -1, -1, -1, -1, -1, 131, - 132, 133, 134, 135, -1, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - -1, -1, -1, -1, -1, 45, 46, 47, 48, 49, - 50, -1, -1, -1, -1, -1, -1, -1, -1, 59, - 60, -1, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, -1, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, 99, - -1, -1, 102, 103, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, + 107, 10, 11, 12, 13, -1, -1, -1, 115, 116, + 117, 118, -1, -1, -1, -1, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, -1, -1, -1, -1, -1, 45, 46, 47, 48, + 49, 50, -1, -1, -1, 54, 55, -1, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, -1, 72, 73, 74, -1, 76, 77, 78, + 79, 80, 81, 82, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 121, -1, -1, 124, 10, 11, 12, 13, -1, - -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 60, -1, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, 99, -1, -1, 102, 103, -1, + -1, -1, -1, -1, -1, 104, -1, -1, 107, 10, + 11, 12, 13, -1, -1, -1, 115, 116, 117, 118, + -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, + -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, + -1, -1, -1, 54, 55, -1, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + -1, 72, 73, 74, -1, 76, 77, 78, 79, 80, + 81, 82, -1, -1, 85, 86, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 104, 10, 11, 12, 13, -1, -1, + -1, -1, -1, 114, 115, 116, 117, 118, -1, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, -1, -1, -1, -1, -1, 45, + 46, 47, 48, 49, 50, -1, -1, -1, 54, 55, + -1, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, -1, 72, 73, 74, -1, + 76, 77, 78, 79, 80, 81, 82, -1, -1, 85, + 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, + -1, 107, 10, 11, 12, 13, -1, -1, -1, 115, + 116, 117, 118, -1, -1, -1, -1, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, -1, -1, -1, -1, -1, 45, 46, 47, + 48, 49, 50, -1, -1, -1, 54, 55, -1, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, -1, 72, 73, 74, -1, 76, 77, + 78, 79, 80, 81, 82, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 121, 10, 11, 12, - 13, -1, -1, -1, -1, -1, -1, 132, 133, 134, - 135, -1, 25, 26, 27, 28, 29, 30, 31, 32, + -1, -1, -1, -1, -1, -1, 104, 10, 11, 12, + 13, -1, -1, -1, -1, -1, -1, 115, 116, 117, + 118, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, -1, -1, - -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, -1, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, 99, -1, -1, 102, - 103, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, 121, 8, - 9, 10, 11, 12, 13, -1, -1, -1, -1, 132, - 133, 134, 135, -1, -1, -1, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, -1, 94, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, - -1, 8, 9, 10, 11, 12, 13, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 126, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, -1, 94, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, - 5, 6, -1, 8, 9, 10, 11, 12, 13, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 126, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, -1, 94, - -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 126, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, -1, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 94, 3, 4, 5, 6, 7, 8, 9, 10, + -1, 54, 55, -1, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, + 73, 74, -1, 76, 77, 78, 79, 80, 81, 82, + -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, + 6, 104, 8, 9, 10, 11, 12, 13, -1, -1, + -1, -1, 115, 116, 117, 118, -1, -1, -1, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + -1, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, -1, 72, 73, 74, 75, + -1, 77, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, -1, 8, 9, 10, + 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 109, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, -1, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + -1, 72, 73, 74, 75, -1, 77, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, + 6, -1, 8, 9, 10, 11, 12, 13, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 109, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + -1, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, -1, 72, 73, 74, 75, + -1, 77, -1, -1, -1, -1, -1, -1, -1, 0, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 109, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, -1, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + -1, 72, 73, 74, 75, -1, 77, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + -1, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, -1, 72, 73, 74, 75, + -1, 77, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - -1, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, -1, 94, 3, 4, 5, 6, -1, 8, - 9, 10, 11, 12, 13, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, -1, 94, 10, 11, 12, 13, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, -1, -1, -1, -1, - -1, 45, 46, 47, 48, 49, 50, -1, -1, -1, - -1, -1, -1, -1, -1, 59, 60, -1, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, -1, 93, - 94, 10, 11, 12, 13, 99, -1, -1, -1, -1, + 41, -1, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + -1, 72, 73, 74, 75, -1, 77, 4, 5, 6, + -1, -1, -1, 10, 11, 12, 13, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, -1, -1, -1, -1, -1, 45, 46, + 47, 48, 49, 50, -1, -1, -1, 54, 55, -1, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, -1, 72, 73, 74, -1, -1, + 77, 10, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, 45, 46, 47, 48, - 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, - 59, 60, -1, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, -1, -1, 94 + 49, 50, -1, -1, -1, 54, 55, -1, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, -1, 72, 73, 74, -1, 76, 77, 10, + 11, 12, 13, 82, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, + -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, + -1, -1, -1, 54, 55, -1, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + -1, 72, 73, 74, -1, -1, 77 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1580,81 +1484,79 @@ static const yytype_uint8 yystos[] = { 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 94, 177, - 178, 179, 180, 181, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 198, 199, 200, 235, 236, - 237, 194, 93, 94, 125, 146, 121, 131, 238, 122, - 128, 182, 183, 184, 189, 193, 128, 131, 93, 146, - 93, 131, 176, 191, 193, 123, 0, 236, 198, 202, - 125, 93, 196, 197, 125, 218, 183, 182, 184, 146, - 146, 121, 123, 130, 125, 131, 189, 193, 203, 204, - 93, 95, 96, 97, 98, 99, 102, 103, 121, 124, - 132, 133, 134, 135, 147, 148, 149, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 175, 198, - 131, 203, 201, 130, 122, 128, 14, 15, 16, 18, - 19, 20, 21, 22, 23, 24, 61, 125, 126, 131, - 158, 171, 172, 174, 177, 178, 198, 208, 209, 210, - 211, 219, 220, 221, 223, 225, 227, 234, 123, 123, - 130, 124, 175, 172, 207, 193, 146, 205, 206, 126, - 204, 158, 158, 174, 102, 103, 123, 127, 122, 122, - 128, 60, 172, 121, 158, 136, 137, 138, 133, 135, - 100, 101, 104, 105, 139, 140, 106, 107, 143, 142, - 141, 108, 110, 109, 144, 124, 126, 203, 96, 97, - 197, 131, 131, 229, 121, 121, 131, 131, 174, 121, - 175, 129, 121, 126, 212, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 130, 173, 128, 131, 126, - 209, 175, 124, 175, 207, 130, 124, 205, 123, 128, - 131, 93, 131, 122, 150, 174, 93, 99, 153, 172, - 158, 158, 158, 160, 160, 161, 161, 162, 162, 162, - 162, 163, 163, 164, 165, 166, 167, 168, 169, 174, - 126, 215, 216, 217, 230, 174, 131, 174, 129, 228, - 219, 172, 172, 124, 130, 124, 207, 130, 131, 175, - 206, 123, 131, 124, 129, 61, 218, 210, 208, 220, - 231, 122, 122, 174, 187, 189, 226, 213, 207, 130, - 207, 124, 175, 172, 121, 226, 232, 233, 215, 222, - 224, 146, 122, 126, 207, 124, 174, 131, 122, 17, - 211, 130, 210, 214, 218, 131, 122, 174, 214, 215, - 207, 131 + 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, + 77, 160, 161, 162, 163, 164, 169, 170, 171, 172, + 174, 175, 176, 177, 178, 181, 182, 183, 218, 219, + 220, 44, 76, 172, 175, 177, 40, 41, 76, 77, + 108, 129, 104, 114, 221, 105, 111, 9, 40, 41, + 42, 166, 167, 173, 111, 114, 76, 129, 175, 76, + 114, 159, 176, 181, 175, 106, 0, 219, 175, 181, + 185, 108, 76, 179, 180, 108, 201, 166, 165, 168, + 176, 167, 129, 104, 106, 113, 108, 3, 174, 176, + 186, 187, 76, 78, 79, 80, 81, 82, 85, 86, + 104, 107, 115, 116, 117, 118, 130, 131, 132, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 158, 181, 114, 186, 184, 113, 105, 111, 14, 15, + 16, 18, 19, 20, 21, 22, 23, 24, 56, 108, + 109, 114, 141, 154, 155, 157, 160, 161, 181, 191, + 192, 193, 194, 202, 203, 204, 206, 208, 210, 217, + 129, 165, 168, 106, 113, 107, 158, 155, 190, 176, + 129, 188, 189, 109, 187, 141, 141, 157, 85, 86, + 106, 110, 105, 105, 111, 55, 155, 104, 141, 119, + 120, 121, 116, 118, 83, 84, 87, 88, 122, 123, + 89, 90, 126, 125, 124, 91, 93, 92, 127, 107, + 109, 186, 79, 80, 180, 114, 114, 212, 104, 104, + 114, 114, 157, 104, 158, 112, 104, 109, 195, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 113, + 156, 111, 114, 109, 192, 106, 107, 158, 190, 113, + 107, 188, 106, 111, 114, 76, 114, 105, 133, 157, + 76, 82, 136, 155, 141, 141, 141, 143, 143, 144, + 144, 145, 145, 145, 145, 146, 146, 147, 148, 149, + 150, 151, 152, 157, 109, 198, 199, 200, 213, 157, + 114, 157, 112, 211, 202, 155, 155, 158, 113, 107, + 190, 113, 114, 158, 189, 106, 114, 107, 112, 56, + 201, 193, 191, 203, 214, 105, 105, 157, 171, 174, + 209, 196, 107, 190, 113, 190, 107, 158, 155, 104, + 209, 215, 216, 198, 205, 207, 129, 105, 109, 190, + 107, 157, 114, 105, 17, 194, 113, 193, 197, 201, + 114, 105, 157, 197, 198, 190, 114 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 145, 146, 146, 147, 148, 148, 148, 148, 148, - 148, 149, 149, 149, 149, 149, 149, 150, 151, 152, - 152, 153, 153, 154, 154, 155, 155, 156, 157, 157, - 157, 158, 158, 158, 158, 159, 159, 159, 159, 160, - 160, 160, 160, 161, 161, 161, 162, 162, 162, 163, - 163, 163, 163, 163, 164, 164, 164, 165, 165, 166, - 166, 167, 167, 168, 168, 169, 169, 170, 170, 171, - 171, 172, 172, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 174, 174, 175, 176, 177, 177, - 177, 177, 177, 177, 177, 177, 178, 179, 179, 180, - 180, 181, 182, 182, 183, 183, 183, 183, 184, 185, - 185, 185, 185, 185, 185, 186, 186, 186, 186, 186, - 186, 187, 187, 188, 188, 189, 189, 190, 191, 191, - 191, 191, 191, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 193, 194, 194, 194, - 195, 196, 196, 197, 197, 197, 198, 198, 198, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 201, 200, 202, 200, - 203, 203, 204, 204, 205, 205, 206, 206, 207, 208, - 209, 209, 210, 210, 210, 210, 210, 210, 210, 211, - 212, 213, 211, 214, 214, 216, 215, 217, 215, 218, - 218, 219, 219, 220, 220, 221, 222, 222, 224, 223, - 225, 225, 226, 226, 228, 227, 229, 227, 230, 227, - 231, 231, 232, 232, 233, 233, 234, 234, 234, 234, - 234, 235, 235, 236, 236, 238, 237 + 0, 128, 129, 129, 130, 131, 131, 131, 131, 131, + 131, 132, 132, 132, 132, 132, 132, 133, 134, 135, + 135, 136, 136, 137, 137, 138, 138, 139, 140, 140, + 140, 141, 141, 141, 141, 142, 142, 142, 142, 143, + 143, 143, 143, 144, 144, 144, 145, 145, 145, 146, + 146, 146, 146, 146, 147, 147, 147, 148, 148, 149, + 149, 150, 150, 151, 151, 152, 152, 153, 153, 154, + 154, 155, 155, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 157, 157, 158, 159, 160, 160, + 160, 160, 160, 160, 160, 161, 162, 162, 163, 163, + 164, 165, 165, 166, 166, 166, 166, 167, 167, 167, + 167, 168, 169, 169, 169, 169, 169, 169, 170, 170, + 170, 170, 170, 170, 170, 171, 171, 172, 172, 173, + 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 175, 175, 175, 175, 175, 175, 176, 176, 177, 177, + 177, 178, 179, 179, 180, 180, 180, 181, 181, 181, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 184, 183, 185, 183, 186, + 186, 187, 187, 188, 188, 189, 189, 190, 191, 192, + 192, 193, 193, 193, 193, 193, 193, 193, 194, 195, + 196, 194, 197, 197, 199, 198, 200, 198, 201, 201, + 202, 202, 203, 203, 204, 205, 205, 207, 206, 208, + 208, 209, 209, 211, 210, 212, 210, 213, 210, 214, + 214, 215, 215, 216, 216, 217, 217, 217, 217, 217, + 218, 218, 219, 219, 221, 220 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1669,26 +1571,25 @@ static const yytype_uint8 yyr2[] = 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 2, 2, - 4, 5, 6, 9, 2, 3, 2, 1, 1, 2, - 3, 3, 2, 5, 2, 1, 2, 1, 1, 1, - 3, 6, 7, 8, 5, 1, 2, 5, 6, 7, - 4, 1, 2, 1, 1, 1, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 4, 1, 3, 1, 3, 3, 1, 3, 4, 1, + 4, 5, 6, 9, 2, 2, 1, 1, 2, 3, + 3, 2, 5, 3, 2, 3, 2, 0, 1, 1, + 1, 1, 1, 3, 6, 7, 8, 5, 1, 2, + 5, 6, 7, 4, 2, 1, 2, 1, 1, 1, + 1, 1, 2, 1, 2, 1, 1, 2, 2, 3, + 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, + 1, 4, 1, 3, 1, 3, 3, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 6, 0, 5, - 1, 2, 3, 4, 1, 3, 1, 4, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 0, 0, 5, 1, 1, 0, 2, 0, 2, 2, - 3, 1, 2, 1, 2, 5, 3, 1, 0, 6, - 3, 2, 1, 4, 0, 6, 0, 8, 0, 7, - 1, 1, 1, 0, 2, 3, 2, 2, 2, 3, - 2, 1, 2, 1, 1, 0, 3 + 1, 1, 1, 1, 1, 0, 6, 0, 5, 1, + 2, 3, 4, 1, 3, 1, 4, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, + 0, 5, 1, 1, 0, 2, 0, 2, 2, 3, + 1, 2, 1, 2, 5, 3, 1, 0, 6, 3, + 2, 1, 4, 0, 6, 0, 8, 0, 7, 1, + 1, 1, 0, 2, 3, 2, 2, 2, 3, 2, + 1, 2, 1, 1, 0, 3 }; @@ -2664,7 +2565,7 @@ yyreduce: const TType *type = new TType((yyvsp[0].interm.intermTypedNode)->getType()); (yyvsp[-1].interm.function)->addParameter(TConstParameter(type)); (yyval.interm).function = (yyvsp[-1].interm.function); - (yyval.interm).nodePair.node1 = TIntermediate::MakeAggregate((yyvsp[0].interm.intermTypedNode), (yylsp[0])); + (yyval.interm).nodePair.node1 = context->intermediate.makeAggregate((yyvsp[0].interm.intermTypedNode), (yylsp[0])); } break; @@ -3165,7 +3066,10 @@ yyreduce: case 89: { - (yyval.interm.intermNode) = (yyvsp[-1].interm).intermDeclaration; + TIntermAggregate *aggNode = (yyvsp[-1].interm).intermAggregate; + if (aggNode && aggNode->getOp() == EOpNull) + aggNode->setOp(EOpDeclaration); + (yyval.interm.intermNode) = aggNode; } break; @@ -3177,7 +3081,7 @@ yyreduce: context->error((yylsp[-3]), "precision is not supported in fragment shader", "highp"); } if (!context->symbolTable.setDefaultPrecision( (yyvsp[-1].interm.type), (yyvsp[-2].interm.precision) )) { - context->error((yylsp[-3]), "illegal type argument for default precision qualifier", getBasicString((yyvsp[-1].interm.type).getBasicType())); + context->error((yylsp[-3]), "illegal type argument for default precision qualifier", getBasicString((yyvsp[-1].interm.type).type)); } (yyval.interm.intermNode) = 0; } @@ -3187,8 +3091,8 @@ yyreduce: case 91: { - ES3_OR_NEWER((yyvsp[-3].lex).string->c_str(), (yylsp[-4]), "interface blocks"); - (yyval.interm.intermNode) = context->addInterfaceBlock(*(yyvsp[-4].interm.typeQualifierBuilder), (yylsp[-3]), *(yyvsp[-3].lex).string, (yyvsp[-2].interm.fieldList), NULL, (yyloc), NULL, (yyloc)); + ES3_OR_NEWER(getQualifierString((yyvsp[-4].interm.type).qualifier), (yylsp[-4]), "interface blocks"); + (yyval.interm.intermNode) = context->addInterfaceBlock((yyvsp[-4].interm.type), (yylsp[-3]), *(yyvsp[-3].lex).string, (yyvsp[-2].interm.fieldList), NULL, (yyloc), NULL, (yyloc)); } break; @@ -3196,8 +3100,8 @@ yyreduce: case 92: { - ES3_OR_NEWER((yyvsp[-4].lex).string->c_str(), (yylsp[-5]), "interface blocks"); - (yyval.interm.intermNode) = context->addInterfaceBlock(*(yyvsp[-5].interm.typeQualifierBuilder), (yylsp[-4]), *(yyvsp[-4].lex).string, (yyvsp[-3].interm.fieldList), (yyvsp[-1].lex).string, (yylsp[-1]), NULL, (yyloc)); + ES3_OR_NEWER(getQualifierString((yyvsp[-5].interm.type).qualifier), (yylsp[-5]), "interface blocks"); + (yyval.interm.intermNode) = context->addInterfaceBlock((yyvsp[-5].interm.type), (yylsp[-4]), *(yyvsp[-4].lex).string, (yyvsp[-3].interm.fieldList), (yyvsp[-1].lex).string, (yylsp[-1]), NULL, (yyloc)); } break; @@ -3205,8 +3109,8 @@ yyreduce: case 93: { - ES3_OR_NEWER((yyvsp[-7].lex).string->c_str(), (yylsp[-8]), "interface blocks"); - (yyval.interm.intermNode) = context->addInterfaceBlock(*(yyvsp[-8].interm.typeQualifierBuilder), (yylsp[-7]), *(yyvsp[-7].lex).string, (yyvsp[-6].interm.fieldList), (yyvsp[-4].lex).string, (yylsp[-4]), (yyvsp[-2].interm.intermTypedNode), (yylsp[-3])); + ES3_OR_NEWER(getQualifierString((yyvsp[-8].interm.type).qualifier), (yylsp[-8]), "interface blocks"); + (yyval.interm.intermNode) = context->addInterfaceBlock((yyvsp[-8].interm.type), (yylsp[-7]), *(yyvsp[-7].lex).string, (yyvsp[-6].interm.fieldList), (yyvsp[-4].lex).string, (yylsp[-4]), (yyvsp[-2].interm.intermTypedNode), (yylsp[-3])); } break; @@ -3214,7 +3118,7 @@ yyreduce: case 94: { - context->parseGlobalLayoutQualifier(*(yyvsp[-1].interm.typeQualifierBuilder)); + context->parseGlobalLayoutQualifier((yyvsp[-1].interm.type)); (yyval.interm.intermNode) = 0; } @@ -3223,7 +3127,7 @@ yyreduce: case 95: { - (yyval.interm.intermNode) = context->parseInvariantDeclaration(*(yyvsp[-2].interm.typeQualifierBuilder), (yylsp[-1]), (yyvsp[-1].lex).string, (yyvsp[-1].lex).symbol); + (yyval.interm).function = context->parseFunctionDeclarator((yylsp[0]), (yyvsp[-1].interm.function)); } break; @@ -3231,8 +3135,7 @@ yyreduce: case 96: { - (yyval.interm).function = context->parseFunctionDeclarator((yylsp[0]), (yyvsp[-1].interm.function)); - context->exitFunctionDeclaration(); + (yyval.interm.function) = (yyvsp[0].interm.function); } break; @@ -3247,14 +3150,6 @@ yyreduce: case 98: - { - (yyval.interm.function) = (yyvsp[0].interm.function); - } - - break; - - case 99: - { // Add the parameter (yyval.interm.function) = (yyvsp[-1].interm.function); @@ -3266,7 +3161,7 @@ yyreduce: break; - case 100: + case 99: { // @@ -3288,21 +3183,20 @@ yyreduce: break; - case 101: + case 100: { (yyval.interm.function) = context->parseFunctionHeader((yyvsp[-2].interm.type), (yyvsp[-1].lex).string, (yylsp[-1])); context->symbolTable.push(); - context->enterFunctionDeclaration(); } break; - case 102: + case 101: { - if ((yyvsp[-1].interm.type).getBasicType() == EbtVoid) { + if ((yyvsp[-1].interm.type).type == EbtVoid) { context->error((yylsp[0]), "illegal use of type 'void'", (yyvsp[0].lex).string->c_str()); } context->checkIsNotReserved((yylsp[0]), *(yyvsp[0].lex).string); @@ -3312,7 +3206,7 @@ yyreduce: break; - case 103: + case 102: { // Check that we can make an array out of this type @@ -3331,11 +3225,21 @@ yyreduce: break; + case 103: + + { + (yyval.interm) = (yyvsp[0].interm); + context->checkIsParameterQualifierValid((yylsp[0]), (yyvsp[-2].interm.qualifier), (yyvsp[-1].interm.qualifier), (yyval.interm).param.type); + } + + break; + case 104: { (yyval.interm) = (yyvsp[0].interm); - context->checkIsParameterQualifierValid((yylsp[0]), *(yyvsp[-1].interm.typeQualifierBuilder), (yyvsp[0].interm).param.type); + context->checkOutParameterIsNotSampler((yylsp[0]), (yyvsp[-1].interm.qualifier), *(yyvsp[0].interm).param.type); + context->checkIsParameterQualifierValid((yylsp[0]), EvqTemporary, (yyvsp[-1].interm.qualifier), (yyval.interm).param.type); } break; @@ -3344,7 +3248,7 @@ yyreduce: { (yyval.interm) = (yyvsp[0].interm); - (yyval.interm).param.type->setQualifier(EvqIn); + context->checkIsParameterQualifierValid((yylsp[0]), (yyvsp[-2].interm.qualifier), (yyvsp[-1].interm.qualifier), (yyval.interm).param.type); } break; @@ -3353,7 +3257,8 @@ yyreduce: { (yyval.interm) = (yyvsp[0].interm); - context->checkIsParameterQualifierValid((yylsp[0]), *(yyvsp[-1].interm.typeQualifierBuilder), (yyvsp[0].interm).param.type); + context->checkOutParameterIsNotSampler((yylsp[0]), (yyvsp[-1].interm.qualifier), *(yyvsp[0].interm).param.type); + context->checkIsParameterQualifierValid((yylsp[0]), EvqTemporary, (yyvsp[-1].interm.qualifier), (yyval.interm).param.type); } break; @@ -3361,8 +3266,7 @@ yyreduce: case 107: { - (yyval.interm) = (yyvsp[0].interm); - (yyval.interm).param.type->setQualifier(EvqIn); + (yyval.interm.qualifier) = EvqIn; } break; @@ -3370,8 +3274,7 @@ yyreduce: case 108: { - TParameter param = { 0, new TType((yyvsp[0].interm.type)) }; - (yyval.interm).param = param; + (yyval.interm.qualifier) = EvqIn; } break; @@ -3379,7 +3282,7 @@ yyreduce: case 109: { - (yyval.interm) = (yyvsp[0].interm); + (yyval.interm.qualifier) = EvqOut; } break; @@ -3387,8 +3290,7 @@ yyreduce: case 110: { - (yyval.interm) = (yyvsp[-2].interm); - context->parseDeclarator((yyval.interm).type, (yylsp[0]), *(yyvsp[0].lex).string, (yyval.interm).intermDeclaration); + (yyval.interm.qualifier) = EvqInOut; } break; @@ -3396,8 +3298,8 @@ yyreduce: case 111: { - (yyval.interm) = (yyvsp[-5].interm); - context->parseArrayDeclarator((yyval.interm).type, (yylsp[-3]), *(yyvsp[-3].lex).string, (yylsp[-2]), (yyvsp[-1].interm.intermTypedNode), (yyval.interm).intermDeclaration); + TParameter param = { 0, new TType((yyvsp[0].interm.type)) }; + (yyval.interm).param = param; } break; @@ -3405,9 +3307,7 @@ yyreduce: case 112: { - ES3_OR_NEWER("[]", (yylsp[-4]), "implicitly sized array"); - (yyval.interm) = (yyvsp[-6].interm); - context->parseArrayInitDeclarator((yyval.interm).type, (yylsp[-4]), *(yyvsp[-4].lex).string, (yylsp[-3]), nullptr, (yylsp[-1]), (yyvsp[0].interm.intermTypedNode), (yyval.interm).intermDeclaration); + (yyval.interm) = (yyvsp[0].interm); } break; @@ -3415,9 +3315,8 @@ yyreduce: case 113: { - ES3_OR_NEWER("=", (yylsp[-1]), "first-class arrays (array initializer)"); - (yyval.interm) = (yyvsp[-7].interm); - context->parseArrayInitDeclarator((yyval.interm).type, (yylsp[-5]), *(yyvsp[-5].lex).string, (yylsp[-4]), (yyvsp[-3].interm.intermTypedNode), (yylsp[-1]), (yyvsp[0].interm.intermTypedNode), (yyval.interm).intermDeclaration); + (yyval.interm) = (yyvsp[-2].interm); + (yyval.interm).intermAggregate = context->parseDeclarator((yyval.interm).type, (yyvsp[-2].interm).intermAggregate, (yylsp[0]), *(yyvsp[0].lex).string); } break; @@ -3425,8 +3324,8 @@ yyreduce: case 114: { - (yyval.interm) = (yyvsp[-4].interm); - context->parseInitDeclarator((yyval.interm).type, (yylsp[-2]), *(yyvsp[-2].lex).string, (yylsp[-1]), (yyvsp[0].interm.intermTypedNode), (yyval.interm).intermDeclaration); + (yyval.interm) = (yyvsp[-5].interm); + (yyval.interm).intermAggregate = context->parseArrayDeclarator((yyval.interm).type, (yyvsp[-5].interm).intermAggregate, (yylsp[-3]), *(yyvsp[-3].lex).string, (yylsp[-2]), (yyvsp[-1].interm.intermTypedNode)); } break; @@ -3434,8 +3333,9 @@ yyreduce: case 115: { - (yyval.interm).type = (yyvsp[0].interm.type); - (yyval.interm).intermDeclaration = context->parseSingleDeclaration((yyval.interm).type, (yylsp[0]), ""); + ES3_OR_NEWER("[]", (yylsp[-4]), "implicitly sized array"); + (yyval.interm) = (yyvsp[-6].interm); + (yyval.interm).intermAggregate = context->parseArrayInitDeclarator((yyval.interm).type, (yyvsp[-6].interm).intermAggregate, (yylsp[-4]), *(yyvsp[-4].lex).string, (yylsp[-3]), nullptr, (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); } break; @@ -3443,8 +3343,9 @@ yyreduce: case 116: { - (yyval.interm).type = (yyvsp[-1].interm.type); - (yyval.interm).intermDeclaration = context->parseSingleDeclaration((yyval.interm).type, (yylsp[0]), *(yyvsp[0].lex).string); + ES3_OR_NEWER("=", (yylsp[-1]), "first-class arrays (array initializer)"); + (yyval.interm) = (yyvsp[-7].interm); + (yyval.interm).intermAggregate = context->parseArrayInitDeclarator((yyval.interm).type, (yyvsp[-7].interm).intermAggregate, (yylsp[-5]), *(yyvsp[-5].lex).string, (yylsp[-4]), (yyvsp[-3].interm.intermTypedNode), (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); } break; @@ -3452,8 +3353,8 @@ yyreduce: case 117: { - (yyval.interm).type = (yyvsp[-4].interm.type); - (yyval.interm).intermDeclaration = context->parseSingleArrayDeclaration((yyval.interm).type, (yylsp[-3]), *(yyvsp[-3].lex).string, (yylsp[-2]), (yyvsp[-1].interm.intermTypedNode)); + (yyval.interm) = (yyvsp[-4].interm); + (yyval.interm).intermAggregate = context->parseInitDeclarator((yyval.interm).type, (yyvsp[-4].interm).intermAggregate, (yylsp[-2]), *(yyvsp[-2].lex).string, (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); } break; @@ -3461,9 +3362,8 @@ yyreduce: case 118: { - ES3_OR_NEWER("[]", (yylsp[-3]), "implicitly sized array"); - (yyval.interm).type = (yyvsp[-5].interm.type); - (yyval.interm).intermDeclaration = context->parseSingleArrayInitDeclaration((yyval.interm).type, (yylsp[-4]), *(yyvsp[-4].lex).string, (yylsp[-3]), nullptr, (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); + (yyval.interm).type = (yyvsp[0].interm.type); + (yyval.interm).intermAggregate = context->parseSingleDeclaration((yyval.interm).type, (yylsp[0]), ""); } break; @@ -3471,9 +3371,8 @@ yyreduce: case 119: { - ES3_OR_NEWER("=", (yylsp[-1]), "first-class arrays (array initializer)"); - (yyval.interm).type = (yyvsp[-6].interm.type); - (yyval.interm).intermDeclaration = context->parseSingleArrayInitDeclaration((yyval.interm).type, (yylsp[-5]), *(yyvsp[-5].lex).string, (yylsp[-4]), (yyvsp[-3].interm.intermTypedNode), (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); + (yyval.interm).type = (yyvsp[-1].interm.type); + (yyval.interm).intermAggregate = context->parseSingleDeclaration((yyval.interm).type, (yylsp[0]), *(yyvsp[0].lex).string); } break; @@ -3481,8 +3380,8 @@ yyreduce: case 120: { - (yyval.interm).type = (yyvsp[-3].interm.type); - (yyval.interm).intermDeclaration = context->parseSingleInitDeclaration((yyval.interm).type, (yylsp[-2]), *(yyvsp[-2].lex).string, (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); + (yyval.interm).type = (yyvsp[-4].interm.type); + (yyval.interm).intermAggregate = context->parseSingleArrayDeclaration((yyval.interm).type, (yylsp[-3]), *(yyvsp[-3].lex).string, (yylsp[-2]), (yyvsp[-1].interm.intermTypedNode)); } break; @@ -3490,8 +3389,9 @@ yyreduce: case 121: { - context->addFullySpecifiedType(&(yyvsp[0].interm.type)); - (yyval.interm.type) = (yyvsp[0].interm.type); + ES3_OR_NEWER("[]", (yylsp[-3]), "implicitly sized array"); + (yyval.interm).type = (yyvsp[-5].interm.type); + (yyval.interm).intermAggregate = context->parseSingleArrayInitDeclaration((yyval.interm).type, (yylsp[-4]), *(yyvsp[-4].lex).string, (yylsp[-3]), nullptr, (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); } break; @@ -3499,7 +3399,9 @@ yyreduce: case 122: { - (yyval.interm.type) = context->addFullySpecifiedType(*(yyvsp[-1].interm.typeQualifierBuilder), (yyvsp[0].interm.type)); + ES3_OR_NEWER("=", (yylsp[-1]), "first-class arrays (array initializer)"); + (yyval.interm).type = (yyvsp[-6].interm.type); + (yyval.interm).intermAggregate = context->parseSingleArrayInitDeclaration((yyval.interm).type, (yylsp[-5]), *(yyvsp[-5].lex).string, (yylsp[-4]), (yyvsp[-3].interm.intermTypedNode), (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); } break; @@ -3507,7 +3409,8 @@ yyreduce: case 123: { - (yyval.interm.qualifier) = EvqSmooth; + (yyval.interm).type = (yyvsp[-3].interm.type); + (yyval.interm).intermAggregate = context->parseSingleInitDeclaration((yyval.interm).type, (yylsp[-2]), *(yyvsp[-2].lex).string, (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); } break; @@ -3515,7 +3418,8 @@ yyreduce: case 124: { - (yyval.interm.qualifier) = EvqFlat; + // $$.type is not used in invariant declarations. + (yyval.interm).intermAggregate = context->parseInvariantDeclaration((yylsp[-1]), (yylsp[0]), (yyvsp[0].lex).string, (yyvsp[0].lex).symbol); } break; @@ -3523,8 +3427,14 @@ yyreduce: case 125: { - (yyval.interm.typeQualifierBuilder) = context->createTypeQualifierBuilder((yylsp[0])); - (yyval.interm.typeQualifierBuilder)->appendQualifier((yyvsp[0].interm.qualifierWrapper)); + (yyval.interm.type) = (yyvsp[0].interm.type); + + if ((yyvsp[0].interm.type).array) { + ES3_OR_NEWER("[]", (yylsp[0]), "first-class-array"); + if (context->getShaderVersion() != 300) { + (yyvsp[0].interm.type).clearArrayness(); + } + } } break; @@ -3532,8 +3442,7 @@ yyreduce: case 126: { - (yyval.interm.typeQualifierBuilder) = (yyvsp[-1].interm.typeQualifierBuilder); - (yyval.interm.typeQualifierBuilder)->appendQualifier((yyvsp[0].interm.qualifierWrapper)); + (yyval.interm.type) = context->addFullySpecifiedType((yyvsp[-1].interm.type).qualifier, (yyvsp[-1].interm.type).invariant, (yyvsp[-1].interm.type).layoutQualifier, (yyvsp[0].interm.type)); } break; @@ -3541,7 +3450,7 @@ yyreduce: case 127: { - // empty + (yyval.interm.type).qualifier = EvqSmooth; } break; @@ -3549,8 +3458,7 @@ yyreduce: case 128: { - context->checkLocalVariableConstStorageQualifier(*(yyvsp[0].interm.qualifierWrapper)); - (yyval.interm.qualifierWrapper) = (yyvsp[0].interm.qualifierWrapper); + (yyval.interm.type).qualifier = EvqFlat; } break; @@ -3558,8 +3466,7 @@ yyreduce: case 129: { - context->checkIsAtGlobalLevel((yylsp[0]), "layout"); - (yyval.interm.qualifierWrapper) = new TLayoutQualifierWrapper((yyvsp[0].interm.layoutQualifier), (yylsp[0])); + (yyval.interm.qualifier) = EvqConst; } break; @@ -3567,7 +3474,10 @@ yyreduce: case 130: { - (yyval.interm.qualifierWrapper) = new TPrecisionQualifierWrapper((yyvsp[0].interm.precision), (yylsp[0])); + VERTEX_ONLY("attribute", (yylsp[0])); + ES2_ONLY("attribute", (yylsp[0])); + context->checkIsAtGlobalLevel((yylsp[0]), "attribute"); + (yyval.interm.type).setBasic(EbtVoid, EvqAttribute, (yylsp[0])); } break; @@ -3575,7 +3485,12 @@ yyreduce: case 131: { - (yyval.interm.qualifierWrapper) = new TInterpolationQualifierWrapper((yyvsp[0].interm.qualifier), (yylsp[0])); + ES2_ONLY("varying", (yylsp[0])); + context->checkIsAtGlobalLevel((yylsp[0]), "varying"); + if (context->getShaderType() == GL_VERTEX_SHADER) + (yyval.interm.type).setBasic(EbtVoid, EvqVaryingOut, (yylsp[0])); + else + (yyval.interm.type).setBasic(EbtVoid, EvqVaryingIn, (yylsp[0])); } break; @@ -3583,8 +3498,13 @@ yyreduce: case 132: { - context->checkIsAtGlobalLevel((yylsp[0]), "invariant"); - (yyval.interm.qualifierWrapper) = new TInvariantQualifierWrapper((yylsp[0])); + ES2_ONLY("varying", (yylsp[-1])); + context->checkIsAtGlobalLevel((yylsp[-1]), "invariant varying"); + if (context->getShaderType() == GL_VERTEX_SHADER) + (yyval.interm.type).setBasic(EbtVoid, EvqVaryingOut, (yylsp[-1])); + else + (yyval.interm.type).setBasic(EbtVoid, EvqVaryingIn, (yylsp[-1])); + (yyval.interm.type).invariant = true; } break; @@ -3592,10 +3512,11 @@ yyreduce: case 133: { - VERTEX_ONLY("attribute", (yylsp[0])); - ES2_ONLY("attribute", (yylsp[0])); - context->checkIsAtGlobalLevel((yylsp[0]), "attribute"); - (yyval.interm.qualifierWrapper) = new TStorageQualifierWrapper(EvqAttribute, (yylsp[0])); + if ((yyvsp[0].interm.type).qualifier != EvqConst && !context->symbolTable.atGlobalLevel()) + { + context->error((yylsp[0]), "Local variables can only use the const storage qualifier.", getQualifierString((yyvsp[0].interm.type).qualifier)); + } + (yyval.interm.type).setBasic(EbtVoid, (yyvsp[0].interm.type).qualifier, (yylsp[0])); } break; @@ -3603,12 +3524,7 @@ yyreduce: case 134: { - ES2_ONLY("varying", (yylsp[0])); - context->checkIsAtGlobalLevel((yylsp[0]), "varying"); - if (context->getShaderType() == GL_VERTEX_SHADER) - (yyval.interm.qualifierWrapper) = new TStorageQualifierWrapper(EvqVaryingOut, (yylsp[0])); - else - (yyval.interm.qualifierWrapper) = new TStorageQualifierWrapper(EvqVaryingIn, (yylsp[0])); + (yyval.interm.type) = context->joinInterpolationQualifiers((yylsp[-1]), (yyvsp[-1].interm.type).qualifier, (yylsp[0]), (yyvsp[0].interm.type).qualifier); } break; @@ -3616,7 +3532,10 @@ yyreduce: case 135: { - (yyval.interm.qualifierWrapper) = new TStorageQualifierWrapper(EvqConst, (yylsp[0])); + context->error((yylsp[0]), "interpolation qualifier requires a fragment 'in' or vertex 'out' storage qualifier", getInterpolationString((yyvsp[0].interm.type).qualifier)); + + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtVoid, qual, (yylsp[0])); } break; @@ -3624,24 +3543,8 @@ yyreduce: case 136: { - if (context->declaringFunction()) - { - (yyval.interm.qualifierWrapper) = new TStorageQualifierWrapper(EvqIn, (yylsp[0])); - } - else if (context->getShaderType() == GL_FRAGMENT_SHADER) - { - ES3_OR_NEWER("in", (yylsp[0]), "storage qualifier"); - (yyval.interm.qualifierWrapper) = new TStorageQualifierWrapper(EvqFragmentIn, (yylsp[0])); - } - else if (context->getShaderType() == GL_VERTEX_SHADER) - { - ES3_OR_NEWER("in", (yylsp[0]), "storage qualifier"); - (yyval.interm.qualifierWrapper) = new TStorageQualifierWrapper(EvqVertexIn, (yylsp[0])); - } - else - { - (yyval.interm.qualifierWrapper) = new TStorageQualifierWrapper(EvqComputeIn, (yylsp[0])); - } + (yyval.interm.type).qualifier = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).layoutQualifier = (yyvsp[0].interm.layoutQualifier); } break; @@ -3649,23 +3552,8 @@ yyreduce: case 137: { - if (context->declaringFunction()) - { - (yyval.interm.qualifierWrapper) = new TStorageQualifierWrapper(EvqOut, (yylsp[0])); - } - else - { - ES3_OR_NEWER("out", (yylsp[0]), "storage qualifier"); - NON_COMPUTE_ONLY("out", (yylsp[0])); - if (context->getShaderType() == GL_FRAGMENT_SHADER) - { - (yyval.interm.qualifierWrapper) = new TStorageQualifierWrapper(EvqFragmentOut, (yylsp[0])); - } - else - { - (yyval.interm.qualifierWrapper) = new TStorageQualifierWrapper(EvqVertexOut, (yylsp[0])); - } - } + (yyval.interm.type).setBasic(EbtVoid, (yyvsp[0].interm.type).qualifier, (yylsp[0])); + (yyval.interm.type).layoutQualifier = (yyvsp[-1].interm.layoutQualifier); } break; @@ -3673,11 +3561,9 @@ yyreduce: case 138: { - if (!context->declaringFunction()) - { - context->error((yylsp[0]), "invalid inout qualifier", "'inout' can be only used with function parameters"); - } - (yyval.interm.qualifierWrapper) = new TStorageQualifierWrapper(EvqInOut, (yylsp[0])); + context->checkInvariantIsOutVariableES3((yyvsp[0].interm.type).qualifier, (yylsp[-1])); + (yyval.interm.type).setBasic(EbtVoid, (yyvsp[0].interm.type).qualifier, (yylsp[0])); + (yyval.interm.type).invariant = true; } break; @@ -3685,8 +3571,9 @@ yyreduce: case 139: { - ES3_OR_NEWER("centroid", (yylsp[0]), "storage qualifier"); - (yyval.interm.qualifierWrapper) = new TStorageQualifierWrapper(EvqCentroid, (yylsp[0])); + context->checkInvariantIsOutVariableES3((yyvsp[0].interm.type).qualifier, (yylsp[-2])); + (yyval.interm.type) = context->joinInterpolationQualifiers((yylsp[-1]), (yyvsp[-1].interm.type).qualifier, (yylsp[0]), (yyvsp[0].interm.type).qualifier); + (yyval.interm.type).invariant = true; } break; @@ -3694,8 +3581,7 @@ yyreduce: case 140: { - context->checkIsAtGlobalLevel((yylsp[0]), "uniform"); - (yyval.interm.qualifierWrapper) = new TStorageQualifierWrapper(EvqUniform, (yylsp[0])); + (yyval.interm.type).qualifier = EvqConst; } break; @@ -3703,15 +3589,30 @@ yyreduce: case 141: { - (yyval.interm.qualifierWrapper) = new TMemoryQualifierWrapper(EvqReadOnly, (yylsp[0])); - } - - break; - - case 142: + if (context->getShaderType() == GL_FRAGMENT_SHADER) + { + ES3_OR_NEWER("in", (yylsp[0]), "storage qualifier"); + (yyval.interm.type).qualifier = EvqFragmentIn; + } + else if (context->getShaderType() == GL_VERTEX_SHADER) + { + ES3_OR_NEWER("in", (yylsp[0]), "storage qualifier"); + (yyval.interm.type).qualifier = EvqVertexIn; + } + else + { + (yyval.interm.type).qualifier = EvqComputeIn; + } + } + + break; + + case 142: { - (yyval.interm.qualifierWrapper) = new TMemoryQualifierWrapper(EvqWriteOnly, (yylsp[0])); + ES3_OR_NEWER("out", (yylsp[0]), "storage qualifier"); + NON_COMPUTE_ONLY("out", (yylsp[0])); + (yyval.interm.type).qualifier = (context->getShaderType() == GL_FRAGMENT_SHADER) ? EvqFragmentOut : EvqVertexOut; } break; @@ -3719,7 +3620,9 @@ yyreduce: case 143: { - (yyval.interm.qualifierWrapper) = new TMemoryQualifierWrapper(EvqCoherent, (yylsp[0])); + ES3_OR_NEWER("centroid in", (yylsp[-1]), "storage qualifier"); + FRAG_ONLY("centroid in", (yylsp[-1])); + (yyval.interm.type).qualifier = EvqCentroidIn; } break; @@ -3727,7 +3630,9 @@ yyreduce: case 144: { - (yyval.interm.qualifierWrapper) = new TMemoryQualifierWrapper(EvqRestrict, (yylsp[0])); + ES3_OR_NEWER("centroid out", (yylsp[-1]), "storage qualifier"); + VERTEX_ONLY("centroid out", (yylsp[-1])); + (yyval.interm.type).qualifier = EvqCentroidOut; } break; @@ -3735,7 +3640,8 @@ yyreduce: case 145: { - (yyval.interm.qualifierWrapper) = new TMemoryQualifierWrapper(EvqVolatile, (yylsp[0])); + context->checkIsAtGlobalLevel((yylsp[0]), "uniform"); + (yyval.interm.type).qualifier = EvqUniform; } break; @@ -3744,7 +3650,11 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); - (yyval.interm.type).precision = context->symbolTable.getDefaultPrecision((yyvsp[0].interm.type).getBasicType()); + + if ((yyval.interm.type).precision == EbpUndefined) { + (yyval.interm.type).precision = context->symbolTable.getDefaultPrecision((yyvsp[0].interm.type).type); + context->checkPrecisionSpecified((yylsp[0]), (yyval.interm.type).precision, (yyvsp[0].interm.type).type); + } } break; @@ -3752,7 +3662,12 @@ yyreduce: case 147: { - (yyval.interm.precision) = EbpHigh; + (yyval.interm.type) = (yyvsp[0].interm.type); + (yyval.interm.type).precision = (yyvsp[-1].interm.precision); + + if (!SupportsPrecision((yyvsp[0].interm.type).type)) { + context->error((yylsp[-1]), "illegal type for precision qualifier", getBasicString((yyvsp[0].interm.type).type)); + } } break; @@ -3760,7 +3675,7 @@ yyreduce: case 148: { - (yyval.interm.precision) = EbpMedium; + (yyval.interm.precision) = EbpHigh; } break; @@ -3768,7 +3683,7 @@ yyreduce: case 149: { - (yyval.interm.precision) = EbpLow; + (yyval.interm.precision) = EbpMedium; } break; @@ -3776,8 +3691,7 @@ yyreduce: case 150: { - ES3_OR_NEWER("layout", (yylsp[-3]), "qualifier"); - (yyval.interm.layoutQualifier) = (yyvsp[-1].interm.layoutQualifier); + (yyval.interm.precision) = EbpLow; } break; @@ -3785,7 +3699,8 @@ yyreduce: case 151: { - (yyval.interm.layoutQualifier) = (yyvsp[0].interm.layoutQualifier); + ES3_OR_NEWER("layout", (yylsp[-3]), "qualifier"); + (yyval.interm.layoutQualifier) = (yyvsp[-1].interm.layoutQualifier); } break; @@ -3793,7 +3708,7 @@ yyreduce: case 152: { - (yyval.interm.layoutQualifier) = context->joinLayoutQualifiers((yyvsp[-2].interm.layoutQualifier), (yyvsp[0].interm.layoutQualifier), (yylsp[0])); + (yyval.interm.layoutQualifier) = (yyvsp[0].interm.layoutQualifier); } break; @@ -3801,7 +3716,7 @@ yyreduce: case 153: { - (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[0].lex).string, (yylsp[0])); + (yyval.interm.layoutQualifier) = context->joinLayoutQualifiers((yyvsp[-2].interm.layoutQualifier), (yyvsp[0].interm.layoutQualifier), (yylsp[0])); } break; @@ -3809,7 +3724,7 @@ yyreduce: case 154: { - (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[-2].lex).string, (yylsp[-2]), (yyvsp[0].lex).i, (yylsp[0])); + (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[0].lex).string, (yylsp[0])); } break; @@ -3825,7 +3740,7 @@ yyreduce: case 156: { - (yyval.interm.type).initialize((yyvsp[0].interm.typeSpecifierNonArray), (context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary)); + (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[-2].lex).string, (yylsp[-2]), (yyvsp[0].lex).i, (yylsp[0])); } break; @@ -3833,9 +3748,7 @@ yyreduce: case 157: { - ES3_OR_NEWER("[]", (yylsp[-1]), "implicitly sized array"); - (yyval.interm.type).initialize((yyvsp[-2].interm.typeSpecifierNonArray), (context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary)); - (yyval.interm.type).setArraySize(0); + (yyval.interm.type) = (yyvsp[0].interm.type); } break; @@ -3843,12 +3756,9 @@ yyreduce: case 158: { - (yyval.interm.type).initialize((yyvsp[-3].interm.typeSpecifierNonArray), (context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary)); - if (context->checkIsValidTypeForArray((yylsp[-2]), (yyval.interm.type))) - { - unsigned int size = context->checkIsValidArraySize((yylsp[-2]), (yyvsp[-1].interm.intermTypedNode)); - (yyval.interm.type).setArraySize(size); - } + ES3_OR_NEWER("[]", (yylsp[-1]), "implicitly sized array"); + (yyval.interm.type) = (yyvsp[-2].interm.type); + (yyval.interm.type).setArraySize(0); } break; @@ -3856,7 +3766,13 @@ yyreduce: case 159: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtVoid, (yylsp[0])); + (yyval.interm.type) = (yyvsp[-3].interm.type); + + if (context->checkIsValidTypeForArray((yylsp[-2]), (yyvsp[-3].interm.type))) + { + unsigned int size = context->checkIsValidArraySize((yylsp[-2]), (yyvsp[-1].interm.intermTypedNode)); + (yyval.interm.type).setArraySize(size); + } } break; @@ -3864,7 +3780,8 @@ yyreduce: case 160: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtVoid, qual, (yylsp[0])); } break; @@ -3872,7 +3789,8 @@ yyreduce: case 161: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtInt, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); } break; @@ -3880,7 +3798,8 @@ yyreduce: case 162: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtUInt, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0])); } break; @@ -3888,7 +3807,8 @@ yyreduce: case 163: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtBool, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0])); } break; @@ -3896,8 +3816,8 @@ yyreduce: case 164: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setAggregate(2); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0])); } break; @@ -3905,8 +3825,9 @@ yyreduce: case 165: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setAggregate(3); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); + (yyval.interm.type).setAggregate(2); } break; @@ -3914,8 +3835,9 @@ yyreduce: case 166: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setAggregate(4); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); + (yyval.interm.type).setAggregate(3); } break; @@ -3923,8 +3845,9 @@ yyreduce: case 167: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtBool, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setAggregate(2); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); + (yyval.interm.type).setAggregate(4); } break; @@ -3932,8 +3855,9 @@ yyreduce: case 168: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtBool, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setAggregate(3); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0])); + (yyval.interm.type).setAggregate(2); } break; @@ -3941,8 +3865,9 @@ yyreduce: case 169: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtBool, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setAggregate(4); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0])); + (yyval.interm.type).setAggregate(3); } break; @@ -3950,8 +3875,9 @@ yyreduce: case 170: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtInt, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setAggregate(2); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0])); + (yyval.interm.type).setAggregate(4); } break; @@ -3959,8 +3885,9 @@ yyreduce: case 171: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtInt, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setAggregate(3); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0])); + (yyval.interm.type).setAggregate(2); } break; @@ -3968,8 +3895,9 @@ yyreduce: case 172: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtInt, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setAggregate(4); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0])); + (yyval.interm.type).setAggregate(3); } break; @@ -3977,8 +3905,9 @@ yyreduce: case 173: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtUInt, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setAggregate(2); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0])); + (yyval.interm.type).setAggregate(4); } break; @@ -3986,8 +3915,9 @@ yyreduce: case 174: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtUInt, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setAggregate(3); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0])); + (yyval.interm.type).setAggregate(2); } break; @@ -3995,8 +3925,9 @@ yyreduce: case 175: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtUInt, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setAggregate(4); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0])); + (yyval.interm.type).setAggregate(3); } break; @@ -4004,8 +3935,9 @@ yyreduce: case 176: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setMatrix(2, 2); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0])); + (yyval.interm.type).setAggregate(4); } break; @@ -4013,8 +3945,9 @@ yyreduce: case 177: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setMatrix(3, 3); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); + (yyval.interm.type).setMatrix(2, 2); } break; @@ -4022,8 +3955,9 @@ yyreduce: case 178: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setMatrix(4, 4); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); + (yyval.interm.type).setMatrix(3, 3); } break; @@ -4031,8 +3965,9 @@ yyreduce: case 179: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setMatrix(2, 3); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); + (yyval.interm.type).setMatrix(4, 4); } break; @@ -4040,8 +3975,9 @@ yyreduce: case 180: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setMatrix(3, 2); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); + (yyval.interm.type).setMatrix(2, 3); } break; @@ -4049,8 +3985,9 @@ yyreduce: case 181: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setMatrix(2, 4); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); + (yyval.interm.type).setMatrix(3, 2); } break; @@ -4058,8 +3995,9 @@ yyreduce: case 182: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setMatrix(4, 2); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); + (yyval.interm.type).setMatrix(2, 4); } break; @@ -4067,8 +4005,9 @@ yyreduce: case 183: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setMatrix(3, 4); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); + (yyval.interm.type).setMatrix(4, 2); } break; @@ -4076,8 +4015,9 @@ yyreduce: case 184: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtFloat, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).setMatrix(4, 3); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); + (yyval.interm.type).setMatrix(3, 4); } break; @@ -4085,7 +4025,9 @@ yyreduce: case 185: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2D, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); + (yyval.interm.type).setMatrix(4, 3); } break; @@ -4093,7 +4035,8 @@ yyreduce: case 186: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler3D, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtSampler2D, qual, (yylsp[0])); } break; @@ -4101,7 +4044,8 @@ yyreduce: case 187: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtSamplerCube, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtSampler3D, qual, (yylsp[0])); } break; @@ -4109,7 +4053,8 @@ yyreduce: case 188: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DArray, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtSamplerCube, qual, (yylsp[0])); } break; @@ -4117,7 +4062,8 @@ yyreduce: case 189: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2D, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtSampler2DArray, qual, (yylsp[0])); } break; @@ -4125,7 +4071,8 @@ yyreduce: case 190: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler3D, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtISampler2D, qual, (yylsp[0])); } break; @@ -4133,7 +4080,8 @@ yyreduce: case 191: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtISamplerCube, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtISampler3D, qual, (yylsp[0])); } break; @@ -4141,7 +4089,8 @@ yyreduce: case 192: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2DArray, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtISamplerCube, qual, (yylsp[0])); } break; @@ -4149,7 +4098,8 @@ yyreduce: case 193: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2D, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtISampler2DArray, qual, (yylsp[0])); } break; @@ -4157,7 +4107,8 @@ yyreduce: case 194: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler3D, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtUSampler2D, qual, (yylsp[0])); } break; @@ -4165,7 +4116,8 @@ yyreduce: case 195: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtUSamplerCube, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtUSampler3D, qual, (yylsp[0])); } break; @@ -4173,7 +4125,8 @@ yyreduce: case 196: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2DArray, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtUSamplerCube, qual, (yylsp[0])); } break; @@ -4181,7 +4134,8 @@ yyreduce: case 197: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DShadow, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtUSampler2DArray, qual, (yylsp[0])); } break; @@ -4189,7 +4143,8 @@ yyreduce: case 198: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtSamplerCubeShadow, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtSampler2DShadow, qual, (yylsp[0])); } break; @@ -4197,7 +4152,8 @@ yyreduce: case 199: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DArrayShadow, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtSamplerCubeShadow, qual, (yylsp[0])); } break; @@ -4205,11 +4161,8 @@ yyreduce: case 200: { - if (!context->supportsExtension("GL_OES_EGL_image_external") && - !context->supportsExtension("GL_NV_EGL_stream_consumer_external")) { - context->error((yylsp[0]), "unsupported type", "samplerExternalOES"); - } - (yyval.interm.typeSpecifierNonArray).initialize(EbtSamplerExternalOES, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtSampler2DArrayShadow, qual, (yylsp[0])); } break; @@ -4217,10 +4170,12 @@ yyreduce: case 201: { - if (!context->supportsExtension("GL_ARB_texture_rectangle")) { - context->error((yylsp[0]), "unsupported type", "sampler2DRect"); + if (!context->supportsExtension("GL_OES_EGL_image_external") && + !context->supportsExtension("GL_NV_EGL_stream_consumer_external")) { + context->error((yylsp[0]), "unsupported type", "samplerExternalOES"); } - (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DRect, (yylsp[0])); + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtSamplerExternalOES, qual, (yylsp[0])); } break; @@ -4228,7 +4183,11 @@ yyreduce: case 202: { - (yyval.interm.typeSpecifierNonArray) = (yyvsp[0].interm.typeSpecifierNonArray); + if (!context->supportsExtension("GL_ARB_texture_rectangle")) { + context->error((yylsp[0]), "unsupported type", "sampler2DRect"); + } + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtSampler2DRect, qual, (yylsp[0])); } break; @@ -4236,142 +4195,56 @@ yyreduce: case 203: { - (yyval.interm.typeSpecifierNonArray).initialize(EbtImage2D, (yylsp[0])); + (yyval.interm.type) = (yyvsp[0].interm.type); + (yyval.interm.type).qualifier = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; } break; case 204: - { - (yyval.interm.typeSpecifierNonArray).initialize(EbtIImage2D, (yylsp[0])); - } - - break; - - case 205: - - { - (yyval.interm.typeSpecifierNonArray).initialize(EbtUImage2D, (yylsp[0])); - } - - break; - - case 206: - - { - (yyval.interm.typeSpecifierNonArray).initialize(EbtImage3D, (yylsp[0])); - } - - break; - - case 207: - - { - (yyval.interm.typeSpecifierNonArray).initialize(EbtIImage3D, (yylsp[0])); - } - - break; - - case 208: - - { - (yyval.interm.typeSpecifierNonArray).initialize(EbtUImage3D, (yylsp[0])); - } - - break; - - case 209: - - { - (yyval.interm.typeSpecifierNonArray).initialize(EbtImage2DArray, (yylsp[0])); - } - - break; - - case 210: - - { - (yyval.interm.typeSpecifierNonArray).initialize(EbtIImage2DArray, (yylsp[0])); - } - - break; - - case 211: - - { - (yyval.interm.typeSpecifierNonArray).initialize(EbtUImage2DArray, (yylsp[0])); - } - - break; - - case 212: - - { - (yyval.interm.typeSpecifierNonArray).initialize(EbtImageCube, (yylsp[0])); - } - - break; - - case 213: - - { - (yyval.interm.typeSpecifierNonArray).initialize(EbtIImageCube, (yylsp[0])); - } - - break; - - case 214: - - { - (yyval.interm.typeSpecifierNonArray).initialize(EbtUImageCube, (yylsp[0])); - } - - break; - - case 215: - { // // This is for user defined type names. The lexical phase looked up the // type. // TType& structure = static_cast((yyvsp[0].lex).symbol)->getType(); - (yyval.interm.typeSpecifierNonArray).initialize(EbtStruct, (yylsp[0])); - (yyval.interm.typeSpecifierNonArray).userDef = &structure; + TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + (yyval.interm.type).setBasic(EbtStruct, qual, (yylsp[0])); + (yyval.interm.type).userDef = &structure; } break; - case 216: + case 205: { context->enterStructDeclaration((yylsp[-1]), *(yyvsp[-1].lex).string); } break; - case 217: + case 206: { - (yyval.interm.typeSpecifierNonArray) = context->addStructure((yylsp[-5]), (yylsp[-4]), (yyvsp[-4].lex).string, (yyvsp[-1].interm.fieldList)); + (yyval.interm.type) = context->addStructure((yylsp[-5]), (yylsp[-4]), (yyvsp[-4].lex).string, (yyvsp[-1].interm.fieldList)); } break; - case 218: + case 207: { context->enterStructDeclaration((yylsp[0]), *(yyvsp[0].lex).string); } break; - case 219: + case 208: { - (yyval.interm.typeSpecifierNonArray) = context->addStructure((yylsp[-4]), (yyloc), NewPoolTString(""), (yyvsp[-1].interm.fieldList)); + (yyval.interm.type) = context->addStructure((yylsp[-4]), (yyloc), NewPoolTString(""), (yyvsp[-1].interm.fieldList)); } break; - case 220: + case 209: { (yyval.interm.fieldList) = (yyvsp[0].interm.fieldList); @@ -4379,7 +4252,7 @@ yyreduce: break; - case 221: + case 210: { (yyval.interm.fieldList) = (yyvsp[-1].interm.fieldList); @@ -4396,7 +4269,7 @@ yyreduce: break; - case 222: + case 211: { (yyval.interm.fieldList) = context->addStructDeclaratorList((yyvsp[-2].interm.type), (yyvsp[-1].interm.fieldList)); @@ -4404,16 +4277,18 @@ yyreduce: break; - case 223: + case 212: { // ES3 Only, but errors should be handled elsewhere - (yyval.interm.fieldList) = context->addStructDeclaratorListWithQualifiers(*(yyvsp[-3].interm.typeQualifierBuilder), &(yyvsp[-2].interm.type), (yyvsp[-1].interm.fieldList)); + (yyvsp[-2].interm.type).qualifier = (yyvsp[-3].interm.type).qualifier; + (yyvsp[-2].interm.type).layoutQualifier = (yyvsp[-3].interm.type).layoutQualifier; + (yyval.interm.fieldList) = context->addStructDeclaratorList((yyvsp[-2].interm.type), (yyvsp[-1].interm.fieldList)); } break; - case 224: + case 213: { (yyval.interm.fieldList) = NewPoolTFieldList(); @@ -4422,7 +4297,7 @@ yyreduce: break; - case 225: + case 214: { (yyval.interm.fieldList)->push_back((yyvsp[0].interm.field)); @@ -4430,7 +4305,7 @@ yyreduce: break; - case 226: + case 215: { context->checkIsNotReserved((yylsp[0]), *(yyvsp[0].lex).string); @@ -4441,7 +4316,7 @@ yyreduce: break; - case 227: + case 216: { context->checkIsNotReserved((yylsp[-3]), *(yyvsp[-3].lex).string); @@ -4455,197 +4330,196 @@ yyreduce: break; - case 228: + case 217: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } break; - case 229: + case 218: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } break; - case 230: + case 219: - { (yyval.interm.intermNode) = (yyvsp[0].interm.intermBlock); } + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermAggregate); } break; - case 231: + case 220: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } break; - case 232: + case 221: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } break; - case 233: + case 222: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } break; - case 234: + case 223: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } break; - case 235: + case 224: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermSwitch); } break; - case 236: + case 225: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermCase); } break; - case 237: + case 226: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } break; - case 238: + case 227: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } break; - case 239: + case 228: - { (yyval.interm.intermBlock) = 0; } + { (yyval.interm.intermAggregate) = 0; } break; - case 240: + case 229: { context->symbolTable.push(); } break; - case 241: + case 230: { context->symbolTable.pop(); } break; - case 242: + case 231: { - if ((yyvsp[-2].interm.intermBlock) != 0) { - (yyvsp[-2].interm.intermBlock)->setLine((yyloc)); + if ((yyvsp[-2].interm.intermAggregate) != 0) { + (yyvsp[-2].interm.intermAggregate)->setOp(EOpSequence); + (yyvsp[-2].interm.intermAggregate)->setLine((yyloc)); } - (yyval.interm.intermBlock) = (yyvsp[-2].interm.intermBlock); + (yyval.interm.intermAggregate) = (yyvsp[-2].interm.intermAggregate); } break; - case 243: + case 232: - { (yyval.interm.intermNode) = (yyvsp[0].interm.intermBlock); } + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermAggregate); } break; - case 244: + case 233: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } break; - case 245: + case 234: { context->symbolTable.push(); } break; - case 246: + case 235: - { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermBlock); } + { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermAggregate); } break; - case 247: + case 236: { context->symbolTable.push(); } break; - case 248: + case 237: { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } break; - case 249: + case 238: { - (yyval.interm.intermBlock) = 0; + (yyval.interm.intermAggregate) = 0; } break; - case 250: + case 239: { - if ((yyvsp[-1].interm.intermBlock)) { - (yyvsp[-1].interm.intermBlock)->setLine((yyloc)); + if ((yyvsp[-1].interm.intermAggregate)) { + (yyvsp[-1].interm.intermAggregate)->setOp(EOpSequence); + (yyvsp[-1].interm.intermAggregate)->setLine((yyloc)); } - (yyval.interm.intermBlock) = (yyvsp[-1].interm.intermBlock); + (yyval.interm.intermAggregate) = (yyvsp[-1].interm.intermAggregate); } break; - case 251: + case 240: { - (yyval.interm.intermBlock) = new TIntermBlock(); - (yyval.interm.intermBlock)->setLine((yyloc)); - (yyval.interm.intermBlock)->appendStatement((yyvsp[0].interm.intermNode)); + (yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[0].interm.intermNode), (yyloc)); } break; - case 252: + case 241: { - (yyval.interm.intermBlock) = (yyvsp[-1].interm.intermBlock); - (yyval.interm.intermBlock)->appendStatement((yyvsp[0].interm.intermNode)); + (yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[-1].interm.intermAggregate), (yyvsp[0].interm.intermNode), (yyloc)); } break; - case 253: + case 242: { (yyval.interm.intermNode) = 0; } break; - case 254: + case 243: { (yyval.interm.intermNode) = static_cast((yyvsp[-1].interm.intermTypedNode)); } break; - case 255: + case 244: { context->checkIsScalarBool((yylsp[-4]), (yyvsp[-2].interm.intermTypedNode)); - (yyval.interm.intermNode) = context->intermediate.addIfElse((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yylsp[-4])); + (yyval.interm.intermNode) = context->intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yylsp[-4])); } break; - case 256: + case 245: { (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode); @@ -4654,7 +4528,7 @@ yyreduce: break; - case 257: + case 246: { (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode); @@ -4663,22 +4537,22 @@ yyreduce: break; - case 258: + case 247: { context->incrSwitchNestingLevel(); } break; - case 259: + case 248: { - (yyval.interm.intermSwitch) = context->addSwitch((yyvsp[-3].interm.intermTypedNode), (yyvsp[0].interm.intermBlock), (yylsp[-5])); + (yyval.interm.intermSwitch) = context->addSwitch((yyvsp[-3].interm.intermTypedNode), (yyvsp[0].interm.intermAggregate), (yylsp[-5])); context->decrSwitchNestingLevel(); } break; - case 260: + case 249: { (yyval.interm.intermCase) = context->addCase((yyvsp[-1].interm.intermTypedNode), (yylsp[-2])); @@ -4686,7 +4560,7 @@ yyreduce: break; - case 261: + case 250: { (yyval.interm.intermCase) = context->addDefault((yylsp[-1])); @@ -4694,7 +4568,7 @@ yyreduce: break; - case 262: + case 251: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); @@ -4703,13 +4577,13 @@ yyreduce: break; - case 263: + case 252: { - TIntermBinary *initNode = nullptr; + TIntermNode *intermNode; context->checkIsScalarBool((yylsp[-2]), (yyvsp[-3].interm.type)); - if (!context->executeInitializer((yylsp[-2]), *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), (yyvsp[0].interm.intermTypedNode), &initNode)) + if (!context->executeInitializer((yylsp[-2]), *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), (yyvsp[0].interm.intermTypedNode), &intermNode)) (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); else { (yyval.interm.intermTypedNode) = 0; @@ -4718,13 +4592,13 @@ yyreduce: break; - case 264: + case 253: { context->symbolTable.push(); context->incrLoopNestingLevel(); } break; - case 265: + case 254: { context->symbolTable.pop(); @@ -4734,13 +4608,13 @@ yyreduce: break; - case 266: + case 255: { context->incrLoopNestingLevel(); } break; - case 267: + case 256: { context->checkIsScalarBool((yylsp[0]), (yyvsp[-2].interm.intermTypedNode)); @@ -4751,13 +4625,13 @@ yyreduce: break; - case 268: + case 257: { context->symbolTable.push(); context->incrLoopNestingLevel(); } break; - case 269: + case 258: { context->symbolTable.pop(); @@ -4767,7 +4641,7 @@ yyreduce: break; - case 270: + case 259: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); @@ -4775,7 +4649,7 @@ yyreduce: break; - case 271: + case 260: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); @@ -4783,7 +4657,7 @@ yyreduce: break; - case 272: + case 261: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); @@ -4791,7 +4665,7 @@ yyreduce: break; - case 273: + case 262: { (yyval.interm.intermTypedNode) = 0; @@ -4799,7 +4673,7 @@ yyreduce: break; - case 274: + case 263: { (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode); @@ -4808,7 +4682,7 @@ yyreduce: break; - case 275: + case 264: { (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode); @@ -4817,7 +4691,7 @@ yyreduce: break; - case 276: + case 265: { (yyval.interm.intermNode) = context->addBranch(EOpContinue, (yylsp[-1])); @@ -4825,7 +4699,7 @@ yyreduce: break; - case 277: + case 266: { (yyval.interm.intermNode) = context->addBranch(EOpBreak, (yylsp[-1])); @@ -4833,7 +4707,7 @@ yyreduce: break; - case 278: + case 267: { (yyval.interm.intermNode) = context->addBranch(EOpReturn, (yylsp[-1])); @@ -4841,7 +4715,7 @@ yyreduce: break; - case 279: + case 268: { (yyval.interm.intermNode) = context->addBranch(EOpReturn, (yyvsp[-1].interm.intermTypedNode), (yylsp[-2])); @@ -4849,7 +4723,7 @@ yyreduce: break; - case 280: + case 269: { FRAG_ONLY("discard", (yylsp[-1])); @@ -4858,26 +4732,25 @@ yyreduce: break; - case 281: + case 270: { - (yyval.interm.intermBlock) = new TIntermBlock(); - (yyval.interm.intermBlock)->setLine((yyloc)); - (yyval.interm.intermBlock)->appendStatement((yyvsp[0].interm.intermNode)); - context->setTreeRoot((yyval.interm.intermBlock)); + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + context->setTreeRoot((yyval.interm.intermNode)); } break; - case 282: + case 271: { - (yyval.interm.intermBlock)->appendStatement((yyvsp[0].interm.intermNode)); + (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode), (yyloc)); + context->setTreeRoot((yyval.interm.intermNode)); } break; - case 283: + case 272: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); @@ -4885,7 +4758,7 @@ yyreduce: break; - case 284: + case 273: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); @@ -4893,18 +4766,18 @@ yyreduce: break; - case 285: + case 274: { - context->parseFunctionDefinitionHeader((yylsp[0]), &((yyvsp[0].interm).function), &(yyvsp[0].interm).intermAggregate); + context->parseFunctionPrototype((yylsp[0]), (yyvsp[0].interm).function, &(yyvsp[0].interm).intermAggregate); } break; - case 286: + case 275: { - (yyval.interm.intermNode) = context->addFunctionDefinition(*((yyvsp[-2].interm).function), (yyvsp[-2].interm).intermAggregate, (yyvsp[0].interm.intermBlock), (yylsp[-2])); + (yyval.interm.intermNode) = context->addFunctionDefinition(*((yyvsp[-2].interm).function), (yyvsp[-2].interm).intermAggregate, (yyvsp[0].interm.intermAggregate), (yylsp[-2])); } break; -- cgit v1.2.3