diff options
Diffstat (limited to 'src/glsl/glsl_lexer.cpp')
-rw-r--r-- | src/glsl/glsl_lexer.cpp | 1951 |
1 files changed, 1052 insertions, 899 deletions
diff --git a/src/glsl/glsl_lexer.cpp b/src/glsl/glsl_lexer.cpp index d3bc3aa9f1..e3d0a3cfc9 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" |