diff options
Diffstat (limited to 'src/glsl/glsl_parser.cpp')
-rw-r--r-- | src/glsl/glsl_parser.cpp | 2795 |
1 files changed, 1401 insertions, 1394 deletions
diff --git a/src/glsl/glsl_parser.cpp b/src/glsl/glsl_parser.cpp index 301c2218927..23bce395a59 100644 --- a/src/glsl/glsl_parser.cpp +++ b/src/glsl/glsl_parser.cpp @@ -1,9 +1,10 @@ -/* A Bison parser, made by GNU Bison 2.4.3. */ + +/* A Bison parser, made by GNU Bison 2.4.1. */ /* Skeleton implementation for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -45,7 +46,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.3" +#define YYBISON_VERSION "2.4.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -113,7 +114,7 @@ /* Line 189 of yacc.c */ -#line 117 "glsl_parser.cpp" +#line 118 "glsl_parser.cpp" /* Enabling traces. */ #ifndef YYDEBUG @@ -344,10 +345,7 @@ typedef union YYSTYPE float real; char *identifier; - union { - struct ast_type_qualifier q; - unsigned i; - } type_qualifier; + struct ast_type_qualifier type_qualifier; ast_node *node; ast_type_specifier *type_specifier; @@ -374,7 +372,7 @@ typedef union YYSTYPE /* Line 214 of yacc.c */ -#line 378 "glsl_parser.cpp" +#line 376 "glsl_parser.cpp" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -399,7 +397,7 @@ typedef struct YYLTYPE /* Line 264 of yacc.c */ -#line 403 "glsl_parser.cpp" +#line 401 "glsl_parser.cpp" #ifdef short # undef short @@ -449,7 +447,7 @@ typedef short int yytype_int16; #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS +# if YYENABLE_NLS # if ENABLE_NLS # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -616,16 +614,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 4005 +#define YYLAST 3690 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 215 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 88 +#define YYNNTS 87 /* YYNRULES -- Number of rules. */ -#define YYNRULES 274 +#define YYNRULES 277 /* YYNRULES -- Number of states. */ -#define YYNSTATES 409 +#define YYNSTATES 411 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -702,21 +700,21 @@ static const yytype_uint16 yyprhs[] = 280, 285, 288, 290, 292, 295, 299, 303, 306, 312, 316, 319, 323, 326, 327, 329, 331, 333, 335, 337, 341, 347, 354, 362, 371, 377, 379, 382, 387, 393, - 400, 408, 413, 416, 418, 421, 422, 424, 429, 431, - 435, 437, 439, 441, 443, 445, 447, 450, 453, 455, - 457, 460, 463, 466, 468, 471, 474, 476, 478, 481, - 483, 487, 492, 494, 496, 498, 500, 502, 504, 506, - 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, - 528, 530, 532, 534, 536, 538, 540, 542, 544, 546, - 548, 550, 552, 554, 556, 558, 560, 562, 564, 566, - 568, 570, 572, 574, 576, 578, 580, 582, 584, 586, - 588, 590, 592, 594, 596, 598, 600, 602, 604, 606, - 612, 617, 619, 622, 626, 628, 632, 634, 639, 641, - 643, 645, 647, 649, 651, 653, 655, 657, 659, 661, - 664, 668, 670, 672, 675, 679, 681, 684, 686, 689, - 695, 699, 701, 703, 708, 714, 718, 721, 727, 735, - 742, 744, 746, 748, 749, 752, 756, 759, 762, 765, - 769, 772, 774, 776, 778 + 400, 408, 413, 416, 418, 421, 426, 428, 432, 434, + 436, 438, 440, 442, 444, 446, 449, 451, 454, 457, + 461, 463, 465, 467, 469, 472, 474, 476, 479, 482, + 484, 486, 489, 491, 495, 500, 502, 504, 506, 508, + 510, 512, 514, 516, 518, 520, 522, 524, 526, 528, + 530, 532, 534, 536, 538, 540, 542, 544, 546, 548, + 550, 552, 554, 556, 558, 560, 562, 564, 566, 568, + 570, 572, 574, 576, 578, 580, 582, 584, 586, 588, + 590, 592, 594, 596, 598, 600, 602, 604, 606, 608, + 610, 612, 614, 620, 625, 627, 630, 634, 636, 640, + 642, 647, 649, 651, 653, 655, 657, 659, 661, 663, + 665, 667, 669, 672, 676, 678, 680, 683, 687, 689, + 692, 694, 697, 703, 707, 709, 711, 716, 722, 726, + 729, 735, 743, 750, 752, 754, 756, 757, 760, 764, + 767, 770, 773, 777, 780, 782, 784, 786 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -725,14 +723,14 @@ static const yytype_int16 yyrhs[] = 216, 0, -1, -1, 218, 220, 217, 222, -1, -1, 109, 78, 113, -1, 116, 113, -1, 117, 113, -1, 118, 113, -1, 119, 113, -1, -1, 220, 221, -1, - 110, 76, 112, 76, 113, -1, 301, -1, 222, 301, + 110, 76, 112, 76, 113, -1, 300, -1, 222, 300, -1, 76, -1, 223, -1, 78, -1, 79, -1, 77, -1, 80, -1, 191, 250, 192, -1, 224, -1, 225, 193, 226, 194, -1, 227, -1, 225, 195, 76, -1, 225, 84, -1, 225, 85, -1, 250, -1, 228, -1, 229, -1, 225, 195, 229, -1, 231, 192, -1, 230, 192, -1, 232, 74, -1, 232, -1, 232, 248, -1, - 231, 196, 248, -1, 233, 191, -1, 272, -1, 76, + 231, 196, 248, -1, 233, 191, -1, 271, -1, 76, -1, 81, -1, 225, -1, 84, 234, -1, 85, 234, -1, 235, 234, -1, 197, -1, 198, -1, 199, -1, 200, -1, 234, -1, 236, 201, 234, -1, 236, 202, @@ -750,90 +748,90 @@ static const yytype_int16 yyrhs[] = 96, -1, 95, -1, 102, -1, 97, -1, 98, -1, 99, -1, 100, -1, 101, -1, 248, -1, 250, 196, 248, -1, 247, -1, 253, 212, -1, 261, 212, -1, - 108, 276, 273, 212, -1, 254, 192, -1, 256, -1, + 108, 275, 272, 212, -1, 254, 192, -1, 256, -1, 255, -1, 256, 258, -1, 255, 196, 258, -1, 263, - 76, 191, -1, 272, 76, -1, 272, 76, 193, 251, - 194, -1, 269, 259, 257, -1, 259, 257, -1, 269, + 76, 191, -1, 271, 76, -1, 271, 76, 193, 251, + 194, -1, 268, 259, 257, -1, 259, 257, -1, 268, 259, 260, -1, 259, 260, -1, -1, 33, -1, 34, - -1, 35, -1, 272, -1, 262, -1, 261, 196, 76, + -1, 35, -1, 271, -1, 262, -1, 261, 196, 76, -1, 261, 196, 76, 193, 194, -1, 261, 196, 76, 193, 251, 194, -1, 261, 196, 76, 193, 194, 211, - 282, -1, 261, 196, 76, 193, 251, 194, 211, 282, - -1, 261, 196, 76, 211, 282, -1, 263, -1, 263, + 281, -1, 261, 196, 76, 193, 251, 194, 211, 281, + -1, 261, 196, 76, 211, 281, -1, 263, -1, 263, 76, -1, 263, 76, 193, 194, -1, 263, 76, 193, - 251, 194, -1, 263, 76, 193, 194, 211, 282, -1, - 263, 76, 193, 251, 194, 211, 282, -1, 263, 76, - 211, 282, -1, 103, 76, -1, 272, -1, 270, 272, - -1, -1, 265, -1, 120, 191, 266, 192, -1, 267, - -1, 266, 196, 267, -1, 76, -1, 40, -1, 39, - -1, 38, -1, 4, -1, 271, -1, 268, 270, -1, - 103, 270, -1, 4, -1, 3, -1, 264, 37, -1, - 32, 37, -1, 264, 33, -1, 34, -1, 32, 33, - -1, 32, 34, -1, 36, -1, 273, -1, 276, 273, - -1, 274, -1, 274, 193, 194, -1, 274, 193, 251, - 194, -1, 275, -1, 277, -1, 76, -1, 74, -1, - 6, -1, 7, -1, 8, -1, 5, -1, 29, -1, - 30, -1, 31, -1, 20, -1, 21, -1, 22, -1, - 23, -1, 24, -1, 25, -1, 26, -1, 27, -1, - 28, -1, 41, -1, 42, -1, 43, -1, 44, -1, - 45, -1, 46, -1, 47, -1, 48, -1, 49, -1, - 50, -1, 51, -1, 154, -1, 52, -1, 53, -1, - 54, -1, 55, -1, 156, -1, 56, -1, 57, -1, - 58, -1, 59, -1, 60, -1, 61, -1, 62, -1, - 63, -1, 64, -1, 65, -1, 66, -1, 67, -1, - 68, -1, 69, -1, 70, -1, 71, -1, 72, -1, - 106, -1, 105, -1, 104, -1, 73, 76, 213, 278, - 214, -1, 73, 213, 278, 214, -1, 279, -1, 278, - 279, -1, 272, 280, 212, -1, 281, -1, 280, 196, - 281, -1, 76, -1, 76, 193, 251, 194, -1, 248, - -1, 252, -1, 286, -1, 285, -1, 283, -1, 290, - -1, 291, -1, 294, -1, 295, -1, 296, -1, 300, - -1, 213, 214, -1, 213, 289, 214, -1, 288, -1, - 285, -1, 213, 214, -1, 213, 289, 214, -1, 284, - -1, 289, 284, -1, 212, -1, 250, 212, -1, 14, - 191, 250, 192, 292, -1, 284, 12, 284, -1, 284, - -1, 250, -1, 263, 76, 211, 282, -1, 17, 191, - 250, 192, 286, -1, 18, 250, 210, -1, 19, 210, - -1, 75, 191, 293, 192, 287, -1, 11, 284, 75, - 191, 250, 192, 212, -1, 13, 191, 297, 299, 192, - 287, -1, 290, -1, 283, -1, 293, -1, -1, 298, - 212, -1, 298, 212, 250, -1, 10, 212, -1, 9, - 212, -1, 16, 212, -1, 16, 250, 212, -1, 15, - 212, -1, 302, -1, 252, -1, 219, -1, 253, 288, - -1 + 251, 194, -1, 263, 76, 193, 194, 211, 281, -1, + 263, 76, 193, 251, 194, 211, 281, -1, 263, 76, + 211, 281, -1, 103, 76, -1, 271, -1, 269, 271, + -1, 120, 191, 265, 192, -1, 266, -1, 265, 196, + 266, -1, 76, -1, 40, -1, 39, -1, 38, -1, + 4, -1, 270, -1, 264, -1, 264, 270, -1, 267, + -1, 267, 270, -1, 103, 270, -1, 103, 267, 270, + -1, 103, -1, 4, -1, 3, -1, 37, -1, 32, + 37, -1, 33, -1, 34, -1, 32, 33, -1, 32, + 34, -1, 36, -1, 272, -1, 275, 272, -1, 273, + -1, 273, 193, 194, -1, 273, 193, 251, 194, -1, + 274, -1, 276, -1, 76, -1, 74, -1, 6, -1, + 7, -1, 8, -1, 5, -1, 29, -1, 30, -1, + 31, -1, 20, -1, 21, -1, 22, -1, 23, -1, + 24, -1, 25, -1, 26, -1, 27, -1, 28, -1, + 41, -1, 42, -1, 43, -1, 44, -1, 45, -1, + 46, -1, 47, -1, 48, -1, 49, -1, 50, -1, + 51, -1, 154, -1, 52, -1, 53, -1, 54, -1, + 55, -1, 156, -1, 56, -1, 57, -1, 58, -1, + 59, -1, 60, -1, 61, -1, 62, -1, 63, -1, + 64, -1, 65, -1, 66, -1, 67, -1, 68, -1, + 69, -1, 70, -1, 71, -1, 72, -1, 106, -1, + 105, -1, 104, -1, 73, 76, 213, 277, 214, -1, + 73, 213, 277, 214, -1, 278, -1, 277, 278, -1, + 271, 279, 212, -1, 280, -1, 279, 196, 280, -1, + 76, -1, 76, 193, 251, 194, -1, 248, -1, 252, + -1, 285, -1, 284, -1, 282, -1, 289, -1, 290, + -1, 293, -1, 294, -1, 295, -1, 299, -1, 213, + 214, -1, 213, 288, 214, -1, 287, -1, 284, -1, + 213, 214, -1, 213, 288, 214, -1, 283, -1, 288, + 283, -1, 212, -1, 250, 212, -1, 14, 191, 250, + 192, 291, -1, 283, 12, 283, -1, 283, -1, 250, + -1, 263, 76, 211, 281, -1, 17, 191, 250, 192, + 285, -1, 18, 250, 210, -1, 19, 210, -1, 75, + 191, 292, 192, 286, -1, 11, 283, 75, 191, 250, + 192, 212, -1, 13, 191, 296, 298, 192, 286, -1, + 289, -1, 282, -1, 292, -1, -1, 297, 212, -1, + 297, 212, 250, -1, 10, 212, -1, 9, 212, -1, + 16, 212, -1, 16, 250, 212, -1, 15, 212, -1, + 301, -1, 252, -1, 219, -1, 253, 287, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 214, 214, 213, 220, 222, 242, 243, 244, 245, - 248, 250, 254, 263, 271, 282, 286, 293, 300, 307, - 314, 321, 328, 329, 335, 339, 346, 352, 361, 365, - 369, 370, 379, 380, 384, 385, 389, 395, 407, 411, - 417, 424, 435, 436, 442, 448, 458, 459, 460, 461, - 465, 466, 472, 478, 487, 488, 494, 503, 504, 510, - 519, 520, 526, 532, 538, 547, 548, 554, 563, 564, - 573, 574, 583, 584, 593, 594, 603, 604, 613, 614, - 623, 624, 633, 634, 643, 644, 645, 646, 647, 648, - 649, 650, 651, 652, 653, 657, 661, 677, 681, 685, - 689, 703, 707, 708, 712, 717, 725, 736, 746, 761, - 768, 773, 784, 796, 797, 798, 799, 803, 807, 808, - 817, 826, 835, 844, 853, 866, 877, 886, 895, 904, - 913, 922, 931, 945, 952, 963, 964, 968, 975, 976, - 983, 1017, 1018, 1019, 1023, 1027, 1028, 1032, 1040, 1041, - 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1052, 1053, 1061, - 1062, 1068, 1077, 1083, 1089, 1098, 1099, 1100, 1101, 1102, - 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, - 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, - 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, - 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, - 1143, 1144, 1145, 1146, 1147, 1148, 1152, 1163, 1174, 1188, - 1194, 1203, 1208, 1216, 1231, 1236, 1244, 1250, 1259, 1263, - 1269, 1270, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1284, - 1290, 1299, 1300, 1304, 1310, 1319, 1329, 1341, 1347, 1356, - 1365, 1370, 1378, 1382, 1396, 1400, 1401, 1405, 1412, 1419, - 1429, 1430, 1434, 1436, 1442, 1447, 1456, 1462, 1468, 1474, - 1480, 1489, 1490, 1491, 1495 + 0, 211, 211, 210, 217, 219, 239, 240, 241, 242, + 245, 247, 251, 260, 268, 279, 283, 290, 297, 304, + 311, 318, 325, 326, 332, 336, 343, 349, 358, 362, + 366, 367, 376, 377, 381, 382, 386, 392, 404, 408, + 414, 421, 432, 433, 439, 445, 455, 456, 457, 458, + 462, 463, 469, 475, 484, 485, 491, 500, 501, 507, + 516, 517, 523, 529, 535, 544, 545, 551, 560, 561, + 570, 571, 580, 581, 590, 591, 600, 601, 610, 611, + 620, 621, 630, 631, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 654, 658, 674, 678, 682, + 686, 700, 704, 705, 709, 714, 722, 733, 743, 758, + 765, 770, 781, 794, 797, 802, 807, 816, 820, 821, + 830, 839, 848, 857, 866, 879, 890, 899, 908, 917, + 926, 935, 944, 958, 965, 976, 983, 984, 994, 1026, + 1031, 1036, 1044, 1052, 1053, 1054, 1059, 1060, 1065, 1070, + 1076, 1084, 1089, 1094, 1099, 1105, 1110, 1115, 1120, 1125, + 1133, 1134, 1142, 1143, 1149, 1158, 1164, 1170, 1179, 1180, + 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, + 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, + 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, + 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, + 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1233, + 1244, 1255, 1269, 1275, 1284, 1289, 1297, 1312, 1317, 1325, + 1331, 1340, 1344, 1350, 1351, 1355, 1356, 1357, 1358, 1359, + 1360, 1361, 1365, 1371, 1380, 1381, 1385, 1391, 1400, 1410, + 1422, 1428, 1437, 1446, 1451, 1459, 1463, 1477, 1481, 1482, + 1486, 1493, 1500, 1510, 1511, 1515, 1517, 1523, 1528, 1537, + 1543, 1549, 1555, 1561, 1570, 1571, 1572, 1576 }; #endif @@ -899,14 +897,13 @@ static const char *const yytname[] = "function_header", "parameter_declarator", "parameter_declaration", "parameter_qualifier", "parameter_type_specifier", "init_declarator_list", "single_declaration", "fully_specified_type", - "opt_layout_qualifier", "layout_qualifier", "layout_qualifier_id_list", - "layout_qualifier_id", "interpolation_qualifier", - "parameter_type_qualifier", "type_qualifier", "storage_qualifier", - "type_specifier", "type_specifier_no_prec", "type_specifier_nonarray", - "basic_type_specifier_nonarray", "precision_qualifier", - "struct_specifier", "struct_declaration_list", "struct_declaration", - "struct_declarator_list", "struct_declarator", "initializer", - "declaration_statement", "statement", "simple_statement", + "layout_qualifier", "layout_qualifier_id_list", "layout_qualifier_id", + "interpolation_qualifier", "parameter_type_qualifier", "type_qualifier", + "storage_qualifier", "type_specifier", "type_specifier_no_prec", + "type_specifier_nonarray", "basic_type_specifier_nonarray", + "precision_qualifier", "struct_specifier", "struct_declaration_list", + "struct_declaration", "struct_declarator_list", "struct_declarator", + "initializer", "declaration_statement", "statement", "simple_statement", "compound_statement", "statement_no_new_scope", "compound_statement_no_new_scope", "statement_list", "expression_statement", "selection_statement", @@ -963,21 +960,21 @@ static const yytype_uint16 yyr1[] = 252, 253, 254, 254, 255, 255, 256, 257, 257, 258, 258, 258, 258, 259, 259, 259, 259, 260, 261, 261, 261, 261, 261, 261, 261, 262, 262, 262, 262, 262, - 262, 262, 262, 263, 263, 264, 264, 265, 266, 266, - 267, 268, 268, 268, 269, 270, 270, 270, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 272, 272, 273, - 273, 273, 274, 274, 274, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 276, 276, 276, 277, - 277, 278, 278, 279, 280, 280, 281, 281, 282, 283, - 284, 284, 285, 285, 285, 285, 285, 285, 285, 286, - 286, 287, 287, 288, 288, 289, 289, 290, 290, 291, - 292, 292, 293, 293, 294, 295, 295, 296, 296, 296, - 297, 297, 298, 298, 299, 299, 300, 300, 300, 300, - 300, 301, 301, 301, 302 + 262, 262, 262, 263, 263, 264, 265, 265, 266, 267, + 267, 267, 268, 269, 269, 269, 269, 269, 269, 269, + 269, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 271, 271, 272, 272, 272, 273, 273, 273, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 275, + 275, 275, 276, 276, 277, 277, 278, 279, 279, 280, + 280, 281, 282, 283, 283, 284, 284, 284, 284, 284, + 284, 284, 285, 285, 286, 286, 287, 287, 288, 288, + 289, 289, 290, 291, 291, 292, 292, 293, 294, 294, + 295, 295, 295, 296, 296, 297, 297, 298, 298, 299, + 299, 299, 299, 299, 300, 300, 300, 301 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -996,21 +993,21 @@ static const yytype_uint8 yyr2[] = 4, 2, 1, 1, 2, 3, 3, 2, 5, 3, 2, 3, 2, 0, 1, 1, 1, 1, 1, 3, 5, 6, 7, 8, 5, 1, 2, 4, 5, 6, - 7, 4, 2, 1, 2, 0, 1, 4, 1, 3, - 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, - 2, 2, 2, 1, 2, 2, 1, 1, 2, 1, - 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, + 7, 4, 2, 1, 2, 4, 1, 3, 1, 1, + 1, 1, 1, 1, 1, 2, 1, 2, 2, 3, + 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, + 1, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 5, - 4, 1, 2, 3, 1, 3, 1, 4, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 3, 1, 1, 2, 3, 1, 2, 1, 2, 5, - 3, 1, 1, 4, 5, 3, 2, 5, 7, 6, - 1, 1, 1, 0, 2, 3, 2, 2, 2, 3, - 2, 1, 1, 1, 2 + 1, 1, 5, 4, 1, 2, 3, 1, 3, 1, + 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 3, 1, 1, 2, 3, 1, 2, + 1, 2, 5, 3, 1, 1, 4, 5, 3, 2, + 5, 7, 6, 1, 1, 1, 0, 2, 3, 2, + 2, 2, 3, 2, 1, 1, 1, 2 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1018,601 +1015,551 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 4, 0, 0, 10, 0, 1, 2, 5, 0, 135, - 11, 0, 149, 148, 169, 166, 167, 168, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 170, 171, 172, - 0, 153, 156, 143, 142, 141, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 194, 195, 196, - 197, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 0, 165, - 164, 135, 218, 217, 216, 0, 0, 0, 0, 0, - 0, 193, 198, 273, 135, 272, 0, 0, 103, 113, - 0, 118, 125, 0, 136, 135, 0, 145, 133, 157, - 159, 162, 0, 163, 13, 271, 0, 154, 155, 151, - 0, 0, 132, 135, 147, 0, 6, 7, 8, 9, - 0, 14, 98, 135, 274, 101, 113, 144, 114, 115, - 116, 104, 0, 113, 0, 99, 126, 152, 150, 146, - 134, 0, 158, 0, 0, 0, 0, 221, 0, 140, - 0, 138, 0, 0, 135, 0, 0, 0, 0, 0, - 0, 0, 0, 15, 19, 17, 18, 20, 41, 0, - 0, 0, 46, 47, 48, 49, 247, 135, 243, 16, - 22, 42, 24, 29, 30, 0, 0, 35, 0, 50, - 0, 54, 57, 60, 65, 68, 70, 72, 74, 76, - 78, 80, 82, 95, 0, 229, 0, 133, 232, 245, - 231, 230, 135, 233, 234, 235, 236, 237, 238, 105, - 110, 112, 117, 0, 119, 106, 0, 0, 160, 50, - 97, 0, 39, 12, 0, 226, 0, 224, 220, 222, - 100, 137, 0, 267, 266, 0, 135, 0, 270, 268, - 0, 0, 0, 256, 135, 43, 44, 0, 239, 135, - 26, 27, 0, 0, 33, 32, 0, 165, 36, 38, - 85, 86, 88, 87, 90, 91, 92, 93, 94, 89, - 84, 0, 45, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 10, 0, 1, 2, 5, 0, 0, + 11, 0, 152, 151, 172, 169, 170, 171, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 173, 174, 175, + 0, 155, 156, 159, 153, 141, 140, 139, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, + 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 0, 168, 167, 150, 221, 220, 219, 0, 0, 0, + 0, 0, 0, 196, 201, 276, 3, 275, 0, 0, + 103, 113, 0, 118, 125, 144, 146, 0, 143, 133, + 160, 162, 165, 0, 166, 13, 274, 0, 157, 158, + 154, 0, 0, 132, 0, 148, 0, 6, 7, 8, + 9, 0, 14, 98, 0, 277, 101, 113, 142, 114, + 115, 116, 104, 0, 113, 0, 99, 126, 145, 147, + 134, 0, 161, 0, 0, 0, 0, 224, 149, 0, + 138, 0, 136, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 19, 17, 18, 20, 41, + 0, 0, 0, 46, 47, 48, 49, 250, 0, 246, + 16, 22, 42, 24, 29, 30, 0, 0, 35, 0, + 50, 0, 54, 57, 60, 65, 68, 70, 72, 74, + 76, 78, 80, 82, 95, 0, 232, 0, 133, 235, + 248, 234, 233, 0, 236, 237, 238, 239, 240, 241, + 105, 110, 112, 117, 0, 119, 106, 0, 0, 163, + 50, 97, 0, 39, 12, 0, 229, 0, 227, 223, + 225, 100, 135, 0, 270, 269, 0, 0, 0, 273, + 271, 0, 0, 0, 259, 0, 43, 44, 0, 242, + 0, 26, 27, 0, 0, 33, 32, 0, 168, 36, + 38, 85, 86, 88, 87, 90, 91, 92, 93, 94, + 89, 84, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 248, 244, 246, 107, 109, 111, - 0, 0, 127, 0, 228, 131, 161, 219, 0, 0, - 223, 139, 0, 261, 260, 135, 0, 269, 0, 255, - 252, 0, 0, 21, 240, 0, 28, 25, 31, 37, - 83, 51, 52, 53, 55, 56, 58, 59, 63, 64, - 61, 62, 66, 67, 69, 71, 73, 75, 77, 79, - 0, 96, 0, 120, 0, 124, 0, 128, 0, 225, - 0, 262, 0, 0, 135, 0, 0, 135, 23, 0, - 0, 0, 121, 129, 0, 227, 0, 264, 135, 251, - 249, 254, 0, 242, 257, 241, 81, 108, 122, 0, - 130, 0, 265, 259, 135, 253, 123, 258, 250 + 0, 0, 0, 0, 0, 251, 247, 249, 107, 109, + 111, 0, 0, 127, 0, 231, 131, 164, 222, 0, + 0, 226, 137, 0, 264, 263, 266, 0, 272, 0, + 258, 150, 255, 0, 0, 21, 243, 0, 28, 25, + 31, 37, 83, 51, 52, 53, 55, 56, 58, 59, + 63, 64, 61, 62, 66, 67, 69, 71, 73, 75, + 77, 79, 0, 96, 0, 120, 0, 124, 0, 128, + 0, 228, 0, 265, 0, 0, 0, 0, 0, 0, + 23, 0, 0, 0, 121, 129, 0, 230, 0, 267, + 0, 254, 252, 257, 0, 245, 260, 244, 81, 108, + 122, 0, 130, 0, 268, 262, 0, 256, 123, 261, + 253 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 2, 9, 3, 83, 6, 10, 84, 179, 180, - 181, 335, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 281, 204, 231, 205, 206, 87, - 88, 89, 220, 131, 132, 221, 90, 91, 92, 93, - 94, 150, 151, 95, 133, 96, 97, 232, 99, 100, - 101, 102, 103, 146, 147, 236, 237, 315, 208, 209, - 210, 211, 394, 395, 212, 213, 214, 390, 332, 215, - 216, 217, 325, 372, 373, 218, 104, 105 + -1, 2, 9, 3, 85, 6, 10, 86, 180, 181, + 182, 337, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 282, 205, 232, 206, 207, 89, + 90, 91, 221, 132, 133, 222, 92, 93, 94, 95, + 151, 152, 96, 134, 97, 98, 233, 100, 101, 102, + 103, 104, 146, 147, 237, 238, 316, 209, 210, 211, + 212, 396, 397, 213, 214, 215, 392, 334, 216, 217, + 218, 326, 374, 375, 219, 105, 106 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -329 +#define YYPACT_NINF -359 static const yytype_int16 yypact[] = { - -58, -22, 72, -329, -28, -329, -15, -329, 22, 3589, - -329, -4, -329, -329, -329, -329, -329, -329, -329, -329, - -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, - 44, -329, -329, -329, -329, -329, -329, -329, -329, -329, - -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, - -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, - -329, -329, -329, -329, -329, -329, -329, -329, -72, -329, - -329, 6, -329, -329, -329, 14, -8, 9, 11, 26, - -64, -329, -329, -329, 3470, -329, -159, -23, -12, -2, - -149, -329, 105, 57, -329, 140, 3777, -329, -329, -329, - 15, -329, 3849, -329, -329, -329, 131, -329, -329, -329, - -3, 3777, -329, 140, -329, 3849, -329, -329, -329, -329, - 133, -329, -329, 383, -329, -329, 32, -329, -329, -329, - -329, -329, 3777, 158, 135, -329, -150, -329, -329, -329, - -329, 2565, -329, 100, 3777, 141, 1954, -329, 4, -329, - -95, -329, 7, 8, 1231, 27, 31, 12, 2186, 37, - 3108, 13, 39, -59, -329, -329, -329, -329, -329, 3108, - 3108, 3108, -329, -329, -329, -329, -329, 595, -329, -329, - -329, -55, -329, -329, -329, 41, -92, 3289, 40, -75, - 3108, -7, -118, 51, -74, 109, 28, 29, 30, 145, - 147, -84, -329, -329, -148, -329, 34, 49, -329, -329, - -329, -329, 807, -329, -329, -329, -329, -329, -329, -329, - -329, -329, 166, 3777, -143, -329, 2746, 3108, -329, -329, - -329, 53, -329, -329, 2070, 55, -139, -329, -329, -329, - -329, -329, 133, -329, -329, 174, 1640, 3108, -329, -329, - -138, 3108, -134, -329, 2384, -329, -329, -81, -329, 1019, - -329, -329, 3108, 3705, -329, -329, 3108, 61, -329, -329, - -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, - -329, 3108, -329, 3108, 3108, 3108, 3108, 3108, 3108, 3108, - 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, - 3108, 3108, 3108, 3108, -329, -329, -329, 62, -329, -329, - 2927, 3108, 43, 63, -329, -329, -329, -329, 3108, 141, - -329, -329, 65, -329, -329, 1838, -80, -329, -79, -329, - 66, 182, 69, -329, -329, 70, 66, 74, -329, -329, - -329, -329, -329, -329, -7, -7, -118, -118, 51, 51, - 51, 51, -74, -74, 109, 28, 29, 30, 145, 147, - -127, -329, 3108, 52, 75, -329, 3108, 59, 77, -329, - 3108, -329, 54, 76, 1231, 60, 64, 1442, -329, 3108, - 78, 3108, 67, -329, 3108, -329, -50, 3108, 1442, 262, - -329, -329, 3108, -329, -329, -329, -329, -329, -329, 3108, - -329, 71, 66, -329, 1231, -329, -329, -329, -329 + -89, -49, 53, -359, -55, -359, -26, -359, 10, 3274, + -359, -19, -359, -359, -359, -359, -359, -359, -359, -359, + -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, + 160, -359, -359, -359, -359, -359, -359, -359, -359, -359, + -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, + -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, + -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, + -70, -359, -359, 36, -359, -359, -359, 115, -6, 18, + 26, 34, -74, -359, -359, -359, 3274, -359, -149, -39, + -31, 0, -158, -359, 92, 130, 130, 3462, -359, -359, + -359, 17, -359, 3534, -359, -359, -359, 123, -359, -359, + -359, -1, 3462, -359, 130, -359, 3534, -359, -359, -359, + -359, 137, -359, -359, 385, -359, -359, 32, -359, -359, + -359, -359, -359, 3462, 206, 147, -359, -112, -359, -359, + -359, 2369, -359, 112, 3462, 151, 1758, -359, -359, 16, + -359, -170, -359, 24, 25, 1233, 39, 54, 35, 1990, + 58, 2912, 40, 61, -61, -359, -359, -359, -359, -359, + 2912, 2912, 2912, -359, -359, -359, -359, -359, 597, -359, + -359, -359, -57, -359, -359, -359, 63, -78, 3093, 65, + -50, 2912, 41, -56, 43, -77, 71, 51, 55, 50, + 171, 172, -80, -359, -359, -155, -359, 56, 72, -359, + -359, -359, -359, 809, -359, -359, -359, -359, -359, -359, + -359, -359, -359, 189, 3462, -174, -359, 2550, 2912, -359, + -359, -359, 73, -359, -359, 1874, 76, -141, -359, -359, + -359, -359, -359, 137, -359, -359, 191, 1642, 2912, -359, + -359, -134, 2912, -114, -359, 2188, -359, -359, -73, -359, + 1021, -359, -359, 2912, 3390, -359, -359, 2912, 78, -359, + -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, + -359, -359, 2912, -359, 2912, 2912, 2912, 2912, 2912, 2912, + 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, + 2912, 2912, 2912, 2912, 2912, -359, -359, -359, 79, -359, + -359, 2731, 2912, 60, 80, -359, -359, -359, -359, 2912, + 151, -359, -359, 82, -359, -359, 2188, -48, -359, 6, + -359, 118, 81, 199, 84, -359, -359, 85, 81, 87, + -359, -359, -359, -359, -359, -359, 41, 41, -56, -56, + 43, 43, 43, 43, -77, -77, 71, 51, 55, 50, + 171, 172, -113, -359, 2912, 69, 88, -359, 2912, 70, + 89, -359, 2912, -359, 74, 93, 1233, 75, 83, 1444, + -359, 2912, 90, 2912, 86, -359, 2912, -359, 9, 2912, + 1444, 275, -359, -359, 2912, -359, -359, -359, -359, -359, + -359, 2912, -359, 77, 81, -359, 1233, -359, -359, -359, + -359 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, - -329, -329, -329, -329, 16, -329, -329, -329, -329, -135, - -329, -87, -83, -104, -93, -20, -16, -21, -13, -11, - -17, -329, -133, -99, -329, -155, -189, 2, 5, -329, - -329, -329, 68, 161, 155, 73, -329, -329, -215, -329, - -329, -329, 48, -329, -329, -43, -329, -9, -31, -329, - -329, 217, -329, 150, -131, -329, -24, -140, 56, -153, - -328, -78, -90, 213, 124, 58, -329, -329, -19, -329, - -329, -329, -329, -329, -329, -329, 219, -329 + -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, + -359, -359, -359, -359, 27, -359, -359, -359, -359, -111, + -359, -117, -83, -60, -79, -7, -5, -4, -8, -3, + -2, -359, -116, -172, -359, -154, -219, 3, 4, -359, + -359, -359, 91, 169, 165, 94, -359, -359, -241, -359, + -359, 59, -71, -359, -359, -72, -9, -12, -359, -359, + 224, -359, 159, -129, -359, -16, -281, 62, -152, -358, + -69, -85, 218, 129, 64, -359, -359, -14, -359, -359, + -359, -359, -359, -359, -359, 227, -359 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -264 +#define YYTABLE_NINF -168 static const yytype_int16 yytable[] = { - 98, 245, 127, 250, 110, 252, 229, 301, 230, 12, - 13, 85, 290, 291, 86, 239, 257, -164, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 114, 260, - 261, 128, 129, 130, 255, 256, 127, 313, 30, 331, - 31, 225, 32, 226, 33, 34, 35, 134, 303, 393, - 310, 1, 139, 122, 123, 282, 4, 319, 303, 306, - 393, 227, 303, 135, 304, 128, 129, 130, 311, 303, - 114, 142, 5, 320, 327, 98, 329, 107, 108, 286, - 287, 109, 112, 379, 148, 7, 85, 140, 268, 86, - 137, 229, 326, 230, 138, 8, 328, 241, 11, 330, - 265, 242, 145, 239, 266, 116, 306, 336, 106, 113, - 331, 333, 374, 375, 207, 303, 303, 303, 72, 73, - 74, 364, 117, 222, 118, 302, 80, 120, 314, 368, - 292, 293, -40, 288, 289, 145, 280, 145, 262, 119, - 263, 111, 401, 12, 13, 207, 303, 360, 341, 342, - 343, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 229, 229, 229, 229, 339, 207, 125, - 330, 365, 30, 380, 31, 229, 32, 230, 33, 34, - 35, 136, 340, 229, 126, 230, 348, 349, 350, 351, - -102, 128, 129, 130, 283, 284, 285, 294, 295, 344, - 345, 352, 353, 207, 361, 346, 347, 143, 141, 149, - 144, 224, 314, 233, 222, 386, 240, 235, 246, 243, - 244, 389, 247, 253, 248, 145, 383, 229, 251, 230, - 254, 269, 402, 264, 296, 299, 297, 207, 298, 300, - -39, 398, 307, 113, 400, 207, 122, 316, 318, 322, - 207, 408, 405, -34, 366, 362, 370, 367, 376, 406, - 80, 377, 303, 381, 378, -40, 387, 314, 388, 382, - 384, 385, 397, 177, 404, 392, 354, 356, 399, 338, - 396, 355, 314, 407, 359, 314, 357, 219, 223, 358, - 321, 308, 115, 314, 234, 369, 309, 391, 403, 124, - 314, 259, 323, 121, 324, 0, 371, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, + 99, 115, 114, 246, 128, 251, 111, 253, 314, 291, + 292, 302, 87, 88, 333, -167, 269, 240, 258, 311, + 1, 395, 242, 138, 139, 231, 243, 261, 262, 4, + 230, 367, 395, 129, 130, 131, 128, 312, 135, 12, + 13, 304, 148, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 5, 136, 320, 315, 305, 7, 256, + 257, 307, 304, 123, 124, 129, 130, 131, 30, 31, + 32, 321, 33, 34, 35, 36, 37, 99, 328, 226, + 283, 227, 304, 304, 8, 333, 11, 385, 140, 87, + 88, 142, 366, 107, 327, 341, 330, 381, 329, 228, + 370, 332, 400, 145, 149, 402, 240, 117, 307, 338, + 342, 231, 113, 407, 266, 208, 230, 121, 267, 335, + 408, 12, 13, 304, 223, 289, 290, 293, 294, 303, + -40, 118, 363, 12, 13, 145, 263, 145, 264, 119, + 315, 287, 288, 112, 376, 382, 208, 120, 304, 362, + 30, 31, 32, 126, 33, 34, 35, 36, 37, 295, + 296, 281, 30, 31, 32, 127, 33, 34, 137, 208, + 346, 347, 332, 343, 344, 345, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, -102, 108, 109, 231, 315, 110, 377, 143, + 230, 403, 304, 231, 208, 304, 348, 349, 230, 398, + 141, 315, 144, 150, 315, 223, 354, 355, 388, 74, + 75, 76, 315, 225, 391, 234, 145, 236, 241, 315, + 247, 350, 351, 352, 353, 404, 244, 245, 208, 129, + 130, 131, 284, 285, 286, 248, 208, 249, 231, 252, + 254, 208, 255, 230, 410, 265, 270, 297, 299, 115, + 114, 300, 298, -39, 301, 308, 323, 317, 123, 319, + -34, 368, 364, 372, 369, 378, 379, 304, -40, 380, + 383, 386, 384, 387, 399, 390, 389, 406, 178, 409, + 356, 340, 359, 357, 394, 358, 220, 401, 360, 224, + 361, 116, 322, 235, 371, 405, 125, 260, 393, 324, + 0, 325, 373, 122, 0, 309, 0, 208, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 207, 0, 0, 207, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 0, 0, 0, 0, 12, 13, 14, 15, - 16, 17, 152, 153, 154, 207, 155, 156, 157, 158, - 159, 160, 161, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 0, 31, 0, 32, + 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, + 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 208, 0, 0, 0, 0, 0, 0, 12, 13, + 14, 15, 16, 17, 153, 154, 155, 208, 156, 157, + 158, 159, 160, 161, 162, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, 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, 162, 163, - 164, 165, 166, 167, 168, 0, 0, 169, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 71, 72, 73, 74, - 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 163, 164, 165, 166, 167, 168, 169, 0, 0, 170, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 73, 74, + 75, 76, 0, 77, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 81, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, + 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 171, 0, 0, 0, 0, 0, - 172, 173, 174, 175, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 176, 177, 178, 12, 13, - 14, 15, 16, 17, 152, 153, 154, 0, 155, 156, - 157, 158, 159, 160, 161, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 0, 31, - 0, 32, 0, 33, 34, 35, 36, 37, 38, 39, + 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, + 0, 0, 173, 174, 175, 176, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, + 12, 13, 14, 15, 16, 17, 153, 154, 155, 0, + 156, 157, 158, 159, 160, 161, 162, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 0, 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, - 162, 163, 164, 165, 166, 167, 168, 0, 0, 169, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 71, 72, - 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, + 70, 71, 163, 164, 165, 166, 167, 168, 169, 0, + 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 73, 74, 75, 76, 0, 77, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, - 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 171, 0, 0, 0, - 0, 0, 172, 173, 174, 175, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 176, 177, 258, - 12, 13, 14, 15, 16, 17, 152, 153, 154, 0, - 155, 156, 157, 158, 159, 160, 161, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 0, 31, 0, 32, 0, 33, 34, 35, 36, 37, + 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, + 0, 0, 0, 0, 173, 174, 175, 176, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, + 178, 259, 12, 13, 14, 15, 16, 17, 153, 154, + 155, 0, 156, 157, 158, 159, 160, 161, 162, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 0, 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, 162, 163, 164, 165, 166, 167, 168, 0, - 0, 169, 170, 0, 0, 0, 0, 0, 0, 0, + 68, 69, 70, 71, 163, 164, 165, 166, 167, 168, + 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 71, 72, 73, 74, 0, 75, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, + 0, 0, 73, 74, 75, 76, 0, 77, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 82, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, - 0, 0, 0, 0, 172, 173, 174, 175, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, - 177, 305, 12, 13, 14, 15, 16, 17, 152, 153, - 154, 0, 155, 156, 157, 158, 159, 160, 161, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 0, 31, 0, 32, 0, 33, 34, 35, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 0, 0, 0, 0, 0, 173, 174, 175, 176, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 177, 178, 306, 12, 13, 14, 15, 16, 17, + 153, 154, 155, 0, 156, 157, 158, 159, 160, 161, + 162, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 0, 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, 162, 163, 164, 165, 166, 167, - 168, 0, 0, 169, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 71, 72, 73, 74, 0, 75, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 66, 67, 68, 69, 70, 71, 163, 164, 165, 166, + 167, 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 73, 74, 75, 76, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 171, 0, 0, 0, 0, 0, 172, 173, 174, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 176, 177, 334, 12, 13, 14, 15, 16, 17, - 152, 153, 154, 0, 155, 156, 157, 158, 159, 160, - 161, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 0, 31, 0, 32, 0, 33, + 0, 0, 172, 0, 0, 0, 0, 0, 173, 174, + 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 177, 178, 336, 12, 13, 14, 15, + 16, 17, 153, 154, 155, 0, 156, 157, 158, 159, + 160, 161, 162, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 0, 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, 162, 163, 164, 165, - 166, 167, 168, 0, 0, 169, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 71, 72, 73, 74, 0, 75, + 64, 65, 66, 67, 68, 69, 70, 71, 163, 164, + 165, 166, 167, 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 73, 74, 75, 76, + 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 0, 82, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 171, 0, 0, 0, 0, 0, 172, 173, - 174, 175, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 176, 177, 12, 13, 14, 15, 16, - 17, 152, 153, 154, 0, 155, 156, 157, 158, 159, - 160, 161, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 0, 31, 0, 32, 0, + 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, + 173, 174, 175, 176, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 177, 178, 12, 13, 14, + 15, 16, 17, 153, 154, 155, 0, 156, 157, 158, + 159, 160, 161, 162, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, 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, 162, 163, 164, - 165, 166, 167, 168, 0, 0, 169, 170, 0, 0, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 163, + 164, 165, 166, 167, 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 71, 72, 73, 74, 0, - 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 73, 74, 75, + 76, 0, 77, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 81, 0, 82, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, + 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 171, 0, 0, 0, 0, 0, 172, - 173, 174, 175, 12, 13, 14, 15, 16, 17, 0, - 0, 0, 0, 0, 176, 123, 0, 0, 0, 0, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 0, 31, 0, 32, 0, 33, 34, + 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, + 0, 173, 174, 175, 176, 12, 13, 14, 15, 16, + 17, 0, 0, 0, 0, 0, 177, 124, 0, 0, + 0, 0, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 0, 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, 0, 163, 164, 165, 166, - 167, 168, 0, 0, 169, 170, 0, 0, 0, 0, + 65, 66, 67, 68, 69, 70, 71, 0, 164, 165, + 166, 167, 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 71, 72, 73, 74, 0, 75, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 81, 0, 82, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 171, 0, 0, 0, 0, 0, 172, 173, 174, - 175, 12, 13, 14, 15, 16, 17, 0, 0, 0, - 0, 0, 176, 0, 0, 0, 0, 0, 18, 19, + 0, 0, 0, 0, 0, 73, 74, 75, 76, 0, + 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 82, 14, 15, 16, 17, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 0, 31, 0, 32, 0, 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, 0, 163, 164, 165, 166, 167, 168, - 0, 0, 169, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 113, 72, 73, 74, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80, 14, + 0, 0, 0, 0, 0, 0, 83, 0, 84, 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, 172, 72, 0, 0, 0, 0, 173, + 174, 175, 176, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, + 0, 0, 74, 75, 76, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 15, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 0, 0, 0, 0, - 0, 0, 81, 0, 82, 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, 171, - 70, 0, 0, 0, 0, 172, 173, 174, 175, 0, + 0, 0, 83, 0, 84, 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, 0, + 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -263, 0, 0, 0, 0, 0, 0, 0, 72, 73, - 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 239, 0, 0, 0, 0, 0, 74, 75, + 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 15, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 0, 0, 0, 0, 0, 0, 81, 0, - 82, 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, 0, 70, 0, 0, 0, + 28, 29, 0, 0, 0, 0, 0, 0, 83, 0, + 84, 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, 0, 164, 165, 166, 167, + 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, + 0, 0, 0, 0, 74, 75, 76, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, - 0, 0, 0, 0, 72, 73, 74, 0, 0, 0, + 0, 0, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 14, 15, 16, 17, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 0, 0, - 0, 0, 0, 0, 81, 0, 82, 36, 37, 38, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 172, 0, 0, 0, 0, 0, 173, 174, 175, + 176, 12, 13, 14, 15, 16, 17, 0, 0, 0, + 0, 0, 250, 0, 0, 0, 0, 0, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 0, 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, 0, 163, 164, 165, 166, 167, 168, 0, 0, - 169, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 317, 0, 0, 0, 0, 0, - 72, 73, 74, 0, 0, 0, 0, 0, 0, 0, + 69, 70, 71, 0, 164, 165, 166, 167, 168, 169, + 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 331, 74, 75, 76, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 81, 0, 82, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 171, 0, 0, - 0, 0, 0, 172, 173, 174, 175, 12, 13, 14, - 15, 16, 17, 0, 0, 0, 0, 0, 249, 0, - 0, 0, 0, 0, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 0, 31, 0, - 32, 0, 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, 0, - 163, 164, 165, 166, 167, 168, 0, 0, 169, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 113, 72, 73, - 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 14, 15, 16, 17, 0, 172, + 0, 0, 0, 0, 0, 173, 174, 175, 176, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 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, 0, 164, 165, 166, 167, 168, + 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 74, 75, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, - 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 14, 15, 16, 17, 0, 171, 0, 0, 0, 0, - 0, 172, 173, 174, 175, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 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, - 0, 163, 164, 165, 166, 167, 168, 0, 0, 169, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, - 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, - 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 14, 15, 16, 17, 0, + 172, 0, 0, 229, 0, 0, 173, 174, 175, 176, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 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, 0, 164, 165, 166, 167, + 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 74, 75, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 14, 15, 16, 17, 0, 171, 0, 0, 228, - 0, 0, 172, 173, 174, 175, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 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, 0, 163, 164, 165, 166, 167, 168, 0, 0, - 169, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 72, 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 81, 0, 82, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 14, 15, 16, 17, + 0, 172, 0, 0, 313, 0, 0, 173, 174, 175, + 176, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 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, 0, 164, 165, 166, + 167, 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 74, 75, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 14, 15, 16, 17, 0, 171, 0, 0, - 312, 0, 0, 172, 173, 174, 175, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 163, 164, 165, 166, 167, 168, 0, - 0, 169, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 72, 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 82, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 14, 15, 16, + 17, 0, 172, 0, 0, 365, 0, 0, 173, 174, + 175, 176, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 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, 0, 164, 165, + 166, 167, 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 74, 75, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 14, 15, 16, 17, 0, 171, 0, - 0, 363, 0, 0, 172, 173, 174, 175, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 163, 164, 165, 166, 167, 168, - 0, 0, 169, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 72, 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 81, 0, 82, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 14, 15, + 16, 17, 0, 172, 0, 0, 0, 0, 0, 173, + 174, 175, 176, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 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, 268, 0, 164, + 165, 166, 167, 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 74, 75, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 14, 15, 16, 17, 0, 171, - 0, 0, 0, 0, 0, 172, 173, 174, 175, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, 267, 0, 163, 164, 165, 166, 167, - 168, 0, 0, 169, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 72, 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 82, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 12, 13, 14, + 15, 16, 17, 0, 172, 0, 0, 0, 0, 0, + 173, 174, 175, 176, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, + 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, 0, + 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 73, 74, 75, + 76, 0, 77, 0, 0, 0, 0, 0, 0, 0, + 78, 79, 80, 81, 82, 14, 15, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -3, 0, 0, 12, 13, 14, 15, 16, 17, 0, - 171, 0, 0, 0, 0, 0, 172, 173, 174, 175, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 0, 31, 0, 32, 0, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 28, 29, 0, 0, 0, 0, 0, 0, 83, 0, + 84, 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, 0, 339, 14, 15, 16, + 17, 169, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 74, 75, 76, 0, 0, 0, + 0, 0, 0, 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, 0, 70, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 71, 72, 73, 74, 0, 75, 0, - 0, 0, 0, 0, 0, 0, 76, 77, 78, 79, - 80, 0, 12, 13, 14, 15, 16, 17, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 0, 31, 81, 32, 82, 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, 0, 70, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 71, 72, 73, 74, 0, 75, 0, 0, - 0, 0, 0, 0, 0, 76, 77, 78, 79, 80, - 14, 15, 16, 17, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 0, 0, 0, - 0, 0, 0, 81, 0, 82, 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, - 0, 337, 14, 15, 16, 17, 168, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 72, - 73, 74, 0, 0, 0, 0, 0, 0, 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, 0, 70, 14, 15, 16, 17, 0, 81, - 0, 82, 0, 0, 0, 0, 0, 0, 0, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 72, 73, 74, 0, 0, 0, 0, 0, 0, - 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, 0, 70, 0, 0, 0, 0, - 0, 81, 0, 82, 0, 0, 0, 0, 0, 0, + 65, 66, 67, 68, 69, 70, 71, 0, 72, 14, + 15, 16, 17, 0, 83, 0, 84, 0, 0, 0, + 0, 0, 0, 0, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 74, 75, 76, 0, + 0, 0, 0, 0, 0, 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, 0, + 72, 0, 0, 0, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 82 + 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, + 84 }; static const yytype_int16 yycheck[] = { - 9, 154, 4, 158, 76, 160, 141, 91, 141, 3, - 4, 9, 86, 87, 9, 146, 171, 76, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 71, 84, - 85, 33, 34, 35, 169, 170, 4, 226, 32, 254, - 34, 191, 36, 193, 38, 39, 40, 196, 196, 377, - 193, 109, 95, 212, 213, 190, 78, 196, 196, 212, - 388, 211, 196, 212, 212, 33, 34, 35, 211, 196, - 113, 102, 0, 212, 212, 84, 210, 33, 34, 197, - 198, 37, 76, 210, 115, 113, 84, 96, 187, 84, - 33, 226, 247, 226, 37, 110, 251, 192, 76, 254, - 192, 196, 111, 234, 196, 113, 259, 262, 112, 103, - 325, 192, 192, 192, 123, 196, 196, 196, 104, 105, - 106, 310, 113, 132, 113, 209, 120, 191, 227, 318, - 204, 205, 191, 82, 83, 144, 211, 146, 193, 113, - 195, 213, 192, 3, 4, 154, 196, 302, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 266, 177, 192, - 325, 311, 32, 362, 34, 310, 36, 310, 38, 39, - 40, 76, 281, 318, 196, 318, 290, 291, 292, 293, - 192, 33, 34, 35, 201, 202, 203, 88, 89, 286, - 287, 294, 295, 212, 303, 288, 289, 76, 193, 76, - 213, 76, 311, 113, 223, 370, 212, 76, 191, 212, - 212, 374, 191, 210, 212, 234, 366, 362, 191, 362, - 191, 191, 387, 192, 206, 90, 207, 246, 208, 92, - 191, 381, 76, 103, 384, 254, 212, 194, 193, 75, - 259, 404, 392, 192, 211, 193, 191, 194, 76, 399, - 120, 192, 196, 211, 194, 191, 212, 366, 192, 194, - 211, 194, 194, 213, 12, 211, 296, 298, 211, 263, - 379, 297, 381, 212, 301, 384, 299, 126, 133, 300, - 242, 223, 75, 392, 144, 319, 223, 375, 388, 86, - 399, 177, 246, 84, 246, -1, 325, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 325, -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, 374, -1, -1, 377, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 388, - -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 404, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, -1, 34, -1, 36, - -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, -1, -1, 84, 85, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 103, 104, 105, 106, - -1, 108, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 120, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 9, 73, 73, 155, 4, 159, 76, 161, 227, 86, + 87, 91, 9, 9, 255, 76, 188, 146, 172, 193, + 109, 379, 192, 95, 96, 141, 196, 84, 85, 78, + 141, 312, 390, 33, 34, 35, 4, 211, 196, 3, + 4, 196, 114, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 0, 212, 196, 228, 212, 113, 170, + 171, 213, 196, 212, 213, 33, 34, 35, 32, 33, + 34, 212, 36, 37, 38, 39, 40, 86, 212, 191, + 191, 193, 196, 196, 110, 326, 76, 368, 97, 86, + 86, 103, 311, 112, 248, 267, 210, 210, 252, 211, + 319, 255, 383, 112, 116, 386, 235, 113, 260, 263, + 282, 227, 76, 394, 192, 124, 227, 191, 196, 192, + 401, 3, 4, 196, 133, 82, 83, 204, 205, 209, + 191, 113, 304, 3, 4, 144, 193, 146, 195, 113, + 312, 197, 198, 213, 192, 364, 155, 113, 196, 303, + 32, 33, 34, 192, 36, 37, 38, 39, 40, 88, + 89, 211, 32, 33, 34, 196, 36, 37, 76, 178, + 287, 288, 326, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 192, 33, 34, 311, 368, 37, 192, 76, + 311, 192, 196, 319, 213, 196, 289, 290, 319, 381, + 193, 383, 213, 76, 386, 224, 295, 296, 372, 104, + 105, 106, 394, 76, 376, 113, 235, 76, 212, 401, + 191, 291, 292, 293, 294, 389, 212, 212, 247, 33, + 34, 35, 201, 202, 203, 191, 255, 212, 364, 191, + 210, 260, 191, 364, 406, 192, 191, 206, 208, 331, + 331, 90, 207, 191, 92, 76, 75, 194, 212, 193, + 192, 211, 193, 191, 194, 76, 192, 196, 191, 194, + 211, 211, 194, 194, 194, 192, 212, 12, 213, 212, + 297, 264, 300, 298, 211, 299, 127, 211, 301, 134, + 302, 77, 243, 144, 320, 390, 88, 178, 377, 247, + -1, 247, 326, 86, -1, 224, -1, 326, 224, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 154, -1, 156, -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, 191, -1, -1, -1, -1, -1, - 197, 198, 199, 200, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 212, 213, 214, 3, 4, - 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, + -1, -1, -1, -1, -1, -1, -1, 376, -1, -1, + 379, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 390, -1, -1, -1, -1, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 406, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, -1, 34, - -1, 36, -1, 38, 39, 40, 41, 42, 43, 44, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + -1, 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, @@ -1633,7 +1580,7 @@ static const yytype_int16 yycheck[] = 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - -1, 34, -1, 36, -1, 38, 39, 40, 41, 42, + 33, 34, -1, 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, @@ -1654,7 +1601,7 @@ static const yytype_int16 yycheck[] = 213, 214, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, -1, 34, -1, 36, -1, 38, 39, 40, + 31, 32, 33, 34, -1, 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, @@ -1675,7 +1622,7 @@ static const yytype_int16 yycheck[] = -1, 212, 213, 214, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, -1, 34, -1, 36, -1, 38, + 29, 30, 31, 32, 33, 34, -1, 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, @@ -1693,68 +1640,81 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 191, -1, -1, -1, -1, -1, 197, 198, 199, 200, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 212, 213, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, -1, 34, -1, 36, -1, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, -1, -1, 84, 85, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 103, 104, 105, 106, -1, - 108, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 120, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 212, 213, 214, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 103, 104, 105, 106, + -1, 108, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 120, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 154, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 154, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 191, -1, -1, -1, -1, -1, 197, - 198, 199, 200, 3, 4, 5, 6, 7, 8, -1, - -1, -1, -1, -1, 212, 213, -1, -1, -1, -1, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, -1, 34, -1, 36, -1, 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, -1, 76, 77, 78, 79, - 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 103, 104, 105, 106, -1, 108, -1, + -1, -1, -1, -1, 191, -1, -1, -1, -1, -1, + 197, 198, 199, 200, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 212, 213, 3, 4, 5, + 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 120, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 103, 104, 105, + 106, -1, 108, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 120, -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, 154, -1, 156, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 154, -1, + 156, -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, 191, -1, -1, -1, -1, + -1, 197, 198, 199, 200, 3, 4, 5, 6, 7, + 8, -1, -1, -1, -1, -1, 212, 213, -1, -1, + -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, -1, 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, -1, 76, 77, + 78, 79, 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 191, -1, -1, -1, -1, -1, 197, 198, 199, - 200, 3, 4, 5, 6, 7, 8, -1, -1, -1, - -1, -1, 212, -1, -1, -1, -1, -1, 20, 21, + -1, -1, -1, -1, -1, 103, 104, 105, 106, -1, + 108, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 120, 5, 6, 7, 8, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, 34, -1, 36, -1, 38, 39, 40, 41, + -1, -1, -1, -1, -1, -1, 154, -1, 156, 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, -1, 76, 77, 78, 79, 80, 81, - -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 103, 104, 105, 106, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 120, 5, + 72, 73, 74, 191, 76, -1, -1, -1, -1, 197, + 198, 199, 200, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 212, -1, -1, -1, -1, -1, + -1, -1, 104, 105, 106, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, 154, -1, 156, 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, 191, - 76, -1, -1, -1, -1, 197, 198, 199, 200, -1, + 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, + 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 212, -1, -1, -1, -1, -1, -1, -1, 104, 105, + -1, -1, 214, -1, -1, -1, -1, -1, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -1763,193 +1723,170 @@ static const yytype_int16 yycheck[] = 156, 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, -1, 76, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 70, 71, 72, 73, 74, -1, 76, 77, 78, 79, + 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 214, -1, -1, -1, -1, -1, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5, 6, 7, 8, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, - -1, -1, -1, -1, 154, -1, 156, 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, -1, 76, 77, 78, 79, 80, 81, -1, -1, - 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 214, -1, -1, -1, -1, -1, - 104, 105, 106, -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, 154, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 154, -1, 156, -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, 191, -1, -1, - -1, -1, -1, 197, 198, 199, 200, 3, 4, 5, - 6, 7, 8, -1, -1, -1, -1, -1, 212, -1, - -1, -1, -1, -1, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, -1, 34, -1, - 36, -1, 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, -1, - 76, 77, 78, 79, 80, 81, -1, -1, 84, 85, + -1, 191, -1, -1, -1, -1, -1, 197, 198, 199, + 200, 3, 4, 5, 6, 7, 8, -1, -1, -1, + -1, -1, 212, -1, -1, -1, -1, -1, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, -1, 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, -1, 76, 77, 78, 79, 80, 81, + -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 103, 104, 105, - 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, + -1, 103, 104, 105, 106, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 120, -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, 154, -1, - 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 154, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 5, 6, 7, 8, -1, 191, -1, -1, -1, -1, - -1, 197, 198, 199, 200, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 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, - -1, 76, 77, 78, 79, 80, 81, -1, -1, 84, - 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, - 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 5, 6, 7, 8, -1, 191, + -1, -1, -1, -1, -1, 197, 198, 199, 200, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 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, -1, 76, 77, 78, 79, 80, + 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, - -1, 156, -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, 5, 6, 7, 8, -1, 191, -1, -1, 194, - -1, -1, 197, 198, 199, 200, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 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, -1, 76, 77, 78, 79, 80, 81, -1, -1, - 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 154, -1, 156, -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, 5, 6, 7, 8, -1, + 191, -1, -1, 194, -1, -1, 197, 198, 199, 200, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 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, -1, 76, 77, 78, 79, + 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 154, -1, 156, -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, 5, 6, 7, 8, -1, 191, -1, -1, - 194, -1, -1, 197, 198, 199, 200, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 76, 77, 78, 79, 80, 81, -1, - -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 104, 105, 106, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 154, -1, 156, -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, 5, 6, 7, 8, + -1, 191, -1, -1, 194, -1, -1, 197, 198, 199, + 200, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 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, -1, 76, 77, 78, + 79, 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 154, -1, 156, -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, 5, 6, 7, 8, -1, 191, -1, - -1, 194, -1, -1, 197, 198, 199, 200, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 76, 77, 78, 79, 80, 81, - -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 104, 105, 106, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 154, -1, 156, -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, 5, 6, 7, + 8, -1, 191, -1, -1, 194, -1, -1, 197, 198, + 199, 200, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 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, -1, 76, 77, + 78, 79, 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 154, -1, 156, -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, 5, 6, 7, 8, -1, 191, - -1, -1, -1, -1, -1, 197, 198, 199, 200, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 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, -1, 76, 77, 78, 79, 80, - 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 104, 105, 106, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 154, -1, 156, -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, 5, 6, + 7, 8, -1, 191, -1, -1, -1, -1, -1, 197, + 198, 199, 200, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 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, -1, 76, + 77, 78, 79, 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 154, -1, 156, -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, -1, -1, 3, 4, 5, 6, 7, 8, -1, - 191, -1, -1, -1, -1, -1, 197, 198, 199, 200, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, -1, 34, -1, 36, -1, 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, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 154, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 103, 104, 105, 106, -1, 108, -1, - -1, -1, -1, -1, -1, -1, 116, 117, 118, 119, - 120, -1, 3, 4, 5, 6, 7, 8, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, -1, 34, 154, 36, 156, 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, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, + 6, 7, 8, -1, 191, -1, -1, -1, -1, -1, + 197, 198, 199, 200, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, + 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, -1, + 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 103, 104, 105, 106, -1, 108, -1, -1, - -1, -1, -1, -1, -1, 116, 117, 118, 119, 120, - 5, 6, 7, 8, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, - -1, -1, -1, 154, -1, 156, 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, - -1, 76, 5, 6, 7, 8, 81, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 104, - 105, 106, -1, -1, -1, -1, -1, -1, 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, -1, 76, 5, 6, 7, 8, -1, 154, - -1, 156, -1, -1, -1, -1, -1, -1, -1, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 104, 105, 106, -1, -1, -1, -1, -1, -1, - 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, -1, 76, -1, -1, -1, -1, - -1, 154, -1, 156, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 103, 104, 105, + 106, -1, 108, -1, -1, -1, -1, -1, -1, -1, + 116, 117, 118, 119, 120, 5, 6, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, -1, -1, -1, -1, -1, -1, 154, -1, + 156, 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, -1, 76, 5, 6, 7, + 8, 81, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 104, 105, 106, -1, -1, -1, + -1, -1, -1, 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, -1, 76, 5, + 6, 7, 8, -1, 154, -1, 156, -1, -1, -1, + -1, -1, -1, -1, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 104, 105, 106, -1, + -1, -1, -1, -1, -1, 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, -1, + 76, -1, -1, -1, -1, -1, 154, -1, 156, -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, 154, -1, 156 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 154, -1, + 156 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1959,44 +1896,45 @@ static const yytype_uint16 yystos[] = 0, 109, 216, 218, 78, 0, 220, 113, 110, 217, 221, 76, 3, 4, 5, 6, 7, 8, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 34, 36, 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, - 76, 103, 104, 105, 106, 108, 116, 117, 118, 119, - 120, 154, 156, 219, 222, 252, 253, 254, 255, 256, - 261, 262, 263, 264, 265, 268, 270, 271, 272, 273, - 274, 275, 276, 277, 301, 302, 112, 33, 34, 37, - 76, 213, 76, 103, 270, 276, 113, 113, 113, 113, - 191, 301, 212, 213, 288, 192, 196, 4, 33, 34, - 35, 258, 259, 269, 196, 212, 76, 33, 37, 270, - 272, 193, 273, 76, 213, 272, 278, 279, 273, 76, - 266, 267, 9, 10, 11, 13, 14, 15, 16, 17, - 18, 19, 75, 76, 77, 78, 79, 80, 81, 84, - 85, 191, 197, 198, 199, 200, 212, 213, 214, 223, - 224, 225, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 250, 252, 253, 272, 283, 284, - 285, 286, 289, 290, 291, 294, 295, 296, 300, 258, - 257, 260, 272, 259, 76, 191, 193, 211, 194, 234, - 247, 251, 272, 113, 278, 76, 280, 281, 214, 279, - 212, 192, 196, 212, 212, 284, 191, 191, 212, 212, - 250, 191, 250, 210, 191, 234, 234, 250, 214, 289, - 84, 85, 193, 195, 192, 192, 196, 74, 248, 191, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 211, 249, 234, 201, 202, 203, 197, 198, 82, 83, - 86, 87, 204, 205, 88, 89, 206, 207, 208, 90, - 92, 91, 209, 196, 212, 214, 284, 76, 257, 260, - 193, 211, 194, 251, 248, 282, 194, 214, 193, 196, - 212, 267, 75, 283, 290, 297, 250, 212, 250, 210, - 250, 263, 293, 192, 214, 226, 250, 76, 229, 248, - 248, 234, 234, 234, 236, 236, 237, 237, 238, 238, - 238, 238, 239, 239, 240, 241, 242, 243, 244, 245, - 250, 248, 193, 194, 251, 282, 211, 194, 251, 281, - 191, 293, 298, 299, 192, 192, 76, 192, 194, 210, - 251, 211, 194, 282, 211, 194, 250, 212, 192, 284, - 292, 286, 211, 285, 287, 288, 248, 194, 282, 211, - 282, 192, 250, 287, 12, 282, 282, 212, 284 + 32, 33, 34, 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, 76, 103, 104, 105, 106, 108, 116, 117, + 118, 119, 120, 154, 156, 219, 222, 252, 253, 254, + 255, 256, 261, 262, 263, 264, 267, 269, 270, 271, + 272, 273, 274, 275, 276, 300, 301, 112, 33, 34, + 37, 76, 213, 76, 267, 270, 275, 113, 113, 113, + 113, 191, 300, 212, 213, 287, 192, 196, 4, 33, + 34, 35, 258, 259, 268, 196, 212, 76, 270, 270, + 271, 193, 272, 76, 213, 271, 277, 278, 270, 272, + 76, 265, 266, 9, 10, 11, 13, 14, 15, 16, + 17, 18, 19, 75, 76, 77, 78, 79, 80, 81, + 84, 85, 191, 197, 198, 199, 200, 212, 213, 214, + 223, 224, 225, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 250, 252, 253, 271, 282, + 283, 284, 285, 288, 289, 290, 293, 294, 295, 299, + 258, 257, 260, 271, 259, 76, 191, 193, 211, 194, + 234, 247, 251, 271, 113, 277, 76, 279, 280, 214, + 278, 212, 192, 196, 212, 212, 283, 191, 191, 212, + 212, 250, 191, 250, 210, 191, 234, 234, 250, 214, + 288, 84, 85, 193, 195, 192, 192, 196, 74, 248, + 191, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 211, 249, 234, 201, 202, 203, 197, 198, 82, + 83, 86, 87, 204, 205, 88, 89, 206, 207, 208, + 90, 92, 91, 209, 196, 212, 214, 283, 76, 257, + 260, 193, 211, 194, 251, 248, 281, 194, 214, 193, + 196, 212, 266, 75, 282, 289, 296, 250, 212, 250, + 210, 103, 250, 263, 292, 192, 214, 226, 250, 76, + 229, 248, 248, 234, 234, 234, 236, 236, 237, 237, + 238, 238, 238, 238, 239, 239, 240, 241, 242, 243, + 244, 245, 250, 248, 193, 194, 251, 281, 211, 194, + 251, 280, 191, 292, 297, 298, 192, 192, 76, 192, + 194, 210, 251, 211, 194, 281, 211, 194, 250, 212, + 192, 283, 291, 285, 211, 284, 286, 287, 248, 194, + 281, 211, 281, 192, 250, 286, 12, 281, 281, 212, + 283 }; #define yyerrok (yyerrstatus = 0) @@ -2011,18 +1949,9 @@ static const yytype_uint16 yystos[] = /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. However, - YYFAIL appears to be in use. Nevertheless, it is formally deprecated - in Bison 2.4.2's NEWS entry, where a plan to phase it out is - discussed. */ + Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab -#if defined YYFAIL - /* This is here to suppress warnings from the GCC cpp's - -Wunused-macros. Normally we don't worry about that warning, but - some users do, and we want to make it easy for users to remove - YYFAIL uses, which will produce warnings from Bison 2.5. */ -#endif #define YYRECOVERING() (!!yyerrstatus) @@ -2079,7 +2008,7 @@ while (YYID (0)) we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT -# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL +# if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ @@ -2621,7 +2550,7 @@ YYLTYPE yylloc; YYLTYPE *yylsp; /* The locations where the error started and ended. */ - YYLTYPE yyerror_range[3]; + YYLTYPE yyerror_range[2]; YYSIZE_T yystacksize; @@ -2668,7 +2597,7 @@ YYLTYPE yylloc; yyvsp = yyvs; yylsp = yyls; -#if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL +#if YYLTYPE_IS_TRIVIAL /* Initialize the default location before parsing starts. */ yylloc.first_line = yylloc.last_line = 1; yylloc.first_column = yylloc.last_column = 1; @@ -2676,7 +2605,7 @@ YYLTYPE yylloc; /* User initialization code. */ -/* Line 1251 of yacc.c */ +/* Line 1242 of yacc.c */ #line 41 "glsl_parser.ypp" { yylloc.first_line = 1; @@ -2686,8 +2615,8 @@ YYLTYPE yylloc; yylloc.source = 0; } -/* Line 1251 of yacc.c */ -#line 2691 "glsl_parser.cpp" +/* Line 1242 of yacc.c */ +#line 2620 "glsl_parser.cpp" yylsp[0] = yylloc; goto yysetstate; @@ -2874,8 +2803,8 @@ yyreduce: { case 2: -/* Line 1464 of yacc.c */ -#line 214 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 211 "glsl_parser.ypp" { _mesa_glsl_initialize_types(state); ;} @@ -2883,8 +2812,8 @@ yyreduce: case 5: -/* Line 1464 of yacc.c */ -#line 223 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 220 "glsl_parser.ypp" { switch ((yyvsp[(2) - (3)].n)) { case 100: @@ -2905,8 +2834,8 @@ yyreduce: case 12: -/* Line 1464 of yacc.c */ -#line 255 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 252 "glsl_parser.ypp" { if (!_mesa_glsl_process_extension((yyvsp[(2) - (5)].identifier), & (yylsp[(2) - (5)]), (yyvsp[(4) - (5)].identifier), & (yylsp[(4) - (5)]), state)) { YYERROR; @@ -2916,8 +2845,8 @@ yyreduce: case 13: -/* Line 1464 of yacc.c */ -#line 264 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 261 "glsl_parser.ypp" { /* FINISHME: The NULL test is only required because 'precision' * FINISHME: statements are not yet supported. @@ -2929,8 +2858,8 @@ yyreduce: case 14: -/* Line 1464 of yacc.c */ -#line 272 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 269 "glsl_parser.ypp" { /* FINISHME: The NULL test is only required because 'precision' * FINISHME: statements are not yet supported. @@ -2942,8 +2871,8 @@ yyreduce: case 16: -/* Line 1464 of yacc.c */ -#line 287 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 284 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_identifier, NULL, NULL, NULL); @@ -2954,8 +2883,8 @@ yyreduce: case 17: -/* Line 1464 of yacc.c */ -#line 294 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 291 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_int_constant, NULL, NULL, NULL); @@ -2966,8 +2895,8 @@ yyreduce: case 18: -/* Line 1464 of yacc.c */ -#line 301 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 298 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_uint_constant, NULL, NULL, NULL); @@ -2978,8 +2907,8 @@ yyreduce: case 19: -/* Line 1464 of yacc.c */ -#line 308 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 305 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_float_constant, NULL, NULL, NULL); @@ -2990,8 +2919,8 @@ yyreduce: case 20: -/* Line 1464 of yacc.c */ -#line 315 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 312 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_bool_constant, NULL, NULL, NULL); @@ -3002,8 +2931,8 @@ yyreduce: case 21: -/* Line 1464 of yacc.c */ -#line 322 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 319 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(2) - (3)].expression); ;} @@ -3011,8 +2940,8 @@ yyreduce: case 23: -/* Line 1464 of yacc.c */ -#line 330 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 327 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_array_index, (yyvsp[(1) - (4)].expression), (yyvsp[(3) - (4)].expression), NULL); @@ -3022,8 +2951,8 @@ yyreduce: case 24: -/* Line 1464 of yacc.c */ -#line 336 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 333 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (1)].expression); ;} @@ -3031,8 +2960,8 @@ yyreduce: case 25: -/* Line 1464 of yacc.c */ -#line 340 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 337 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[(1) - (3)].expression), NULL, NULL); @@ -3043,8 +2972,8 @@ yyreduce: case 26: -/* Line 1464 of yacc.c */ -#line 347 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 344 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_post_inc, (yyvsp[(1) - (2)].expression), NULL, NULL); @@ -3054,8 +2983,8 @@ yyreduce: case 27: -/* Line 1464 of yacc.c */ -#line 353 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 350 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_post_dec, (yyvsp[(1) - (2)].expression), NULL, NULL); @@ -3065,8 +2994,8 @@ yyreduce: case 31: -/* Line 1464 of yacc.c */ -#line 371 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 368 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression), NULL); @@ -3076,8 +3005,8 @@ yyreduce: case 36: -/* Line 1464 of yacc.c */ -#line 390 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 387 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (2)].expression); (yyval.expression)->set_location(yylloc); @@ -3087,8 +3016,8 @@ yyreduce: case 37: -/* Line 1464 of yacc.c */ -#line 396 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 393 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (3)].expression); (yyval.expression)->set_location(yylloc); @@ -3098,8 +3027,8 @@ yyreduce: case 39: -/* Line 1464 of yacc.c */ -#line 412 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 409 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_function_expression((yyvsp[(1) - (1)].type_specifier)); @@ -3109,8 +3038,8 @@ yyreduce: case 40: -/* Line 1464 of yacc.c */ -#line 418 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 415 "glsl_parser.ypp" { void *ctx = state; ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (1)].identifier)); @@ -3121,8 +3050,8 @@ yyreduce: case 41: -/* Line 1464 of yacc.c */ -#line 425 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 422 "glsl_parser.ypp" { void *ctx = state; ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (1)].identifier)); @@ -3133,8 +3062,8 @@ yyreduce: case 43: -/* Line 1464 of yacc.c */ -#line 437 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 434 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_pre_inc, (yyvsp[(2) - (2)].expression), NULL, NULL); @@ -3144,8 +3073,8 @@ yyreduce: case 44: -/* Line 1464 of yacc.c */ -#line 443 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 440 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_pre_dec, (yyvsp[(2) - (2)].expression), NULL, NULL); @@ -3155,8 +3084,8 @@ yyreduce: case 45: -/* Line 1464 of yacc.c */ -#line 449 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 446 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression((yyvsp[(1) - (2)].n), (yyvsp[(2) - (2)].expression), NULL, NULL); @@ -3166,36 +3095,36 @@ yyreduce: case 46: -/* Line 1464 of yacc.c */ -#line 458 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 455 "glsl_parser.ypp" { (yyval.n) = ast_plus; ;} break; case 47: -/* Line 1464 of yacc.c */ -#line 459 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 456 "glsl_parser.ypp" { (yyval.n) = ast_neg; ;} break; case 48: -/* Line 1464 of yacc.c */ -#line 460 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 457 "glsl_parser.ypp" { (yyval.n) = ast_logic_not; ;} break; case 49: -/* Line 1464 of yacc.c */ -#line 461 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 458 "glsl_parser.ypp" { (yyval.n) = ast_bit_not; ;} break; case 51: -/* Line 1464 of yacc.c */ -#line 467 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 464 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_mul, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3205,8 +3134,8 @@ yyreduce: case 52: -/* Line 1464 of yacc.c */ -#line 473 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 470 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_div, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3216,8 +3145,8 @@ yyreduce: case 53: -/* Line 1464 of yacc.c */ -#line 479 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 476 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_mod, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3227,8 +3156,8 @@ yyreduce: case 55: -/* Line 1464 of yacc.c */ -#line 489 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 486 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_add, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3238,8 +3167,8 @@ yyreduce: case 56: -/* Line 1464 of yacc.c */ -#line 495 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 492 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_sub, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3249,8 +3178,8 @@ yyreduce: case 58: -/* Line 1464 of yacc.c */ -#line 505 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 502 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_lshift, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3260,8 +3189,8 @@ yyreduce: case 59: -/* Line 1464 of yacc.c */ -#line 511 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 508 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_rshift, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3271,8 +3200,8 @@ yyreduce: case 61: -/* Line 1464 of yacc.c */ -#line 521 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 518 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_less, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3282,8 +3211,8 @@ yyreduce: case 62: -/* Line 1464 of yacc.c */ -#line 527 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 524 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_greater, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3293,8 +3222,8 @@ yyreduce: case 63: -/* Line 1464 of yacc.c */ -#line 533 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 530 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_lequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3304,8 +3233,8 @@ yyreduce: case 64: -/* Line 1464 of yacc.c */ -#line 539 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 536 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_gequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3315,8 +3244,8 @@ yyreduce: case 66: -/* Line 1464 of yacc.c */ -#line 549 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 546 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_equal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3326,8 +3255,8 @@ yyreduce: case 67: -/* Line 1464 of yacc.c */ -#line 555 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 552 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_nequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3337,8 +3266,8 @@ yyreduce: case 69: -/* Line 1464 of yacc.c */ -#line 565 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 562 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3348,8 +3277,8 @@ yyreduce: case 71: -/* Line 1464 of yacc.c */ -#line 575 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 572 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_xor, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3359,8 +3288,8 @@ yyreduce: case 73: -/* Line 1464 of yacc.c */ -#line 585 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 582 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3370,8 +3299,8 @@ yyreduce: case 75: -/* Line 1464 of yacc.c */ -#line 595 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 592 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_and, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3381,8 +3310,8 @@ yyreduce: case 77: -/* Line 1464 of yacc.c */ -#line 605 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 602 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_xor, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3392,8 +3321,8 @@ yyreduce: case 79: -/* Line 1464 of yacc.c */ -#line 615 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 612 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3403,8 +3332,8 @@ yyreduce: case 81: -/* Line 1464 of yacc.c */ -#line 625 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 622 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_conditional, (yyvsp[(1) - (5)].expression), (yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].expression)); @@ -3414,8 +3343,8 @@ yyreduce: case 83: -/* Line 1464 of yacc.c */ -#line 635 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 632 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression((yyvsp[(2) - (3)].n), (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression), NULL); @@ -3425,85 +3354,85 @@ yyreduce: case 84: -/* Line 1464 of yacc.c */ -#line 643 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 640 "glsl_parser.ypp" { (yyval.n) = ast_assign; ;} break; case 85: -/* Line 1464 of yacc.c */ -#line 644 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 641 "glsl_parser.ypp" { (yyval.n) = ast_mul_assign; ;} break; case 86: -/* Line 1464 of yacc.c */ -#line 645 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 642 "glsl_parser.ypp" { (yyval.n) = ast_div_assign; ;} break; case 87: -/* Line 1464 of yacc.c */ -#line 646 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 643 "glsl_parser.ypp" { (yyval.n) = ast_mod_assign; ;} break; case 88: -/* Line 1464 of yacc.c */ -#line 647 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 644 "glsl_parser.ypp" { (yyval.n) = ast_add_assign; ;} break; case 89: -/* Line 1464 of yacc.c */ -#line 648 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 645 "glsl_parser.ypp" { (yyval.n) = ast_sub_assign; ;} break; case 90: -/* Line 1464 of yacc.c */ -#line 649 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 646 "glsl_parser.ypp" { (yyval.n) = ast_ls_assign; ;} break; case 91: -/* Line 1464 of yacc.c */ -#line 650 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 647 "glsl_parser.ypp" { (yyval.n) = ast_rs_assign; ;} break; case 92: -/* Line 1464 of yacc.c */ -#line 651 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 648 "glsl_parser.ypp" { (yyval.n) = ast_and_assign; ;} break; case 93: -/* Line 1464 of yacc.c */ -#line 652 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 649 "glsl_parser.ypp" { (yyval.n) = ast_xor_assign; ;} break; case 94: -/* Line 1464 of yacc.c */ -#line 653 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 650 "glsl_parser.ypp" { (yyval.n) = ast_or_assign; ;} break; case 95: -/* Line 1464 of yacc.c */ -#line 658 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 655 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (1)].expression); ;} @@ -3511,8 +3440,8 @@ yyreduce: case 96: -/* Line 1464 of yacc.c */ -#line 662 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 659 "glsl_parser.ypp" { void *ctx = state; if ((yyvsp[(1) - (3)].expression)->oper != ast_sequence) { @@ -3529,8 +3458,8 @@ yyreduce: case 98: -/* Line 1464 of yacc.c */ -#line 682 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 679 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (2)].function); ;} @@ -3538,8 +3467,8 @@ yyreduce: case 99: -/* Line 1464 of yacc.c */ -#line 686 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 683 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (2)].declarator_list); ;} @@ -3547,8 +3476,8 @@ yyreduce: case 100: -/* Line 1464 of yacc.c */ -#line 690 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 687 "glsl_parser.ypp" { if (((yyvsp[(3) - (4)].type_specifier)->type_specifier != ast_float) && ((yyvsp[(3) - (4)].type_specifier)->type_specifier != ast_int)) { @@ -3563,8 +3492,8 @@ yyreduce: case 104: -/* Line 1464 of yacc.c */ -#line 713 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 710 "glsl_parser.ypp" { (yyval.function) = (yyvsp[(1) - (2)].function); (yyval.function)->parameters.push_tail(& (yyvsp[(2) - (2)].parameter_declarator)->link); @@ -3573,8 +3502,8 @@ yyreduce: case 105: -/* Line 1464 of yacc.c */ -#line 718 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 715 "glsl_parser.ypp" { (yyval.function) = (yyvsp[(1) - (3)].function); (yyval.function)->parameters.push_tail(& (yyvsp[(3) - (3)].parameter_declarator)->link); @@ -3583,8 +3512,8 @@ yyreduce: case 106: -/* Line 1464 of yacc.c */ -#line 726 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 723 "glsl_parser.ypp" { void *ctx = state; (yyval.function) = new(ctx) ast_function(); @@ -3596,8 +3525,8 @@ yyreduce: case 107: -/* Line 1464 of yacc.c */ -#line 737 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 734 "glsl_parser.ypp" { void *ctx = state; (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); @@ -3611,8 +3540,8 @@ yyreduce: case 108: -/* Line 1464 of yacc.c */ -#line 747 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 744 "glsl_parser.ypp" { void *ctx = state; (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); @@ -3628,88 +3557,100 @@ yyreduce: case 109: -/* Line 1464 of yacc.c */ -#line 762 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 759 "glsl_parser.ypp" { - (yyvsp[(1) - (3)].type_qualifier).i |= (yyvsp[(2) - (3)].type_qualifier).i; + (yyvsp[(1) - (3)].type_qualifier).flags.i |= (yyvsp[(2) - (3)].type_qualifier).flags.i; (yyval.parameter_declarator) = (yyvsp[(3) - (3)].parameter_declarator); - (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (3)].type_qualifier).q; + (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (3)].type_qualifier); ;} break; case 110: -/* Line 1464 of yacc.c */ -#line 769 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 766 "glsl_parser.ypp" { (yyval.parameter_declarator) = (yyvsp[(2) - (2)].parameter_declarator); - (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (2)].type_qualifier).q; + (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (2)].type_qualifier); ;} break; case 111: -/* Line 1464 of yacc.c */ -#line 774 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 771 "glsl_parser.ypp" { void *ctx = state; - (yyvsp[(1) - (3)].type_qualifier).i |= (yyvsp[(2) - (3)].type_qualifier).i; + (yyvsp[(1) - (3)].type_qualifier).flags.i |= (yyvsp[(2) - (3)].type_qualifier).flags.i; (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); (yyval.parameter_declarator)->set_location(yylloc); (yyval.parameter_declarator)->type = new(ctx) ast_fully_specified_type(); - (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (3)].type_qualifier).q; + (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (3)].type_qualifier); (yyval.parameter_declarator)->type->specifier = (yyvsp[(3) - (3)].type_specifier); ;} break; case 112: -/* Line 1464 of yacc.c */ -#line 785 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 782 "glsl_parser.ypp" { void *ctx = state; (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); (yyval.parameter_declarator)->set_location(yylloc); (yyval.parameter_declarator)->type = new(ctx) ast_fully_specified_type(); - (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (2)].type_qualifier).q; + (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (2)].type_qualifier); (yyval.parameter_declarator)->type->specifier = (yyvsp[(2) - (2)].type_specifier); ;} break; case 113: -/* Line 1464 of yacc.c */ -#line 796 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; ;} +/* Line 1455 of yacc.c */ +#line 794 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + ;} break; case 114: -/* Line 1464 of yacc.c */ -#line 797 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.in = 1; ;} +/* Line 1455 of yacc.c */ +#line 798 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.in = 1; + ;} break; case 115: -/* Line 1464 of yacc.c */ -#line 798 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.out = 1; ;} +/* Line 1455 of yacc.c */ +#line 803 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.out = 1; + ;} break; case 116: -/* Line 1464 of yacc.c */ -#line 799 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.in = 1; (yyval.type_qualifier).q.out = 1; ;} +/* Line 1455 of yacc.c */ +#line 808 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.in = 1; + (yyval.type_qualifier).flags.q.out = 1; + ;} break; case 119: -/* Line 1464 of yacc.c */ -#line 809 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 822 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (3)].identifier), false, NULL, NULL); @@ -3722,8 +3663,8 @@ yyreduce: case 120: -/* Line 1464 of yacc.c */ -#line 818 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 831 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (5)].identifier), true, NULL, NULL); @@ -3736,8 +3677,8 @@ yyreduce: case 121: -/* Line 1464 of yacc.c */ -#line 827 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 840 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (6)].identifier), true, (yyvsp[(5) - (6)].expression), NULL); @@ -3750,8 +3691,8 @@ yyreduce: case 122: -/* Line 1464 of yacc.c */ -#line 836 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 849 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (7)].identifier), true, NULL, (yyvsp[(7) - (7)].expression)); @@ -3764,8 +3705,8 @@ yyreduce: case 123: -/* Line 1464 of yacc.c */ -#line 845 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 858 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (8)].identifier), true, (yyvsp[(5) - (8)].expression), (yyvsp[(8) - (8)].expression)); @@ -3778,8 +3719,8 @@ yyreduce: case 124: -/* Line 1464 of yacc.c */ -#line 854 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 867 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (5)].identifier), false, NULL, (yyvsp[(5) - (5)].expression)); @@ -3792,8 +3733,8 @@ yyreduce: case 125: -/* Line 1464 of yacc.c */ -#line 867 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 880 "glsl_parser.ypp" { void *ctx = state; if ((yyvsp[(1) - (1)].fully_specified_type)->specifier->type_specifier != ast_struct) { @@ -3808,8 +3749,8 @@ yyreduce: case 126: -/* Line 1464 of yacc.c */ -#line 878 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 891 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (2)].identifier), false, NULL, NULL); @@ -3822,8 +3763,8 @@ yyreduce: case 127: -/* Line 1464 of yacc.c */ -#line 887 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 900 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), true, NULL, NULL); @@ -3836,8 +3777,8 @@ yyreduce: case 128: -/* Line 1464 of yacc.c */ -#line 896 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 909 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (5)].identifier), true, (yyvsp[(4) - (5)].expression), NULL); @@ -3850,8 +3791,8 @@ yyreduce: case 129: -/* Line 1464 of yacc.c */ -#line 905 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 918 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (6)].identifier), true, NULL, (yyvsp[(6) - (6)].expression)); @@ -3864,8 +3805,8 @@ yyreduce: case 130: -/* Line 1464 of yacc.c */ -#line 914 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 927 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (7)].identifier), true, (yyvsp[(4) - (7)].expression), (yyvsp[(7) - (7)].expression)); @@ -3878,8 +3819,8 @@ yyreduce: case 131: -/* Line 1464 of yacc.c */ -#line 923 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 936 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression)); @@ -3892,8 +3833,8 @@ yyreduce: case 132: -/* Line 1464 of yacc.c */ -#line 932 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 945 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (2)].identifier), false, NULL, NULL); @@ -3908,8 +3849,8 @@ yyreduce: case 133: -/* Line 1464 of yacc.c */ -#line 946 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 959 "glsl_parser.ypp" { void *ctx = state; (yyval.fully_specified_type) = new(ctx) ast_fully_specified_type(); @@ -3920,202 +3861,268 @@ yyreduce: case 134: -/* Line 1464 of yacc.c */ -#line 953 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 966 "glsl_parser.ypp" { void *ctx = state; (yyval.fully_specified_type) = new(ctx) ast_fully_specified_type(); (yyval.fully_specified_type)->set_location(yylloc); - (yyval.fully_specified_type)->qualifier = (yyvsp[(1) - (2)].type_qualifier).q; + (yyval.fully_specified_type)->qualifier = (yyvsp[(1) - (2)].type_qualifier); (yyval.fully_specified_type)->specifier = (yyvsp[(2) - (2)].type_specifier); ;} break; case 135: -/* Line 1464 of yacc.c */ -#line 963 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; ;} - break; - - case 137: - -/* Line 1464 of yacc.c */ -#line 969 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 977 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(3) - (4)].type_qualifier); ;} break; - case 139: + case 137: -/* Line 1464 of yacc.c */ -#line 977 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 985 "glsl_parser.ypp" { - (yyval.type_qualifier).i = (yyvsp[(1) - (3)].type_qualifier).i | (yyvsp[(3) - (3)].type_qualifier).i; + /* FINISHME: Should check for conflicting / duplicate flags here. + */ + (yyval.type_qualifier) = (yyvsp[(1) - (3)].type_qualifier); + (yyval.type_qualifier).flags.i |= (yyvsp[(3) - (3)].type_qualifier).flags.i; ;} break; - case 140: + case 138: -/* Line 1464 of yacc.c */ -#line 984 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 995 "glsl_parser.ypp" { - (yyval.type_qualifier).i = 0; + bool got_one = false; - if (state->ARB_fragment_coord_conventions_enable) { - bool got_one = false; + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + if (state->ARB_fragment_coord_conventions_enable) { if (strcmp((yyvsp[(1) - (1)].identifier), "origin_upper_left") == 0) { got_one = true; - (yyval.type_qualifier).q.origin_upper_left = 1; + (yyval.type_qualifier).flags.q.origin_upper_left = 1; } else if (strcmp((yyvsp[(1) - (1)].identifier), "pixel_center_integer") == 0) { got_one = true; - (yyval.type_qualifier).q.pixel_center_integer = 1; - } - - if (state->ARB_fragment_coord_conventions_warn && got_one) { - _mesa_glsl_warning(& (yylsp[(1) - (1)]), state, - "GL_ARB_fragment_coord_conventions layout " - "identifier `%s' used\n", (yyvsp[(1) - (1)].identifier)); + (yyval.type_qualifier).flags.q.pixel_center_integer = 1; } } /* If the identifier didn't match any known layout identifiers, * emit an error. */ - if ((yyval.type_qualifier).i == 0) { + if (!got_one) { _mesa_glsl_error(& (yylsp[(1) - (1)]), state, "unrecognized layout identifier " "`%s'\n", (yyvsp[(1) - (1)].identifier)); YYERROR; + } else if (state->ARB_fragment_coord_conventions_warn) { + _mesa_glsl_warning(& (yylsp[(1) - (1)]), state, + "GL_ARB_fragment_coord_conventions layout " + "identifier `%s' used\n", (yyvsp[(1) - (1)].identifier)); } ;} break; - case 141: + case 139: -/* Line 1464 of yacc.c */ -#line 1017 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.smooth = 1; ;} +/* Line 1455 of yacc.c */ +#line 1027 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.smooth = 1; + ;} break; - case 142: + case 140: -/* Line 1464 of yacc.c */ -#line 1018 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.flat = 1; ;} +/* Line 1455 of yacc.c */ +#line 1032 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.flat = 1; + ;} break; - case 143: + case 141: -/* Line 1464 of yacc.c */ -#line 1019 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.noperspective = 1; ;} +/* Line 1455 of yacc.c */ +#line 1037 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.noperspective = 1; + ;} break; - case 144: + case 142: -/* Line 1464 of yacc.c */ -#line 1023 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.constant = 1; ;} +/* Line 1455 of yacc.c */ +#line 1045 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.constant = 1; + ;} break; - case 146: + case 145: -/* Line 1464 of yacc.c */ -#line 1029 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1055 "glsl_parser.ypp" { - (yyval.type_qualifier).i = (yyvsp[(1) - (2)].type_qualifier).i | (yyvsp[(2) - (2)].type_qualifier).i; + (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier); + (yyval.type_qualifier).flags.i |= (yyvsp[(2) - (2)].type_qualifier).flags.i; ;} break; case 147: -/* Line 1464 of yacc.c */ -#line 1033 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1061 "glsl_parser.ypp" { - (yyval.type_qualifier) = (yyvsp[(2) - (2)].type_qualifier); - (yyval.type_qualifier).q.invariant = 1; + (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier); + (yyval.type_qualifier).flags.i |= (yyvsp[(2) - (2)].type_qualifier).flags.i; ;} break; case 148: -/* Line 1464 of yacc.c */ -#line 1040 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.constant = 1; ;} +/* Line 1455 of yacc.c */ +#line 1066 "glsl_parser.ypp" + { + (yyval.type_qualifier) = (yyvsp[(2) - (2)].type_qualifier); + (yyval.type_qualifier).flags.q.invariant = 1; + ;} break; case 149: -/* Line 1464 of yacc.c */ -#line 1041 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.attribute = 1; ;} +/* Line 1455 of yacc.c */ +#line 1071 "glsl_parser.ypp" + { + (yyval.type_qualifier) = (yyvsp[(2) - (3)].type_qualifier); + (yyval.type_qualifier).flags.i |= (yyvsp[(3) - (3)].type_qualifier).flags.i; + (yyval.type_qualifier).flags.q.invariant = 1; + ;} break; case 150: -/* Line 1464 of yacc.c */ -#line 1042 "glsl_parser.ypp" - { (yyval.type_qualifier).i = (yyvsp[(1) - (2)].type_qualifier).i; (yyval.type_qualifier).q.varying = 1; ;} +/* Line 1455 of yacc.c */ +#line 1077 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.invariant = 1; + ;} break; case 151: -/* Line 1464 of yacc.c */ -#line 1043 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.centroid = 1; (yyval.type_qualifier).q.varying = 1; ;} +/* Line 1455 of yacc.c */ +#line 1085 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.constant = 1; + ;} break; case 152: -/* Line 1464 of yacc.c */ -#line 1044 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.in = 1; ;} +/* Line 1455 of yacc.c */ +#line 1090 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.attribute = 1; + ;} break; case 153: -/* Line 1464 of yacc.c */ -#line 1045 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.out = 1; ;} +/* Line 1455 of yacc.c */ +#line 1095 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.varying = 1; + ;} break; case 154: -/* Line 1464 of yacc.c */ -#line 1046 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.centroid = 1; (yyval.type_qualifier).q.in = 1; ;} +/* Line 1455 of yacc.c */ +#line 1100 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.centroid = 1; + (yyval.type_qualifier).flags.q.varying = 1; + ;} break; case 155: -/* Line 1464 of yacc.c */ -#line 1047 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.centroid = 1; (yyval.type_qualifier).q.out = 1; ;} +/* Line 1455 of yacc.c */ +#line 1106 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.in = 1; + ;} break; case 156: -/* Line 1464 of yacc.c */ -#line 1048 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.uniform = 1; ;} +/* Line 1455 of yacc.c */ +#line 1111 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.out = 1; + ;} + break; + + case 157: + +/* Line 1455 of yacc.c */ +#line 1116 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.centroid = 1; (yyval.type_qualifier).flags.q.in = 1; + ;} break; case 158: -/* Line 1464 of yacc.c */ -#line 1054 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1121 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.centroid = 1; (yyval.type_qualifier).flags.q.out = 1; + ;} + break; + + case 159: + +/* Line 1455 of yacc.c */ +#line 1126 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.uniform = 1; + ;} + break; + + case 161: + +/* Line 1455 of yacc.c */ +#line 1135 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(2) - (2)].type_specifier); (yyval.type_specifier)->precision = (yyvsp[(1) - (2)].n); ;} break; - case 160: + case 163: -/* Line 1464 of yacc.c */ -#line 1063 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1144 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(1) - (3)].type_specifier); (yyval.type_specifier)->is_array = true; @@ -4123,10 +4130,10 @@ yyreduce: ;} break; - case 161: + case 164: -/* Line 1464 of yacc.c */ -#line 1069 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1150 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(1) - (4)].type_specifier); (yyval.type_specifier)->is_array = true; @@ -4134,10 +4141,10 @@ yyreduce: ;} break; - case 162: + case 165: -/* Line 1464 of yacc.c */ -#line 1078 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1159 "glsl_parser.ypp" { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].n)); @@ -4145,10 +4152,10 @@ yyreduce: ;} break; - case 163: + case 166: -/* Line 1464 of yacc.c */ -#line 1084 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1165 "glsl_parser.ypp" { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].struct_specifier)); @@ -4156,10 +4163,10 @@ yyreduce: ;} break; - case 164: + case 167: -/* Line 1464 of yacc.c */ -#line 1090 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1171 "glsl_parser.ypp" { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].identifier)); @@ -4167,367 +4174,367 @@ yyreduce: ;} break; - case 165: + case 168: -/* Line 1464 of yacc.c */ -#line 1098 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1179 "glsl_parser.ypp" { (yyval.n) = ast_void; ;} break; - case 166: + case 169: -/* Line 1464 of yacc.c */ -#line 1099 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1180 "glsl_parser.ypp" { (yyval.n) = ast_float; ;} break; - case 167: + case 170: -/* Line 1464 of yacc.c */ -#line 1100 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1181 "glsl_parser.ypp" { (yyval.n) = ast_int; ;} break; - case 168: + case 171: -/* Line 1464 of yacc.c */ -#line 1101 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1182 "glsl_parser.ypp" { (yyval.n) = ast_uint; ;} break; - case 169: + case 172: -/* Line 1464 of yacc.c */ -#line 1102 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1183 "glsl_parser.ypp" { (yyval.n) = ast_bool; ;} break; - case 170: + case 173: -/* Line 1464 of yacc.c */ -#line 1103 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1184 "glsl_parser.ypp" { (yyval.n) = ast_vec2; ;} break; - case 171: + case 174: -/* Line 1464 of yacc.c */ -#line 1104 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1185 "glsl_parser.ypp" { (yyval.n) = ast_vec3; ;} break; - case 172: + case 175: -/* Line 1464 of yacc.c */ -#line 1105 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1186 "glsl_parser.ypp" { (yyval.n) = ast_vec4; ;} break; - case 173: + case 176: -/* Line 1464 of yacc.c */ -#line 1106 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1187 "glsl_parser.ypp" { (yyval.n) = ast_bvec2; ;} break; - case 174: + case 177: -/* Line 1464 of yacc.c */ -#line 1107 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1188 "glsl_parser.ypp" { (yyval.n) = ast_bvec3; ;} break; - case 175: + case 178: -/* Line 1464 of yacc.c */ -#line 1108 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1189 "glsl_parser.ypp" { (yyval.n) = ast_bvec4; ;} break; - case 176: + case 179: -/* Line 1464 of yacc.c */ -#line 1109 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1190 "glsl_parser.ypp" { (yyval.n) = ast_ivec2; ;} break; - case 177: + case 180: -/* Line 1464 of yacc.c */ -#line 1110 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1191 "glsl_parser.ypp" { (yyval.n) = ast_ivec3; ;} break; - case 178: + case 181: -/* Line 1464 of yacc.c */ -#line 1111 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1192 "glsl_parser.ypp" { (yyval.n) = ast_ivec4; ;} break; - case 179: + case 182: -/* Line 1464 of yacc.c */ -#line 1112 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1193 "glsl_parser.ypp" { (yyval.n) = ast_uvec2; ;} break; - case 180: + case 183: -/* Line 1464 of yacc.c */ -#line 1113 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1194 "glsl_parser.ypp" { (yyval.n) = ast_uvec3; ;} break; - case 181: + case 184: -/* Line 1464 of yacc.c */ -#line 1114 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1195 "glsl_parser.ypp" { (yyval.n) = ast_uvec4; ;} break; - case 182: + case 185: -/* Line 1464 of yacc.c */ -#line 1115 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1196 "glsl_parser.ypp" { (yyval.n) = ast_mat2; ;} break; - case 183: + case 186: -/* Line 1464 of yacc.c */ -#line 1116 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1197 "glsl_parser.ypp" { (yyval.n) = ast_mat2x3; ;} break; - case 184: + case 187: -/* Line 1464 of yacc.c */ -#line 1117 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1198 "glsl_parser.ypp" { (yyval.n) = ast_mat2x4; ;} break; - case 185: + case 188: -/* Line 1464 of yacc.c */ -#line 1118 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1199 "glsl_parser.ypp" { (yyval.n) = ast_mat3x2; ;} break; - case 186: + case 189: -/* Line 1464 of yacc.c */ -#line 1119 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1200 "glsl_parser.ypp" { (yyval.n) = ast_mat3; ;} break; - case 187: + case 190: -/* Line 1464 of yacc.c */ -#line 1120 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1201 "glsl_parser.ypp" { (yyval.n) = ast_mat3x4; ;} break; - case 188: + case 191: -/* Line 1464 of yacc.c */ -#line 1121 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1202 "glsl_parser.ypp" { (yyval.n) = ast_mat4x2; ;} break; - case 189: + case 192: -/* Line 1464 of yacc.c */ -#line 1122 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1203 "glsl_parser.ypp" { (yyval.n) = ast_mat4x3; ;} break; - case 190: + case 193: -/* Line 1464 of yacc.c */ -#line 1123 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1204 "glsl_parser.ypp" { (yyval.n) = ast_mat4; ;} break; - case 191: + case 194: -/* Line 1464 of yacc.c */ -#line 1124 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1205 "glsl_parser.ypp" { (yyval.n) = ast_sampler1d; ;} break; - case 192: + case 195: -/* Line 1464 of yacc.c */ -#line 1125 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1206 "glsl_parser.ypp" { (yyval.n) = ast_sampler2d; ;} break; - case 193: + case 196: -/* Line 1464 of yacc.c */ -#line 1126 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1207 "glsl_parser.ypp" { (yyval.n) = ast_sampler2drect; ;} break; - case 194: + case 197: -/* Line 1464 of yacc.c */ -#line 1127 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1208 "glsl_parser.ypp" { (yyval.n) = ast_sampler3d; ;} break; - case 195: + case 198: -/* Line 1464 of yacc.c */ -#line 1128 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1209 "glsl_parser.ypp" { (yyval.n) = ast_samplercube; ;} break; - case 196: + case 199: -/* Line 1464 of yacc.c */ -#line 1129 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1210 "glsl_parser.ypp" { (yyval.n) = ast_sampler1dshadow; ;} break; - case 197: + case 200: -/* Line 1464 of yacc.c */ -#line 1130 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1211 "glsl_parser.ypp" { (yyval.n) = ast_sampler2dshadow; ;} break; - case 198: + case 201: -/* Line 1464 of yacc.c */ -#line 1131 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1212 "glsl_parser.ypp" { (yyval.n) = ast_sampler2drectshadow; ;} break; - case 199: + case 202: -/* Line 1464 of yacc.c */ -#line 1132 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1213 "glsl_parser.ypp" { (yyval.n) = ast_samplercubeshadow; ;} break; - case 200: + case 203: -/* Line 1464 of yacc.c */ -#line 1133 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1214 "glsl_parser.ypp" { (yyval.n) = ast_sampler1darray; ;} break; - case 201: + case 204: -/* Line 1464 of yacc.c */ -#line 1134 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1215 "glsl_parser.ypp" { (yyval.n) = ast_sampler2darray; ;} break; - case 202: + case 205: -/* Line 1464 of yacc.c */ -#line 1135 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1216 "glsl_parser.ypp" { (yyval.n) = ast_sampler1darrayshadow; ;} break; - case 203: + case 206: -/* Line 1464 of yacc.c */ -#line 1136 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1217 "glsl_parser.ypp" { (yyval.n) = ast_sampler2darrayshadow; ;} break; - case 204: + case 207: -/* Line 1464 of yacc.c */ -#line 1137 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1218 "glsl_parser.ypp" { (yyval.n) = ast_isampler1d; ;} break; - case 205: + case 208: -/* Line 1464 of yacc.c */ -#line 1138 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1219 "glsl_parser.ypp" { (yyval.n) = ast_isampler2d; ;} break; - case 206: + case 209: -/* Line 1464 of yacc.c */ -#line 1139 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1220 "glsl_parser.ypp" { (yyval.n) = ast_isampler3d; ;} break; - case 207: + case 210: -/* Line 1464 of yacc.c */ -#line 1140 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1221 "glsl_parser.ypp" { (yyval.n) = ast_isamplercube; ;} break; - case 208: + case 211: -/* Line 1464 of yacc.c */ -#line 1141 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1222 "glsl_parser.ypp" { (yyval.n) = ast_isampler1darray; ;} break; - case 209: + case 212: -/* Line 1464 of yacc.c */ -#line 1142 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1223 "glsl_parser.ypp" { (yyval.n) = ast_isampler2darray; ;} break; - case 210: + case 213: -/* Line 1464 of yacc.c */ -#line 1143 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1224 "glsl_parser.ypp" { (yyval.n) = ast_usampler1d; ;} break; - case 211: + case 214: -/* Line 1464 of yacc.c */ -#line 1144 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1225 "glsl_parser.ypp" { (yyval.n) = ast_usampler2d; ;} break; - case 212: + case 215: -/* Line 1464 of yacc.c */ -#line 1145 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1226 "glsl_parser.ypp" { (yyval.n) = ast_usampler3d; ;} break; - case 213: + case 216: -/* Line 1464 of yacc.c */ -#line 1146 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1227 "glsl_parser.ypp" { (yyval.n) = ast_usamplercube; ;} break; - case 214: + case 217: -/* Line 1464 of yacc.c */ -#line 1147 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1228 "glsl_parser.ypp" { (yyval.n) = ast_usampler1darray; ;} break; - case 215: + case 218: -/* Line 1464 of yacc.c */ -#line 1148 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1229 "glsl_parser.ypp" { (yyval.n) = ast_usampler2darray; ;} break; - case 216: + case 219: -/* Line 1464 of yacc.c */ -#line 1152 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1233 "glsl_parser.ypp" { if (!state->es_shader && state->language_version < 130) _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4541,10 +4548,10 @@ yyreduce: ;} break; - case 217: + case 220: -/* Line 1464 of yacc.c */ -#line 1163 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1244 "glsl_parser.ypp" { if (!state->es_shader && state->language_version < 130) _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4558,10 +4565,10 @@ yyreduce: ;} break; - case 218: + case 221: -/* Line 1464 of yacc.c */ -#line 1174 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1255 "glsl_parser.ypp" { if (!state->es_shader && state->language_version < 130) _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4575,10 +4582,10 @@ yyreduce: ;} break; - case 219: + case 222: -/* Line 1464 of yacc.c */ -#line 1189 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1270 "glsl_parser.ypp" { void *ctx = state; (yyval.struct_specifier) = new(ctx) ast_struct_specifier((yyvsp[(2) - (5)].identifier), (yyvsp[(4) - (5)].node)); @@ -4586,10 +4593,10 @@ yyreduce: ;} break; - case 220: + case 223: -/* Line 1464 of yacc.c */ -#line 1195 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1276 "glsl_parser.ypp" { void *ctx = state; (yyval.struct_specifier) = new(ctx) ast_struct_specifier(NULL, (yyvsp[(3) - (4)].node)); @@ -4597,30 +4604,30 @@ yyreduce: ;} break; - case 221: + case 224: -/* Line 1464 of yacc.c */ -#line 1204 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1285 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].declarator_list); (yyvsp[(1) - (1)].declarator_list)->link.self_link(); ;} break; - case 222: + case 225: -/* Line 1464 of yacc.c */ -#line 1209 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1290 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (2)].node); (yyval.node)->link.insert_before(& (yyvsp[(2) - (2)].declarator_list)->link); ;} break; - case 223: + case 226: -/* Line 1464 of yacc.c */ -#line 1217 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1298 "glsl_parser.ypp" { void *ctx = state; ast_fully_specified_type *type = new(ctx) ast_fully_specified_type(); @@ -4634,30 +4641,30 @@ yyreduce: ;} break; - case 224: + case 227: -/* Line 1464 of yacc.c */ -#line 1232 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1313 "glsl_parser.ypp" { (yyval.declaration) = (yyvsp[(1) - (1)].declaration); (yyvsp[(1) - (1)].declaration)->link.self_link(); ;} break; - case 225: + case 228: -/* Line 1464 of yacc.c */ -#line 1237 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1318 "glsl_parser.ypp" { (yyval.declaration) = (yyvsp[(1) - (3)].declaration); (yyval.declaration)->link.insert_before(& (yyvsp[(3) - (3)].declaration)->link); ;} break; - case 226: + case 229: -/* Line 1464 of yacc.c */ -#line 1245 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1326 "glsl_parser.ypp" { void *ctx = state; (yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (1)].identifier), false, NULL, NULL); @@ -4665,10 +4672,10 @@ yyreduce: ;} break; - case 227: + case 230: -/* Line 1464 of yacc.c */ -#line 1251 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1332 "glsl_parser.ypp" { void *ctx = state; (yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (4)].identifier), true, (yyvsp[(3) - (4)].expression), NULL); @@ -4676,31 +4683,31 @@ yyreduce: ;} break; - case 230: + case 233: -/* Line 1464 of yacc.c */ -#line 1269 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1350 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); ;} break; - case 235: + case 238: -/* Line 1464 of yacc.c */ -#line 1277 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1358 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; - case 236: + case 239: -/* Line 1464 of yacc.c */ -#line 1278 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1359 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; - case 239: + case 242: -/* Line 1464 of yacc.c */ -#line 1285 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1366 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(true, NULL); @@ -4708,10 +4715,10 @@ yyreduce: ;} break; - case 240: + case 243: -/* Line 1464 of yacc.c */ -#line 1291 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1372 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(true, (yyvsp[(2) - (3)].node)); @@ -4719,17 +4726,17 @@ yyreduce: ;} break; - case 241: + case 244: -/* Line 1464 of yacc.c */ -#line 1299 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1380 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); ;} break; - case 243: + case 246: -/* Line 1464 of yacc.c */ -#line 1305 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1386 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(false, NULL); @@ -4737,10 +4744,10 @@ yyreduce: ;} break; - case 244: + case 247: -/* Line 1464 of yacc.c */ -#line 1311 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1392 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(false, (yyvsp[(2) - (3)].node)); @@ -4748,10 +4755,10 @@ yyreduce: ;} break; - case 245: + case 248: -/* Line 1464 of yacc.c */ -#line 1320 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1401 "glsl_parser.ypp" { if ((yyvsp[(1) - (1)].node) == NULL) { _mesa_glsl_error(& (yylsp[(1) - (1)]), state, "<nil> statement\n"); @@ -4763,10 +4770,10 @@ yyreduce: ;} break; - case 246: + case 249: -/* Line 1464 of yacc.c */ -#line 1330 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1411 "glsl_parser.ypp" { if ((yyvsp[(2) - (2)].node) == NULL) { _mesa_glsl_error(& (yylsp[(2) - (2)]), state, "<nil> statement\n"); @@ -4777,10 +4784,10 @@ yyreduce: ;} break; - case 247: + case 250: -/* Line 1464 of yacc.c */ -#line 1342 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1423 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_expression_statement(NULL); @@ -4788,10 +4795,10 @@ yyreduce: ;} break; - case 248: + case 251: -/* Line 1464 of yacc.c */ -#line 1348 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1429 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_expression_statement((yyvsp[(1) - (2)].expression)); @@ -4799,10 +4806,10 @@ yyreduce: ;} break; - case 249: + case 252: -/* Line 1464 of yacc.c */ -#line 1357 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1438 "glsl_parser.ypp" { (yyval.node) = new(state) ast_selection_statement((yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].selection_rest_statement).then_statement, (yyvsp[(5) - (5)].selection_rest_statement).else_statement); @@ -4810,39 +4817,39 @@ yyreduce: ;} break; - case 250: + case 253: -/* Line 1464 of yacc.c */ -#line 1366 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1447 "glsl_parser.ypp" { (yyval.selection_rest_statement).then_statement = (yyvsp[(1) - (3)].node); (yyval.selection_rest_statement).else_statement = (yyvsp[(3) - (3)].node); ;} break; - case 251: + case 254: -/* Line 1464 of yacc.c */ -#line 1371 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1452 "glsl_parser.ypp" { (yyval.selection_rest_statement).then_statement = (yyvsp[(1) - (1)].node); (yyval.selection_rest_statement).else_statement = NULL; ;} break; - case 252: + case 255: -/* Line 1464 of yacc.c */ -#line 1379 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1460 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].expression); ;} break; - case 253: + case 256: -/* Line 1464 of yacc.c */ -#line 1383 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1464 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression)); @@ -4855,10 +4862,10 @@ yyreduce: ;} break; - case 257: + case 260: -/* Line 1464 of yacc.c */ -#line 1406 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1487 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_while, @@ -4867,10 +4874,10 @@ yyreduce: ;} break; - case 258: + case 261: -/* Line 1464 of yacc.c */ -#line 1413 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1494 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_do_while, @@ -4879,10 +4886,10 @@ yyreduce: ;} break; - case 259: + case 262: -/* Line 1464 of yacc.c */ -#line 1420 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1501 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_for, @@ -4891,39 +4898,39 @@ yyreduce: ;} break; - case 263: + case 266: -/* Line 1464 of yacc.c */ -#line 1436 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1517 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; - case 264: + case 267: -/* Line 1464 of yacc.c */ -#line 1443 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1524 "glsl_parser.ypp" { (yyval.for_rest_statement).cond = (yyvsp[(1) - (2)].node); (yyval.for_rest_statement).rest = NULL; ;} break; - case 265: + case 268: -/* Line 1464 of yacc.c */ -#line 1448 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1529 "glsl_parser.ypp" { (yyval.for_rest_statement).cond = (yyvsp[(1) - (3)].node); (yyval.for_rest_statement).rest = (yyvsp[(3) - (3)].expression); ;} break; - case 266: + case 269: -/* Line 1464 of yacc.c */ -#line 1457 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1538 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_continue, NULL); @@ -4931,10 +4938,10 @@ yyreduce: ;} break; - case 267: + case 270: -/* Line 1464 of yacc.c */ -#line 1463 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1544 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_break, NULL); @@ -4942,10 +4949,10 @@ yyreduce: ;} break; - case 268: + case 271: -/* Line 1464 of yacc.c */ -#line 1469 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1550 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, NULL); @@ -4953,10 +4960,10 @@ yyreduce: ;} break; - case 269: + case 272: -/* Line 1464 of yacc.c */ -#line 1475 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1556 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, (yyvsp[(2) - (3)].expression)); @@ -4964,10 +4971,10 @@ yyreduce: ;} break; - case 270: + case 273: -/* Line 1464 of yacc.c */ -#line 1481 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1562 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_discard, NULL); @@ -4975,31 +4982,31 @@ yyreduce: ;} break; - case 271: + case 274: -/* Line 1464 of yacc.c */ -#line 1489 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1570 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (1)].function_definition); ;} break; - case 272: + case 275: -/* Line 1464 of yacc.c */ -#line 1490 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1571 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 273: + case 276: -/* Line 1464 of yacc.c */ -#line 1491 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1572 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; - case 274: + case 277: -/* Line 1464 of yacc.c */ -#line 1496 "glsl_parser.ypp" +/* Line 1455 of yacc.c */ +#line 1577 "glsl_parser.ypp" { void *ctx = state; (yyval.function_definition) = new(ctx) ast_function_definition(); @@ -5011,8 +5018,8 @@ yyreduce: -/* Line 1464 of yacc.c */ -#line 5016 "glsl_parser.cpp" +/* Line 1455 of yacc.c */ +#line 5023 "glsl_parser.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -5084,7 +5091,7 @@ yyerrlab: #endif } - yyerror_range[1] = yylloc; + yyerror_range[0] = yylloc; if (yyerrstatus == 3) { @@ -5121,7 +5128,7 @@ yyerrorlab: if (/*CONSTCOND*/ 0) goto yyerrorlab; - yyerror_range[1] = yylsp[1-yylen]; + yyerror_range[0] = yylsp[1-yylen]; /* Do not reclaim the symbols of the rule which action triggered this YYERROR. */ YYPOPSTACK (yylen); @@ -5155,7 +5162,7 @@ yyerrlab1: if (yyssp == yyss) YYABORT; - yyerror_range[1] = *yylsp; + yyerror_range[0] = *yylsp; yydestruct ("Error: popping", yystos[yystate], yyvsp, yylsp, state); YYPOPSTACK (1); @@ -5165,10 +5172,10 @@ yyerrlab1: *++yyvsp = yylval; - yyerror_range[2] = yylloc; + yyerror_range[1] = yylloc; /* Using YYLLOC is tempting, but would change the location of the lookahead. YYLOC is available though. */ - YYLLOC_DEFAULT (yyloc, yyerror_range, 2); + YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2); *++yylsp = yyloc; /* Shift the error token. */ |