diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/glsl/glsl_lexer.cpp | 1951 | ||||
-rw-r--r-- | src/glsl/glsl_parser.cpp | 2230 | ||||
-rw-r--r-- | src/glsl/glsl_parser.h | 17 |
3 files changed, 2183 insertions, 2015 deletions
diff --git a/src/glsl/glsl_lexer.cpp b/src/glsl/glsl_lexer.cpp index d3bc3aa9f1f..e3d0a3cfc9d 100644 --- a/src/glsl/glsl_lexer.cpp +++ b/src/glsl/glsl_lexer.cpp @@ -54,6 +54,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,8 +85,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -159,15 +158,7 @@ typedef void* yyscan_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -358,8 +349,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 189 -#define YY_END_OF_BUFFER 190 +#define YY_NUM_RULES 209 +#define YY_END_OF_BUFFER 210 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -367,87 +358,98 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[716] = +static yyconst flex_int16_t yy_accept[813] = { 0, - 0, 0, 15, 15, 0, 0, 190, 188, 1, 20, - 188, 188, 188, 188, 188, 188, 188, 188, 102, 100, - 188, 188, 188, 187, 188, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 188, 1, 188, 189, 15, - 19, 189, 18, 16, 17, 13, 12, 1, 84, 93, - 85, 96, 90, 79, 92, 80, 99, 104, 91, 105, - 102, 0, 0, 107, 0, 100, 88, 81, 83, 82, - 89, 187, 97, 87, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 29, 187, 187, 187, - - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 33, 187, 187, 60, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 98, 86, 1, 0, - 0, 2, 0, 0, 0, 0, 15, 14, 18, 17, - 0, 104, 103, 0, 105, 0, 106, 101, 94, 95, - 187, 110, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 32, 187, 187, 187, 187, 187, 187, - - 187, 187, 187, 187, 25, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 61, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 0, 0, 0, 0, 14, - 0, 104, 0, 103, 0, 105, 106, 187, 187, 23, - 187, 187, 150, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 31, 113, 187, 187, 187, 187, 67, 187, - 187, 118, 132, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 129, 153, 48, 49, 50, 187, - - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 116, - 108, 187, 187, 26, 187, 187, 187, 187, 187, 187, - 45, 46, 47, 77, 187, 187, 0, 0, 0, 0, - 0, 103, 187, 187, 27, 36, 37, 38, 187, 111, - 187, 22, 187, 187, 187, 187, 140, 141, 142, 187, - 109, 187, 133, 24, 143, 144, 145, 155, 137, 138, - 139, 187, 187, 187, 62, 135, 187, 187, 39, 40, - 41, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 130, 187, 187, - - 187, 187, 187, 187, 187, 187, 187, 187, 112, 187, - 152, 42, 43, 44, 187, 187, 30, 0, 0, 0, - 0, 159, 187, 187, 157, 187, 187, 187, 131, 126, - 162, 187, 187, 187, 187, 187, 187, 121, 187, 187, - 78, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 187, 187, 187, 187, 136, 117, 187, 187, 124, 35, - 187, 187, 149, 68, 125, 76, 160, 119, 187, 187, - 187, 187, 187, 187, 187, 0, 0, 0, 0, 187, - 187, 187, 120, 34, 187, 187, 187, 187, 187, 187, - 163, 164, 165, 187, 187, 187, 187, 154, 187, 187, - - 187, 187, 187, 187, 187, 187, 114, 187, 187, 187, - 187, 187, 63, 187, 64, 187, 0, 0, 0, 0, - 0, 187, 65, 28, 127, 167, 168, 169, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 122, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 115, - 171, 172, 173, 187, 187, 134, 123, 0, 0, 6, - 0, 0, 0, 11, 3, 21, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 166, 128, 66, 151, 187, - 158, 156, 186, 70, 71, 72, 187, 187, 187, 187, - 187, 187, 0, 0, 0, 0, 0, 0, 187, 187, - - 187, 170, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 174, 4, 0, - 5, 0, 0, 0, 0, 0, 187, 187, 187, 187, - 187, 187, 187, 183, 187, 187, 187, 187, 187, 187, - 73, 187, 187, 187, 0, 0, 0, 187, 187, 184, - 175, 187, 176, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 185, 0, 0, 177, 178, 181, 182, 69, - 187, 146, 187, 147, 161, 179, 180, 0, 0, 187, - 187, 187, 0, 0, 0, 74, 187, 75, 0, 0, - 0, 187, 0, 0, 0, 187, 0, 0, 7, 0, - - 0, 187, 0, 8, 0, 0, 148, 0, 0, 0, - 0, 9, 0, 10, 0 + 0, 0, 15, 15, 0, 0, 210, 208, 1, 20, + 208, 208, 208, 208, 208, 208, 208, 208, 119, 117, + 208, 208, 208, 207, 208, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 208, 1, 208, 209, 15, + 19, 209, 18, 16, 17, 13, 12, 1, 101, 110, + 102, 113, 107, 96, 109, 97, 116, 121, 108, 122, + 119, 0, 0, 124, 119, 0, 117, 117, 105, 98, + 100, 99, 106, 207, 114, 104, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 29, 207, + + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 33, 207, 207, 60, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 115, + 103, 1, 0, 0, 2, 0, 0, 0, 0, 15, + 14, 18, 17, 0, 121, 120, 0, 122, 0, 123, + 118, 111, 112, 207, 127, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 32, 207, 207, 207, + + 207, 207, 207, 207, 207, 207, 207, 25, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 61, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 0, 0, 0, 0, 14, 0, 121, 0, 120, 0, + 122, 123, 118, 207, 207, 23, 207, 207, 174, 167, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 31, + 130, 207, 207, 207, 207, 67, 207, 207, 135, 149, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + + 207, 207, 146, 170, 48, 49, 50, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 133, 125, 207, + 207, 26, 207, 207, 207, 207, 207, 207, 207, 45, + 46, 47, 94, 207, 207, 0, 0, 0, 0, 0, + 120, 207, 207, 27, 36, 37, 38, 207, 128, 207, + 22, 207, 207, 207, 207, 157, 158, 159, 207, 126, + 207, 150, 24, 160, 161, 162, 172, 154, 155, 156, + 207, 207, 207, 62, 152, 207, 207, 207, 39, 40, + 41, 207, 207, 207, 207, 207, 207, 207, 207, 207, + + 207, 207, 207, 207, 207, 207, 207, 147, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 129, 207, + 207, 169, 42, 43, 44, 207, 207, 30, 0, 0, + 0, 0, 177, 207, 207, 175, 207, 207, 207, 148, + 143, 180, 207, 207, 207, 207, 207, 207, 138, 207, + 207, 207, 95, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 207, 207, 207, 207, 153, 134, 207, 207, + 141, 35, 207, 207, 166, 68, 142, 93, 178, 136, + 207, 207, 207, 207, 207, 207, 207, 207, 0, 0, + 0, 0, 207, 207, 207, 137, 34, 207, 207, 207, + + 207, 207, 207, 181, 182, 183, 207, 207, 207, 207, + 207, 171, 207, 207, 207, 207, 207, 207, 207, 207, + 131, 207, 207, 207, 207, 207, 63, 207, 207, 64, + 207, 0, 0, 0, 0, 0, 207, 65, 28, 144, + 185, 186, 187, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 139, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 132, 189, 190, 191, 207, + 207, 151, 207, 140, 0, 0, 6, 0, 0, 0, + 11, 3, 21, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 184, 145, 66, 207, 207, 207, 207, 168, + + 207, 176, 173, 206, 70, 71, 72, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 0, 0, 0, + 0, 0, 0, 207, 207, 207, 188, 207, 207, 207, + 207, 207, 81, 82, 83, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 192, 87, + 88, 89, 207, 4, 0, 5, 0, 0, 0, 0, + 0, 207, 207, 207, 207, 207, 207, 207, 203, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 73, 207, 207, 207, 207, 207, 207, 0, 0, 0, + 207, 207, 204, 193, 207, 194, 207, 207, 207, 84, + + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 205, 207, 207, 90, 0, 0, 195, 196, 207, + 199, 207, 200, 207, 207, 69, 207, 207, 207, 163, + 207, 164, 179, 207, 197, 198, 207, 207, 0, 0, + 207, 207, 207, 207, 74, 207, 75, 207, 207, 207, + 207, 207, 0, 0, 0, 207, 207, 85, 86, 207, + 76, 207, 207, 77, 207, 91, 92, 0, 0, 0, + 207, 207, 207, 207, 207, 207, 0, 0, 0, 207, + 207, 207, 207, 207, 78, 0, 0, 7, 0, 0, + 201, 202, 207, 207, 207, 0, 8, 0, 0, 207, + + 207, 165, 0, 0, 79, 80, 0, 0, 9, 0, + 10, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -460,12 +462,12 @@ static yyconst flex_int32_t yy_ec[256] = 19, 20, 21, 21, 21, 22, 22, 23, 1, 24, 25, 26, 1, 1, 27, 28, 29, 30, 31, 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 34, 35, 33, 33, 33, 33, 36, 33, 33, - 1, 1, 1, 37, 38, 1, 39, 40, 41, 42, + 33, 34, 35, 33, 36, 33, 33, 37, 33, 33, + 1, 1, 1, 38, 39, 1, 40, 41, 42, 43, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 33, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 1, 64, 1, 1, 1, 1, 1, 1, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 33, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 1, 65, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -482,317 +484,350 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[65] = +static yyconst flex_int32_t yy_meta[66] = { 0, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 6, 6, 6, 6, - 5, 5, 7, 7, 7, 8, 1, 7, 6, 6, - 6, 6, 5, 5, 7, 7, 7, 7, 7, 7, + 5, 5, 7, 7, 7, 7, 8, 1, 7, 6, + 6, 6, 6, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 8, 7, 7, 1 + 7, 8, 7, 7, 1 } ; -static yyconst flex_int16_t yy_base[727] = +static yyconst flex_int16_t yy_base[824] = { 0, - 0, 63, 69, 0, 1083, 1082, 1084, 1087, 64, 1087, - 1058, 1057, 126, 1056, 123, 124, 122, 1055, 138, 186, - 121, 1054, 136, 0, 128, 122, 113, 134, 133, 133, - 162, 1025, 151, 172, 97, 128, 136, 1019, 156, 179, - 187, 193, 190, 211, 1030, 163, 254, 238, 1087, 189, - 1087, 1060, 249, 1087, 0, 1087, 1087, 249, 1087, 1087, - 1087, 1087, 1087, 1087, 1087, 1087, 1087, 230, 1087, 246, - 221, 284, 301, 1087, 0, 0, 1049, 1087, 1087, 1087, - 1048, 0, 1087, 1087, 1015, 1020, 1013, 1016, 1025, 1024, - 1010, 1013, 1025, 145, 1019, 1006, 1003, 1017, 1003, 1000, - - 1000, 1006, 202, 233, 1000, 1011, 996, 1002, 1006, 1007, - 0, 998, 1009, 226, 1004, 984, 168, 988, 1002, 992, - 237, 985, 252, 998, 1000, 982, 978, 986, 983, 972, - 981, 204, 979, 985, 980, 983, 971, 974, 243, 240, - 980, 983, 970, 983, 261, 976, 1087, 1087, 327, 307, - 322, 1087, 961, 974, 965, 976, 328, 0, 318, 0, - 366, 1087, 310, 377, 1087, 327, 384, 0, 1087, 1087, - 971, 0, 962, 966, 976, 973, 956, 955, 955, 959, - 295, 970, 967, 967, 965, 962, 953, 960, 946, 944, - 957, 942, 959, 0, 956, 943, 951, 948, 952, 953, - - 946, 943, 931, 930, 944, 947, 944, 931, 938, 928, - 340, 934, 937, 927, 935, 923, 927, 918, 933, 923, - 914, 933, 916, 914, 925, 914, 909, 907, 921, 906, - 908, 905, 917, 916, 919, 900, 311, 909, 903, 913, - 891, 349, 910, 912, 900, 892, 896, 908, 891, 0, - 391, 401, 418, 1087, 430, 437, 1087, 886, 897, 0, - 894, 355, 0, 887, 885, 887, 882, 891, 879, 897, - 885, 406, 0, 0, 879, 890, 889, 889, 0, 873, - 423, 0, 0, 875, 442, 883, 884, 874, 868, 867, - 868, 867, 445, 863, 0, 0, 859, 858, 857, 859, - - 860, 865, 859, 855, 869, 864, 863, 862, 853, 856, - 856, 848, 851, 846, 855, 860, 845, 858, 848, 0, - 0, 855, 851, 0, 842, 842, 848, 847, 448, 844, - 0, 0, 0, 0, 833, 846, 845, 844, 841, 829, - 454, 466, 841, 843, 0, 0, 0, 0, 829, 0, - 829, 0, 828, 829, 823, 834, 0, 0, 0, 824, - 0, 820, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 831, 461, 830, 0, 0, 828, 824, 0, 0, - 0, 813, 473, 476, 481, 818, 814, 820, 810, 808, - 822, 806, 806, 820, 808, 820, 815, 0, 813, 810, - - 814, 797, 799, 806, 812, 807, 806, 793, 0, 795, - 0, 0, 0, 0, 794, 798, 0, 792, 841, 791, - 794, 0, 782, 792, 0, 780, 780, 794, 0, 796, - 0, 485, 804, 803, 802, 773, 772, 0, 790, 789, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 773, 787, 773, 770, 0, 0, 776, 775, 0, 0, - 773, 765, 0, 0, 0, 0, 0, 0, 762, 774, - 488, 766, 773, 770, 764, 757, 506, 773, 758, 753, - 767, 765, 0, 0, 757, 776, 775, 774, 745, 744, - 335, 336, 0, 757, 760, 758, 746, 0, 756, 753, - - 752, 741, 740, 739, 501, 748, 0, 760, 759, 758, - 729, 728, 0, 743, 0, 741, 736, 509, 530, 780, - 729, 737, 0, 0, 0, 752, 751, 0, 733, 736, - 720, 728, 718, 726, 727, 727, 726, 711, 724, 0, - 725, 713, 712, 708, 732, 731, 730, 701, 700, 0, - 730, 729, 0, 711, 714, 0, 0, 700, 537, 1087, - 558, 0, 564, 560, 1087, 0, 697, 696, 706, 706, - 693, 708, 691, 706, 701, 0, 0, 0, 0, 686, - 0, 0, 0, 707, 357, 707, 696, 699, 683, 682, - 692, 692, 682, 532, 587, 412, 690, 678, 676, 675, - - 686, 0, 689, 685, 687, 683, 669, 676, 676, 678, - 674, 676, 674, 674, 661, 660, 671, 0, 1087, 534, - 1087, 598, 0, 608, 673, 655, 672, 671, 654, 646, - 654, 644, 652, 0, 645, 664, 661, 658, 655, 652, - 0, 648, 647, 630, 539, 618, 600, 584, 583, 0, - 0, 579, 0, 578, 594, 580, 564, 527, 506, 489, - 453, 447, 0, 452, 426, 0, 0, 0, 0, 0, - 391, 397, 376, 0, 0, 0, 0, 529, 380, 320, - 331, 296, 562, 273, 249, 0, 260, 0, 519, 521, - 192, 183, 169, 585, 589, 111, 586, 610, 1087, 590, - - 541, 87, 621, 1087, 595, 588, 0, 23, 631, 632, - 633, 1087, 634, 1087, 1087, 648, 653, 658, 663, 665, - 667, 673, 680, 685, 690, 695 + 0, 64, 70, 0, 1185, 1184, 1186, 1189, 65, 1189, + 1160, 1159, 128, 1158, 125, 126, 124, 1157, 140, 189, + 123, 1156, 138, 0, 127, 124, 113, 135, 144, 161, + 176, 1126, 130, 187, 140, 143, 161, 1120, 182, 174, + 202, 199, 211, 212, 1131, 130, 263, 255, 1189, 189, + 1189, 1162, 256, 1189, 0, 1189, 1189, 215, 1189, 1189, + 1189, 1189, 1189, 1189, 1189, 1189, 1189, 248, 1189, 250, + 112, 302, 319, 1189, 1189, 0, 0, 1189, 1151, 1189, + 1189, 1189, 1150, 0, 1189, 1189, 1116, 1121, 1114, 1117, + 1126, 1125, 1111, 1114, 1126, 144, 1120, 1107, 1104, 1118, + + 1104, 1101, 1101, 1107, 175, 191, 1101, 1112, 1097, 1103, + 1107, 1108, 0, 1099, 1110, 247, 1109, 1104, 1084, 230, + 1088, 1102, 1092, 241, 1085, 228, 1098, 1100, 1082, 1078, + 1086, 1083, 1072, 1081, 173, 1079, 1085, 1080, 1083, 1071, + 1074, 233, 240, 260, 1084, 1071, 1084, 239, 1077, 1189, + 1189, 307, 301, 323, 1189, 1062, 1075, 1066, 1077, 249, + 0, 368, 0, 379, 1189, 298, 390, 1189, 397, 404, + 291, 1189, 1189, 1072, 0, 1063, 1067, 1077, 1074, 270, + 1057, 1057, 1061, 291, 1072, 1069, 1069, 1067, 1064, 1055, + 1062, 1048, 1046, 1059, 1044, 1061, 0, 1058, 1045, 1053, + + 1050, 1054, 1055, 1048, 1045, 1033, 1032, 1046, 1049, 1036, + 1045, 1032, 1039, 1029, 335, 1035, 1038, 1028, 1036, 1024, + 1028, 1019, 1034, 1024, 1015, 1034, 1017, 1015, 1026, 1015, + 1010, 1008, 1022, 1007, 1009, 1006, 1018, 1017, 1020, 1001, + 306, 1010, 1005, 1003, 1013, 991, 339, 1010, 1012, 1000, + 992, 996, 1008, 991, 0, 411, 421, 438, 1189, 451, + 458, 1189, 1189, 986, 997, 0, 994, 344, 0, 0, + 987, 985, 987, 982, 991, 979, 997, 985, 350, 0, + 0, 979, 990, 989, 989, 0, 973, 353, 0, 0, + 975, 357, 983, 984, 974, 968, 967, 968, 967, 967, + + 361, 962, 0, 0, 958, 957, 956, 958, 959, 964, + 958, 954, 968, 963, 962, 961, 952, 955, 955, 947, + 950, 945, 954, 959, 944, 957, 947, 0, 0, 954, + 950, 0, 941, 941, 947, 937, 945, 426, 942, 0, + 0, 0, 0, 931, 944, 943, 942, 939, 927, 465, + 475, 939, 941, 0, 0, 0, 0, 927, 0, 927, + 0, 926, 927, 921, 932, 0, 0, 0, 922, 0, + 918, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 929, 481, 928, 0, 0, 926, 922, 918, 0, 0, + 0, 910, 443, 486, 493, 915, 911, 917, 907, 905, + + 919, 903, 903, 917, 905, 917, 912, 0, 910, 907, + 911, 894, 896, 903, 909, 904, 903, 890, 0, 892, + 893, 0, 0, 0, 0, 890, 894, 0, 888, 938, + 887, 890, 0, 878, 888, 0, 876, 876, 890, 0, + 892, 0, 497, 901, 900, 899, 869, 868, 0, 886, + 885, 880, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 868, 882, 868, 865, 0, 0, 871, 870, + 0, 0, 868, 860, 0, 0, 0, 0, 0, 0, + 857, 869, 500, 861, 868, 867, 864, 858, 851, 519, + 867, 852, 847, 861, 859, 0, 0, 851, 871, 870, + + 869, 839, 838, 495, 496, 0, 851, 854, 852, 840, + 836, 0, 849, 846, 845, 834, 833, 832, 515, 841, + 0, 854, 853, 852, 822, 821, 0, 836, 822, 0, + 833, 828, 543, 545, 873, 821, 829, 0, 0, 0, + 845, 844, 0, 825, 828, 812, 820, 810, 818, 819, + 819, 818, 803, 539, 816, 0, 817, 805, 804, 800, + 825, 824, 823, 793, 792, 0, 823, 822, 0, 803, + 806, 0, 552, 0, 792, 557, 1189, 580, 0, 590, + 499, 1189, 0, 789, 788, 798, 798, 785, 800, 783, + 798, 793, 0, 0, 0, 806, 805, 804, 774, 0, + + 774, 0, 0, 0, 559, 568, 797, 785, 788, 772, + 771, 781, 781, 794, 793, 792, 762, 767, 552, 613, + 363, 775, 763, 761, 760, 771, 0, 774, 770, 772, + 768, 754, 782, 781, 0, 766, 758, 749, 757, 747, + 758, 754, 756, 754, 754, 741, 740, 751, 0, 767, + 766, 0, 751, 1189, 391, 1189, 620, 0, 640, 750, + 732, 749, 748, 731, 723, 731, 721, 729, 0, 726, + 725, 736, 719, 722, 737, 720, 733, 734, 731, 728, + 736, 730, 729, 712, 711, 710, 721, 402, 705, 715, + 699, 698, 0, 725, 698, 723, 696, 700, 699, 0, + + 710, 713, 709, 711, 688, 702, 686, 680, 688, 671, + 662, 0, 640, 639, 0, 648, 641, 0, 0, 645, + 0, 644, 0, 650, 649, 0, 625, 633, 623, 650, + 630, 0, 0, 643, 0, 0, 642, 641, 582, 632, + 639, 638, 614, 613, 635, 608, 633, 607, 590, 607, + 586, 585, 611, 380, 526, 545, 544, 0, 0, 538, + 0, 504, 510, 0, 495, 0, 0, 550, 572, 483, + 470, 454, 462, 449, 445, 404, 419, 616, 619, 391, + 387, 404, 392, 290, 0, 617, 642, 1189, 644, 570, + 0, 0, 263, 258, 139, 645, 1189, 643, 618, 107, + + 77, 0, 23, 662, 0, 0, 663, 664, 1189, 665, + 1189, 1189, 697, 702, 707, 712, 714, 716, 722, 729, + 734, 739, 744 } ; -static yyconst flex_int16_t yy_def[727] = +static yyconst flex_int16_t yy_def[824] = { 0, - 715, 1, 715, 3, 716, 716, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - 715, 715, 715, 717, 715, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 715, 715, 715, 715, 715, - 715, 715, 715, 715, 718, 715, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 719, 715, 720, - 19, 715, 715, 715, 721, 20, 715, 715, 715, 715, - 715, 717, 715, 715, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 722, 715, 718, - 715, 715, 720, 715, 715, 715, 715, 721, 715, 715, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 715, 715, 715, 715, 722, - 715, 715, 715, 715, 715, 715, 715, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 715, 715, 715, 715, - 715, 715, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 715, 715, 715, - 715, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 715, 715, 715, 715, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 715, 723, 715, 715, - 715, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 715, 715, 715, - 715, 724, 715, 715, 715, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 715, 725, 715, 724, 715, 715, 717, 717, - - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 715, 715, - 715, 715, 726, 715, 715, 715, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 726, 715, 715, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 715, 715, 717, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 715, 715, 717, - 717, 717, 715, 715, 715, 717, 717, 717, 715, 715, - 715, 717, 715, 715, 715, 717, 715, 715, 715, 715, - - 715, 717, 715, 715, 715, 715, 717, 715, 715, 715, - 715, 715, 715, 715, 0, 715, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 715 + 812, 1, 812, 3, 813, 813, 812, 812, 812, 812, + 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, + 812, 812, 812, 814, 812, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 812, 812, 812, 812, 812, + 812, 812, 812, 812, 815, 812, 812, 812, 812, 812, + 812, 812, 812, 812, 812, 812, 812, 816, 812, 817, + 19, 812, 812, 812, 812, 818, 20, 812, 812, 812, + 812, 812, 812, 814, 812, 812, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 812, + 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, + 819, 812, 815, 812, 812, 817, 812, 812, 812, 812, + 818, 812, 812, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 812, 812, 812, 812, 819, 812, 812, 812, 812, 812, + 812, 812, 812, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 812, 812, 812, 812, 812, + 812, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 812, 812, + 812, 812, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 812, 812, + 812, 812, 814, 814, 814, 814, 814, 814, 814, 814, + + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 812, 820, 812, 812, 812, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 812, 812, 812, 812, 821, 812, + 812, 812, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 812, 822, 812, + 821, 812, 812, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 812, 812, 812, 812, 823, 812, 812, + 812, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 823, 812, 812, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 812, 812, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 814, 812, 812, + 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 812, 812, 812, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 814, 814, 812, 812, 812, + 814, 814, 814, 814, 814, 814, 812, 812, 812, 814, + 814, 814, 814, 814, 814, 812, 812, 812, 812, 812, + 814, 814, 814, 814, 814, 812, 812, 812, 812, 814, + + 814, 814, 812, 812, 814, 814, 812, 812, 812, 812, + 812, 0, 812, 812, 812, 812, 812, 812, 812, 812, + 812, 812, 812 } ; -static yyconst flex_int16_t yy_nxt[1152] = +static yyconst flex_int16_t yy_nxt[1255] = { 0, 8, 9, 10, 9, 11, 8, 12, 13, 8, 8, 14, 15, 16, 17, 18, 19, 20, 20, 20, 20, 20, 20, 8, 21, 22, 23, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 25, 24, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 24, 24, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 24, 24, 24, 46, 47, 58, 710, 58, 48, 49, - 50, 51, 50, 49, 49, 49, 49, 49, 49, 49, - 49, 49, 49, 52, 49, 53, 53, 53, 53, 53, - 53, 54, 49, 49, 49, 55, 55, 55, 55, 55, - - 55, 55, 55, 55, 55, 49, 55, 55, 55, 55, + 24, 24, 24, 24, 24, 24, 24, 25, 24, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 24, 24, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 24, 24, 24, 46, 47, 58, 807, 58, 48, + 49, 50, 51, 50, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 52, 49, 53, 53, 53, 53, + 53, 53, 54, 49, 49, 49, 55, 55, 55, 55, + + 55, 55, 55, 55, 55, 55, 55, 49, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 49, 61, 64, 116, 66, 68, 68, 68, - 68, 68, 68, 68, 77, 78, 707, 65, 67, 117, - 62, 70, 83, 71, 71, 71, 71, 71, 71, 72, - 80, 81, 85, 702, 84, 88, 118, 89, 73, 74, - 119, 90, 91, 75, 120, 95, 92, 86, 87, 96, - 73, 74, 99, 93, 100, 97, 94, 147, 121, 108, - 157, 98, 157, 101, 123, 180, 181, 109, 75, 70, - - 102, 76, 76, 76, 76, 76, 76, 76, 103, 110, - 124, 104, 697, 125, 105, 111, 73, 74, 112, 209, - 106, 126, 113, 114, 696, 128, 148, 210, 73, 74, - 115, 127, 129, 130, 695, 135, 139, 131, 136, 151, - 152, 140, 227, 132, 133, 141, 134, 137, 142, 143, - 58, 190, 58, 144, 138, 149, 715, 58, 228, 150, - 161, 162, 191, 145, 159, 159, 159, 159, 159, 159, - 159, 192, 161, 162, 689, 202, 164, 165, 203, 204, - 153, 715, 205, 214, 206, 193, 237, 154, 164, 165, - 215, 155, 217, 235, 236, 238, 156, 70, 692, 72, - - 72, 72, 72, 72, 72, 72, 218, 243, 151, 152, - 244, 691, 166, 166, 73, 74, 167, 167, 167, 167, - 167, 167, 167, 151, 152, 690, 73, 74, 149, 157, - 58, 157, 150, 159, 159, 159, 159, 159, 159, 159, - 253, 254, 167, 167, 167, 167, 167, 167, 167, 153, - 267, 268, 253, 254, 325, 688, 154, 297, 298, 299, - 155, 531, 533, 326, 153, 156, 331, 332, 333, 532, - 534, 154, 346, 347, 348, 155, 687, 251, 251, 686, - 156, 252, 252, 252, 252, 252, 252, 252, 255, 255, - 610, 611, 256, 256, 256, 256, 256, 256, 256, 167, - - 167, 167, 167, 167, 167, 167, 252, 252, 252, 252, - 252, 252, 252, 559, 560, 257, 252, 252, 252, 252, - 252, 252, 252, 357, 358, 359, 685, 257, 682, 341, - 341, 681, 162, 342, 342, 342, 342, 342, 342, 342, - 365, 366, 367, 680, 162, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 369, - 370, 371, 379, 380, 381, 412, 413, 414, 165, 342, - 342, 342, 342, 342, 342, 342, 679, 433, 434, 435, - 165, 342, 342, 342, 342, 342, 342, 342, 436, 437, - 442, 443, 444, 445, 446, 447, 678, 254, 448, 449, - - 450, 486, 487, 488, 508, 509, 510, 477, 677, 254, - 559, 560, 489, 490, 676, 511, 512, 545, 546, 547, - 689, 518, 519, 519, 519, 519, 519, 519, 548, 549, - 683, 559, 560, 620, 621, 620, 621, 684, 559, 560, - 620, 621, 705, 675, 562, 563, 563, 563, 563, 563, - 563, 563, 594, 595, 595, 595, 595, 595, 595, 559, - 560, 564, 674, 683, 693, 559, 560, 623, 673, 562, - 684, 690, 694, 561, 561, 561, 561, 561, 561, 563, - 563, 563, 563, 563, 563, 563, 698, 703, 620, 621, - 700, 700, 623, 706, 699, 704, 705, 701, 701, 620, - - 621, 597, 624, 624, 624, 624, 624, 624, 624, 620, - 621, 698, 598, 622, 622, 622, 622, 622, 622, 699, - 672, 671, 703, 624, 624, 624, 624, 624, 624, 624, - 704, 708, 711, 713, 711, 713, 670, 669, 668, 709, - 712, 714, 712, 714, 667, 666, 665, 706, 56, 56, - 56, 56, 56, 56, 56, 56, 82, 82, 82, 82, - 82, 160, 160, 160, 160, 160, 68, 68, 163, 163, - 168, 168, 168, 250, 250, 664, 250, 250, 250, 250, - 250, 561, 561, 561, 663, 662, 661, 561, 596, 596, - 596, 622, 622, 622, 660, 659, 658, 622, 645, 645, - - 645, 657, 656, 655, 654, 653, 652, 651, 650, 649, - 648, 647, 646, 644, 643, 642, 641, 640, 639, 638, - 637, 636, 635, 634, 633, 632, 631, 630, 629, 628, - 627, 626, 625, 619, 618, 617, 616, 615, 614, 613, - 612, 609, 608, 607, 606, 605, 604, 603, 602, 601, - 600, 599, 593, 592, 591, 590, 589, 588, 587, 586, - 585, 584, 583, 582, 581, 580, 579, 578, 577, 576, - 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, - 565, 564, 558, 557, 556, 555, 554, 553, 552, 551, - 550, 544, 543, 542, 541, 540, 539, 538, 537, 536, - - 535, 530, 529, 528, 527, 526, 525, 524, 523, 522, - 521, 520, 517, 516, 515, 514, 513, 507, 506, 505, - 504, 503, 502, 501, 500, 499, 498, 497, 496, 495, - 494, 493, 492, 491, 485, 484, 483, 482, 481, 480, + 55, 55, 55, 55, 49, 61, 64, 806, 66, 68, + 68, 68, 68, 68, 68, 68, 79, 80, 812, 65, + 67, 85, 62, 70, 150, 71, 71, 71, 71, 71, + 71, 72, 82, 83, 86, 87, 90, 805, 91, 110, + 73, 74, 92, 812, 93, 75, 76, 111, 94, 119, + 88, 89, 121, 73, 74, 95, 122, 97, 96, 112, + 160, 98, 160, 120, 151, 183, 184, 99, 75, 802, + + 123, 76, 70, 100, 77, 77, 77, 77, 77, 77, + 77, 101, 231, 102, 124, 104, 58, 129, 58, 73, + 74, 126, 103, 105, 78, 193, 106, 130, 232, 107, + 195, 113, 73, 74, 114, 108, 194, 127, 115, 116, + 128, 131, 138, 117, 196, 139, 118, 78, 132, 133, + 160, 146, 160, 134, 140, 147, 154, 155, 142, 135, + 136, 141, 137, 143, 152, 148, 58, 144, 153, 221, + 145, 162, 162, 162, 162, 162, 162, 162, 164, 165, + 167, 168, 213, 222, 239, 240, 248, 241, 218, 249, + 214, 164, 165, 167, 168, 219, 242, 205, 156, 243, + + 206, 207, 154, 155, 208, 157, 209, 244, 152, 158, + 58, 801, 153, 269, 159, 70, 800, 72, 72, 72, + 72, 72, 72, 72, 154, 155, 263, 270, 258, 259, + 169, 169, 73, 74, 170, 170, 170, 170, 170, 170, + 170, 258, 259, 795, 156, 73, 74, 274, 275, 263, + 333, 157, 305, 306, 307, 158, 340, 341, 342, 334, + 159, 355, 356, 357, 576, 577, 156, 366, 367, 368, + 374, 375, 376, 157, 378, 379, 380, 158, 389, 390, + 391, 768, 159, 162, 162, 162, 162, 162, 162, 162, + 256, 256, 655, 656, 257, 257, 257, 257, 257, 257, + + 257, 260, 260, 655, 656, 261, 261, 261, 261, 261, + 261, 261, 170, 170, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 257, 257, 257, 257, + 257, 257, 257, 769, 794, 262, 257, 257, 257, 257, + 257, 257, 257, 423, 424, 425, 793, 792, 262, 350, + 350, 791, 165, 351, 351, 351, 351, 351, 351, 351, + 454, 455, 456, 786, 785, 165, 261, 261, 261, 261, + 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, + 351, 351, 351, 351, 351, 351, 351, 784, 783, 168, + 351, 351, 351, 351, 351, 351, 351, 444, 445, 446, + + 581, 782, 168, 457, 458, 459, 259, 781, 447, 448, + 460, 461, 462, 499, 500, 501, 522, 523, 524, 259, + 490, 546, 548, 780, 502, 503, 779, 525, 526, 547, + 549, 561, 562, 563, 533, 534, 534, 534, 534, 534, + 534, 622, 564, 565, 576, 577, 576, 577, 776, 775, + 774, 768, 623, 655, 656, 596, 597, 598, 576, 577, + 580, 580, 580, 580, 580, 580, 580, 599, 614, 615, + 616, 798, 619, 620, 620, 620, 620, 620, 620, 579, + 617, 576, 577, 753, 773, 638, 772, 771, 658, 770, + 754, 576, 577, 639, 640, 578, 578, 578, 578, 578, + + 578, 641, 642, 769, 579, 580, 580, 580, 580, 580, + 580, 580, 753, 658, 655, 656, 777, 787, 796, 754, + 789, 655, 656, 799, 778, 788, 797, 790, 659, 659, + 659, 659, 659, 659, 659, 657, 657, 657, 657, 657, + 657, 655, 656, 787, 798, 789, 796, 767, 766, 765, + 764, 788, 790, 763, 797, 659, 659, 659, 659, 659, + 659, 659, 803, 808, 810, 808, 810, 762, 761, 760, + 804, 809, 811, 809, 811, 759, 758, 757, 756, 755, + 752, 751, 750, 749, 748, 747, 746, 745, 744, 743, + 742, 741, 740, 739, 738, 737, 799, 56, 56, 56, + + 56, 56, 56, 56, 56, 84, 84, 84, 84, 84, + 163, 163, 163, 163, 163, 68, 68, 166, 166, 171, + 171, 171, 255, 255, 736, 255, 255, 255, 255, 255, + 578, 578, 578, 735, 734, 733, 578, 621, 621, 621, + 657, 657, 657, 732, 731, 730, 657, 688, 688, 688, + 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, + 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, + 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, + 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, + 689, 687, 686, 685, 684, 683, 682, 681, 680, 679, + + 678, 677, 676, 675, 674, 673, 672, 671, 670, 669, + 668, 667, 666, 665, 664, 663, 662, 661, 660, 654, + 653, 652, 651, 650, 649, 648, 647, 646, 645, 644, + 643, 637, 636, 635, 634, 633, 632, 631, 630, 629, + 628, 627, 626, 625, 624, 618, 613, 612, 611, 610, + 609, 608, 607, 606, 605, 604, 603, 602, 601, 600, + 595, 594, 593, 592, 591, 590, 589, 588, 587, 586, + 585, 584, 583, 582, 581, 575, 574, 573, 572, 571, + 570, 569, 568, 567, 566, 560, 559, 558, 557, 556, + 555, 554, 553, 552, 551, 550, 545, 544, 543, 542, + + 541, 540, 539, 538, 537, 536, 535, 532, 531, 530, + 529, 528, 527, 521, 520, 519, 518, 517, 516, 515, + 514, 513, 512, 511, 510, 509, 508, 507, 506, 505, + 504, 498, 497, 496, 495, 494, 493, 492, 491, 490, + 489, 488, 487, 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, 472, 471, 470, - 469, 468, 467, 466, 465, 464, 463, 462, 461, 460, - 459, 458, 457, 456, 455, 454, 453, 452, 451, 441, - 440, 439, 438, 432, 431, 430, 429, 428, 427, 426, - 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, - 415, 411, 410, 409, 408, 407, 406, 405, 404, 403, + 469, 468, 467, 466, 465, 464, 463, 453, 452, 451, + 450, 449, 443, 442, 441, 440, 439, 438, 437, 436, + 435, 434, 433, 432, 431, 430, 429, 428, 427, 426, + 422, 421, 420, 419, 418, 417, 416, 415, 414, 413, + 412, 411, 410, 409, 408, 407, 406, 405, 404, 403, 402, 401, 400, 399, 398, 397, 396, 395, 394, 393, - 392, 391, 390, 389, 388, 387, 386, 385, 384, 383, - 382, 378, 377, 376, 375, 374, 373, 372, 368, 364, - 363, 362, 361, 360, 356, 355, 354, 353, 352, 351, - 350, 349, 345, 344, 343, 340, 339, 338, 337, 336, - 335, 334, 330, 329, 328, 327, 324, 323, 322, 321, + 392, 388, 387, 386, 385, 384, 383, 382, 381, 377, + 373, 372, 371, 370, 369, 365, 364, 363, 362, 361, + 360, 359, 358, 354, 353, 352, 349, 348, 347, 346, + 345, 344, 343, 339, 338, 337, 336, 335, 332, 331, + 330, 329, 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, 314, 313, 312, 311, - 310, 309, 308, 307, 306, 305, 304, 303, 302, 301, - 300, 296, 295, 294, 293, 292, 291, 290, 289, 288, - 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, + 310, 309, 308, 304, 303, 302, 301, 300, 299, 298, + 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, - 277, 276, 275, 274, 273, 272, 271, 270, 269, 266, - 265, 264, 263, 262, 261, 260, 259, 258, 249, 248, - 247, 246, 245, 242, 241, 240, 239, 234, 233, 232, - 231, 230, 229, 226, 225, 224, 223, 222, 221, 220, - 219, 216, 213, 212, 211, 208, 207, 201, 200, 199, - 198, 197, 196, 195, 194, 189, 188, 187, 186, 185, - 184, 183, 182, 179, 178, 177, 176, 175, 174, 173, - 172, 171, 170, 169, 158, 146, 122, 107, 79, 69, - 63, 60, 59, 715, 57, 57, 7, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - 715 + 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, + 277, 276, 273, 272, 271, 268, 267, 266, 265, 264, + 254, 253, 252, 251, 250, 247, 246, 245, 238, 237, + 236, 235, 234, 233, 230, 229, 228, 227, 226, 225, + 224, 223, 220, 217, 216, 215, 212, 211, 210, 204, + 203, 202, 201, 200, 199, 198, 197, 192, 191, 190, + 189, 188, 187, 186, 185, 182, 181, 180, 179, 178, + 177, 176, 175, 174, 173, 172, 161, 149, 125, 109, + 81, 69, 63, 60, 59, 812, 57, 57, 7, 812, + 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, + + 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, + 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, + 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, + 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, + 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, + 812, 812, 812, 812 } ; -static yyconst flex_int16_t yy_chk[1152] = +static yyconst flex_int16_t yy_chk[1255] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -800,7 +835,7 @@ static yyconst flex_int16_t yy_chk[1152] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 9, 708, 9, 2, 3, + 1, 1, 1, 1, 1, 2, 9, 803, 9, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -808,119 +843,130 @@ static yyconst flex_int16_t yy_chk[1152] = 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 13, 15, 35, 16, 17, 17, 17, - 17, 17, 17, 17, 21, 21, 702, 15, 16, 35, - 13, 19, 25, 19, 19, 19, 19, 19, 19, 19, - 23, 23, 26, 696, 25, 27, 36, 27, 19, 19, - 36, 27, 28, 19, 37, 29, 28, 26, 26, 29, - 19, 19, 30, 28, 30, 29, 28, 46, 37, 33, - 50, 29, 50, 30, 39, 94, 94, 33, 19, 20, - - 31, 20, 20, 20, 20, 20, 20, 20, 31, 33, - 39, 31, 693, 39, 31, 34, 20, 20, 34, 117, - 31, 40, 34, 34, 692, 41, 46, 117, 20, 20, - 34, 40, 41, 41, 691, 42, 43, 41, 42, 48, - 48, 43, 132, 41, 41, 43, 41, 42, 43, 44, - 58, 103, 58, 44, 42, 47, 71, 47, 132, 47, - 68, 68, 103, 44, 53, 53, 53, 53, 53, 53, - 53, 104, 68, 68, 684, 114, 70, 70, 114, 114, - 48, 71, 114, 121, 114, 104, 140, 48, 70, 70, - 121, 48, 123, 139, 139, 140, 48, 72, 687, 72, - - 72, 72, 72, 72, 72, 72, 123, 145, 150, 150, - 145, 685, 73, 73, 72, 72, 73, 73, 73, 73, - 73, 73, 73, 151, 151, 684, 72, 72, 149, 157, - 149, 157, 149, 159, 159, 159, 159, 159, 159, 159, - 163, 163, 166, 166, 166, 166, 166, 166, 166, 150, - 181, 181, 163, 163, 237, 682, 150, 211, 211, 211, - 150, 491, 492, 237, 151, 150, 242, 242, 242, 491, - 492, 151, 262, 262, 262, 151, 681, 161, 161, 680, - 151, 161, 161, 161, 161, 161, 161, 161, 164, 164, - 585, 585, 164, 164, 164, 164, 164, 164, 164, 167, - - 167, 167, 167, 167, 167, 167, 251, 251, 251, 251, - 251, 251, 251, 596, 596, 167, 252, 252, 252, 252, - 252, 252, 252, 272, 272, 272, 679, 167, 673, 253, - 253, 672, 252, 253, 253, 253, 253, 253, 253, 253, - 281, 281, 281, 671, 252, 255, 255, 255, 255, 255, - 255, 255, 256, 256, 256, 256, 256, 256, 256, 285, - 285, 285, 293, 293, 293, 329, 329, 329, 256, 341, - 341, 341, 341, 341, 341, 341, 665, 373, 373, 373, - 256, 342, 342, 342, 342, 342, 342, 342, 373, 373, - 383, 383, 383, 384, 384, 384, 664, 342, 385, 385, - - 385, 432, 432, 432, 471, 471, 471, 477, 662, 342, - 518, 518, 432, 432, 661, 471, 471, 505, 505, 505, - 689, 477, 477, 477, 477, 477, 477, 477, 505, 505, - 678, 519, 519, 594, 594, 620, 620, 678, 559, 559, - 645, 645, 701, 660, 518, 519, 519, 519, 519, 519, - 519, 519, 559, 559, 559, 559, 559, 559, 559, 561, - 561, 564, 659, 683, 690, 563, 563, 594, 658, 518, - 683, 689, 690, 561, 561, 561, 561, 561, 561, 563, - 563, 563, 563, 563, 563, 563, 694, 697, 595, 595, - 695, 700, 594, 701, 694, 697, 705, 695, 700, 622, - - 622, 564, 595, 595, 595, 595, 595, 595, 595, 624, - 624, 698, 564, 622, 622, 622, 622, 622, 622, 698, - 657, 656, 703, 624, 624, 624, 624, 624, 624, 624, - 703, 706, 709, 710, 711, 713, 655, 654, 652, 706, - 709, 710, 711, 713, 649, 648, 647, 705, 716, 716, - 716, 716, 716, 716, 716, 716, 717, 717, 717, 717, - 717, 718, 718, 718, 718, 718, 719, 719, 720, 720, - 721, 721, 721, 722, 722, 646, 722, 722, 722, 722, - 722, 723, 723, 723, 644, 643, 642, 723, 724, 724, - 724, 725, 725, 725, 640, 639, 638, 725, 726, 726, - - 726, 637, 636, 635, 633, 632, 631, 630, 629, 628, - 627, 626, 625, 617, 616, 615, 614, 613, 612, 611, - 610, 609, 608, 607, 606, 605, 604, 603, 601, 600, - 599, 598, 597, 593, 592, 591, 590, 589, 588, 587, - 586, 584, 580, 575, 574, 573, 572, 571, 570, 569, - 568, 567, 558, 555, 554, 552, 551, 549, 548, 547, - 546, 545, 544, 543, 542, 541, 539, 538, 537, 536, - 535, 534, 533, 532, 531, 530, 529, 527, 526, 522, - 521, 520, 517, 516, 514, 512, 511, 510, 509, 508, - 506, 504, 503, 502, 501, 500, 499, 497, 496, 495, - - 494, 490, 489, 488, 487, 486, 485, 482, 481, 480, - 479, 478, 476, 475, 474, 473, 472, 470, 469, 462, - 461, 458, 457, 454, 453, 452, 451, 440, 439, 437, - 436, 435, 434, 433, 430, 428, 427, 426, 424, 423, - 421, 420, 419, 418, 416, 415, 410, 408, 407, 406, - 405, 404, 403, 402, 401, 400, 399, 397, 396, 395, - 394, 393, 392, 391, 390, 389, 388, 387, 386, 382, - 378, 377, 374, 372, 362, 360, 356, 355, 354, 353, - 351, 349, 344, 343, 340, 339, 338, 337, 336, 335, - 330, 328, 327, 326, 325, 323, 322, 319, 318, 317, - - 316, 315, 314, 313, 312, 311, 310, 309, 308, 307, - 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, - 294, 292, 291, 290, 289, 288, 287, 286, 284, 280, - 278, 277, 276, 275, 271, 270, 269, 268, 267, 266, - 265, 264, 261, 259, 258, 249, 248, 247, 246, 245, - 244, 243, 241, 240, 239, 238, 236, 235, 234, 233, - 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, - 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, - 212, 210, 209, 208, 207, 206, 205, 204, 203, 202, - 201, 200, 199, 198, 197, 196, 195, 193, 192, 191, - - 190, 189, 188, 187, 186, 185, 184, 183, 182, 180, - 179, 178, 177, 176, 175, 174, 173, 171, 156, 155, - 154, 153, 146, 144, 143, 142, 141, 138, 137, 136, - 135, 134, 133, 131, 130, 129, 128, 127, 126, 125, - 124, 122, 120, 119, 118, 116, 115, 113, 112, 110, - 109, 108, 107, 106, 105, 102, 101, 100, 99, 98, - 97, 96, 95, 93, 92, 91, 90, 89, 88, 87, - 86, 85, 81, 77, 52, 45, 38, 32, 22, 18, - 14, 12, 11, 7, 6, 5, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - 715 + 3, 3, 3, 3, 3, 13, 15, 801, 16, 17, + 17, 17, 17, 17, 17, 17, 21, 21, 71, 15, + 16, 25, 13, 19, 46, 19, 19, 19, 19, 19, + 19, 19, 23, 23, 25, 26, 27, 800, 27, 33, + 19, 19, 27, 71, 28, 19, 19, 33, 28, 35, + 26, 26, 36, 19, 19, 28, 36, 29, 28, 33, + 50, 29, 50, 35, 46, 96, 96, 29, 19, 795, + + 37, 19, 20, 29, 20, 20, 20, 20, 20, 20, + 20, 30, 135, 30, 37, 31, 58, 40, 58, 20, + 20, 39, 30, 31, 20, 105, 31, 40, 135, 31, + 106, 34, 20, 20, 34, 31, 105, 39, 34, 34, + 39, 41, 42, 34, 106, 42, 34, 20, 41, 41, + 160, 44, 160, 41, 42, 44, 48, 48, 43, 41, + 41, 42, 41, 43, 47, 44, 47, 43, 47, 126, + 43, 53, 53, 53, 53, 53, 53, 53, 68, 68, + 70, 70, 120, 126, 142, 142, 148, 143, 124, 148, + 120, 68, 68, 70, 70, 124, 143, 116, 48, 144, + + 116, 116, 153, 153, 116, 48, 116, 144, 152, 48, + 152, 794, 152, 180, 48, 72, 793, 72, 72, 72, + 72, 72, 72, 72, 154, 154, 171, 180, 166, 166, + 73, 73, 72, 72, 73, 73, 73, 73, 73, 73, + 73, 166, 166, 784, 153, 72, 72, 184, 184, 171, + 241, 153, 215, 215, 215, 153, 247, 247, 247, 241, + 153, 268, 268, 268, 621, 621, 154, 279, 279, 279, + 288, 288, 288, 154, 292, 292, 292, 154, 301, 301, + 301, 754, 154, 162, 162, 162, 162, 162, 162, 162, + 164, 164, 655, 655, 164, 164, 164, 164, 164, 164, + + 164, 167, 167, 688, 688, 167, 167, 167, 167, 167, + 167, 167, 169, 169, 169, 169, 169, 169, 169, 170, + 170, 170, 170, 170, 170, 170, 256, 256, 256, 256, + 256, 256, 256, 754, 783, 170, 257, 257, 257, 257, + 257, 257, 257, 338, 338, 338, 782, 781, 170, 258, + 258, 780, 257, 258, 258, 258, 258, 258, 258, 258, + 393, 393, 393, 777, 776, 257, 260, 260, 260, 260, + 260, 260, 260, 261, 261, 261, 261, 261, 261, 261, + 350, 350, 350, 350, 350, 350, 350, 775, 774, 261, + 351, 351, 351, 351, 351, 351, 351, 382, 382, 382, + + 581, 773, 261, 394, 394, 394, 351, 772, 382, 382, + 395, 395, 395, 443, 443, 443, 483, 483, 483, 351, + 490, 504, 505, 771, 443, 443, 770, 483, 483, 504, + 505, 519, 519, 519, 490, 490, 490, 490, 490, 490, + 490, 581, 519, 519, 533, 533, 534, 534, 765, 763, + 762, 768, 581, 619, 619, 554, 554, 554, 576, 576, + 534, 534, 534, 534, 534, 534, 534, 554, 573, 573, + 573, 790, 576, 576, 576, 576, 576, 576, 576, 533, + 573, 578, 578, 739, 760, 605, 757, 756, 619, 755, + 739, 580, 580, 605, 606, 578, 578, 578, 578, 578, + + 578, 606, 606, 768, 533, 580, 580, 580, 580, 580, + 580, 580, 753, 619, 620, 620, 769, 778, 786, 753, + 779, 657, 657, 790, 769, 778, 786, 779, 620, 620, + 620, 620, 620, 620, 620, 657, 657, 657, 657, 657, + 657, 659, 659, 787, 798, 789, 796, 752, 751, 750, + 749, 787, 789, 748, 796, 659, 659, 659, 659, 659, + 659, 659, 799, 804, 807, 808, 810, 747, 746, 745, + 799, 804, 807, 808, 810, 744, 743, 742, 741, 740, + 738, 737, 734, 731, 730, 729, 728, 727, 725, 724, + 722, 720, 717, 716, 714, 713, 798, 813, 813, 813, + + 813, 813, 813, 813, 813, 814, 814, 814, 814, 814, + 815, 815, 815, 815, 815, 816, 816, 817, 817, 818, + 818, 818, 819, 819, 711, 819, 819, 819, 819, 819, + 820, 820, 820, 710, 709, 708, 820, 821, 821, 821, + 822, 822, 822, 707, 706, 705, 822, 823, 823, 823, + 704, 703, 702, 701, 699, 698, 697, 696, 695, 694, + 692, 691, 690, 689, 687, 686, 685, 684, 683, 682, + 681, 680, 679, 678, 677, 676, 675, 674, 673, 672, + 671, 670, 668, 667, 666, 665, 664, 663, 662, 661, + 660, 653, 651, 650, 648, 647, 646, 645, 644, 643, + + 642, 641, 640, 639, 638, 637, 636, 634, 633, 632, + 631, 630, 629, 628, 626, 625, 624, 623, 622, 618, + 617, 616, 615, 614, 613, 612, 611, 610, 609, 608, + 607, 601, 599, 598, 597, 596, 592, 591, 590, 589, + 588, 587, 586, 585, 584, 575, 571, 570, 568, 567, + 565, 564, 563, 562, 561, 560, 559, 558, 557, 555, + 553, 552, 551, 550, 549, 548, 547, 546, 545, 544, + 542, 541, 537, 536, 535, 532, 531, 529, 528, 526, + 525, 524, 523, 522, 520, 518, 517, 516, 515, 514, + 513, 511, 510, 509, 508, 507, 503, 502, 501, 500, + + 499, 498, 495, 494, 493, 492, 491, 489, 488, 487, + 486, 485, 484, 482, 481, 474, 473, 470, 469, 466, + 465, 464, 463, 452, 451, 450, 448, 447, 446, 445, + 444, 441, 439, 438, 437, 435, 434, 432, 431, 430, + 429, 427, 426, 421, 420, 418, 417, 416, 415, 414, + 413, 412, 411, 410, 409, 407, 406, 405, 404, 403, + 402, 401, 400, 399, 398, 397, 396, 392, 388, 387, + 386, 383, 381, 371, 369, 365, 364, 363, 362, 360, + 358, 353, 352, 349, 348, 347, 346, 345, 344, 339, + 337, 336, 335, 334, 333, 331, 330, 327, 326, 325, + + 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, + 314, 313, 312, 311, 310, 309, 308, 307, 306, 305, + 302, 300, 299, 298, 297, 296, 295, 294, 293, 291, + 287, 285, 284, 283, 282, 278, 277, 276, 275, 274, + 273, 272, 271, 267, 265, 264, 254, 253, 252, 251, + 250, 249, 248, 246, 245, 244, 243, 242, 240, 239, + 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, + 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, + 218, 217, 216, 214, 213, 212, 211, 210, 209, 208, + 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, + + 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, + 186, 185, 183, 182, 181, 179, 178, 177, 176, 174, + 159, 158, 157, 156, 149, 147, 146, 145, 141, 140, + 139, 138, 137, 136, 134, 133, 132, 131, 130, 129, + 128, 127, 125, 123, 122, 121, 119, 118, 117, 115, + 114, 112, 111, 110, 109, 108, 107, 104, 103, 102, + 101, 100, 99, 98, 97, 95, 94, 93, 92, 91, + 90, 89, 88, 87, 83, 79, 52, 45, 38, 32, + 22, 18, 14, 12, 11, 7, 6, 5, 812, 812, + 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, + + 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, + 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, + 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, + 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, + 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, + 812, 812, 812, 812 } ; /* The intent behind this definition is that it'll catch @@ -969,38 +1015,46 @@ static yyconst flex_int16_t yy_chk[1152] = #define YY_USER_INIT yylineno = 0; yycolumn = 0; -#define TOKEN_OR_IDENTIFIER(version, token) \ - do { \ - if (yyextra->language_version >= version) { \ - return token; \ - } else { \ - yylval->identifier = strdup(yytext); \ - return IDENTIFIER; \ - } \ - } while (0) - -/* Handle reserved words in GLSL ES (version 100) */ -#define TOKEN_OR_IDENTIFIER_ES(version, token) \ - do { \ - if (yyextra->es_shader) { \ - return token; \ - } else { \ - TOKEN_OR_IDENTIFIER(version, token); \ - } \ - } while (0) +#define IS_UINT (yytext[yyleng - 1] == 'u' || yytext[yyleng - 1] == 'U') -#define RESERVED_WORD(version, token) \ +/* A macro for handling reserved words and keywords across language versions. + * + * Certain words start out as identifiers, become reserved words in + * later language revisions, and finally become language keywords. + * + * For example, consider the following lexer rule: + * samplerBuffer KEYWORD(130, 140, SAMPLERBUFFER) + * + * This means that "samplerBuffer" will be treated as: + * - a keyword (SAMPLERBUFFER token) ...in GLSL >= 1.40 + * - a reserved word - error ...in GLSL >= 1.30 + * - an identifier ...in GLSL < 1.30 + */ +#define KEYWORD(reserved_version, allowed_version, token) \ do { \ - if (yyextra->language_version >= version) { \ + if (yyextra->language_version >= allowed_version) { \ return token; \ - } else { \ + } else if (yyextra->language_version >= reserved_version) { \ _mesa_glsl_error(yylloc, yyextra, \ "Illegal use of reserved word `%s'", yytext); \ return ERROR_TOK; \ + } else { \ + yylval->identifier = strdup(yytext); \ + return IDENTIFIER; \ } \ } while (0) -#line 1004 "glsl_lexer.cpp" +/* The ES macro can be used in KEYWORD checks: + * + * word KEYWORD(110 || ES, 400, TOKEN) + * ...means the word is reserved in GLSL ES 1.00, while + * + * word KEYWORD(110, 130 || ES, TOKEN) + * ...means the word is a legal keyword in GLSL ES 1.00. + */ +#define ES yyextra->es_shader + +#line 1058 "glsl_lexer.cpp" #define INITIAL 0 #define PP 1 @@ -1087,6 +1141,10 @@ int _mesa_glsl_get_lineno (yyscan_t yyscanner ); void _mesa_glsl_set_lineno (int line_number ,yyscan_t yyscanner ); +int _mesa_glsl_get_column (yyscan_t yyscanner ); + +void _mesa_glsl_set_column (int column_no ,yyscan_t yyscanner ); + YYSTYPE * _mesa_glsl_get_lval (yyscan_t yyscanner ); void _mesa_glsl_set_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner ); @@ -1127,12 +1185,7 @@ static int input (yyscan_t yyscanner ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -1151,7 +1204,7 @@ static int input (yyscan_t yyscanner ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + unsigned n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -1239,10 +1292,10 @@ YY_DECL register int yy_act; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; -#line 86 "glsl_lexer.lpp" +#line 94 "glsl_lexer.lpp" -#line 1246 "glsl_lexer.cpp" +#line 1299 "glsl_lexer.cpp" yylval = yylval_param; @@ -1300,13 +1353,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 716 ) + if ( yy_current_state >= 813 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 715 ); + while ( yy_current_state != 812 ); yy_cp = yyg->yy_last_accepting_cpos; yy_current_state = yyg->yy_last_accepting_state; @@ -1328,7 +1381,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 88 "glsl_lexer.lpp" +#line 96 "glsl_lexer.lpp" ; YY_BREAK /* Preprocessor tokens. */ @@ -1337,17 +1390,17 @@ case 2: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 91 "glsl_lexer.lpp" +#line 99 "glsl_lexer.lpp" ; YY_BREAK case 3: YY_RULE_SETUP -#line 92 "glsl_lexer.lpp" +#line 100 "glsl_lexer.lpp" { BEGIN PP; return VERSION; } YY_BREAK case 4: YY_RULE_SETUP -#line 93 "glsl_lexer.lpp" +#line 101 "glsl_lexer.lpp" { BEGIN PP; return EXTENSION; } YY_BREAK case 5: @@ -1355,7 +1408,7 @@ case 5: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 94 "glsl_lexer.lpp" +#line 102 "glsl_lexer.lpp" { /* Eat characters until the first digit is * encountered @@ -1377,7 +1430,7 @@ case 6: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 109 "glsl_lexer.lpp" +#line 117 "glsl_lexer.lpp" { /* Eat characters until the first digit is * encountered @@ -1395,7 +1448,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 123 "glsl_lexer.lpp" +#line 131 "glsl_lexer.lpp" { BEGIN PP; return PRAGMA_DEBUG_ON; @@ -1403,7 +1456,7 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 127 "glsl_lexer.lpp" +#line 135 "glsl_lexer.lpp" { BEGIN PP; return PRAGMA_DEBUG_OFF; @@ -1411,7 +1464,7 @@ YY_RULE_SETUP YY_BREAK case 9: YY_RULE_SETUP -#line 131 "glsl_lexer.lpp" +#line 139 "glsl_lexer.lpp" { BEGIN PP; return PRAGMA_OPTIMIZE_ON; @@ -1419,7 +1472,7 @@ YY_RULE_SETUP YY_BREAK case 10: YY_RULE_SETUP -#line 135 "glsl_lexer.lpp" +#line 143 "glsl_lexer.lpp" { BEGIN PP; return PRAGMA_OPTIMIZE_OFF; @@ -1427,38 +1480,38 @@ YY_RULE_SETUP YY_BREAK case 11: YY_RULE_SETUP -#line 139 "glsl_lexer.lpp" +#line 147 "glsl_lexer.lpp" { BEGIN PRAGMA; } YY_BREAK case 12: /* rule 12 can match eol */ YY_RULE_SETUP -#line 141 "glsl_lexer.lpp" +#line 149 "glsl_lexer.lpp" { BEGIN 0; yylineno++; yycolumn = 0; } YY_BREAK case 13: YY_RULE_SETUP -#line 142 "glsl_lexer.lpp" +#line 150 "glsl_lexer.lpp" { } YY_BREAK case 14: YY_RULE_SETUP -#line 144 "glsl_lexer.lpp" +#line 152 "glsl_lexer.lpp" { } YY_BREAK case 15: YY_RULE_SETUP -#line 145 "glsl_lexer.lpp" +#line 153 "glsl_lexer.lpp" { } YY_BREAK case 16: YY_RULE_SETUP -#line 146 "glsl_lexer.lpp" +#line 154 "glsl_lexer.lpp" return COLON; YY_BREAK case 17: YY_RULE_SETUP -#line 147 "glsl_lexer.lpp" +#line 155 "glsl_lexer.lpp" { yylval->identifier = strdup(yytext); return IDENTIFIER; @@ -1466,7 +1519,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 151 "glsl_lexer.lpp" +#line 159 "glsl_lexer.lpp" { yylval->n = strtol(yytext, NULL, 10); return INTCONSTANT; @@ -1475,890 +1528,990 @@ YY_RULE_SETUP case 19: /* rule 19 can match eol */ YY_RULE_SETUP -#line 155 "glsl_lexer.lpp" +#line 163 "glsl_lexer.lpp" { BEGIN 0; yylineno++; yycolumn = 0; return EOL; } YY_BREAK case 20: /* rule 20 can match eol */ YY_RULE_SETUP -#line 157 "glsl_lexer.lpp" +#line 165 "glsl_lexer.lpp" { yylineno++; yycolumn = 0; } YY_BREAK case 21: YY_RULE_SETUP -#line 159 "glsl_lexer.lpp" +#line 167 "glsl_lexer.lpp" return ATTRIBUTE; YY_BREAK case 22: YY_RULE_SETUP -#line 160 "glsl_lexer.lpp" +#line 168 "glsl_lexer.lpp" return CONST_TOK; YY_BREAK case 23: YY_RULE_SETUP -#line 161 "glsl_lexer.lpp" +#line 169 "glsl_lexer.lpp" return BOOL_TOK; YY_BREAK case 24: YY_RULE_SETUP -#line 162 "glsl_lexer.lpp" +#line 170 "glsl_lexer.lpp" return FLOAT_TOK; YY_BREAK case 25: YY_RULE_SETUP -#line 163 "glsl_lexer.lpp" +#line 171 "glsl_lexer.lpp" return INT_TOK; YY_BREAK case 26: YY_RULE_SETUP -#line 164 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, UINT_TOK); +#line 172 "glsl_lexer.lpp" +KEYWORD(130, 130, UINT_TOK); YY_BREAK case 27: YY_RULE_SETUP -#line 166 "glsl_lexer.lpp" +#line 174 "glsl_lexer.lpp" return BREAK; YY_BREAK case 28: YY_RULE_SETUP -#line 167 "glsl_lexer.lpp" +#line 175 "glsl_lexer.lpp" return CONTINUE; YY_BREAK case 29: YY_RULE_SETUP -#line 168 "glsl_lexer.lpp" +#line 176 "glsl_lexer.lpp" return DO; YY_BREAK case 30: YY_RULE_SETUP -#line 169 "glsl_lexer.lpp" +#line 177 "glsl_lexer.lpp" return WHILE; YY_BREAK case 31: YY_RULE_SETUP -#line 170 "glsl_lexer.lpp" +#line 178 "glsl_lexer.lpp" return ELSE; YY_BREAK case 32: YY_RULE_SETUP -#line 171 "glsl_lexer.lpp" +#line 179 "glsl_lexer.lpp" return FOR; YY_BREAK case 33: YY_RULE_SETUP -#line 172 "glsl_lexer.lpp" +#line 180 "glsl_lexer.lpp" return IF; YY_BREAK case 34: YY_RULE_SETUP -#line 173 "glsl_lexer.lpp" +#line 181 "glsl_lexer.lpp" return DISCARD; YY_BREAK case 35: YY_RULE_SETUP -#line 174 "glsl_lexer.lpp" +#line 182 "glsl_lexer.lpp" return RETURN; YY_BREAK case 36: YY_RULE_SETUP -#line 176 "glsl_lexer.lpp" +#line 184 "glsl_lexer.lpp" return BVEC2; YY_BREAK case 37: YY_RULE_SETUP -#line 177 "glsl_lexer.lpp" +#line 185 "glsl_lexer.lpp" return BVEC3; YY_BREAK case 38: YY_RULE_SETUP -#line 178 "glsl_lexer.lpp" +#line 186 "glsl_lexer.lpp" return BVEC4; YY_BREAK case 39: YY_RULE_SETUP -#line 179 "glsl_lexer.lpp" +#line 187 "glsl_lexer.lpp" return IVEC2; YY_BREAK case 40: YY_RULE_SETUP -#line 180 "glsl_lexer.lpp" +#line 188 "glsl_lexer.lpp" return IVEC3; YY_BREAK case 41: YY_RULE_SETUP -#line 181 "glsl_lexer.lpp" +#line 189 "glsl_lexer.lpp" return IVEC4; YY_BREAK case 42: YY_RULE_SETUP -#line 182 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, UVEC2); +#line 190 "glsl_lexer.lpp" +KEYWORD(130, 130, UVEC2); YY_BREAK case 43: YY_RULE_SETUP -#line 183 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, UVEC3); +#line 191 "glsl_lexer.lpp" +KEYWORD(130, 130, UVEC3); YY_BREAK case 44: YY_RULE_SETUP -#line 184 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, UVEC4); +#line 192 "glsl_lexer.lpp" +KEYWORD(130, 130, UVEC4); YY_BREAK case 45: YY_RULE_SETUP -#line 185 "glsl_lexer.lpp" +#line 193 "glsl_lexer.lpp" return VEC2; YY_BREAK case 46: YY_RULE_SETUP -#line 186 "glsl_lexer.lpp" +#line 194 "glsl_lexer.lpp" return VEC3; YY_BREAK case 47: YY_RULE_SETUP -#line 187 "glsl_lexer.lpp" +#line 195 "glsl_lexer.lpp" return VEC4; YY_BREAK case 48: YY_RULE_SETUP -#line 188 "glsl_lexer.lpp" +#line 196 "glsl_lexer.lpp" return MAT2X2; YY_BREAK case 49: YY_RULE_SETUP -#line 189 "glsl_lexer.lpp" +#line 197 "glsl_lexer.lpp" return MAT3X3; YY_BREAK case 50: YY_RULE_SETUP -#line 190 "glsl_lexer.lpp" +#line 198 "glsl_lexer.lpp" return MAT4X4; YY_BREAK case 51: YY_RULE_SETUP -#line 191 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(120, MAT2X2); +#line 199 "glsl_lexer.lpp" +KEYWORD(120, 120, MAT2X2); YY_BREAK case 52: YY_RULE_SETUP -#line 192 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(120, MAT2X3); +#line 200 "glsl_lexer.lpp" +KEYWORD(120, 120, MAT2X3); YY_BREAK case 53: YY_RULE_SETUP -#line 193 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(120, MAT2X4); +#line 201 "glsl_lexer.lpp" +KEYWORD(120, 120, MAT2X4); YY_BREAK case 54: YY_RULE_SETUP -#line 194 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(120, MAT3X2); +#line 202 "glsl_lexer.lpp" +KEYWORD(120, 120, MAT3X2); YY_BREAK case 55: YY_RULE_SETUP -#line 195 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(120, MAT3X3); +#line 203 "glsl_lexer.lpp" +KEYWORD(120, 120, MAT3X3); YY_BREAK case 56: YY_RULE_SETUP -#line 196 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(120, MAT3X4); +#line 204 "glsl_lexer.lpp" +KEYWORD(120, 120, MAT3X4); YY_BREAK case 57: YY_RULE_SETUP -#line 197 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(120, MAT4X2); +#line 205 "glsl_lexer.lpp" +KEYWORD(120, 120, MAT4X2); YY_BREAK case 58: YY_RULE_SETUP -#line 198 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(120, MAT4X3); +#line 206 "glsl_lexer.lpp" +KEYWORD(120, 120, MAT4X3); YY_BREAK case 59: YY_RULE_SETUP -#line 199 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(120, MAT4X4); +#line 207 "glsl_lexer.lpp" +KEYWORD(120, 120, MAT4X4); YY_BREAK case 60: YY_RULE_SETUP -#line 201 "glsl_lexer.lpp" +#line 209 "glsl_lexer.lpp" return IN_TOK; YY_BREAK case 61: YY_RULE_SETUP -#line 202 "glsl_lexer.lpp" +#line 210 "glsl_lexer.lpp" return OUT_TOK; YY_BREAK case 62: YY_RULE_SETUP -#line 203 "glsl_lexer.lpp" +#line 211 "glsl_lexer.lpp" return INOUT_TOK; YY_BREAK case 63: YY_RULE_SETUP -#line 204 "glsl_lexer.lpp" +#line 212 "glsl_lexer.lpp" return UNIFORM; YY_BREAK case 64: YY_RULE_SETUP -#line 205 "glsl_lexer.lpp" +#line 213 "glsl_lexer.lpp" return VARYING; YY_BREAK case 65: YY_RULE_SETUP -#line 206 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(120, CENTROID); +#line 214 "glsl_lexer.lpp" +KEYWORD(120, 120, CENTROID); YY_BREAK case 66: YY_RULE_SETUP -#line 207 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER_ES(120, INVARIANT); +#line 215 "glsl_lexer.lpp" +KEYWORD(120 || ES, 120 || ES, INVARIANT); YY_BREAK case 67: YY_RULE_SETUP -#line 209 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER_ES(130, FLAT); +#line 216 "glsl_lexer.lpp" +KEYWORD(130 || ES, 130, FLAT); YY_BREAK case 68: YY_RULE_SETUP -#line 210 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, SMOOTH); +#line 217 "glsl_lexer.lpp" +KEYWORD(130, 130, SMOOTH); YY_BREAK case 69: YY_RULE_SETUP -#line 211 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, NOPERSPECTIVE); +#line 218 "glsl_lexer.lpp" +KEYWORD(130, 130, NOPERSPECTIVE); YY_BREAK case 70: YY_RULE_SETUP -#line 213 "glsl_lexer.lpp" +#line 220 "glsl_lexer.lpp" return SAMPLER1D; YY_BREAK case 71: YY_RULE_SETUP -#line 214 "glsl_lexer.lpp" +#line 221 "glsl_lexer.lpp" return SAMPLER2D; YY_BREAK case 72: YY_RULE_SETUP -#line 215 "glsl_lexer.lpp" +#line 222 "glsl_lexer.lpp" return SAMPLER3D; YY_BREAK case 73: YY_RULE_SETUP -#line 216 "glsl_lexer.lpp" +#line 223 "glsl_lexer.lpp" return SAMPLERCUBE; YY_BREAK case 74: YY_RULE_SETUP -#line 217 "glsl_lexer.lpp" -return SAMPLER1DSHADOW; +#line 224 "glsl_lexer.lpp" +KEYWORD(130, 130, SAMPLER1DARRAY); YY_BREAK case 75: YY_RULE_SETUP -#line 218 "glsl_lexer.lpp" -return SAMPLER2DSHADOW; +#line 225 "glsl_lexer.lpp" +KEYWORD(130, 130, SAMPLER2DARRAY); YY_BREAK case 76: YY_RULE_SETUP -#line 220 "glsl_lexer.lpp" -return STRUCT; +#line 226 "glsl_lexer.lpp" +return SAMPLER1DSHADOW; YY_BREAK case 77: YY_RULE_SETUP -#line 221 "glsl_lexer.lpp" -return VOID_TOK; +#line 227 "glsl_lexer.lpp" +return SAMPLER2DSHADOW; YY_BREAK case 78: YY_RULE_SETUP -#line 223 "glsl_lexer.lpp" -{ - if ((yyextra->language_version >= 140) - || yyextra->ARB_explicit_attrib_location_enable - || (yyextra->ARB_fragment_coord_conventions_enable)){ - return LAYOUT_TOK; - } else { - yylval->identifier = strdup(yytext); - return IDENTIFIER; - } - } +#line 228 "glsl_lexer.lpp" +KEYWORD(130, 130, SAMPLERCUBESHADOW); YY_BREAK case 79: YY_RULE_SETUP -#line 234 "glsl_lexer.lpp" -return INC_OP; +#line 229 "glsl_lexer.lpp" +KEYWORD(130, 130, SAMPLER1DARRAYSHADOW); YY_BREAK case 80: YY_RULE_SETUP -#line 235 "glsl_lexer.lpp" -return DEC_OP; +#line 230 "glsl_lexer.lpp" +KEYWORD(130, 130, SAMPLER2DARRAYSHADOW); YY_BREAK case 81: YY_RULE_SETUP -#line 236 "glsl_lexer.lpp" -return LE_OP; +#line 231 "glsl_lexer.lpp" +KEYWORD(130, 130, ISAMPLER1D); YY_BREAK case 82: YY_RULE_SETUP -#line 237 "glsl_lexer.lpp" -return GE_OP; +#line 232 "glsl_lexer.lpp" +KEYWORD(130, 130, ISAMPLER2D); YY_BREAK case 83: YY_RULE_SETUP -#line 238 "glsl_lexer.lpp" -return EQ_OP; +#line 233 "glsl_lexer.lpp" +KEYWORD(130, 130, ISAMPLER3D); YY_BREAK case 84: YY_RULE_SETUP -#line 239 "glsl_lexer.lpp" -return NE_OP; +#line 234 "glsl_lexer.lpp" +KEYWORD(130, 130, ISAMPLERCUBE); YY_BREAK case 85: YY_RULE_SETUP -#line 240 "glsl_lexer.lpp" -return AND_OP; +#line 235 "glsl_lexer.lpp" +KEYWORD(130, 130, ISAMPLER1DARRAY); YY_BREAK case 86: YY_RULE_SETUP -#line 241 "glsl_lexer.lpp" -return OR_OP; +#line 236 "glsl_lexer.lpp" +KEYWORD(130, 130, ISAMPLER2DARRAY); YY_BREAK case 87: YY_RULE_SETUP -#line 242 "glsl_lexer.lpp" -return XOR_OP; +#line 237 "glsl_lexer.lpp" +KEYWORD(130, 130, USAMPLER1D); YY_BREAK case 88: YY_RULE_SETUP -#line 243 "glsl_lexer.lpp" -return LEFT_OP; +#line 238 "glsl_lexer.lpp" +KEYWORD(130, 130, USAMPLER2D); YY_BREAK case 89: YY_RULE_SETUP -#line 244 "glsl_lexer.lpp" -return RIGHT_OP; +#line 239 "glsl_lexer.lpp" +KEYWORD(130, 130, USAMPLER3D); YY_BREAK case 90: YY_RULE_SETUP -#line 246 "glsl_lexer.lpp" -return MUL_ASSIGN; +#line 240 "glsl_lexer.lpp" +KEYWORD(130, 130, USAMPLERCUBE); YY_BREAK case 91: YY_RULE_SETUP -#line 247 "glsl_lexer.lpp" -return DIV_ASSIGN; +#line 241 "glsl_lexer.lpp" +KEYWORD(130, 130, USAMPLER1DARRAY); YY_BREAK case 92: YY_RULE_SETUP -#line 248 "glsl_lexer.lpp" -return ADD_ASSIGN; +#line 242 "glsl_lexer.lpp" +KEYWORD(130, 130, USAMPLER2DARRAY); YY_BREAK case 93: YY_RULE_SETUP -#line 249 "glsl_lexer.lpp" -return MOD_ASSIGN; +#line 245 "glsl_lexer.lpp" +return STRUCT; YY_BREAK case 94: YY_RULE_SETUP -#line 250 "glsl_lexer.lpp" -return LEFT_ASSIGN; +#line 246 "glsl_lexer.lpp" +return VOID_TOK; YY_BREAK case 95: YY_RULE_SETUP -#line 251 "glsl_lexer.lpp" -return RIGHT_ASSIGN; +#line 248 "glsl_lexer.lpp" +{ + if ((yyextra->language_version >= 140) + || yyextra->ARB_explicit_attrib_location_enable + || (yyextra->ARB_fragment_coord_conventions_enable)){ + return LAYOUT_TOK; + } else { + yylval->identifier = strdup(yytext); + return IDENTIFIER; + } + } YY_BREAK case 96: YY_RULE_SETUP -#line 252 "glsl_lexer.lpp" -return AND_ASSIGN; +#line 259 "glsl_lexer.lpp" +return INC_OP; YY_BREAK case 97: YY_RULE_SETUP -#line 253 "glsl_lexer.lpp" -return XOR_ASSIGN; +#line 260 "glsl_lexer.lpp" +return DEC_OP; YY_BREAK case 98: YY_RULE_SETUP -#line 254 "glsl_lexer.lpp" -return OR_ASSIGN; +#line 261 "glsl_lexer.lpp" +return LE_OP; YY_BREAK case 99: YY_RULE_SETUP -#line 255 "glsl_lexer.lpp" -return SUB_ASSIGN; +#line 262 "glsl_lexer.lpp" +return GE_OP; YY_BREAK case 100: YY_RULE_SETUP -#line 257 "glsl_lexer.lpp" -{ - yylval->n = strtol(yytext, NULL, 10); - return INTCONSTANT; - } +#line 263 "glsl_lexer.lpp" +return EQ_OP; YY_BREAK case 101: YY_RULE_SETUP -#line 261 "glsl_lexer.lpp" -{ - yylval->n = strtol(yytext + 2, NULL, 16); - return INTCONSTANT; - } +#line 264 "glsl_lexer.lpp" +return NE_OP; YY_BREAK case 102: YY_RULE_SETUP #line 265 "glsl_lexer.lpp" -{ - yylval->n = strtol(yytext, NULL, 8); - return INTCONSTANT; - } +return AND_OP; YY_BREAK case 103: YY_RULE_SETUP -#line 270 "glsl_lexer.lpp" -{ - yylval->real = strtod(yytext, NULL); - return FLOATCONSTANT; - } +#line 266 "glsl_lexer.lpp" +return OR_OP; YY_BREAK case 104: YY_RULE_SETUP -#line 274 "glsl_lexer.lpp" -{ - yylval->real = strtod(yytext, NULL); - return FLOATCONSTANT; - } +#line 267 "glsl_lexer.lpp" +return XOR_OP; YY_BREAK case 105: YY_RULE_SETUP -#line 278 "glsl_lexer.lpp" -{ - yylval->real = strtod(yytext, NULL); - return FLOATCONSTANT; - } +#line 268 "glsl_lexer.lpp" +return LEFT_OP; YY_BREAK case 106: YY_RULE_SETUP -#line 282 "glsl_lexer.lpp" -{ - yylval->real = strtod(yytext, NULL); - return FLOATCONSTANT; - } +#line 269 "glsl_lexer.lpp" +return RIGHT_OP; YY_BREAK case 107: YY_RULE_SETUP -#line 286 "glsl_lexer.lpp" -{ - yylval->real = strtod(yytext, NULL); - return FLOATCONSTANT; - } +#line 271 "glsl_lexer.lpp" +return MUL_ASSIGN; YY_BREAK case 108: YY_RULE_SETUP -#line 291 "glsl_lexer.lpp" -{ - yylval->n = 1; - return BOOLCONSTANT; - } +#line 272 "glsl_lexer.lpp" +return DIV_ASSIGN; YY_BREAK case 109: YY_RULE_SETUP -#line 295 "glsl_lexer.lpp" -{ - yylval->n = 0; - return BOOLCONSTANT; - } +#line 273 "glsl_lexer.lpp" +return ADD_ASSIGN; YY_BREAK -/* Reserved words in GLSL 1.10. */ case 110: YY_RULE_SETUP -#line 302 "glsl_lexer.lpp" -RESERVED_WORD(999, ASM); +#line 274 "glsl_lexer.lpp" +return MOD_ASSIGN; YY_BREAK case 111: YY_RULE_SETUP -#line 303 "glsl_lexer.lpp" -RESERVED_WORD(999, CLASS); +#line 275 "glsl_lexer.lpp" +return LEFT_ASSIGN; YY_BREAK case 112: YY_RULE_SETUP -#line 304 "glsl_lexer.lpp" -RESERVED_WORD(999, UNION); +#line 276 "glsl_lexer.lpp" +return RIGHT_ASSIGN; YY_BREAK case 113: YY_RULE_SETUP -#line 305 "glsl_lexer.lpp" -RESERVED_WORD(999, ENUM); +#line 277 "glsl_lexer.lpp" +return AND_ASSIGN; YY_BREAK case 114: YY_RULE_SETUP -#line 306 "glsl_lexer.lpp" -RESERVED_WORD(999, TYPEDEF); +#line 278 "glsl_lexer.lpp" +return XOR_ASSIGN; YY_BREAK case 115: YY_RULE_SETUP -#line 307 "glsl_lexer.lpp" -RESERVED_WORD(999, TEMPLATE); +#line 279 "glsl_lexer.lpp" +return OR_ASSIGN; YY_BREAK case 116: YY_RULE_SETUP -#line 308 "glsl_lexer.lpp" -RESERVED_WORD(999, THIS); +#line 280 "glsl_lexer.lpp" +return SUB_ASSIGN; YY_BREAK case 117: YY_RULE_SETUP -#line 309 "glsl_lexer.lpp" -RESERVED_WORD(999, PACKED_TOK); +#line 282 "glsl_lexer.lpp" +{ + yylval->n = strtol(yytext, NULL, 10); + return IS_UINT ? UINTCONSTANT : INTCONSTANT; + } YY_BREAK case 118: YY_RULE_SETUP -#line 310 "glsl_lexer.lpp" -RESERVED_WORD(999, GOTO); +#line 286 "glsl_lexer.lpp" +{ + yylval->n = strtol(yytext + 2, NULL, 16); + return IS_UINT ? UINTCONSTANT : INTCONSTANT; + } YY_BREAK case 119: YY_RULE_SETUP -#line 311 "glsl_lexer.lpp" -RESERVED_WORD(130, SWITCH); +#line 290 "glsl_lexer.lpp" +{ + yylval->n = strtol(yytext, NULL, 8); + return IS_UINT ? UINTCONSTANT : INTCONSTANT; + } YY_BREAK case 120: YY_RULE_SETUP -#line 312 "glsl_lexer.lpp" -RESERVED_WORD(130, DEFAULT); +#line 295 "glsl_lexer.lpp" +{ + yylval->real = strtod(yytext, NULL); + return FLOATCONSTANT; + } YY_BREAK case 121: YY_RULE_SETUP -#line 313 "glsl_lexer.lpp" -RESERVED_WORD(999, INLINE_TOK); +#line 299 "glsl_lexer.lpp" +{ + yylval->real = strtod(yytext, NULL); + return FLOATCONSTANT; + } YY_BREAK case 122: YY_RULE_SETUP -#line 314 "glsl_lexer.lpp" -RESERVED_WORD(999, NOINLINE); +#line 303 "glsl_lexer.lpp" +{ + yylval->real = strtod(yytext, NULL); + return FLOATCONSTANT; + } YY_BREAK case 123: YY_RULE_SETUP -#line 315 "glsl_lexer.lpp" -RESERVED_WORD(999, VOLATILE); +#line 307 "glsl_lexer.lpp" +{ + yylval->real = strtod(yytext, NULL); + return FLOATCONSTANT; + } YY_BREAK case 124: YY_RULE_SETUP -#line 316 "glsl_lexer.lpp" -RESERVED_WORD(999, PUBLIC_TOK); +#line 311 "glsl_lexer.lpp" +{ + yylval->real = strtod(yytext, NULL); + return FLOATCONSTANT; + } YY_BREAK case 125: YY_RULE_SETUP -#line 317 "glsl_lexer.lpp" -RESERVED_WORD(999, STATIC); +#line 316 "glsl_lexer.lpp" +{ + yylval->n = 1; + return BOOLCONSTANT; + } YY_BREAK case 126: YY_RULE_SETUP -#line 318 "glsl_lexer.lpp" -RESERVED_WORD(999, EXTERN); +#line 320 "glsl_lexer.lpp" +{ + yylval->n = 0; + return BOOLCONSTANT; + } YY_BREAK +/* Reserved words in GLSL 1.10. */ case 127: YY_RULE_SETUP -#line 319 "glsl_lexer.lpp" -RESERVED_WORD(999, EXTERNAL); +#line 327 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, ASM); YY_BREAK case 128: YY_RULE_SETUP -#line 320 "glsl_lexer.lpp" -RESERVED_WORD(999, INTERFACE); +#line 328 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, CLASS); YY_BREAK case 129: YY_RULE_SETUP -#line 321 "glsl_lexer.lpp" -RESERVED_WORD(999, LONG_TOK); +#line 329 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, UNION); YY_BREAK case 130: YY_RULE_SETUP -#line 322 "glsl_lexer.lpp" -RESERVED_WORD(999, SHORT_TOK); +#line 330 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, ENUM); YY_BREAK case 131: YY_RULE_SETUP -#line 323 "glsl_lexer.lpp" -RESERVED_WORD(999, DOUBLE_TOK); +#line 331 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, TYPEDEF); YY_BREAK case 132: YY_RULE_SETUP -#line 324 "glsl_lexer.lpp" -RESERVED_WORD(999, HALF); +#line 332 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, TEMPLATE); YY_BREAK case 133: YY_RULE_SETUP -#line 325 "glsl_lexer.lpp" -RESERVED_WORD(999, FIXED_TOK); +#line 333 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, THIS); YY_BREAK case 134: YY_RULE_SETUP -#line 326 "glsl_lexer.lpp" -RESERVED_WORD(999, UNSIGNED); +#line 334 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, PACKED_TOK); YY_BREAK case 135: YY_RULE_SETUP -#line 327 "glsl_lexer.lpp" -RESERVED_WORD(999, INPUT_TOK); +#line 335 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, GOTO); YY_BREAK case 136: YY_RULE_SETUP -#line 328 "glsl_lexer.lpp" -RESERVED_WORD(999, OUTPUT); +#line 336 "glsl_lexer.lpp" +KEYWORD(110 || ES, 130, SWITCH); YY_BREAK case 137: YY_RULE_SETUP -#line 329 "glsl_lexer.lpp" -RESERVED_WORD(999, HVEC2); +#line 337 "glsl_lexer.lpp" +KEYWORD(110 || ES, 130, DEFAULT); YY_BREAK case 138: YY_RULE_SETUP -#line 330 "glsl_lexer.lpp" -RESERVED_WORD(999, HVEC3); +#line 338 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, INLINE_TOK); YY_BREAK case 139: YY_RULE_SETUP -#line 331 "glsl_lexer.lpp" -RESERVED_WORD(999, HVEC4); +#line 339 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, NOINLINE); YY_BREAK case 140: YY_RULE_SETUP -#line 332 "glsl_lexer.lpp" -RESERVED_WORD(999, DVEC2); +#line 340 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, VOLATILE); YY_BREAK case 141: YY_RULE_SETUP -#line 333 "glsl_lexer.lpp" -RESERVED_WORD(999, DVEC3); +#line 341 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, PUBLIC_TOK); YY_BREAK case 142: YY_RULE_SETUP -#line 334 "glsl_lexer.lpp" -RESERVED_WORD(999, DVEC4); +#line 342 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, STATIC); YY_BREAK case 143: YY_RULE_SETUP -#line 335 "glsl_lexer.lpp" -RESERVED_WORD(999, FVEC2); +#line 343 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, EXTERN); YY_BREAK case 144: YY_RULE_SETUP -#line 336 "glsl_lexer.lpp" -RESERVED_WORD(999, FVEC3); +#line 344 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, EXTERNAL); YY_BREAK case 145: YY_RULE_SETUP -#line 337 "glsl_lexer.lpp" -RESERVED_WORD(999, FVEC4); +#line 345 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, INTERFACE); YY_BREAK case 146: YY_RULE_SETUP -#line 338 "glsl_lexer.lpp" -return SAMPLER2DRECT; +#line 346 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, LONG_TOK); YY_BREAK case 147: YY_RULE_SETUP -#line 339 "glsl_lexer.lpp" -RESERVED_WORD(999, SAMPLER3DRECT); +#line 347 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, SHORT_TOK); YY_BREAK case 148: YY_RULE_SETUP -#line 340 "glsl_lexer.lpp" -return SAMPLER2DRECTSHADOW; +#line 348 "glsl_lexer.lpp" +KEYWORD(110 || ES, 400, DOUBLE_TOK); YY_BREAK case 149: YY_RULE_SETUP -#line 341 "glsl_lexer.lpp" -RESERVED_WORD(999, SIZEOF); +#line 349 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, HALF); YY_BREAK case 150: YY_RULE_SETUP -#line 342 "glsl_lexer.lpp" -RESERVED_WORD(999, CAST); +#line 350 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, FIXED_TOK); YY_BREAK case 151: YY_RULE_SETUP -#line 343 "glsl_lexer.lpp" -RESERVED_WORD(999, NAMESPACE); +#line 351 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, UNSIGNED); YY_BREAK case 152: YY_RULE_SETUP -#line 344 "glsl_lexer.lpp" -RESERVED_WORD(999, USING); +#line 352 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, INPUT_TOK); YY_BREAK -/* Additional reserved words in GLSL 1.20. */ case 153: YY_RULE_SETUP -#line 347 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER_ES(120, LOWP); +#line 353 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, OUTPUT); YY_BREAK case 154: YY_RULE_SETUP -#line 348 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER_ES(120, MEDIUMP); +#line 354 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, HVEC2); YY_BREAK case 155: YY_RULE_SETUP -#line 349 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER_ES(120, HIGHP); +#line 355 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, HVEC3); YY_BREAK case 156: YY_RULE_SETUP -#line 350 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER_ES(120, PRECISION); +#line 356 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, HVEC4); YY_BREAK -/* Additional reserved words in GLSL 1.30. */ case 157: YY_RULE_SETUP -#line 353 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, COMMON); +#line 357 "glsl_lexer.lpp" +KEYWORD(110 || ES, 400, DVEC2); YY_BREAK case 158: YY_RULE_SETUP -#line 354 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, PARTITION); +#line 358 "glsl_lexer.lpp" +KEYWORD(110 || ES, 400, DVEC3); YY_BREAK case 159: YY_RULE_SETUP -#line 355 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, ACTIVE); +#line 359 "glsl_lexer.lpp" +KEYWORD(110 || ES, 400, DVEC4); YY_BREAK case 160: YY_RULE_SETUP -#line 356 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER_ES(130, SUPERP); +#line 360 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, FVEC2); YY_BREAK case 161: YY_RULE_SETUP -#line 357 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, SAMPLERBUFFER); +#line 361 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, FVEC3); YY_BREAK case 162: YY_RULE_SETUP -#line 358 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, FILTER); +#line 362 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, FVEC4); YY_BREAK case 163: YY_RULE_SETUP -#line 359 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IMAGE1D); +#line 363 "glsl_lexer.lpp" +return SAMPLER2DRECT; YY_BREAK case 164: YY_RULE_SETUP -#line 360 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IMAGE2D); +#line 364 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, SAMPLER3DRECT); YY_BREAK case 165: YY_RULE_SETUP -#line 361 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IMAGE3D); +#line 365 "glsl_lexer.lpp" +return SAMPLER2DRECTSHADOW; YY_BREAK case 166: YY_RULE_SETUP -#line 362 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IMAGECUBE); +#line 366 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, SIZEOF); YY_BREAK case 167: YY_RULE_SETUP -#line 363 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IIMAGE1D); +#line 367 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, CAST); YY_BREAK case 168: YY_RULE_SETUP -#line 364 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IIMAGE2D); +#line 368 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, NAMESPACE); YY_BREAK case 169: YY_RULE_SETUP -#line 365 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IIMAGE3D); +#line 369 "glsl_lexer.lpp" +KEYWORD(110 || ES, 999, USING); YY_BREAK +/* Additional reserved words in GLSL 1.20. */ case 170: YY_RULE_SETUP -#line 366 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IIMAGECUBE); +#line 372 "glsl_lexer.lpp" +KEYWORD(120, 130 || ES, LOWP); YY_BREAK case 171: YY_RULE_SETUP -#line 367 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, UIMAGE1D); +#line 373 "glsl_lexer.lpp" +KEYWORD(120, 130 || ES, MEDIUMP); YY_BREAK case 172: YY_RULE_SETUP -#line 368 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, UIMAGE2D); +#line 374 "glsl_lexer.lpp" +KEYWORD(120, 130 || ES, HIGHP); YY_BREAK case 173: YY_RULE_SETUP -#line 369 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, UIMAGE3D); +#line 375 "glsl_lexer.lpp" +KEYWORD(120, 130 || ES, PRECISION); YY_BREAK +/* Additional reserved words in GLSL 1.30. */ case 174: YY_RULE_SETUP -#line 370 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, UIMAGECUBE); +#line 378 "glsl_lexer.lpp" +KEYWORD(130, 130, CASE); YY_BREAK case 175: YY_RULE_SETUP -#line 371 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IMAGE1DARRAY); +#line 379 "glsl_lexer.lpp" +KEYWORD(130, 999, COMMON); YY_BREAK case 176: YY_RULE_SETUP -#line 372 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IMAGE2DARRAY); +#line 380 "glsl_lexer.lpp" +KEYWORD(130, 999, PARTITION); YY_BREAK case 177: YY_RULE_SETUP -#line 373 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IIMAGE1DARRAY); +#line 381 "glsl_lexer.lpp" +KEYWORD(130, 999, ACTIVE); YY_BREAK case 178: YY_RULE_SETUP -#line 374 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IIMAGE2DARRAY); +#line 382 "glsl_lexer.lpp" +KEYWORD(130 || ES, 999, SUPERP); YY_BREAK case 179: YY_RULE_SETUP -#line 375 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, UIMAGE1DARRAY); +#line 383 "glsl_lexer.lpp" +KEYWORD(130, 140, SAMPLERBUFFER); YY_BREAK case 180: YY_RULE_SETUP -#line 376 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, UIMAGE2DARRAY); +#line 384 "glsl_lexer.lpp" +KEYWORD(130, 999, FILTER); YY_BREAK case 181: YY_RULE_SETUP -#line 377 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IMAGE1DSHADOW); +#line 385 "glsl_lexer.lpp" +KEYWORD(130, 999, IMAGE1D); YY_BREAK case 182: YY_RULE_SETUP -#line 378 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IMAGE2DSHADOW); +#line 386 "glsl_lexer.lpp" +KEYWORD(130, 999, IMAGE2D); YY_BREAK case 183: YY_RULE_SETUP -#line 379 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IMAGEBUFFER); +#line 387 "glsl_lexer.lpp" +KEYWORD(130, 999, IMAGE3D); YY_BREAK case 184: YY_RULE_SETUP -#line 380 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, IIMAGEBUFFER); +#line 388 "glsl_lexer.lpp" +KEYWORD(130, 999, IMAGECUBE); YY_BREAK case 185: YY_RULE_SETUP -#line 381 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, UIMAGEBUFFER); +#line 389 "glsl_lexer.lpp" +KEYWORD(130, 999, IIMAGE1D); YY_BREAK case 186: YY_RULE_SETUP -#line 382 "glsl_lexer.lpp" -TOKEN_OR_IDENTIFIER(130, ROW_MAJOR); +#line 390 "glsl_lexer.lpp" +KEYWORD(130, 999, IIMAGE2D); YY_BREAK case 187: YY_RULE_SETUP -#line 384 "glsl_lexer.lpp" +#line 391 "glsl_lexer.lpp" +KEYWORD(130, 999, IIMAGE3D); + YY_BREAK +case 188: +YY_RULE_SETUP +#line 392 "glsl_lexer.lpp" +KEYWORD(130, 999, IIMAGECUBE); + YY_BREAK +case 189: +YY_RULE_SETUP +#line 393 "glsl_lexer.lpp" +KEYWORD(130, 999, UIMAGE1D); + YY_BREAK +case 190: +YY_RULE_SETUP +#line 394 "glsl_lexer.lpp" +KEYWORD(130, 999, UIMAGE2D); + YY_BREAK +case 191: +YY_RULE_SETUP +#line 395 "glsl_lexer.lpp" +KEYWORD(130, 999, UIMAGE3D); + YY_BREAK +case 192: +YY_RULE_SETUP +#line 396 "glsl_lexer.lpp" +KEYWORD(130, 999, UIMAGECUBE); + YY_BREAK +case 193: +YY_RULE_SETUP +#line 397 "glsl_lexer.lpp" +KEYWORD(130, 999, IMAGE1DARRAY); + YY_BREAK +case 194: +YY_RULE_SETUP +#line 398 "glsl_lexer.lpp" +KEYWORD(130, 999, IMAGE2DARRAY); + YY_BREAK +case 195: +YY_RULE_SETUP +#line 399 "glsl_lexer.lpp" +KEYWORD(130, 999, IIMAGE1DARRAY); + YY_BREAK +case 196: +YY_RULE_SETUP +#line 400 "glsl_lexer.lpp" +KEYWORD(130, 999, IIMAGE2DARRAY); + YY_BREAK +case 197: +YY_RULE_SETUP +#line 401 "glsl_lexer.lpp" +KEYWORD(130, 999, UIMAGE1DARRAY); + YY_BREAK +case 198: +YY_RULE_SETUP +#line 402 "glsl_lexer.lpp" +KEYWORD(130, 999, UIMAGE2DARRAY); + YY_BREAK +case 199: +YY_RULE_SETUP +#line 403 "glsl_lexer.lpp" +KEYWORD(130, 999, IMAGE1DSHADOW); + YY_BREAK +case 200: +YY_RULE_SETUP +#line 404 "glsl_lexer.lpp" +KEYWORD(130, 999, IMAGE2DSHADOW); + YY_BREAK +case 201: +YY_RULE_SETUP +#line 405 "glsl_lexer.lpp" +KEYWORD(130, 999, IMAGE1DARRAYSHADOW); + YY_BREAK +case 202: +YY_RULE_SETUP +#line 406 "glsl_lexer.lpp" +KEYWORD(130, 999, IMAGE2DARRAYSHADOW); + YY_BREAK +case 203: +YY_RULE_SETUP +#line 407 "glsl_lexer.lpp" +KEYWORD(130, 999, IMAGEBUFFER); + YY_BREAK +case 204: +YY_RULE_SETUP +#line 408 "glsl_lexer.lpp" +KEYWORD(130, 999, IIMAGEBUFFER); + YY_BREAK +case 205: +YY_RULE_SETUP +#line 409 "glsl_lexer.lpp" +KEYWORD(130, 999, UIMAGEBUFFER); + YY_BREAK +case 206: +YY_RULE_SETUP +#line 410 "glsl_lexer.lpp" +KEYWORD(130, 999, ROW_MAJOR); + YY_BREAK +case 207: +YY_RULE_SETUP +#line 412 "glsl_lexer.lpp" { struct _mesa_glsl_parse_state *state = yyextra; void *ctx = state; @@ -2366,17 +2519,17 @@ YY_RULE_SETUP return IDENTIFIER; } YY_BREAK -case 188: +case 208: YY_RULE_SETUP -#line 391 "glsl_lexer.lpp" +#line 419 "glsl_lexer.lpp" { return yytext[0]; } YY_BREAK -case 189: +case 209: YY_RULE_SETUP -#line 393 "glsl_lexer.lpp" +#line 421 "glsl_lexer.lpp" ECHO; YY_BREAK -#line 2380 "glsl_lexer.cpp" +#line 2533 "glsl_lexer.cpp" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(PP): case YY_STATE_EOF(PRAGMA): @@ -2674,7 +2827,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 716 ) + if ( yy_current_state >= 813 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2703,11 +2856,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 716 ) + if ( yy_current_state >= 813 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 715); + yy_is_jam = (yy_current_state == 812); return yy_is_jam ? 0 : yy_current_state; } @@ -3112,8 +3265,8 @@ YY_BUFFER_STATE _mesa_glsl__scan_string (yyconst char * yystr , yyscan_t yyscann /** Setup the input buffer state to scan the given bytes. The next call to _mesa_glsl_lex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * @param yyscanner The scanner object. * @return the newly allocated buffer state object. */ @@ -3519,7 +3672,7 @@ void _mesa_glsl_free (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 393 "glsl_lexer.lpp" +#line 421 "glsl_lexer.lpp" diff --git a/src/glsl/glsl_parser.cpp b/src/glsl/glsl_parser.cpp index cfbb2b83d61..23e439c7c54 100644 --- a/src/glsl/glsl_parser.cpp +++ b/src/glsl/glsl_parser.cpp @@ -1,10 +1,9 @@ - -/* A Bison parser, made by GNU Bison 2.4.1. */ +/* A Bison parser, made by GNU Bison 2.4.3. */ /* Skeleton implementation for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2009, 2010 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 @@ -46,7 +45,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.1" +#define YYBISON_VERSION "2.4.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -114,7 +113,7 @@ /* Line 189 of yacc.c */ -#line 118 "glsl_parser.cpp" +#line 117 "glsl_parser.cpp" /* Enabling traces. */ #ifndef YYDEBUG @@ -328,7 +327,9 @@ IMAGEBUFFER = 442, IIMAGEBUFFER = 443, UIMAGEBUFFER = 444, - ROW_MAJOR = 445 + IMAGE1DARRAYSHADOW = 445, + IMAGE2DARRAYSHADOW = 446, + ROW_MAJOR = 447 }; #endif @@ -372,7 +373,7 @@ typedef union YYSTYPE /* Line 214 of yacc.c */ -#line 376 "glsl_parser.cpp" +#line 377 "glsl_parser.cpp" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -397,7 +398,7 @@ typedef struct YYLTYPE /* Line 264 of yacc.c */ -#line 401 "glsl_parser.cpp" +#line 402 "glsl_parser.cpp" #ifdef short # undef short @@ -447,7 +448,7 @@ typedef short int yytype_int16; #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if YYENABLE_NLS +# if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -614,10 +615,10 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3692 +#define YYLAST 3718 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 215 +#define YYNTOKENS 217 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 87 /* YYNRULES -- Number of rules. */ @@ -627,7 +628,7 @@ union yyalloc /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 445 +#define YYMAXUTOK 447 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -638,16 +639,16 @@ static const yytype_uint8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 199, 2, 2, 2, 203, 206, 2, - 191, 192, 201, 197, 196, 198, 195, 202, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 210, 212, - 204, 211, 205, 209, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 201, 2, 2, 2, 205, 208, 2, + 193, 194, 203, 199, 198, 200, 197, 204, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 212, 214, + 206, 213, 207, 211, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 193, 2, 194, 207, 2, 2, 2, 2, 2, + 2, 195, 2, 196, 209, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 213, 208, 214, 200, 2, 2, 2, + 2, 2, 2, 215, 210, 216, 202, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -679,7 +680,7 @@ static const yytype_uint8 yytranslate[] = 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190 + 185, 186, 187, 188, 189, 190, 191, 192 }; #if YYDEBUG @@ -720,57 +721,57 @@ static const yytype_uint16 yyprhs[] = /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 216, 0, -1, -1, 218, 220, 217, 222, -1, -1, + 218, 0, -1, -1, 220, 222, 219, 224, -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, 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, 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, - 234, -1, 236, 203, 234, -1, 236, -1, 237, 197, - 236, -1, 237, 198, 236, -1, 237, -1, 238, 82, - 237, -1, 238, 83, 237, -1, 238, -1, 239, 204, - 238, -1, 239, 205, 238, -1, 239, 86, 238, -1, - 239, 87, 238, -1, 239, -1, 240, 88, 239, -1, - 240, 89, 239, -1, 240, -1, 241, 206, 240, -1, - 241, -1, 242, 207, 241, -1, 242, -1, 243, 208, - 242, -1, 243, -1, 244, 90, 243, -1, 244, -1, - 245, 92, 244, -1, 245, -1, 246, 91, 245, -1, - 246, -1, 246, 209, 250, 210, 248, -1, 247, -1, - 234, 249, 248, -1, 211, -1, 93, -1, 94, -1, + 118, 113, -1, 119, 113, -1, -1, 222, 223, -1, + 110, 76, 112, 76, 113, -1, 302, -1, 224, 302, + -1, 76, -1, 225, -1, 78, -1, 79, -1, 77, + -1, 80, -1, 193, 252, 194, -1, 226, -1, 227, + 195, 228, 196, -1, 229, -1, 227, 197, 76, -1, + 227, 84, -1, 227, 85, -1, 252, -1, 230, -1, + 231, -1, 227, 197, 231, -1, 233, 194, -1, 232, + 194, -1, 234, 74, -1, 234, -1, 234, 250, -1, + 233, 198, 250, -1, 235, 193, -1, 273, -1, 76, + -1, 81, -1, 227, -1, 84, 236, -1, 85, 236, + -1, 237, 236, -1, 199, -1, 200, -1, 201, -1, + 202, -1, 236, -1, 238, 203, 236, -1, 238, 204, + 236, -1, 238, 205, 236, -1, 238, -1, 239, 199, + 238, -1, 239, 200, 238, -1, 239, -1, 240, 82, + 239, -1, 240, 83, 239, -1, 240, -1, 241, 206, + 240, -1, 241, 207, 240, -1, 241, 86, 240, -1, + 241, 87, 240, -1, 241, -1, 242, 88, 241, -1, + 242, 89, 241, -1, 242, -1, 243, 208, 242, -1, + 243, -1, 244, 209, 243, -1, 244, -1, 245, 210, + 244, -1, 245, -1, 246, 90, 245, -1, 246, -1, + 247, 92, 246, -1, 247, -1, 248, 91, 247, -1, + 248, -1, 248, 211, 252, 212, 250, -1, 249, -1, + 236, 251, 250, -1, 213, -1, 93, -1, 94, -1, 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, 275, 272, 212, -1, 254, 192, -1, 256, -1, - 255, -1, 256, 258, -1, 255, 196, 258, -1, 263, - 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, 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, - 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, 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, 76, 211, 78, -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, + 99, -1, 100, -1, 101, -1, 250, -1, 252, 198, + 250, -1, 249, -1, 255, 214, -1, 263, 214, -1, + 108, 277, 274, 214, -1, 256, 194, -1, 258, -1, + 257, -1, 258, 260, -1, 257, 198, 260, -1, 265, + 76, 193, -1, 273, 76, -1, 273, 76, 195, 253, + 196, -1, 270, 261, 259, -1, 261, 259, -1, 270, + 261, 262, -1, 261, 262, -1, -1, 33, -1, 34, + -1, 35, -1, 273, -1, 264, -1, 263, 198, 76, + -1, 263, 198, 76, 195, 196, -1, 263, 198, 76, + 195, 253, 196, -1, 263, 198, 76, 195, 196, 213, + 283, -1, 263, 198, 76, 195, 253, 196, 213, 283, + -1, 263, 198, 76, 213, 283, -1, 265, -1, 265, + 76, -1, 265, 76, 195, 196, -1, 265, 76, 195, + 253, 196, -1, 265, 76, 195, 196, 213, 283, -1, + 265, 76, 195, 253, 196, 213, 283, -1, 265, 76, + 213, 283, -1, 103, 76, -1, 273, -1, 271, 273, + -1, 120, 193, 267, 194, -1, 268, -1, 267, 198, + 268, -1, 76, -1, 76, 213, 78, -1, 40, -1, + 39, -1, 38, -1, 4, -1, 272, -1, 266, -1, + 266, 272, -1, 269, -1, 269, 272, -1, 103, 272, + -1, 103, 269, 272, -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, + 32, 33, -1, 32, 34, -1, 36, -1, 274, -1, + 277, 274, -1, 275, -1, 275, 195, 196, -1, 275, + 195, 253, 196, -1, 276, -1, 278, -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, @@ -782,57 +783,57 @@ static const yytype_int16 yyrhs[] = 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 + 215, 279, 216, -1, 73, 215, 279, 216, -1, 280, + -1, 279, 280, -1, 273, 281, 214, -1, 282, -1, + 281, 198, 282, -1, 76, -1, 76, 195, 253, 196, + -1, 250, -1, 254, -1, 287, -1, 286, -1, 284, + -1, 291, -1, 292, -1, 295, -1, 296, -1, 297, + -1, 301, -1, 215, 216, -1, 215, 290, 216, -1, + 289, -1, 286, -1, 215, 216, -1, 215, 290, 216, + -1, 285, -1, 290, 285, -1, 214, -1, 252, 214, + -1, 14, 193, 252, 194, 293, -1, 285, 12, 285, + -1, 285, -1, 252, -1, 265, 76, 213, 283, -1, + 17, 193, 252, 194, 287, -1, 18, 252, 212, -1, + 19, 212, -1, 75, 193, 294, 194, 288, -1, 11, + 285, 75, 193, 252, 194, 214, -1, 13, 193, 298, + 300, 194, 288, -1, 291, -1, 284, -1, 294, -1, + -1, 299, 214, -1, 299, 214, 252, -1, 10, 214, + -1, 9, 214, -1, 16, 214, -1, 16, 252, 214, + -1, 15, 214, -1, 303, -1, 254, -1, 221, -1, + 255, 289, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 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, 1003, 1032, - 1073, 1078, 1083, 1091, 1099, 1100, 1101, 1106, 1107, 1112, - 1117, 1123, 1131, 1136, 1141, 1146, 1152, 1157, 1162, 1167, - 1172, 1180, 1181, 1189, 1190, 1196, 1205, 1211, 1217, 1226, - 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, - 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, - 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, - 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, - 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, - 1280, 1291, 1302, 1316, 1322, 1331, 1336, 1344, 1359, 1364, - 1372, 1378, 1387, 1391, 1397, 1398, 1402, 1403, 1404, 1405, - 1406, 1407, 1408, 1412, 1418, 1427, 1428, 1432, 1438, 1447, - 1457, 1469, 1475, 1484, 1493, 1498, 1506, 1510, 1524, 1528, - 1529, 1533, 1540, 1547, 1557, 1558, 1562, 1564, 1570, 1575, - 1584, 1590, 1596, 1602, 1608, 1617, 1618, 1619, 1623 + 0, 212, 212, 211, 218, 220, 240, 241, 242, 243, + 246, 248, 252, 261, 269, 280, 284, 291, 298, 305, + 312, 319, 326, 327, 333, 337, 344, 350, 359, 363, + 367, 368, 377, 378, 382, 383, 387, 393, 405, 409, + 415, 422, 433, 434, 440, 446, 456, 457, 458, 459, + 463, 464, 470, 476, 485, 486, 492, 501, 502, 508, + 517, 518, 524, 530, 536, 545, 546, 552, 561, 562, + 571, 572, 581, 582, 591, 592, 601, 602, 611, 612, + 621, 622, 631, 632, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 655, 659, 675, 679, 683, + 687, 701, 705, 706, 710, 715, 723, 734, 744, 759, + 766, 771, 782, 795, 798, 803, 808, 817, 821, 822, + 831, 840, 849, 858, 867, 880, 891, 900, 909, 918, + 927, 936, 945, 959, 966, 977, 984, 985, 1004, 1033, + 1074, 1079, 1084, 1092, 1100, 1101, 1102, 1107, 1108, 1113, + 1118, 1124, 1132, 1137, 1142, 1147, 1153, 1158, 1163, 1168, + 1173, 1181, 1182, 1190, 1191, 1197, 1206, 1212, 1218, 1227, + 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, + 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, + 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, + 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, + 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, + 1281, 1292, 1303, 1317, 1323, 1332, 1337, 1345, 1360, 1365, + 1373, 1379, 1388, 1392, 1398, 1399, 1403, 1404, 1405, 1406, + 1407, 1408, 1409, 1413, 1419, 1428, 1429, 1433, 1439, 1448, + 1458, 1470, 1476, 1485, 1494, 1499, 1507, 1511, 1525, 1529, + 1530, 1534, 1541, 1548, 1558, 1559, 1563, 1565, 1571, 1576, + 1585, 1591, 1597, 1603, 1609, 1618, 1619, 1620, 1624 }; #endif @@ -876,11 +877,11 @@ static const char *const yytname[] = "IIMAGE1DARRAY", "IIMAGE2DARRAY", "UIMAGE1D", "UIMAGE2D", "UIMAGE3D", "UIMAGECUBE", "UIMAGE1DARRAY", "UIMAGE2DARRAY", "IMAGE1DSHADOW", "IMAGE2DSHADOW", "IMAGEBUFFER", "IIMAGEBUFFER", "UIMAGEBUFFER", - "ROW_MAJOR", "'('", "')'", "'['", "']'", "'.'", "','", "'+'", "'-'", - "'!'", "'~'", "'*'", "'/'", "'%'", "'<'", "'>'", "'&'", "'^'", "'|'", - "'?'", "':'", "'='", "';'", "'{'", "'}'", "$accept", "translation_unit", - "$@1", "version_statement", "pragma_statement", - "extension_statement_list", "extension_statement", + "IMAGE1DARRAYSHADOW", "IMAGE2DARRAYSHADOW", "ROW_MAJOR", "'('", "')'", + "'['", "']'", "'.'", "','", "'+'", "'-'", "'!'", "'~'", "'*'", "'/'", + "'%'", "'<'", "'>'", "'&'", "'^'", "'|'", "'?'", "':'", "'='", "';'", + "'{'", "'}'", "$accept", "translation_unit", "$@1", "version_statement", + "pragma_statement", "extension_statement_list", "extension_statement", "external_declaration_list", "variable_identifier", "primary_expression", "postfix_expression", "integer_expression", "function_call", "function_call_or_method", "function_call_generic", @@ -939,43 +940,43 @@ static const yytype_uint16 yytoknum[] = 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 40, 41, 91, 93, 46, 44, 43, 45, 33, - 126, 42, 47, 37, 60, 62, 38, 94, 124, 63, - 58, 61, 59, 123, 125 + 445, 446, 447, 40, 41, 91, 93, 46, 44, 43, + 45, 33, 126, 42, 47, 37, 60, 62, 38, 94, + 124, 63, 58, 61, 59, 123, 125 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 215, 217, 216, 218, 218, 219, 219, 219, 219, - 220, 220, 221, 222, 222, 223, 224, 224, 224, 224, - 224, 224, 225, 225, 225, 225, 225, 225, 226, 227, - 228, 228, 229, 229, 230, 230, 231, 231, 232, 233, - 233, 233, 234, 234, 234, 234, 235, 235, 235, 235, - 236, 236, 236, 236, 237, 237, 237, 238, 238, 238, - 239, 239, 239, 239, 239, 240, 240, 240, 241, 241, - 242, 242, 243, 243, 244, 244, 245, 245, 246, 246, - 247, 247, 248, 248, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 250, 250, 251, 252, 252, - 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, 265, 265, 266, 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 + 0, 217, 219, 218, 220, 220, 221, 221, 221, 221, + 222, 222, 223, 224, 224, 225, 226, 226, 226, 226, + 226, 226, 227, 227, 227, 227, 227, 227, 228, 229, + 230, 230, 231, 231, 232, 232, 233, 233, 234, 235, + 235, 235, 236, 236, 236, 236, 237, 237, 237, 237, + 238, 238, 238, 238, 239, 239, 239, 240, 240, 240, + 241, 241, 241, 241, 241, 242, 242, 242, 243, 243, + 244, 244, 245, 245, 246, 246, 247, 247, 248, 248, + 249, 249, 250, 250, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 252, 252, 253, 254, 254, + 254, 255, 256, 256, 257, 257, 258, 259, 259, 260, + 260, 260, 260, 261, 261, 261, 261, 262, 263, 263, + 263, 263, 263, 263, 263, 264, 264, 264, 264, 264, + 264, 264, 264, 265, 265, 266, 267, 267, 268, 268, + 269, 269, 269, 270, 271, 271, 271, 271, 271, 271, + 271, 271, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 273, 273, 274, 274, 274, 275, 275, 275, 276, + 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, + 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, + 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, + 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, + 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, + 277, 277, 277, 278, 278, 279, 279, 280, 281, 281, + 282, 282, 283, 284, 285, 285, 286, 286, 286, 286, + 286, 286, 286, 287, 287, 288, 288, 289, 289, 290, + 290, 291, 291, 292, 293, 293, 294, 294, 295, 296, + 296, 297, 297, 297, 298, 298, 299, 299, 300, 300, + 301, 301, 301, 301, 301, 302, 302, 302, 303 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1076,65 +1077,65 @@ static const yytype_int16 yydefgoto[] = /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -360 +#define YYPACT_NINF -350 static const yytype_int16 yypact[] = { - -54, -53, 37, -360, -26, -360, -5, -360, 73, 3276, - -360, 63, -360, -360, -360, -360, -360, -360, -360, -360, - -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, - 105, -360, -360, -360, -360, -360, -360, -360, -360, -360, - -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, - -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, - -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, - -69, -360, -360, 42, -360, -360, -360, -74, 65, 79, - 83, 85, 16, -360, -360, -360, 3276, -360, -99, 9, - 13, 5, -152, -360, 134, 17, 17, 3464, -360, -360, - -360, 18, -360, 3536, -360, -360, -360, 136, -360, -360, - -360, 0, 3464, -360, 17, -360, 3536, -360, -360, -360, - -360, 138, -360, -360, 387, -360, -360, 24, -360, -360, - -360, -360, -360, 3464, 149, 141, -360, -150, -360, -360, - -360, 2371, -360, 106, 3464, 144, 1760, -360, -360, 11, - 14, -144, -360, 12, 20, 1235, 30, 31, 22, 1992, - 38, 2914, 26, 46, -59, -360, -360, -360, -360, -360, - 2914, 2914, 2914, -360, -360, -360, -360, -360, 599, -360, - -360, -360, -70, -360, -360, -360, 36, -56, 3095, 47, - -30, 2914, -8, -113, 39, -76, 45, 34, 23, 35, - 154, 153, -79, -360, -360, -123, -360, 41, 55, -360, - -360, -360, -360, 811, -360, -360, -360, -360, -360, -360, - -360, -360, -360, 172, 3464, -164, -360, 2552, 2914, -360, - -360, -360, 56, -360, -360, 1876, 58, -110, -360, -360, - -360, -360, 171, -360, 138, -360, -360, 179, 1644, 2914, - -360, -360, -101, 2914, -90, -360, 2190, -360, -360, -51, - -360, 1023, -360, -360, 2914, 3392, -360, -360, 2914, 64, - -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, - -360, -360, -360, 2914, -360, 2914, 2914, 2914, 2914, 2914, - 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, - 2914, 2914, 2914, 2914, 2914, 2914, -360, -360, -360, 62, - -360, -360, 2733, 2914, 48, 66, -360, -360, -360, -360, - 2914, 144, -360, -360, -360, 67, -360, -360, 2190, -49, - -360, -22, -360, 238, 68, 187, 74, -360, -360, 71, - 68, 76, -360, -360, -360, -360, -360, -360, -8, -8, - -113, -113, 39, 39, 39, 39, -76, -76, 45, 34, - 23, 35, 154, 153, -84, -360, 2914, 57, 75, -360, - 2914, 69, 87, -360, 2914, -360, 70, 91, 1235, 72, - 78, 1446, -360, 2914, 90, 2914, 81, -360, 2914, -360, - -16, 2914, 1446, 267, -360, -360, 2914, -360, -360, -360, - -360, -360, -360, 2914, -360, 82, 68, -360, 1235, -360, - -360, -360, -360 + -78, -56, 54, -350, -52, -350, -37, -350, 8, 3302, + -350, -26, -350, -350, -350, -350, -350, -350, -350, -350, + -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, + 88, -350, -350, -350, -350, -350, -350, -350, -350, -350, + -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, + -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, + -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, + -66, -350, -350, 42, -350, -350, -350, 70, -4, 10, + 29, 34, -79, -350, -350, -350, 3302, -350, -19, -24, + -69, 5, -154, -350, 102, 16, 16, 3490, -350, -350, + -350, 18, -350, 3562, -350, -350, -350, 108, -350, -350, + -350, -8, 3490, -350, 16, -350, 3562, -350, -350, -350, + -350, 138, -350, -350, 387, -350, -350, 24, -350, -350, + -350, -350, -350, 3490, 147, 141, -350, -166, -350, -350, + -350, 2387, -350, 106, 3490, 144, 1772, -350, -350, 7, + 11, -87, -350, 14, 15, 1243, 30, 32, 20, 2004, + 37, 2936, 25, 39, -65, -350, -350, -350, -350, -350, + 2936, 2936, 2936, -350, -350, -350, -350, -350, 601, -350, + -350, -350, -59, -350, -350, -350, 28, -82, 3119, 43, + -30, 2936, -11, -2, 118, -74, 114, 35, 31, 36, + 148, 152, -77, -350, -350, -115, -350, 40, 52, -350, + -350, -350, -350, 815, -350, -350, -350, -350, -350, -350, + -350, -350, -350, 172, 3490, -180, -350, 2570, 2936, -350, + -350, -350, 53, -350, -350, 1888, 55, -113, -350, -350, + -350, -350, 173, -350, 138, -350, -350, 178, 1656, 2936, + -350, -350, -108, 2936, -161, -350, 2204, -350, -350, -68, + -350, 1029, -350, -350, 2936, 3418, -350, -350, 2936, 61, + -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, + -350, -350, -350, 2936, -350, 2936, 2936, 2936, 2936, 2936, + 2936, 2936, 2936, 2936, 2936, 2936, 2936, 2936, 2936, 2936, + 2936, 2936, 2936, 2936, 2936, 2936, -350, -350, -350, 63, + -350, -350, 2753, 2936, 46, 60, -350, -350, -350, -350, + 2936, 144, -350, -350, -350, 67, -350, -350, 2204, -55, + -350, -54, -350, 238, 65, 188, 71, -350, -350, 72, + 65, 73, -350, -350, -350, -350, -350, -350, -11, -11, + -2, -2, 118, 118, 118, 118, -74, -74, 114, 35, + 31, 36, 148, 152, -157, -350, 2936, 56, 83, -350, + 2936, 68, 84, -350, 2936, -350, 69, 90, 1243, 74, + 77, 1456, -350, 2936, 86, 2936, 79, -350, 2936, -350, + -53, 2936, 1456, 255, -350, -350, 2936, -350, -350, -350, + -350, -350, -350, 2936, -350, 80, 65, -350, 1243, -350, + -350, -350, -350 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, - -360, -360, -360, -360, 25, -360, -360, -360, -360, -135, - -360, -89, -88, -104, -91, -11, -6, -4, -3, -7, - -2, -360, -133, -97, -360, -156, -193, 4, 10, -360, - -360, -360, 80, 170, 166, 84, -360, -360, -229, -360, - -360, 59, -71, -360, -360, -72, -9, 1, -360, -360, - 225, -360, 161, -128, -360, -14, -287, 61, -151, -359, - -68, -82, 224, 135, 77, -360, -360, -13, -360, -360, - -360, -360, -360, -360, -360, 228, -360 + -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, + -350, -350, -350, -350, 22, -350, -350, -350, -350, -135, + -350, -83, -81, -104, -85, -13, -6, -5, -3, -1, + -7, -350, -133, -97, -350, -156, -193, 9, 12, -350, + -350, -350, 76, 170, 168, 81, -350, -350, -239, -350, + -350, 59, -71, -350, -350, -72, -9, 1, -350, -350, + 227, -350, 163, -139, -350, -12, -283, 62, -151, -349, + -67, -84, 223, 135, 66, -350, -350, -10, -350, -350, + -350, -350, -350, -350, -350, 229, -350 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1144,39 +1145,39 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -169 static const yytype_int16 yytable[] = { - 99, 115, 114, 252, 247, 254, 230, 111, 231, 128, - 292, 293, 303, 87, 262, 263, 259, -168, 240, 88, - 12, 13, 397, 138, 139, 4, 369, 335, 128, 312, - 74, 75, 76, 397, 315, 257, 258, 5, 129, 130, - 131, 226, 148, 227, 135, 12, 13, 313, 243, 30, - 31, 32, 244, 33, 34, 1, 284, 129, 130, 131, - 136, 228, 308, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 305, 30, 31, 32, 99, 33, 34, - 35, 36, 37, 387, 288, 289, 321, 7, 140, 306, - 87, 270, 230, 329, 231, 305, 88, 331, 402, 335, - 334, 404, 322, 145, 142, 8, 305, 240, 340, 409, - 308, 330, 305, 123, 124, 208, 410, 149, 113, 368, - 332, 290, 291, 264, 223, 265, 383, 372, 294, 295, - 304, 316, -40, 296, 297, 145, 267, 145, 108, 109, - 268, 337, 110, 378, 112, 305, 208, 305, 364, 11, + 99, 115, 114, 252, 247, 254, 230, 240, 231, 128, + 111, -168, 292, 293, 303, 312, 259, 335, 87, 12, + 13, 88, 4, 138, 139, 262, 263, 226, 128, 227, + 369, 1, 397, 313, 315, 257, 258, 305, 129, 130, + 131, 305, 148, 397, 135, 12, 13, 228, 30, 31, + 32, 332, 33, 34, 5, 383, 284, 129, 130, 131, + 136, 7, 308, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 8, 30, 31, 32, 99, 33, 34, + 35, 36, 37, 305, 11, 321, 107, 387, 140, 335, + 305, 270, 230, 329, 231, 87, 240, 331, 88, 306, + 334, 322, 402, 145, 142, 404, 330, 243, 340, 117, + 308, 244, 267, 409, 121, 208, 268, 149, 113, 368, + 410, 108, 109, 118, 223, 110, 337, 372, -40, 127, + 305, 316, 294, 295, 304, 145, 264, 145, 265, 378, + 379, 405, 119, 305, 305, 305, 208, 120, 364, 112, 345, 346, 347, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 208, - 379, 343, 334, 384, 305, 107, 405, 230, 117, 231, - 305, 282, 129, 130, 131, 230, 344, 231, 352, 353, - 354, 355, 118, 285, 286, 287, 119, -102, 120, 348, - 349, 126, 350, 351, 208, 356, 357, 121, 365, 127, - 137, 141, 143, 144, 150, 223, 316, 225, 390, 234, - 236, 248, 249, 241, 245, 242, 145, 393, 266, 253, - 299, 230, 246, 231, 250, 406, 255, 256, 271, 208, - 298, 12, 13, 300, 301, 302, -39, 208, 309, 323, - 318, 320, 208, 123, 325, 366, -34, 412, 374, 370, - 371, 115, 114, 380, 305, 382, 381, -40, 385, 386, - 30, 31, 32, 316, 33, 34, 35, 36, 37, 408, - 388, 389, 391, 392, 401, 178, 400, 358, 316, 396, - 342, 316, 403, 359, 411, 362, 360, 220, 361, 316, - 224, 363, 116, 324, 310, 235, 316, 373, 311, 326, - 407, 395, 125, 261, 122, 375, 0, 0, 0, 208, - 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, + 126, 343, 334, 384, 74, 75, 76, 230, 137, 231, + 129, 130, 131, 282, 143, 230, 344, 231, 352, 353, + 354, 355, 285, 286, 287, 123, 124, 288, 289, -102, + 290, 291, 296, 297, 208, 348, 349, 144, 365, 350, + 351, 356, 357, 141, 150, 223, 316, 225, 390, 234, + 236, 241, 266, 248, 242, 249, 145, 393, 245, 246, + 253, 230, 256, 231, 250, 406, 271, 255, 301, 208, + 299, 12, 13, 298, 302, -39, 300, 208, 309, 318, + 320, 323, 208, 325, 123, -34, 371, 412, 366, 370, + 374, 115, 114, 305, 380, 381, -40, 408, 382, 385, + 30, 31, 32, 316, 33, 34, 35, 36, 37, 386, + 389, 388, 401, 391, 392, 358, 400, 342, 316, 178, + 396, 316, 403, 359, 411, 360, 363, 220, 361, 316, + 310, 362, 224, 324, 116, 311, 316, 235, 407, 373, + 326, 125, 395, 261, 327, 122, 0, 0, 375, 208, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1201,31 +1202,10 @@ static const yytype_int16 yytable[] = 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, 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, 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, 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, 0, 172, 0, 0, 0, 0, 0, 173, 174, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 177, 178, 260, 12, 13, 14, 15, 16, 17, + 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, @@ -1244,30 +1224,9 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 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, 307, 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, 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, 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, 0, 172, 0, 0, 0, 0, 0, 173, 174, 175, 176, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 177, 178, 338, 12, 13, + 0, 0, 0, 0, 0, 177, 178, 260, 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, @@ -1286,6 +1245,49 @@ static const yytype_int16 yytable[] = 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, 172, 0, + 0, 0, 0, 0, 173, 174, 175, 176, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, + 178, 307, 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, 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, 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, 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, 338, 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, 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, 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, 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, @@ -1307,114 +1309,115 @@ static const yytype_int16 yytable[] = 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, 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, 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, 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, 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, 83, 0, 84, 38, 39, 40, + 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, + 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, 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, 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, + 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, 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, 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, + 65, 66, 67, 68, 69, 70, 71, 0, 72, 172, + 0, 0, 0, 0, 0, 173, 174, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 319, 0, 0, 0, 0, 0, 74, 75, 76, 0, + 177, 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, 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, 0, 0, 0, 0, 239, 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, 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, 0, 0, 319, 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, 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, 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, 172, 0, 0, 0, 0, 0, 173, - 174, 175, 176, 12, 13, 14, 15, 16, 17, 0, - 0, 0, 0, 0, 251, 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, 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, 333, 74, 75, 76, 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, 251, 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, 70, 71, 0, + 164, 165, 166, 167, 168, 169, 0, 0, 170, 171, 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, 333, 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, 83, 0, 84, 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, 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, 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, 0, 0, 0, 0, 74, 75, 76, 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, 83, 0, 84, 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, 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, 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, 0, 0, 74, 75, 76, 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, 83, 0, 84, 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, 14, 15, @@ -1435,122 +1438,122 @@ static const yytype_int16 yytable[] = 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, 14, - 15, 16, 17, 0, 172, 0, 0, 367, 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, 14, 15, 16, 17, 0, 172, 0, 0, 367, + 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, 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, - 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, 269, - 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, + 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, 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, 269, 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, 0, 0, 0, 0, 0, 0, 83, - 0, 84, 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, 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, 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, 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, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 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, 341, 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, 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, 0, 0, 0, 0, 0, 0, - 83, 0, 84, 38, 39, 40, 41, 42, 43, 44, + 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, 341, 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, 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, + 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, - 83, 0, 84 + 0, 0, 0, 0, 0, 0, 83, 0, 84 }; static const yytype_int16 yycheck[] = { - 9, 73, 73, 159, 155, 161, 141, 76, 141, 4, - 86, 87, 91, 9, 84, 85, 172, 76, 146, 9, - 3, 4, 381, 95, 96, 78, 313, 256, 4, 193, - 104, 105, 106, 392, 227, 170, 171, 0, 33, 34, - 35, 191, 114, 193, 196, 3, 4, 211, 192, 32, - 33, 34, 196, 36, 37, 109, 191, 33, 34, 35, - 212, 211, 213, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 196, 32, 33, 34, 86, 36, 37, - 38, 39, 40, 370, 197, 198, 196, 113, 97, 212, - 86, 188, 227, 249, 227, 196, 86, 253, 385, 328, - 256, 388, 212, 112, 103, 110, 196, 235, 264, 396, - 261, 212, 196, 212, 213, 124, 403, 116, 76, 312, - 210, 82, 83, 193, 133, 195, 210, 320, 204, 205, - 209, 228, 191, 88, 89, 144, 192, 146, 33, 34, - 196, 192, 37, 192, 213, 196, 155, 196, 304, 76, + 9, 73, 73, 159, 155, 161, 141, 146, 141, 4, + 76, 76, 86, 87, 91, 195, 172, 256, 9, 3, + 4, 9, 78, 95, 96, 84, 85, 193, 4, 195, + 313, 109, 381, 213, 227, 170, 171, 198, 33, 34, + 35, 198, 114, 392, 198, 3, 4, 213, 32, 33, + 34, 212, 36, 37, 0, 212, 191, 33, 34, 35, + 214, 113, 213, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 110, 32, 33, 34, 86, 36, 37, + 38, 39, 40, 198, 76, 198, 112, 370, 97, 328, + 198, 188, 227, 249, 227, 86, 235, 253, 86, 214, + 256, 214, 385, 112, 103, 388, 214, 194, 264, 113, + 261, 198, 194, 396, 193, 124, 198, 116, 76, 312, + 403, 33, 34, 113, 133, 37, 194, 320, 193, 198, + 198, 228, 206, 207, 211, 144, 195, 146, 197, 194, + 194, 194, 113, 198, 198, 198, 155, 113, 304, 215, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 178, - 192, 268, 328, 366, 196, 112, 192, 312, 113, 312, - 196, 211, 33, 34, 35, 320, 283, 320, 292, 293, - 294, 295, 113, 201, 202, 203, 113, 192, 113, 288, - 289, 192, 290, 291, 213, 296, 297, 191, 305, 196, - 76, 193, 76, 213, 76, 224, 313, 76, 374, 113, - 76, 191, 191, 212, 212, 211, 235, 378, 192, 191, - 207, 366, 212, 366, 212, 391, 210, 191, 191, 248, - 206, 3, 4, 208, 90, 92, 191, 256, 76, 78, - 194, 193, 261, 212, 75, 193, 192, 408, 191, 211, - 194, 333, 333, 76, 196, 194, 192, 191, 211, 194, - 32, 33, 34, 370, 36, 37, 38, 39, 40, 12, - 211, 194, 212, 192, 194, 213, 383, 298, 385, 211, - 265, 388, 211, 299, 212, 302, 300, 127, 301, 396, - 134, 303, 77, 244, 224, 144, 403, 321, 224, 248, - 392, 379, 88, 178, 86, 328, -1, -1, -1, 328, - -1, -1, -1, -1, -1, 248, -1, -1, -1, -1, + 194, 268, 328, 366, 104, 105, 106, 312, 76, 312, + 33, 34, 35, 213, 76, 320, 283, 320, 292, 293, + 294, 295, 203, 204, 205, 214, 215, 199, 200, 194, + 82, 83, 88, 89, 213, 288, 289, 215, 305, 290, + 291, 296, 297, 195, 76, 224, 313, 76, 374, 113, + 76, 214, 194, 193, 213, 193, 235, 378, 214, 214, + 193, 366, 193, 366, 214, 391, 193, 212, 90, 248, + 209, 3, 4, 208, 92, 193, 210, 256, 76, 196, + 195, 78, 261, 75, 214, 194, 196, 408, 195, 213, + 193, 333, 333, 198, 76, 194, 193, 12, 196, 213, + 32, 33, 34, 370, 36, 37, 38, 39, 40, 196, + 196, 213, 196, 214, 194, 298, 383, 265, 385, 215, + 213, 388, 213, 299, 214, 300, 303, 127, 301, 396, + 224, 302, 134, 244, 77, 224, 403, 144, 392, 321, + 248, 88, 379, 178, 248, 86, -1, -1, 328, 328, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -1575,31 +1578,10 @@ static const yytype_int16 yycheck[] = -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, 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, -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, + 193, -1, -1, -1, -1, -1, 199, 200, 201, 202, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 212, 213, 214, 3, 4, 5, 6, 7, 8, + -1, 214, 215, 216, 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, @@ -1618,30 +1600,9 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -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, 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, -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, + -1, -1, -1, -1, 193, -1, -1, -1, -1, -1, + 199, 200, 201, 202, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 214, 215, 216, 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, @@ -1660,9 +1621,52 @@ static const yytype_int16 yycheck[] = -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, 3, + -1, -1, -1, -1, -1, -1, -1, -1, 193, -1, + -1, -1, -1, -1, 199, 200, 201, 202, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 214, + 215, 216, 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, -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, + -1, -1, 193, -1, -1, -1, -1, -1, 199, 200, + 201, 202, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 214, 215, 216, 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, -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, -1, -1, 193, -1, -1, -1, + -1, -1, 199, 200, 201, 202, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 214, 215, 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, @@ -1681,119 +1685,120 @@ static const yytype_int16 yycheck[] = 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, -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, -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, -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, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 193, + -1, -1, -1, -1, -1, 199, 200, 201, 202, 3, + 4, 5, 6, 7, 8, -1, -1, -1, -1, -1, + 214, 215, -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, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -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, + 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, + -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, -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, + 68, 69, 70, 71, 72, 73, 74, -1, 76, 193, + -1, -1, -1, -1, -1, 199, 200, 201, 202, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 216, -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, -1, -1, 216, -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, 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, 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, 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, 103, 104, 105, 106, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 193, -1, -1, + -1, -1, -1, 199, 200, 201, 202, 3, 4, 5, + 6, 7, 8, -1, -1, -1, -1, -1, 214, -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, - 120, -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, -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, -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, 5, 6, 7, 8, -1, 193, -1, -1, + -1, -1, -1, 199, 200, 201, 202, 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, -1, -1, -1, -1, 104, 105, 106, -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, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 154, -1, 156, -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, 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, 5, 6, 7, 8, -1, + 193, -1, -1, 196, -1, -1, 199, 200, 201, 202, + 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, -1, -1, 104, 105, 106, -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, -1, -1, - -1, -1, -1, -1, -1, -1, 154, -1, 156, -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, 5, 6, - 7, 8, -1, 191, -1, -1, 194, -1, -1, 197, - 198, 199, 200, 20, 21, 22, 23, 24, 25, 26, + 7, 8, -1, 193, -1, -1, 196, -1, -1, 199, + 200, 201, 202, 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, @@ -1809,133 +1814,133 @@ static const yytype_int16 yycheck[] = -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, 5, 6, 7, 8, -1, 193, -1, -1, 196, + -1, -1, 199, 200, 201, 202, 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, -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, + 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, 5, 6, 7, 8, -1, 193, + -1, -1, -1, -1, -1, 199, 200, 201, 202, 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, 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, -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, -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, 3, 4, 5, 6, 7, + 8, -1, 193, -1, -1, -1, -1, -1, 199, 200, + 201, 202, 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, + -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, -1, -1, -1, -1, -1, -1, - 154, -1, 156, 41, 42, 43, 44, 45, 46, 47, + 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, 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, + 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 154, -1, 156 + -1, -1, -1, -1, -1, -1, 154, -1, 156 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ 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, + 0, 109, 218, 220, 78, 0, 222, 113, 110, 219, + 223, 76, 3, 4, 5, 6, 7, 8, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 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, + 118, 119, 120, 154, 156, 221, 224, 254, 255, 256, + 257, 258, 263, 264, 265, 266, 269, 271, 272, 273, + 274, 275, 276, 277, 278, 302, 303, 112, 33, 34, + 37, 76, 215, 76, 269, 272, 277, 113, 113, 113, + 113, 193, 302, 214, 215, 289, 194, 198, 4, 33, + 34, 35, 260, 261, 270, 198, 214, 76, 272, 272, + 273, 195, 274, 76, 215, 273, 279, 280, 272, 274, + 76, 267, 268, 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, 211, 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, 78, 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 + 84, 85, 193, 199, 200, 201, 202, 214, 215, 216, + 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 252, 254, 255, 273, 284, + 285, 286, 287, 290, 291, 292, 295, 296, 297, 301, + 260, 259, 262, 273, 261, 76, 193, 195, 213, 196, + 236, 249, 253, 273, 113, 279, 76, 281, 282, 216, + 280, 214, 213, 194, 198, 214, 214, 285, 193, 193, + 214, 214, 252, 193, 252, 212, 193, 236, 236, 252, + 216, 290, 84, 85, 195, 197, 194, 194, 198, 74, + 250, 193, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 213, 251, 236, 203, 204, 205, 199, 200, + 82, 83, 86, 87, 206, 207, 88, 89, 208, 209, + 210, 90, 92, 91, 211, 198, 214, 216, 285, 76, + 259, 262, 195, 213, 196, 253, 250, 283, 196, 216, + 195, 198, 214, 78, 268, 75, 284, 291, 298, 252, + 214, 252, 212, 103, 252, 265, 294, 194, 216, 228, + 252, 76, 231, 250, 250, 236, 236, 236, 238, 238, + 239, 239, 240, 240, 240, 240, 241, 241, 242, 243, + 244, 245, 246, 247, 252, 250, 195, 196, 253, 283, + 213, 196, 253, 282, 193, 294, 299, 300, 194, 194, + 76, 194, 196, 212, 253, 213, 196, 283, 213, 196, + 252, 214, 194, 285, 293, 287, 213, 286, 288, 289, + 250, 196, 283, 213, 283, 194, 252, 288, 12, 283, + 283, 214, 285 }; #define yyerrok (yyerrstatus = 0) @@ -1950,9 +1955,18 @@ 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. */ + 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. */ #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) @@ -2009,7 +2023,7 @@ while (YYID (0)) we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT -# if YYLTYPE_IS_TRIVIAL +# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ @@ -2551,7 +2565,7 @@ YYLTYPE yylloc; YYLTYPE *yylsp; /* The locations where the error started and ended. */ - YYLTYPE yyerror_range[2]; + YYLTYPE yyerror_range[3]; YYSIZE_T yystacksize; @@ -2598,7 +2612,7 @@ YYLTYPE yylloc; yyvsp = yyvs; yylsp = yyls; -#if YYLTYPE_IS_TRIVIAL +#if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL /* Initialize the default location before parsing starts. */ yylloc.first_line = yylloc.last_line = 1; yylloc.first_column = yylloc.last_column = 1; @@ -2606,7 +2620,7 @@ YYLTYPE yylloc; /* User initialization code. */ -/* Line 1242 of yacc.c */ +/* Line 1251 of yacc.c */ #line 41 "glsl_parser.ypp" { yylloc.first_line = 1; @@ -2616,8 +2630,8 @@ YYLTYPE yylloc; yylloc.source = 0; } -/* Line 1242 of yacc.c */ -#line 2621 "glsl_parser.cpp" +/* Line 1251 of yacc.c */ +#line 2635 "glsl_parser.cpp" yylsp[0] = yylloc; goto yysetstate; @@ -2804,8 +2818,8 @@ yyreduce: { case 2: -/* Line 1455 of yacc.c */ -#line 211 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 212 "glsl_parser.ypp" { _mesa_glsl_initialize_types(state); ;} @@ -2813,8 +2827,8 @@ yyreduce: case 5: -/* Line 1455 of yacc.c */ -#line 220 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 221 "glsl_parser.ypp" { switch ((yyvsp[(2) - (3)].n)) { case 100: @@ -2835,8 +2849,8 @@ yyreduce: case 12: -/* Line 1455 of yacc.c */ -#line 252 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 253 "glsl_parser.ypp" { if (!_mesa_glsl_process_extension((yyvsp[(2) - (5)].identifier), & (yylsp[(2) - (5)]), (yyvsp[(4) - (5)].identifier), & (yylsp[(4) - (5)]), state)) { YYERROR; @@ -2846,8 +2860,8 @@ yyreduce: case 13: -/* Line 1455 of yacc.c */ -#line 261 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 262 "glsl_parser.ypp" { /* FINISHME: The NULL test is only required because 'precision' * FINISHME: statements are not yet supported. @@ -2859,8 +2873,8 @@ yyreduce: case 14: -/* Line 1455 of yacc.c */ -#line 269 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 270 "glsl_parser.ypp" { /* FINISHME: The NULL test is only required because 'precision' * FINISHME: statements are not yet supported. @@ -2872,8 +2886,8 @@ yyreduce: case 16: -/* Line 1455 of yacc.c */ -#line 284 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 285 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_identifier, NULL, NULL, NULL); @@ -2884,8 +2898,8 @@ yyreduce: case 17: -/* Line 1455 of yacc.c */ -#line 291 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 292 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_int_constant, NULL, NULL, NULL); @@ -2896,8 +2910,8 @@ yyreduce: case 18: -/* Line 1455 of yacc.c */ -#line 298 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 299 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_uint_constant, NULL, NULL, NULL); @@ -2908,8 +2922,8 @@ yyreduce: case 19: -/* Line 1455 of yacc.c */ -#line 305 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 306 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_float_constant, NULL, NULL, NULL); @@ -2920,8 +2934,8 @@ yyreduce: case 20: -/* Line 1455 of yacc.c */ -#line 312 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 313 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_bool_constant, NULL, NULL, NULL); @@ -2932,8 +2946,8 @@ yyreduce: case 21: -/* Line 1455 of yacc.c */ -#line 319 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 320 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(2) - (3)].expression); ;} @@ -2941,8 +2955,8 @@ yyreduce: case 23: -/* Line 1455 of yacc.c */ -#line 327 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 328 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_array_index, (yyvsp[(1) - (4)].expression), (yyvsp[(3) - (4)].expression), NULL); @@ -2952,8 +2966,8 @@ yyreduce: case 24: -/* Line 1455 of yacc.c */ -#line 333 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 334 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (1)].expression); ;} @@ -2961,8 +2975,8 @@ yyreduce: case 25: -/* Line 1455 of yacc.c */ -#line 337 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 338 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[(1) - (3)].expression), NULL, NULL); @@ -2973,8 +2987,8 @@ yyreduce: case 26: -/* Line 1455 of yacc.c */ -#line 344 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 345 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_post_inc, (yyvsp[(1) - (2)].expression), NULL, NULL); @@ -2984,8 +2998,8 @@ yyreduce: case 27: -/* Line 1455 of yacc.c */ -#line 350 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 351 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_post_dec, (yyvsp[(1) - (2)].expression), NULL, NULL); @@ -2995,8 +3009,8 @@ yyreduce: case 31: -/* Line 1455 of yacc.c */ -#line 368 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 369 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression), NULL); @@ -3006,8 +3020,8 @@ yyreduce: case 36: -/* Line 1455 of yacc.c */ -#line 387 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 388 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (2)].expression); (yyval.expression)->set_location(yylloc); @@ -3017,8 +3031,8 @@ yyreduce: case 37: -/* Line 1455 of yacc.c */ -#line 393 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 394 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (3)].expression); (yyval.expression)->set_location(yylloc); @@ -3028,8 +3042,8 @@ yyreduce: case 39: -/* Line 1455 of yacc.c */ -#line 409 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 410 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_function_expression((yyvsp[(1) - (1)].type_specifier)); @@ -3039,8 +3053,8 @@ yyreduce: case 40: -/* Line 1455 of yacc.c */ -#line 415 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 416 "glsl_parser.ypp" { void *ctx = state; ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (1)].identifier)); @@ -3051,8 +3065,8 @@ yyreduce: case 41: -/* Line 1455 of yacc.c */ -#line 422 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 423 "glsl_parser.ypp" { void *ctx = state; ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (1)].identifier)); @@ -3063,8 +3077,8 @@ yyreduce: case 43: -/* Line 1455 of yacc.c */ -#line 434 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 435 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_pre_inc, (yyvsp[(2) - (2)].expression), NULL, NULL); @@ -3074,8 +3088,8 @@ yyreduce: case 44: -/* Line 1455 of yacc.c */ -#line 440 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 441 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_pre_dec, (yyvsp[(2) - (2)].expression), NULL, NULL); @@ -3085,8 +3099,8 @@ yyreduce: case 45: -/* Line 1455 of yacc.c */ -#line 446 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 447 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression((yyvsp[(1) - (2)].n), (yyvsp[(2) - (2)].expression), NULL, NULL); @@ -3096,36 +3110,36 @@ yyreduce: case 46: -/* Line 1455 of yacc.c */ -#line 455 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 456 "glsl_parser.ypp" { (yyval.n) = ast_plus; ;} break; case 47: -/* Line 1455 of yacc.c */ -#line 456 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 457 "glsl_parser.ypp" { (yyval.n) = ast_neg; ;} break; case 48: -/* Line 1455 of yacc.c */ -#line 457 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 458 "glsl_parser.ypp" { (yyval.n) = ast_logic_not; ;} break; case 49: -/* Line 1455 of yacc.c */ -#line 458 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 459 "glsl_parser.ypp" { (yyval.n) = ast_bit_not; ;} break; case 51: -/* Line 1455 of yacc.c */ -#line 464 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 465 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_mul, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3135,8 +3149,8 @@ yyreduce: case 52: -/* Line 1455 of yacc.c */ -#line 470 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 471 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_div, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3146,8 +3160,8 @@ yyreduce: case 53: -/* Line 1455 of yacc.c */ -#line 476 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 477 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_mod, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3157,8 +3171,8 @@ yyreduce: case 55: -/* Line 1455 of yacc.c */ -#line 486 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 487 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_add, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3168,8 +3182,8 @@ yyreduce: case 56: -/* Line 1455 of yacc.c */ -#line 492 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 493 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_sub, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3179,8 +3193,8 @@ yyreduce: case 58: -/* Line 1455 of yacc.c */ -#line 502 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 503 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_lshift, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3190,8 +3204,8 @@ yyreduce: case 59: -/* Line 1455 of yacc.c */ -#line 508 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 509 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_rshift, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3201,8 +3215,8 @@ yyreduce: case 61: -/* Line 1455 of yacc.c */ -#line 518 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 519 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_less, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3212,8 +3226,8 @@ yyreduce: case 62: -/* Line 1455 of yacc.c */ -#line 524 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 525 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_greater, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3223,8 +3237,8 @@ yyreduce: case 63: -/* Line 1455 of yacc.c */ -#line 530 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 531 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_lequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3234,8 +3248,8 @@ yyreduce: case 64: -/* Line 1455 of yacc.c */ -#line 536 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 537 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_gequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3245,8 +3259,8 @@ yyreduce: case 66: -/* Line 1455 of yacc.c */ -#line 546 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 547 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_equal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3256,8 +3270,8 @@ yyreduce: case 67: -/* Line 1455 of yacc.c */ -#line 552 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 553 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_nequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3267,8 +3281,8 @@ yyreduce: case 69: -/* Line 1455 of yacc.c */ -#line 562 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 563 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_and, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3278,8 +3292,8 @@ yyreduce: case 71: -/* Line 1455 of yacc.c */ -#line 572 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 573 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_xor, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3289,8 +3303,8 @@ yyreduce: case 73: -/* Line 1455 of yacc.c */ -#line 582 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 583 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3300,8 +3314,8 @@ yyreduce: case 75: -/* Line 1455 of yacc.c */ -#line 592 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 593 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_and, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3311,8 +3325,8 @@ yyreduce: case 77: -/* Line 1455 of yacc.c */ -#line 602 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 603 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_xor, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3322,8 +3336,8 @@ yyreduce: case 79: -/* Line 1455 of yacc.c */ -#line 612 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 613 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3333,8 +3347,8 @@ yyreduce: case 81: -/* Line 1455 of yacc.c */ -#line 622 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 623 "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)); @@ -3344,8 +3358,8 @@ yyreduce: case 83: -/* Line 1455 of yacc.c */ -#line 632 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 633 "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); @@ -3355,85 +3369,85 @@ yyreduce: case 84: -/* Line 1455 of yacc.c */ -#line 640 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 641 "glsl_parser.ypp" { (yyval.n) = ast_assign; ;} break; case 85: -/* Line 1455 of yacc.c */ -#line 641 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 642 "glsl_parser.ypp" { (yyval.n) = ast_mul_assign; ;} break; case 86: -/* Line 1455 of yacc.c */ -#line 642 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 643 "glsl_parser.ypp" { (yyval.n) = ast_div_assign; ;} break; case 87: -/* Line 1455 of yacc.c */ -#line 643 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 644 "glsl_parser.ypp" { (yyval.n) = ast_mod_assign; ;} break; case 88: -/* Line 1455 of yacc.c */ -#line 644 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 645 "glsl_parser.ypp" { (yyval.n) = ast_add_assign; ;} break; case 89: -/* Line 1455 of yacc.c */ -#line 645 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 646 "glsl_parser.ypp" { (yyval.n) = ast_sub_assign; ;} break; case 90: -/* Line 1455 of yacc.c */ -#line 646 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 647 "glsl_parser.ypp" { (yyval.n) = ast_ls_assign; ;} break; case 91: -/* Line 1455 of yacc.c */ -#line 647 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 648 "glsl_parser.ypp" { (yyval.n) = ast_rs_assign; ;} break; case 92: -/* Line 1455 of yacc.c */ -#line 648 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 649 "glsl_parser.ypp" { (yyval.n) = ast_and_assign; ;} break; case 93: -/* Line 1455 of yacc.c */ -#line 649 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 650 "glsl_parser.ypp" { (yyval.n) = ast_xor_assign; ;} break; case 94: -/* Line 1455 of yacc.c */ -#line 650 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 651 "glsl_parser.ypp" { (yyval.n) = ast_or_assign; ;} break; case 95: -/* Line 1455 of yacc.c */ -#line 655 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 656 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (1)].expression); ;} @@ -3441,8 +3455,8 @@ yyreduce: case 96: -/* Line 1455 of yacc.c */ -#line 659 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 660 "glsl_parser.ypp" { void *ctx = state; if ((yyvsp[(1) - (3)].expression)->oper != ast_sequence) { @@ -3459,8 +3473,8 @@ yyreduce: case 98: -/* Line 1455 of yacc.c */ -#line 679 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 680 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (2)].function); ;} @@ -3468,8 +3482,8 @@ yyreduce: case 99: -/* Line 1455 of yacc.c */ -#line 683 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 684 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (2)].declarator_list); ;} @@ -3477,8 +3491,8 @@ yyreduce: case 100: -/* Line 1455 of yacc.c */ -#line 687 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 688 "glsl_parser.ypp" { if (((yyvsp[(3) - (4)].type_specifier)->type_specifier != ast_float) && ((yyvsp[(3) - (4)].type_specifier)->type_specifier != ast_int)) { @@ -3493,8 +3507,8 @@ yyreduce: case 104: -/* Line 1455 of yacc.c */ -#line 710 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 711 "glsl_parser.ypp" { (yyval.function) = (yyvsp[(1) - (2)].function); (yyval.function)->parameters.push_tail(& (yyvsp[(2) - (2)].parameter_declarator)->link); @@ -3503,8 +3517,8 @@ yyreduce: case 105: -/* Line 1455 of yacc.c */ -#line 715 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 716 "glsl_parser.ypp" { (yyval.function) = (yyvsp[(1) - (3)].function); (yyval.function)->parameters.push_tail(& (yyvsp[(3) - (3)].parameter_declarator)->link); @@ -3513,8 +3527,8 @@ yyreduce: case 106: -/* Line 1455 of yacc.c */ -#line 723 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 724 "glsl_parser.ypp" { void *ctx = state; (yyval.function) = new(ctx) ast_function(); @@ -3526,8 +3540,8 @@ yyreduce: case 107: -/* Line 1455 of yacc.c */ -#line 734 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 735 "glsl_parser.ypp" { void *ctx = state; (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); @@ -3541,8 +3555,8 @@ yyreduce: case 108: -/* Line 1455 of yacc.c */ -#line 744 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 745 "glsl_parser.ypp" { void *ctx = state; (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); @@ -3558,8 +3572,8 @@ yyreduce: case 109: -/* Line 1455 of yacc.c */ -#line 759 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 760 "glsl_parser.ypp" { (yyvsp[(1) - (3)].type_qualifier).flags.i |= (yyvsp[(2) - (3)].type_qualifier).flags.i; @@ -3570,8 +3584,8 @@ yyreduce: case 110: -/* Line 1455 of yacc.c */ -#line 766 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 767 "glsl_parser.ypp" { (yyval.parameter_declarator) = (yyvsp[(2) - (2)].parameter_declarator); (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (2)].type_qualifier); @@ -3580,8 +3594,8 @@ yyreduce: case 111: -/* Line 1455 of yacc.c */ -#line 771 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 772 "glsl_parser.ypp" { void *ctx = state; (yyvsp[(1) - (3)].type_qualifier).flags.i |= (yyvsp[(2) - (3)].type_qualifier).flags.i; @@ -3596,8 +3610,8 @@ yyreduce: case 112: -/* Line 1455 of yacc.c */ -#line 782 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 783 "glsl_parser.ypp" { void *ctx = state; (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); @@ -3610,8 +3624,8 @@ yyreduce: case 113: -/* Line 1455 of yacc.c */ -#line 794 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 795 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); ;} @@ -3619,8 +3633,8 @@ yyreduce: case 114: -/* Line 1455 of yacc.c */ -#line 798 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 799 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.in = 1; @@ -3629,8 +3643,8 @@ yyreduce: case 115: -/* Line 1455 of yacc.c */ -#line 803 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 804 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.out = 1; @@ -3639,8 +3653,8 @@ yyreduce: case 116: -/* Line 1455 of yacc.c */ -#line 808 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 809 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.in = 1; @@ -3650,8 +3664,8 @@ yyreduce: case 119: -/* Line 1455 of yacc.c */ -#line 822 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 823 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (3)].identifier), false, NULL, NULL); @@ -3664,8 +3678,8 @@ yyreduce: case 120: -/* Line 1455 of yacc.c */ -#line 831 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 832 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (5)].identifier), true, NULL, NULL); @@ -3678,8 +3692,8 @@ yyreduce: case 121: -/* Line 1455 of yacc.c */ -#line 840 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 841 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (6)].identifier), true, (yyvsp[(5) - (6)].expression), NULL); @@ -3692,8 +3706,8 @@ yyreduce: case 122: -/* Line 1455 of yacc.c */ -#line 849 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 850 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (7)].identifier), true, NULL, (yyvsp[(7) - (7)].expression)); @@ -3706,8 +3720,8 @@ yyreduce: case 123: -/* Line 1455 of yacc.c */ -#line 858 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 859 "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)); @@ -3720,8 +3734,8 @@ yyreduce: case 124: -/* Line 1455 of yacc.c */ -#line 867 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 868 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (5)].identifier), false, NULL, (yyvsp[(5) - (5)].expression)); @@ -3734,8 +3748,8 @@ yyreduce: case 125: -/* Line 1455 of yacc.c */ -#line 880 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 881 "glsl_parser.ypp" { void *ctx = state; if ((yyvsp[(1) - (1)].fully_specified_type)->specifier->type_specifier != ast_struct) { @@ -3750,8 +3764,8 @@ yyreduce: case 126: -/* Line 1455 of yacc.c */ -#line 891 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 892 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (2)].identifier), false, NULL, NULL); @@ -3764,8 +3778,8 @@ yyreduce: case 127: -/* Line 1455 of yacc.c */ -#line 900 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 901 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), true, NULL, NULL); @@ -3778,8 +3792,8 @@ yyreduce: case 128: -/* Line 1455 of yacc.c */ -#line 909 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 910 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (5)].identifier), true, (yyvsp[(4) - (5)].expression), NULL); @@ -3792,8 +3806,8 @@ yyreduce: case 129: -/* Line 1455 of yacc.c */ -#line 918 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 919 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (6)].identifier), true, NULL, (yyvsp[(6) - (6)].expression)); @@ -3806,8 +3820,8 @@ yyreduce: case 130: -/* Line 1455 of yacc.c */ -#line 927 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 928 "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)); @@ -3820,8 +3834,8 @@ yyreduce: case 131: -/* Line 1455 of yacc.c */ -#line 936 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 937 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression)); @@ -3834,8 +3848,8 @@ yyreduce: case 132: -/* Line 1455 of yacc.c */ -#line 945 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 946 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (2)].identifier), false, NULL, NULL); @@ -3850,8 +3864,8 @@ yyreduce: case 133: -/* Line 1455 of yacc.c */ -#line 959 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 960 "glsl_parser.ypp" { void *ctx = state; (yyval.fully_specified_type) = new(ctx) ast_fully_specified_type(); @@ -3862,8 +3876,8 @@ yyreduce: case 134: -/* Line 1455 of yacc.c */ -#line 966 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 967 "glsl_parser.ypp" { void *ctx = state; (yyval.fully_specified_type) = new(ctx) ast_fully_specified_type(); @@ -3875,8 +3889,8 @@ yyreduce: case 135: -/* Line 1455 of yacc.c */ -#line 977 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 978 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(3) - (4)].type_qualifier); ;} @@ -3884,8 +3898,8 @@ yyreduce: case 137: -/* Line 1455 of yacc.c */ -#line 985 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 986 "glsl_parser.ypp" { if (((yyvsp[(1) - (3)].type_qualifier).flags.i & (yyvsp[(3) - (3)].type_qualifier).flags.i) != 0) { _mesa_glsl_error(& (yylsp[(3) - (3)]), state, @@ -3905,8 +3919,8 @@ yyreduce: case 138: -/* Line 1455 of yacc.c */ -#line 1004 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1005 "glsl_parser.ypp" { bool got_one = false; @@ -3939,8 +3953,8 @@ yyreduce: case 139: -/* Line 1455 of yacc.c */ -#line 1033 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1034 "glsl_parser.ypp" { bool got_one = false; @@ -3982,8 +3996,8 @@ yyreduce: case 140: -/* Line 1455 of yacc.c */ -#line 1074 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1075 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.smooth = 1; @@ -3992,8 +4006,8 @@ yyreduce: case 141: -/* Line 1455 of yacc.c */ -#line 1079 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1080 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.flat = 1; @@ -4002,8 +4016,8 @@ yyreduce: case 142: -/* Line 1455 of yacc.c */ -#line 1084 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1085 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.noperspective = 1; @@ -4012,8 +4026,8 @@ yyreduce: case 143: -/* Line 1455 of yacc.c */ -#line 1092 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1093 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.constant = 1; @@ -4022,8 +4036,8 @@ yyreduce: case 146: -/* Line 1455 of yacc.c */ -#line 1102 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1103 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier); (yyval.type_qualifier).flags.i |= (yyvsp[(2) - (2)].type_qualifier).flags.i; @@ -4032,8 +4046,8 @@ yyreduce: case 148: -/* Line 1455 of yacc.c */ -#line 1108 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1109 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier); (yyval.type_qualifier).flags.i |= (yyvsp[(2) - (2)].type_qualifier).flags.i; @@ -4042,8 +4056,8 @@ yyreduce: case 149: -/* Line 1455 of yacc.c */ -#line 1113 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1114 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(2) - (2)].type_qualifier); (yyval.type_qualifier).flags.q.invariant = 1; @@ -4052,8 +4066,8 @@ yyreduce: case 150: -/* Line 1455 of yacc.c */ -#line 1118 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1119 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(2) - (3)].type_qualifier); (yyval.type_qualifier).flags.i |= (yyvsp[(3) - (3)].type_qualifier).flags.i; @@ -4063,8 +4077,8 @@ yyreduce: case 151: -/* Line 1455 of yacc.c */ -#line 1124 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1125 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.invariant = 1; @@ -4073,8 +4087,8 @@ yyreduce: case 152: -/* Line 1455 of yacc.c */ -#line 1132 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1133 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.constant = 1; @@ -4083,8 +4097,8 @@ yyreduce: case 153: -/* Line 1455 of yacc.c */ -#line 1137 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1138 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.attribute = 1; @@ -4093,8 +4107,8 @@ yyreduce: case 154: -/* Line 1455 of yacc.c */ -#line 1142 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1143 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.varying = 1; @@ -4103,8 +4117,8 @@ yyreduce: case 155: -/* Line 1455 of yacc.c */ -#line 1147 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1148 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.centroid = 1; @@ -4114,8 +4128,8 @@ yyreduce: case 156: -/* Line 1455 of yacc.c */ -#line 1153 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1154 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.in = 1; @@ -4124,8 +4138,8 @@ yyreduce: case 157: -/* Line 1455 of yacc.c */ -#line 1158 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1159 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.out = 1; @@ -4134,8 +4148,8 @@ yyreduce: case 158: -/* Line 1455 of yacc.c */ -#line 1163 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1164 "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; @@ -4144,8 +4158,8 @@ yyreduce: case 159: -/* Line 1455 of yacc.c */ -#line 1168 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1169 "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; @@ -4154,8 +4168,8 @@ yyreduce: case 160: -/* Line 1455 of yacc.c */ -#line 1173 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1174 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.uniform = 1; @@ -4164,8 +4178,8 @@ yyreduce: case 162: -/* Line 1455 of yacc.c */ -#line 1182 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1183 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(2) - (2)].type_specifier); (yyval.type_specifier)->precision = (yyvsp[(1) - (2)].n); @@ -4174,8 +4188,8 @@ yyreduce: case 164: -/* Line 1455 of yacc.c */ -#line 1191 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1192 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(1) - (3)].type_specifier); (yyval.type_specifier)->is_array = true; @@ -4185,8 +4199,8 @@ yyreduce: case 165: -/* Line 1455 of yacc.c */ -#line 1197 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1198 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(1) - (4)].type_specifier); (yyval.type_specifier)->is_array = true; @@ -4196,8 +4210,8 @@ yyreduce: case 166: -/* Line 1455 of yacc.c */ -#line 1206 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1207 "glsl_parser.ypp" { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].n)); @@ -4207,8 +4221,8 @@ yyreduce: case 167: -/* Line 1455 of yacc.c */ -#line 1212 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1213 "glsl_parser.ypp" { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].struct_specifier)); @@ -4218,8 +4232,8 @@ yyreduce: case 168: -/* Line 1455 of yacc.c */ -#line 1218 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1219 "glsl_parser.ypp" { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].identifier)); @@ -4229,365 +4243,365 @@ yyreduce: case 169: -/* Line 1455 of yacc.c */ -#line 1226 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1227 "glsl_parser.ypp" { (yyval.n) = ast_void; ;} break; case 170: -/* Line 1455 of yacc.c */ -#line 1227 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1228 "glsl_parser.ypp" { (yyval.n) = ast_float; ;} break; case 171: -/* Line 1455 of yacc.c */ -#line 1228 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1229 "glsl_parser.ypp" { (yyval.n) = ast_int; ;} break; case 172: -/* Line 1455 of yacc.c */ -#line 1229 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1230 "glsl_parser.ypp" { (yyval.n) = ast_uint; ;} break; case 173: -/* Line 1455 of yacc.c */ -#line 1230 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1231 "glsl_parser.ypp" { (yyval.n) = ast_bool; ;} break; case 174: -/* Line 1455 of yacc.c */ -#line 1231 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1232 "glsl_parser.ypp" { (yyval.n) = ast_vec2; ;} break; case 175: -/* Line 1455 of yacc.c */ -#line 1232 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1233 "glsl_parser.ypp" { (yyval.n) = ast_vec3; ;} break; case 176: -/* Line 1455 of yacc.c */ -#line 1233 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1234 "glsl_parser.ypp" { (yyval.n) = ast_vec4; ;} break; case 177: -/* Line 1455 of yacc.c */ -#line 1234 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1235 "glsl_parser.ypp" { (yyval.n) = ast_bvec2; ;} break; case 178: -/* Line 1455 of yacc.c */ -#line 1235 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1236 "glsl_parser.ypp" { (yyval.n) = ast_bvec3; ;} break; case 179: -/* Line 1455 of yacc.c */ -#line 1236 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1237 "glsl_parser.ypp" { (yyval.n) = ast_bvec4; ;} break; case 180: -/* Line 1455 of yacc.c */ -#line 1237 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1238 "glsl_parser.ypp" { (yyval.n) = ast_ivec2; ;} break; case 181: -/* Line 1455 of yacc.c */ -#line 1238 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1239 "glsl_parser.ypp" { (yyval.n) = ast_ivec3; ;} break; case 182: -/* Line 1455 of yacc.c */ -#line 1239 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1240 "glsl_parser.ypp" { (yyval.n) = ast_ivec4; ;} break; case 183: -/* Line 1455 of yacc.c */ -#line 1240 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1241 "glsl_parser.ypp" { (yyval.n) = ast_uvec2; ;} break; case 184: -/* Line 1455 of yacc.c */ -#line 1241 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1242 "glsl_parser.ypp" { (yyval.n) = ast_uvec3; ;} break; case 185: -/* Line 1455 of yacc.c */ -#line 1242 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1243 "glsl_parser.ypp" { (yyval.n) = ast_uvec4; ;} break; case 186: -/* Line 1455 of yacc.c */ -#line 1243 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1244 "glsl_parser.ypp" { (yyval.n) = ast_mat2; ;} break; case 187: -/* Line 1455 of yacc.c */ -#line 1244 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1245 "glsl_parser.ypp" { (yyval.n) = ast_mat2x3; ;} break; case 188: -/* Line 1455 of yacc.c */ -#line 1245 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1246 "glsl_parser.ypp" { (yyval.n) = ast_mat2x4; ;} break; case 189: -/* Line 1455 of yacc.c */ -#line 1246 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1247 "glsl_parser.ypp" { (yyval.n) = ast_mat3x2; ;} break; case 190: -/* Line 1455 of yacc.c */ -#line 1247 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1248 "glsl_parser.ypp" { (yyval.n) = ast_mat3; ;} break; case 191: -/* Line 1455 of yacc.c */ -#line 1248 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1249 "glsl_parser.ypp" { (yyval.n) = ast_mat3x4; ;} break; case 192: -/* Line 1455 of yacc.c */ -#line 1249 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1250 "glsl_parser.ypp" { (yyval.n) = ast_mat4x2; ;} break; case 193: -/* Line 1455 of yacc.c */ -#line 1250 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1251 "glsl_parser.ypp" { (yyval.n) = ast_mat4x3; ;} break; case 194: -/* Line 1455 of yacc.c */ -#line 1251 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1252 "glsl_parser.ypp" { (yyval.n) = ast_mat4; ;} break; case 195: -/* Line 1455 of yacc.c */ -#line 1252 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1253 "glsl_parser.ypp" { (yyval.n) = ast_sampler1d; ;} break; case 196: -/* Line 1455 of yacc.c */ -#line 1253 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1254 "glsl_parser.ypp" { (yyval.n) = ast_sampler2d; ;} break; case 197: -/* Line 1455 of yacc.c */ -#line 1254 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1255 "glsl_parser.ypp" { (yyval.n) = ast_sampler2drect; ;} break; case 198: -/* Line 1455 of yacc.c */ -#line 1255 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1256 "glsl_parser.ypp" { (yyval.n) = ast_sampler3d; ;} break; case 199: -/* Line 1455 of yacc.c */ -#line 1256 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1257 "glsl_parser.ypp" { (yyval.n) = ast_samplercube; ;} break; case 200: -/* Line 1455 of yacc.c */ -#line 1257 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1258 "glsl_parser.ypp" { (yyval.n) = ast_sampler1dshadow; ;} break; case 201: -/* Line 1455 of yacc.c */ -#line 1258 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1259 "glsl_parser.ypp" { (yyval.n) = ast_sampler2dshadow; ;} break; case 202: -/* Line 1455 of yacc.c */ -#line 1259 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1260 "glsl_parser.ypp" { (yyval.n) = ast_sampler2drectshadow; ;} break; case 203: -/* Line 1455 of yacc.c */ -#line 1260 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1261 "glsl_parser.ypp" { (yyval.n) = ast_samplercubeshadow; ;} break; case 204: -/* Line 1455 of yacc.c */ -#line 1261 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1262 "glsl_parser.ypp" { (yyval.n) = ast_sampler1darray; ;} break; case 205: -/* Line 1455 of yacc.c */ -#line 1262 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1263 "glsl_parser.ypp" { (yyval.n) = ast_sampler2darray; ;} break; case 206: -/* Line 1455 of yacc.c */ -#line 1263 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1264 "glsl_parser.ypp" { (yyval.n) = ast_sampler1darrayshadow; ;} break; case 207: -/* Line 1455 of yacc.c */ -#line 1264 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1265 "glsl_parser.ypp" { (yyval.n) = ast_sampler2darrayshadow; ;} break; case 208: -/* Line 1455 of yacc.c */ -#line 1265 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1266 "glsl_parser.ypp" { (yyval.n) = ast_isampler1d; ;} break; case 209: -/* Line 1455 of yacc.c */ -#line 1266 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1267 "glsl_parser.ypp" { (yyval.n) = ast_isampler2d; ;} break; case 210: -/* Line 1455 of yacc.c */ -#line 1267 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1268 "glsl_parser.ypp" { (yyval.n) = ast_isampler3d; ;} break; case 211: -/* Line 1455 of yacc.c */ -#line 1268 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1269 "glsl_parser.ypp" { (yyval.n) = ast_isamplercube; ;} break; case 212: -/* Line 1455 of yacc.c */ -#line 1269 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1270 "glsl_parser.ypp" { (yyval.n) = ast_isampler1darray; ;} break; case 213: -/* Line 1455 of yacc.c */ -#line 1270 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1271 "glsl_parser.ypp" { (yyval.n) = ast_isampler2darray; ;} break; case 214: -/* Line 1455 of yacc.c */ -#line 1271 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1272 "glsl_parser.ypp" { (yyval.n) = ast_usampler1d; ;} break; case 215: -/* Line 1455 of yacc.c */ -#line 1272 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1273 "glsl_parser.ypp" { (yyval.n) = ast_usampler2d; ;} break; case 216: -/* Line 1455 of yacc.c */ -#line 1273 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1274 "glsl_parser.ypp" { (yyval.n) = ast_usampler3d; ;} break; case 217: -/* Line 1455 of yacc.c */ -#line 1274 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1275 "glsl_parser.ypp" { (yyval.n) = ast_usamplercube; ;} break; case 218: -/* Line 1455 of yacc.c */ -#line 1275 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1276 "glsl_parser.ypp" { (yyval.n) = ast_usampler1darray; ;} break; case 219: -/* Line 1455 of yacc.c */ -#line 1276 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1277 "glsl_parser.ypp" { (yyval.n) = ast_usampler2darray; ;} break; case 220: -/* Line 1455 of yacc.c */ -#line 1280 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1281 "glsl_parser.ypp" { if (!state->es_shader && state->language_version < 130) _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4603,8 +4617,8 @@ yyreduce: case 221: -/* Line 1455 of yacc.c */ -#line 1291 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1292 "glsl_parser.ypp" { if (!state->es_shader && state->language_version < 130) _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4620,8 +4634,8 @@ yyreduce: case 222: -/* Line 1455 of yacc.c */ -#line 1302 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1303 "glsl_parser.ypp" { if (!state->es_shader && state->language_version < 130) _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4637,8 +4651,8 @@ yyreduce: case 223: -/* Line 1455 of yacc.c */ -#line 1317 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1318 "glsl_parser.ypp" { void *ctx = state; (yyval.struct_specifier) = new(ctx) ast_struct_specifier((yyvsp[(2) - (5)].identifier), (yyvsp[(4) - (5)].node)); @@ -4648,8 +4662,8 @@ yyreduce: case 224: -/* Line 1455 of yacc.c */ -#line 1323 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1324 "glsl_parser.ypp" { void *ctx = state; (yyval.struct_specifier) = new(ctx) ast_struct_specifier(NULL, (yyvsp[(3) - (4)].node)); @@ -4659,8 +4673,8 @@ yyreduce: case 225: -/* Line 1455 of yacc.c */ -#line 1332 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1333 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].declarator_list); (yyvsp[(1) - (1)].declarator_list)->link.self_link(); @@ -4669,8 +4683,8 @@ yyreduce: case 226: -/* Line 1455 of yacc.c */ -#line 1337 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1338 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (2)].node); (yyval.node)->link.insert_before(& (yyvsp[(2) - (2)].declarator_list)->link); @@ -4679,8 +4693,8 @@ yyreduce: case 227: -/* Line 1455 of yacc.c */ -#line 1345 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1346 "glsl_parser.ypp" { void *ctx = state; ast_fully_specified_type *type = new(ctx) ast_fully_specified_type(); @@ -4696,8 +4710,8 @@ yyreduce: case 228: -/* Line 1455 of yacc.c */ -#line 1360 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1361 "glsl_parser.ypp" { (yyval.declaration) = (yyvsp[(1) - (1)].declaration); (yyvsp[(1) - (1)].declaration)->link.self_link(); @@ -4706,8 +4720,8 @@ yyreduce: case 229: -/* Line 1455 of yacc.c */ -#line 1365 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1366 "glsl_parser.ypp" { (yyval.declaration) = (yyvsp[(1) - (3)].declaration); (yyval.declaration)->link.insert_before(& (yyvsp[(3) - (3)].declaration)->link); @@ -4716,8 +4730,8 @@ yyreduce: case 230: -/* Line 1455 of yacc.c */ -#line 1373 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1374 "glsl_parser.ypp" { void *ctx = state; (yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (1)].identifier), false, NULL, NULL); @@ -4727,8 +4741,8 @@ yyreduce: case 231: -/* Line 1455 of yacc.c */ -#line 1379 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1380 "glsl_parser.ypp" { void *ctx = state; (yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (4)].identifier), true, (yyvsp[(3) - (4)].expression), NULL); @@ -4738,29 +4752,29 @@ yyreduce: case 234: -/* Line 1455 of yacc.c */ -#line 1397 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1398 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); ;} break; case 239: -/* Line 1455 of yacc.c */ -#line 1405 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1406 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; case 240: -/* Line 1455 of yacc.c */ -#line 1406 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1407 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; case 243: -/* Line 1455 of yacc.c */ -#line 1413 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1414 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(true, NULL); @@ -4770,8 +4784,8 @@ yyreduce: case 244: -/* Line 1455 of yacc.c */ -#line 1419 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1420 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(true, (yyvsp[(2) - (3)].node)); @@ -4781,15 +4795,15 @@ yyreduce: case 245: -/* Line 1455 of yacc.c */ -#line 1427 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1428 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); ;} break; case 247: -/* Line 1455 of yacc.c */ -#line 1433 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1434 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(false, NULL); @@ -4799,8 +4813,8 @@ yyreduce: case 248: -/* Line 1455 of yacc.c */ -#line 1439 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1440 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(false, (yyvsp[(2) - (3)].node)); @@ -4810,8 +4824,8 @@ yyreduce: case 249: -/* Line 1455 of yacc.c */ -#line 1448 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1449 "glsl_parser.ypp" { if ((yyvsp[(1) - (1)].node) == NULL) { _mesa_glsl_error(& (yylsp[(1) - (1)]), state, "<nil> statement\n"); @@ -4825,8 +4839,8 @@ yyreduce: case 250: -/* Line 1455 of yacc.c */ -#line 1458 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1459 "glsl_parser.ypp" { if ((yyvsp[(2) - (2)].node) == NULL) { _mesa_glsl_error(& (yylsp[(2) - (2)]), state, "<nil> statement\n"); @@ -4839,8 +4853,8 @@ yyreduce: case 251: -/* Line 1455 of yacc.c */ -#line 1470 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1471 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_expression_statement(NULL); @@ -4850,8 +4864,8 @@ yyreduce: case 252: -/* Line 1455 of yacc.c */ -#line 1476 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1477 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_expression_statement((yyvsp[(1) - (2)].expression)); @@ -4861,8 +4875,8 @@ yyreduce: case 253: -/* Line 1455 of yacc.c */ -#line 1485 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1486 "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); @@ -4872,8 +4886,8 @@ yyreduce: case 254: -/* Line 1455 of yacc.c */ -#line 1494 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1495 "glsl_parser.ypp" { (yyval.selection_rest_statement).then_statement = (yyvsp[(1) - (3)].node); (yyval.selection_rest_statement).else_statement = (yyvsp[(3) - (3)].node); @@ -4882,8 +4896,8 @@ yyreduce: case 255: -/* Line 1455 of yacc.c */ -#line 1499 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1500 "glsl_parser.ypp" { (yyval.selection_rest_statement).then_statement = (yyvsp[(1) - (1)].node); (yyval.selection_rest_statement).else_statement = NULL; @@ -4892,8 +4906,8 @@ yyreduce: case 256: -/* Line 1455 of yacc.c */ -#line 1507 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1508 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].expression); ;} @@ -4901,8 +4915,8 @@ yyreduce: case 257: -/* Line 1455 of yacc.c */ -#line 1511 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1512 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression)); @@ -4917,8 +4931,8 @@ yyreduce: case 261: -/* Line 1455 of yacc.c */ -#line 1534 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1535 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_while, @@ -4929,8 +4943,8 @@ yyreduce: case 262: -/* Line 1455 of yacc.c */ -#line 1541 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1542 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_do_while, @@ -4941,8 +4955,8 @@ yyreduce: case 263: -/* Line 1455 of yacc.c */ -#line 1548 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1549 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_for, @@ -4953,8 +4967,8 @@ yyreduce: case 267: -/* Line 1455 of yacc.c */ -#line 1564 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1565 "glsl_parser.ypp" { (yyval.node) = NULL; ;} @@ -4962,8 +4976,8 @@ yyreduce: case 268: -/* Line 1455 of yacc.c */ -#line 1571 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1572 "glsl_parser.ypp" { (yyval.for_rest_statement).cond = (yyvsp[(1) - (2)].node); (yyval.for_rest_statement).rest = NULL; @@ -4972,8 +4986,8 @@ yyreduce: case 269: -/* Line 1455 of yacc.c */ -#line 1576 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1577 "glsl_parser.ypp" { (yyval.for_rest_statement).cond = (yyvsp[(1) - (3)].node); (yyval.for_rest_statement).rest = (yyvsp[(3) - (3)].expression); @@ -4982,8 +4996,8 @@ yyreduce: case 270: -/* Line 1455 of yacc.c */ -#line 1585 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1586 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_continue, NULL); @@ -4993,8 +5007,8 @@ yyreduce: case 271: -/* Line 1455 of yacc.c */ -#line 1591 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1592 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_break, NULL); @@ -5004,8 +5018,8 @@ yyreduce: case 272: -/* Line 1455 of yacc.c */ -#line 1597 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1598 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, NULL); @@ -5015,8 +5029,8 @@ yyreduce: case 273: -/* Line 1455 of yacc.c */ -#line 1603 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1604 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, (yyvsp[(2) - (3)].expression)); @@ -5026,8 +5040,8 @@ yyreduce: case 274: -/* Line 1455 of yacc.c */ -#line 1609 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1610 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_discard, NULL); @@ -5037,29 +5051,29 @@ yyreduce: case 275: -/* Line 1455 of yacc.c */ -#line 1617 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1618 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (1)].function_definition); ;} break; case 276: -/* Line 1455 of yacc.c */ -#line 1618 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1619 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 277: -/* Line 1455 of yacc.c */ -#line 1619 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1620 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; case 278: -/* Line 1455 of yacc.c */ -#line 1624 "glsl_parser.ypp" +/* Line 1464 of yacc.c */ +#line 1625 "glsl_parser.ypp" { void *ctx = state; (yyval.function_definition) = new(ctx) ast_function_definition(); @@ -5071,8 +5085,8 @@ yyreduce: -/* Line 1455 of yacc.c */ -#line 5076 "glsl_parser.cpp" +/* Line 1464 of yacc.c */ +#line 5090 "glsl_parser.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -5144,7 +5158,7 @@ yyerrlab: #endif } - yyerror_range[0] = yylloc; + yyerror_range[1] = yylloc; if (yyerrstatus == 3) { @@ -5181,7 +5195,7 @@ yyerrorlab: if (/*CONSTCOND*/ 0) goto yyerrorlab; - yyerror_range[0] = yylsp[1-yylen]; + yyerror_range[1] = yylsp[1-yylen]; /* Do not reclaim the symbols of the rule which action triggered this YYERROR. */ YYPOPSTACK (yylen); @@ -5215,7 +5229,7 @@ yyerrlab1: if (yyssp == yyss) YYABORT; - yyerror_range[0] = *yylsp; + yyerror_range[1] = *yylsp; yydestruct ("Error: popping", yystos[yystate], yyvsp, yylsp, state); YYPOPSTACK (1); @@ -5225,10 +5239,10 @@ yyerrlab1: *++yyvsp = yylval; - yyerror_range[1] = yylloc; + yyerror_range[2] = yylloc; /* Using YYLLOC is tempting, but would change the location of the lookahead. YYLOC is available though. */ - YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2); + YYLLOC_DEFAULT (yyloc, yyerror_range, 2); *++yylsp = yyloc; /* Shift the error token. */ diff --git a/src/glsl/glsl_parser.h b/src/glsl/glsl_parser.h index 9bb6ae62991..83aa56f7cbe 100644 --- a/src/glsl/glsl_parser.h +++ b/src/glsl/glsl_parser.h @@ -1,10 +1,9 @@ - -/* A Bison parser, made by GNU Bison 2.4.1. */ +/* A Bison parser, made by GNU Bison 2.4.3. */ /* Skeleton interface for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2009, 2010 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 @@ -226,7 +225,9 @@ IMAGEBUFFER = 442, IIMAGEBUFFER = 443, UIMAGEBUFFER = 444, - ROW_MAJOR = 445 + IMAGE1DARRAYSHADOW = 445, + IMAGE2DARRAYSHADOW = 446, + ROW_MAJOR = 447 }; #endif @@ -236,7 +237,7 @@ typedef union YYSTYPE { -/* Line 1676 of yacc.c */ +/* Line 1685 of yacc.c */ #line 52 "glsl_parser.ypp" int n; @@ -269,8 +270,8 @@ typedef union YYSTYPE -/* Line 1676 of yacc.c */ -#line 274 "glsl_parser.h" +/* Line 1685 of yacc.c */ +#line 275 "glsl_parser.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ |